⬆️ Upgrading dependencies

This commit is contained in:
bruno DA SILVA
2019-12-17 17:41:56 +01:00
parent 691acb45e6
commit 705d941979
55 changed files with 668 additions and 3310 deletions

270
composer.lock generated
View File

@@ -178,16 +178,16 @@
},
{
"name": "pear/console_getopt",
"version": "v1.4.2",
"version": "v1.4.3",
"source": {
"type": "git",
"url": "https://github.com/pear/Console_Getopt.git",
"reference": "6c77aeb625b32bd752e89ee17972d103588b90c0"
"reference": "a41f8d3e668987609178c7c4a9fe48fecac53fa0"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/pear/Console_Getopt/zipball/6c77aeb625b32bd752e89ee17972d103588b90c0",
"reference": "6c77aeb625b32bd752e89ee17972d103588b90c0",
"url": "https://api.github.com/repos/pear/Console_Getopt/zipball/a41f8d3e668987609178c7c4a9fe48fecac53fa0",
"reference": "a41f8d3e668987609178c7c4a9fe48fecac53fa0",
"shasum": ""
},
"type": "library",
@@ -204,37 +204,37 @@
"BSD-2-Clause"
],
"authors": [
{
"name": "Greg Beaver",
"role": "Helper",
"email": "cellog@php.net"
},
{
"name": "Andrei Zmievski",
"role": "Lead",
"email": "andrei@php.net"
"email": "andrei@php.net",
"role": "Lead"
},
{
"name": "Stig Bakken",
"role": "Developer",
"email": "stig@php.net"
"email": "stig@php.net",
"role": "Developer"
},
{
"name": "Greg Beaver",
"email": "cellog@php.net",
"role": "Helper"
}
],
"description": "More info available on: http://pear.php.net/package/Console_Getopt",
"time": "2019-02-06T16:52:33+00:00"
"time": "2019-11-20T18:27:48+00:00"
},
{
"name": "pear/pear-core-minimal",
"version": "v1.10.9",
"version": "v1.10.10",
"source": {
"type": "git",
"url": "https://github.com/pear/pear-core-minimal.git",
"reference": "742be8dd68c746a01e4b0a422258e9c9cae1c37f"
"reference": "625a3c429d9b2c1546438679074cac1b089116a7"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/pear/pear-core-minimal/zipball/742be8dd68c746a01e4b0a422258e9c9cae1c37f",
"reference": "742be8dd68c746a01e4b0a422258e9c9cae1c37f",
"url": "https://api.github.com/repos/pear/pear-core-minimal/zipball/625a3c429d9b2c1546438679074cac1b089116a7",
"reference": "625a3c429d9b2c1546438679074cac1b089116a7",
"shasum": ""
},
"require": {
@@ -260,25 +260,25 @@
"authors": [
{
"name": "Christian Weiske",
"role": "Lead",
"email": "cweiske@php.net"
"email": "cweiske@php.net",
"role": "Lead"
}
],
"description": "Minimal set of PEAR core files to be used as composer dependency",
"time": "2019-03-13T18:15:44+00:00"
"time": "2019-11-19T19:00:24+00:00"
},
{
"name": "pear/pear_exception",
"version": "v1.0.0",
"version": "v1.0.1",
"source": {
"type": "git",
"url": "https://github.com/pear/PEAR_Exception.git",
"reference": "8c18719fdae000b690e3912be401c76e406dd13b"
"reference": "dbb42a5a0e45f3adcf99babfb2a1ba77b8ac36a7"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/pear/PEAR_Exception/zipball/8c18719fdae000b690e3912be401c76e406dd13b",
"reference": "8c18719fdae000b690e3912be401c76e406dd13b",
"url": "https://api.github.com/repos/pear/PEAR_Exception/zipball/dbb42a5a0e45f3adcf99babfb2a1ba77b8ac36a7",
"reference": "dbb42a5a0e45f3adcf99babfb2a1ba77b8ac36a7",
"shasum": ""
},
"require": {
@@ -294,9 +294,9 @@
}
},
"autoload": {
"psr-0": {
"PEAR": ""
}
"classmap": [
"PEAR/"
]
},
"notification-url": "https://packagist.org/downloads/",
"include-path": [
@@ -320,7 +320,7 @@
"keywords": [
"exception"
],
"time": "2015-02-10T20:07:52+00:00"
"time": "2019-12-10T10:24:42+00:00"
},
{
"name": "pelago/emogrifier",
@@ -701,16 +701,16 @@
},
{
"name": "symfony/cache",
"version": "v3.4.35",
"version": "v3.4.36",
"source": {
"type": "git",
"url": "https://github.com/symfony/cache.git",
"reference": "8d5db9c0cecf8b6f79fa96583fae652224d897da"
"reference": "3d9f46a6960fd5cd7f030f86adc5b4b63bcfa4e3"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/cache/zipball/8d5db9c0cecf8b6f79fa96583fae652224d897da",
"reference": "8d5db9c0cecf8b6f79fa96583fae652224d897da",
"url": "https://api.github.com/repos/symfony/cache/zipball/3d9f46a6960fd5cd7f030f86adc5b4b63bcfa4e3",
"reference": "3d9f46a6960fd5cd7f030f86adc5b4b63bcfa4e3",
"shasum": ""
},
"require": {
@@ -767,11 +767,11 @@
"caching",
"psr6"
],
"time": "2019-11-12T12:50:33+00:00"
"time": "2019-12-01T10:45:41+00:00"
},
{
"name": "symfony/class-loader",
"version": "v3.4.35",
"version": "v3.4.36",
"source": {
"type": "git",
"url": "https://github.com/symfony/class-loader.git",
@@ -827,16 +827,16 @@
},
{
"name": "symfony/config",
"version": "v3.4.35",
"version": "v3.4.36",
"source": {
"type": "git",
"url": "https://github.com/symfony/config.git",
"reference": "c3a30587de97263d2813a3c81b74126c58b67a4f"
"reference": "a599a867d0e4a07c342b5f1e656b3915a540ddbe"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/config/zipball/c3a30587de97263d2813a3c81b74126c58b67a4f",
"reference": "c3a30587de97263d2813a3c81b74126c58b67a4f",
"url": "https://api.github.com/repos/symfony/config/zipball/a599a867d0e4a07c342b5f1e656b3915a540ddbe",
"reference": "a599a867d0e4a07c342b5f1e656b3915a540ddbe",
"shasum": ""
},
"require": {
@@ -887,20 +887,20 @@
],
"description": "Symfony Config Component",
"homepage": "https://symfony.com",
"time": "2019-11-08T08:28:59+00:00"
"time": "2019-12-01T10:45:41+00:00"
},
{
"name": "symfony/console",
"version": "v3.4.35",
"version": "v3.4.36",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
"reference": "17b154f932c5874cdbda6d05796b6490eec9f9f7"
"reference": "1ee23b3b659b06c622f2bd2492a229e416eb4586"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/console/zipball/17b154f932c5874cdbda6d05796b6490eec9f9f7",
"reference": "17b154f932c5874cdbda6d05796b6490eec9f9f7",
"url": "https://api.github.com/repos/symfony/console/zipball/1ee23b3b659b06c622f2bd2492a229e416eb4586",
"reference": "1ee23b3b659b06c622f2bd2492a229e416eb4586",
"shasum": ""
},
"require": {
@@ -959,11 +959,11 @@
],
"description": "Symfony Console Component",
"homepage": "https://symfony.com",
"time": "2019-11-13T07:12:39+00:00"
"time": "2019-12-01T10:04:45+00:00"
},
{
"name": "symfony/css-selector",
"version": "v3.4.35",
"version": "v3.4.36",
"source": {
"type": "git",
"url": "https://github.com/symfony/css-selector.git",
@@ -1016,7 +1016,7 @@
},
{
"name": "symfony/debug",
"version": "v3.4.35",
"version": "v3.4.36",
"source": {
"type": "git",
"url": "https://github.com/symfony/debug.git",
@@ -1072,16 +1072,16 @@
},
{
"name": "symfony/dependency-injection",
"version": "v3.4.35",
"version": "v3.4.36",
"source": {
"type": "git",
"url": "https://github.com/symfony/dependency-injection.git",
"reference": "0ea4d39ca82409a25a43b61ce828048a90000920"
"reference": "0d201916bfb3af939fec3c0c8815ea16c60ac1a2"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/dependency-injection/zipball/0ea4d39ca82409a25a43b61ce828048a90000920",
"reference": "0ea4d39ca82409a25a43b61ce828048a90000920",
"url": "https://api.github.com/repos/symfony/dependency-injection/zipball/0d201916bfb3af939fec3c0c8815ea16c60ac1a2",
"reference": "0d201916bfb3af939fec3c0c8815ea16c60ac1a2",
"shasum": ""
},
"require": {
@@ -1139,11 +1139,11 @@
],
"description": "Symfony DependencyInjection Component",
"homepage": "https://symfony.com",
"time": "2019-11-08T16:18:30+00:00"
"time": "2019-12-01T08:33:36+00:00"
},
{
"name": "symfony/dotenv",
"version": "v3.4.35",
"version": "v3.4.36",
"source": {
"type": "git",
"url": "https://github.com/symfony/dotenv.git",
@@ -1200,7 +1200,7 @@
},
{
"name": "symfony/event-dispatcher",
"version": "v3.4.35",
"version": "v3.4.36",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher.git",
@@ -1263,16 +1263,16 @@
},
{
"name": "symfony/filesystem",
"version": "v3.4.35",
"version": "v3.4.36",
"source": {
"type": "git",
"url": "https://github.com/symfony/filesystem.git",
"reference": "00e3a6ddd723b8bcfe4f2a1b6f82b98eeeb51516"
"reference": "00cdad0936d06fab136944bc2342b762b1c3a4a2"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/filesystem/zipball/00e3a6ddd723b8bcfe4f2a1b6f82b98eeeb51516",
"reference": "00e3a6ddd723b8bcfe4f2a1b6f82b98eeeb51516",
"url": "https://api.github.com/repos/symfony/filesystem/zipball/00cdad0936d06fab136944bc2342b762b1c3a4a2",
"reference": "00cdad0936d06fab136944bc2342b762b1c3a4a2",
"shasum": ""
},
"require": {
@@ -1309,20 +1309,20 @@
],
"description": "Symfony Filesystem Component",
"homepage": "https://symfony.com",
"time": "2019-08-20T13:31:17+00:00"
"time": "2019-11-25T16:36:22+00:00"
},
{
"name": "symfony/finder",
"version": "v3.4.35",
"version": "v3.4.36",
"source": {
"type": "git",
"url": "https://github.com/symfony/finder.git",
"reference": "3e915e5ce305f8bc8017597f71f1f4095092ddf8"
"reference": "290ae21279b37bfd287cdcce640d51204e84afdf"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/finder/zipball/3e915e5ce305f8bc8017597f71f1f4095092ddf8",
"reference": "3e915e5ce305f8bc8017597f71f1f4095092ddf8",
"url": "https://api.github.com/repos/symfony/finder/zipball/290ae21279b37bfd287cdcce640d51204e84afdf",
"reference": "290ae21279b37bfd287cdcce640d51204e84afdf",
"shasum": ""
},
"require": {
@@ -1358,20 +1358,20 @@
],
"description": "Symfony Finder Component",
"homepage": "https://symfony.com",
"time": "2019-10-30T12:43:22+00:00"
"time": "2019-11-17T21:55:15+00:00"
},
{
"name": "symfony/framework-bundle",
"version": "v3.4.35",
"version": "v3.4.36",
"source": {
"type": "git",
"url": "https://github.com/symfony/framework-bundle.git",
"reference": "3cb98792e8d1fa332c65b28521eeaa6e9bbeea34"
"reference": "0d61117c7a770da0bd8bbe7ccfa34d8063f272ea"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/framework-bundle/zipball/3cb98792e8d1fa332c65b28521eeaa6e9bbeea34",
"reference": "3cb98792e8d1fa332c65b28521eeaa6e9bbeea34",
"url": "https://api.github.com/repos/symfony/framework-bundle/zipball/0d61117c7a770da0bd8bbe7ccfa34d8063f272ea",
"reference": "0d61117c7a770da0bd8bbe7ccfa34d8063f272ea",
"shasum": ""
},
"require": {
@@ -1473,20 +1473,20 @@
],
"description": "Symfony FrameworkBundle",
"homepage": "https://symfony.com",
"time": "2019-11-03T19:32:26+00:00"
"time": "2019-11-23T20:30:33+00:00"
},
{
"name": "symfony/http-foundation",
"version": "v3.4.35",
"version": "v3.4.36",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-foundation.git",
"reference": "9e4b3ac8fa3348b4811674d23de32d201de225ce"
"reference": "d2d0cfe8e319d9df44c4cca570710fcf221d4593"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/9e4b3ac8fa3348b4811674d23de32d201de225ce",
"reference": "9e4b3ac8fa3348b4811674d23de32d201de225ce",
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/d2d0cfe8e319d9df44c4cca570710fcf221d4593",
"reference": "d2d0cfe8e319d9df44c4cca570710fcf221d4593",
"shasum": ""
},
"require": {
@@ -1527,20 +1527,20 @@
],
"description": "Symfony HttpFoundation Component",
"homepage": "https://symfony.com",
"time": "2019-11-11T12:53:10+00:00"
"time": "2019-11-28T12:52:59+00:00"
},
{
"name": "symfony/http-kernel",
"version": "v3.4.35",
"version": "v3.4.36",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-kernel.git",
"reference": "e1764b3de00ec5636dd03d02fd44bcb1147d70d9"
"reference": "c42c8339acb28cfff0fb1786948db4d23d609ff7"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/e1764b3de00ec5636dd03d02fd44bcb1147d70d9",
"reference": "e1764b3de00ec5636dd03d02fd44bcb1147d70d9",
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/c42c8339acb28cfff0fb1786948db4d23d609ff7",
"reference": "c42c8339acb28cfff0fb1786948db4d23d609ff7",
"shasum": ""
},
"require": {
@@ -1617,20 +1617,20 @@
],
"description": "Symfony HttpKernel Component",
"homepage": "https://symfony.com",
"time": "2019-11-13T08:44:50+00:00"
"time": "2019-12-01T13:50:37+00:00"
},
{
"name": "symfony/polyfill-apcu",
"version": "v1.12.0",
"version": "v1.13.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-apcu.git",
"reference": "71ce80635d5dcd67772b4dda00b86068595f64d5"
"reference": "a8e961c841b9ec52927a87914f8820a1ad8f8116"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-apcu/zipball/71ce80635d5dcd67772b4dda00b86068595f64d5",
"reference": "71ce80635d5dcd67772b4dda00b86068595f64d5",
"url": "https://api.github.com/repos/symfony/polyfill-apcu/zipball/a8e961c841b9ec52927a87914f8820a1ad8f8116",
"reference": "a8e961c841b9ec52927a87914f8820a1ad8f8116",
"shasum": ""
},
"require": {
@@ -1639,7 +1639,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.12-dev"
"dev-master": "1.13-dev"
}
},
"autoload": {
@@ -1673,20 +1673,20 @@
"portable",
"shim"
],
"time": "2019-08-06T08:03:45+00:00"
"time": "2019-11-27T13:56:44+00:00"
},
{
"name": "symfony/polyfill-ctype",
"version": "v1.12.0",
"version": "v1.13.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-ctype.git",
"reference": "550ebaac289296ce228a706d0867afc34687e3f4"
"reference": "f8f0b461be3385e56d6de3dbb5a0df24c0c275e3"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/550ebaac289296ce228a706d0867afc34687e3f4",
"reference": "550ebaac289296ce228a706d0867afc34687e3f4",
"url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/f8f0b461be3385e56d6de3dbb5a0df24c0c275e3",
"reference": "f8f0b461be3385e56d6de3dbb5a0df24c0c275e3",
"shasum": ""
},
"require": {
@@ -1698,7 +1698,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.12-dev"
"dev-master": "1.13-dev"
}
},
"autoload": {
@@ -1731,20 +1731,20 @@
"polyfill",
"portable"
],
"time": "2019-08-06T08:03:45+00:00"
"time": "2019-11-27T13:56:44+00:00"
},
{
"name": "symfony/polyfill-mbstring",
"version": "v1.12.0",
"version": "v1.13.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
"reference": "b42a2f66e8f1b15ccf25652c3424265923eb4f17"
"reference": "7b4aab9743c30be783b73de055d24a39cf4b954f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/b42a2f66e8f1b15ccf25652c3424265923eb4f17",
"reference": "b42a2f66e8f1b15ccf25652c3424265923eb4f17",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/7b4aab9743c30be783b73de055d24a39cf4b954f",
"reference": "7b4aab9743c30be783b73de055d24a39cf4b954f",
"shasum": ""
},
"require": {
@@ -1756,7 +1756,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.12-dev"
"dev-master": "1.13-dev"
}
},
"autoload": {
@@ -1790,20 +1790,20 @@
"portable",
"shim"
],
"time": "2019-08-06T08:03:45+00:00"
"time": "2019-11-27T14:18:11+00:00"
},
{
"name": "symfony/polyfill-php56",
"version": "v1.12.0",
"version": "v1.13.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php56.git",
"reference": "0e3b212e96a51338639d8ce175c046d7729c3403"
"reference": "53dd1cdf3cb986893ccf2b96665b25b3abb384f4"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/0e3b212e96a51338639d8ce175c046d7729c3403",
"reference": "0e3b212e96a51338639d8ce175c046d7729c3403",
"url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/53dd1cdf3cb986893ccf2b96665b25b3abb384f4",
"reference": "53dd1cdf3cb986893ccf2b96665b25b3abb384f4",
"shasum": ""
},
"require": {
@@ -1813,7 +1813,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.12-dev"
"dev-master": "1.13-dev"
}
},
"autoload": {
@@ -1846,20 +1846,20 @@
"portable",
"shim"
],
"time": "2019-08-06T08:03:45+00:00"
"time": "2019-11-27T13:56:44+00:00"
},
{
"name": "symfony/polyfill-php70",
"version": "v1.12.0",
"version": "v1.13.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php70.git",
"reference": "54b4c428a0054e254223797d2713c31e08610831"
"reference": "af23c7bb26a73b850840823662dda371484926c4"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/54b4c428a0054e254223797d2713c31e08610831",
"reference": "54b4c428a0054e254223797d2713c31e08610831",
"url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/af23c7bb26a73b850840823662dda371484926c4",
"reference": "af23c7bb26a73b850840823662dda371484926c4",
"shasum": ""
},
"require": {
@@ -1869,7 +1869,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.12-dev"
"dev-master": "1.13-dev"
}
},
"autoload": {
@@ -1905,20 +1905,20 @@
"portable",
"shim"
],
"time": "2019-08-06T08:03:45+00:00"
"time": "2019-11-27T13:56:44+00:00"
},
{
"name": "symfony/polyfill-util",
"version": "v1.12.0",
"version": "v1.13.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-util.git",
"reference": "4317de1386717b4c22caed7725350a8887ab205c"
"reference": "964a67f293b66b95883a5ed918a65354fcd2258f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-util/zipball/4317de1386717b4c22caed7725350a8887ab205c",
"reference": "4317de1386717b4c22caed7725350a8887ab205c",
"url": "https://api.github.com/repos/symfony/polyfill-util/zipball/964a67f293b66b95883a5ed918a65354fcd2258f",
"reference": "964a67f293b66b95883a5ed918a65354fcd2258f",
"shasum": ""
},
"require": {
@@ -1927,7 +1927,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.12-dev"
"dev-master": "1.13-dev"
}
},
"autoload": {
@@ -1957,20 +1957,20 @@
"polyfill",
"shim"
],
"time": "2019-08-06T08:03:45+00:00"
"time": "2019-11-27T13:56:44+00:00"
},
{
"name": "symfony/routing",
"version": "v3.4.35",
"version": "v3.4.36",
"source": {
"type": "git",
"url": "https://github.com/symfony/routing.git",
"reference": "afc10b9c6b5196e0fecbc3bd373c7b4482e5b6b5"
"reference": "b689ccd48e234ea404806d94b07eeb45f9f6f06a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/routing/zipball/afc10b9c6b5196e0fecbc3bd373c7b4482e5b6b5",
"reference": "afc10b9c6b5196e0fecbc3bd373c7b4482e5b6b5",
"url": "https://api.github.com/repos/symfony/routing/zipball/b689ccd48e234ea404806d94b07eeb45f9f6f06a",
"reference": "b689ccd48e234ea404806d94b07eeb45f9f6f06a",
"shasum": ""
},
"require": {
@@ -2033,20 +2033,20 @@
"uri",
"url"
],
"time": "2019-11-08T17:25:00+00:00"
"time": "2019-12-01T08:33:36+00:00"
},
{
"name": "symfony/twig-bridge",
"version": "v3.4.35",
"version": "v3.4.36",
"source": {
"type": "git",
"url": "https://github.com/symfony/twig-bridge.git",
"reference": "a2fa4d04a4f22c8abf7d12188d89510e2e9bd1c1"
"reference": "49b824ddc7f2d250a1f172349cd9a111d63287c0"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/twig-bridge/zipball/a2fa4d04a4f22c8abf7d12188d89510e2e9bd1c1",
"reference": "a2fa4d04a4f22c8abf7d12188d89510e2e9bd1c1",
"url": "https://api.github.com/repos/symfony/twig-bridge/zipball/49b824ddc7f2d250a1f172349cd9a111d63287c0",
"reference": "49b824ddc7f2d250a1f172349cd9a111d63287c0",
"shasum": ""
},
"require": {
@@ -2124,11 +2124,11 @@
],
"description": "Symfony Twig Bridge",
"homepage": "https://symfony.com",
"time": "2019-10-24T15:33:53+00:00"
"time": "2019-11-30T08:19:08+00:00"
},
{
"name": "symfony/twig-bundle",
"version": "v3.4.35",
"version": "v3.4.36",
"source": {
"type": "git",
"url": "https://github.com/symfony/twig-bundle.git",
@@ -2203,7 +2203,7 @@
},
{
"name": "symfony/yaml",
"version": "v3.4.35",
"version": "v3.4.36",
"source": {
"type": "git",
"url": "https://github.com/symfony/yaml.git",
@@ -2330,7 +2330,7 @@
"packages-dev": [
{
"name": "symfony/stopwatch",
"version": "v3.4.35",
"version": "v3.4.36",
"source": {
"type": "git",
"url": "https://github.com/symfony/stopwatch.git",
@@ -2379,7 +2379,7 @@
},
{
"name": "symfony/var-dumper",
"version": "v3.4.35",
"version": "v3.4.36",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-dumper.git",
@@ -2448,16 +2448,16 @@
},
{
"name": "symfony/web-profiler-bundle",
"version": "v3.4.35",
"version": "v3.4.36",
"source": {
"type": "git",
"url": "https://github.com/symfony/web-profiler-bundle.git",
"reference": "b4c78b585d60a0b96ed735ce40f964bd3a228f73"
"reference": "3ae27cf1b2776cd68aa15fdb57089970f78bcf11"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/b4c78b585d60a0b96ed735ce40f964bd3a228f73",
"reference": "b4c78b585d60a0b96ed735ce40f964bd3a228f73",
"url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/3ae27cf1b2776cd68aa15fdb57089970f78bcf11",
"reference": "3ae27cf1b2776cd68aa15fdb57089970f78bcf11",
"shasum": ""
},
"require": {
@@ -2465,7 +2465,7 @@
"symfony/http-kernel": "~3.4.25|^4.2.6",
"symfony/polyfill-php70": "~1.0",
"symfony/routing": "~2.8|~3.0|~4.0",
"symfony/twig-bridge": "~2.8|~3.0|~4.0",
"symfony/twig-bundle": "~2.8|~3.0|~4.0",
"symfony/var-dumper": "~3.3|~4.0",
"twig/twig": "~1.34|~2.4"
},
@@ -2511,7 +2511,7 @@
],
"description": "Symfony WebProfilerBundle",
"homepage": "https://symfony.com",
"time": "2019-10-01T15:13:36+00:00"
"time": "2019-11-14T15:04:06+00:00"
}
],
"aliases": [],

File diff suppressed because it is too large Load Diff

View File

@@ -7,7 +7,6 @@ $baseDir = dirname($vendorDir);
return array(
'Twig_' => array($vendorDir . '/twig/twig/lib'),
'PEAR' => array($vendorDir . '/pear/pear_exception'),
'Console' => array($vendorDir . '/pear/console_getopt'),
'Archive_Tar' => array($vendorDir . '/pear/archive_tar'),
'' => array($vendorDir . '/pear/pear-core-minimal/src'),

View File

@@ -33,13 +33,22 @@ class ComposerAutoloaderInit0018331147de7601e7552f7da8e3bb8b
call_user_func(\Composer\Autoload\ComposerStaticInit0018331147de7601e7552f7da8e3bb8b::getInitializer($loader));
} else {
$map = require __DIR__ . '/autoload_namespaces.php';
foreach ($map as $namespace => $path) {
$loader->set($namespace, $path);
}
$map = require __DIR__ . '/autoload_psr4.php';
foreach ($map as $namespace => $path) {
$loader->setPsr4($namespace, $path);
}
$classMap = require __DIR__ . '/autoload_classmap.php';
if ($classMap) {
$loader->addClassMap($classMap);
}
}
$loader->setClassMapAuthoritative(true);
$loader->register(true);
if ($useStaticLoader) {

File diff suppressed because it is too large Load Diff

View File

@@ -177,20 +177,20 @@
},
{
"name": "pear/console_getopt",
"version": "v1.4.2",
"version_normalized": "1.4.2.0",
"version": "v1.4.3",
"version_normalized": "1.4.3.0",
"source": {
"type": "git",
"url": "https://github.com/pear/Console_Getopt.git",
"reference": "6c77aeb625b32bd752e89ee17972d103588b90c0"
"reference": "a41f8d3e668987609178c7c4a9fe48fecac53fa0"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/pear/Console_Getopt/zipball/6c77aeb625b32bd752e89ee17972d103588b90c0",
"reference": "6c77aeb625b32bd752e89ee17972d103588b90c0",
"url": "https://api.github.com/repos/pear/Console_Getopt/zipball/a41f8d3e668987609178c7c4a9fe48fecac53fa0",
"reference": "a41f8d3e668987609178c7c4a9fe48fecac53fa0",
"shasum": ""
},
"time": "2019-02-06T16:52:33+00:00",
"time": "2019-11-20T18:27:48+00:00",
"type": "library",
"installation-source": "dist",
"autoload": {
@@ -206,37 +206,37 @@
"BSD-2-Clause"
],
"authors": [
{
"name": "Greg Beaver",
"role": "Helper",
"email": "cellog@php.net"
},
{
"name": "Andrei Zmievski",
"role": "Lead",
"email": "andrei@php.net"
"email": "andrei@php.net",
"role": "Lead"
},
{
"name": "Stig Bakken",
"role": "Developer",
"email": "stig@php.net"
"email": "stig@php.net",
"role": "Developer"
},
{
"name": "Greg Beaver",
"email": "cellog@php.net",
"role": "Helper"
}
],
"description": "More info available on: http://pear.php.net/package/Console_Getopt"
},
{
"name": "pear/pear-core-minimal",
"version": "v1.10.9",
"version_normalized": "1.10.9.0",
"version": "v1.10.10",
"version_normalized": "1.10.10.0",
"source": {
"type": "git",
"url": "https://github.com/pear/pear-core-minimal.git",
"reference": "742be8dd68c746a01e4b0a422258e9c9cae1c37f"
"reference": "625a3c429d9b2c1546438679074cac1b089116a7"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/pear/pear-core-minimal/zipball/742be8dd68c746a01e4b0a422258e9c9cae1c37f",
"reference": "742be8dd68c746a01e4b0a422258e9c9cae1c37f",
"url": "https://api.github.com/repos/pear/pear-core-minimal/zipball/625a3c429d9b2c1546438679074cac1b089116a7",
"reference": "625a3c429d9b2c1546438679074cac1b089116a7",
"shasum": ""
},
"require": {
@@ -246,7 +246,7 @@
"replace": {
"rsky/pear-core-min": "self.version"
},
"time": "2019-03-13T18:15:44+00:00",
"time": "2019-11-19T19:00:24+00:00",
"type": "library",
"installation-source": "dist",
"autoload": {
@@ -264,25 +264,25 @@
"authors": [
{
"name": "Christian Weiske",
"role": "Lead",
"email": "cweiske@php.net"
"email": "cweiske@php.net",
"role": "Lead"
}
],
"description": "Minimal set of PEAR core files to be used as composer dependency"
},
{
"name": "pear/pear_exception",
"version": "v1.0.0",
"version_normalized": "1.0.0.0",
"version": "v1.0.1",
"version_normalized": "1.0.1.0",
"source": {
"type": "git",
"url": "https://github.com/pear/PEAR_Exception.git",
"reference": "8c18719fdae000b690e3912be401c76e406dd13b"
"reference": "dbb42a5a0e45f3adcf99babfb2a1ba77b8ac36a7"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/pear/PEAR_Exception/zipball/8c18719fdae000b690e3912be401c76e406dd13b",
"reference": "8c18719fdae000b690e3912be401c76e406dd13b",
"url": "https://api.github.com/repos/pear/PEAR_Exception/zipball/dbb42a5a0e45f3adcf99babfb2a1ba77b8ac36a7",
"reference": "dbb42a5a0e45f3adcf99babfb2a1ba77b8ac36a7",
"shasum": ""
},
"require": {
@@ -291,7 +291,7 @@
"require-dev": {
"phpunit/phpunit": "*"
},
"time": "2015-02-10T20:07:52+00:00",
"time": "2019-12-10T10:24:42+00:00",
"type": "class",
"extra": {
"branch-alias": {
@@ -300,9 +300,9 @@
},
"installation-source": "dist",
"autoload": {
"psr-0": {
"PEAR": ""
}
"classmap": [
"PEAR/"
]
},
"notification-url": "https://packagist.org/downloads/",
"include-path": [
@@ -720,17 +720,17 @@
},
{
"name": "symfony/cache",
"version": "v3.4.35",
"version_normalized": "3.4.35.0",
"version": "v3.4.36",
"version_normalized": "3.4.36.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/cache.git",
"reference": "8d5db9c0cecf8b6f79fa96583fae652224d897da"
"reference": "3d9f46a6960fd5cd7f030f86adc5b4b63bcfa4e3"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/cache/zipball/8d5db9c0cecf8b6f79fa96583fae652224d897da",
"reference": "8d5db9c0cecf8b6f79fa96583fae652224d897da",
"url": "https://api.github.com/repos/symfony/cache/zipball/3d9f46a6960fd5cd7f030f86adc5b4b63bcfa4e3",
"reference": "3d9f46a6960fd5cd7f030f86adc5b4b63bcfa4e3",
"shasum": ""
},
"require": {
@@ -753,7 +753,7 @@
"doctrine/dbal": "~2.4",
"predis/predis": "~1.0"
},
"time": "2019-11-12T12:50:33+00:00",
"time": "2019-12-01T10:45:41+00:00",
"type": "library",
"extra": {
"branch-alias": {
@@ -792,8 +792,8 @@
},
{
"name": "symfony/class-loader",
"version": "v3.4.35",
"version_normalized": "3.4.35.0",
"version": "v3.4.36",
"version_normalized": "3.4.36.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/class-loader.git",
@@ -850,17 +850,17 @@
},
{
"name": "symfony/config",
"version": "v3.4.35",
"version_normalized": "3.4.35.0",
"version": "v3.4.36",
"version_normalized": "3.4.36.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/config.git",
"reference": "c3a30587de97263d2813a3c81b74126c58b67a4f"
"reference": "a599a867d0e4a07c342b5f1e656b3915a540ddbe"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/config/zipball/c3a30587de97263d2813a3c81b74126c58b67a4f",
"reference": "c3a30587de97263d2813a3c81b74126c58b67a4f",
"url": "https://api.github.com/repos/symfony/config/zipball/a599a867d0e4a07c342b5f1e656b3915a540ddbe",
"reference": "a599a867d0e4a07c342b5f1e656b3915a540ddbe",
"shasum": ""
},
"require": {
@@ -881,7 +881,7 @@
"suggest": {
"symfony/yaml": "To use the yaml reference dumper"
},
"time": "2019-11-08T08:28:59+00:00",
"time": "2019-12-01T10:45:41+00:00",
"type": "library",
"extra": {
"branch-alias": {
@@ -916,17 +916,17 @@
},
{
"name": "symfony/console",
"version": "v3.4.35",
"version_normalized": "3.4.35.0",
"version": "v3.4.36",
"version_normalized": "3.4.36.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
"reference": "17b154f932c5874cdbda6d05796b6490eec9f9f7"
"reference": "1ee23b3b659b06c622f2bd2492a229e416eb4586"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/console/zipball/17b154f932c5874cdbda6d05796b6490eec9f9f7",
"reference": "17b154f932c5874cdbda6d05796b6490eec9f9f7",
"url": "https://api.github.com/repos/symfony/console/zipball/1ee23b3b659b06c622f2bd2492a229e416eb4586",
"reference": "1ee23b3b659b06c622f2bd2492a229e416eb4586",
"shasum": ""
},
"require": {
@@ -955,7 +955,7 @@
"symfony/lock": "",
"symfony/process": ""
},
"time": "2019-11-13T07:12:39+00:00",
"time": "2019-12-01T10:04:45+00:00",
"type": "library",
"extra": {
"branch-alias": {
@@ -990,8 +990,8 @@
},
{
"name": "symfony/css-selector",
"version": "v3.4.35",
"version_normalized": "3.4.35.0",
"version": "v3.4.36",
"version_normalized": "3.4.36.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/css-selector.git",
@@ -1045,8 +1045,8 @@
},
{
"name": "symfony/debug",
"version": "v3.4.35",
"version_normalized": "3.4.35.0",
"version": "v3.4.36",
"version_normalized": "3.4.36.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/debug.git",
@@ -1103,17 +1103,17 @@
},
{
"name": "symfony/dependency-injection",
"version": "v3.4.35",
"version_normalized": "3.4.35.0",
"version": "v3.4.36",
"version_normalized": "3.4.36.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/dependency-injection.git",
"reference": "0ea4d39ca82409a25a43b61ce828048a90000920"
"reference": "0d201916bfb3af939fec3c0c8815ea16c60ac1a2"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/dependency-injection/zipball/0ea4d39ca82409a25a43b61ce828048a90000920",
"reference": "0ea4d39ca82409a25a43b61ce828048a90000920",
"url": "https://api.github.com/repos/symfony/dependency-injection/zipball/0d201916bfb3af939fec3c0c8815ea16c60ac1a2",
"reference": "0d201916bfb3af939fec3c0c8815ea16c60ac1a2",
"shasum": ""
},
"require": {
@@ -1141,7 +1141,7 @@
"symfony/proxy-manager-bridge": "Generate service proxies to lazy load them",
"symfony/yaml": ""
},
"time": "2019-11-08T16:18:30+00:00",
"time": "2019-12-01T08:33:36+00:00",
"type": "library",
"extra": {
"branch-alias": {
@@ -1176,8 +1176,8 @@
},
{
"name": "symfony/dotenv",
"version": "v3.4.35",
"version_normalized": "3.4.35.0",
"version": "v3.4.36",
"version_normalized": "3.4.36.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/dotenv.git",
@@ -1235,8 +1235,8 @@
},
{
"name": "symfony/event-dispatcher",
"version": "v3.4.35",
"version_normalized": "3.4.35.0",
"version": "v3.4.36",
"version_normalized": "3.4.36.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher.git",
@@ -1300,24 +1300,24 @@
},
{
"name": "symfony/filesystem",
"version": "v3.4.35",
"version_normalized": "3.4.35.0",
"version": "v3.4.36",
"version_normalized": "3.4.36.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/filesystem.git",
"reference": "00e3a6ddd723b8bcfe4f2a1b6f82b98eeeb51516"
"reference": "00cdad0936d06fab136944bc2342b762b1c3a4a2"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/filesystem/zipball/00e3a6ddd723b8bcfe4f2a1b6f82b98eeeb51516",
"reference": "00e3a6ddd723b8bcfe4f2a1b6f82b98eeeb51516",
"url": "https://api.github.com/repos/symfony/filesystem/zipball/00cdad0936d06fab136944bc2342b762b1c3a4a2",
"reference": "00cdad0936d06fab136944bc2342b762b1c3a4a2",
"shasum": ""
},
"require": {
"php": "^5.5.9|>=7.0.8",
"symfony/polyfill-ctype": "~1.8"
},
"time": "2019-08-20T13:31:17+00:00",
"time": "2019-11-25T16:36:22+00:00",
"type": "library",
"extra": {
"branch-alias": {
@@ -1352,23 +1352,23 @@
},
{
"name": "symfony/finder",
"version": "v3.4.35",
"version_normalized": "3.4.35.0",
"version": "v3.4.36",
"version_normalized": "3.4.36.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/finder.git",
"reference": "3e915e5ce305f8bc8017597f71f1f4095092ddf8"
"reference": "290ae21279b37bfd287cdcce640d51204e84afdf"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/finder/zipball/3e915e5ce305f8bc8017597f71f1f4095092ddf8",
"reference": "3e915e5ce305f8bc8017597f71f1f4095092ddf8",
"url": "https://api.github.com/repos/symfony/finder/zipball/290ae21279b37bfd287cdcce640d51204e84afdf",
"reference": "290ae21279b37bfd287cdcce640d51204e84afdf",
"shasum": ""
},
"require": {
"php": "^5.5.9|>=7.0.8"
},
"time": "2019-10-30T12:43:22+00:00",
"time": "2019-11-17T21:55:15+00:00",
"type": "library",
"extra": {
"branch-alias": {
@@ -1403,17 +1403,17 @@
},
{
"name": "symfony/framework-bundle",
"version": "v3.4.35",
"version_normalized": "3.4.35.0",
"version": "v3.4.36",
"version_normalized": "3.4.36.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/framework-bundle.git",
"reference": "3cb98792e8d1fa332c65b28521eeaa6e9bbeea34"
"reference": "0d61117c7a770da0bd8bbe7ccfa34d8063f272ea"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/framework-bundle/zipball/3cb98792e8d1fa332c65b28521eeaa6e9bbeea34",
"reference": "3cb98792e8d1fa332c65b28521eeaa6e9bbeea34",
"url": "https://api.github.com/repos/symfony/framework-bundle/zipball/0d61117c7a770da0bd8bbe7ccfa34d8063f272ea",
"reference": "0d61117c7a770da0bd8bbe7ccfa34d8063f272ea",
"shasum": ""
},
"require": {
@@ -1485,7 +1485,7 @@
"symfony/web-link": "For using web links, features such as preloading, prefetching or prerendering",
"symfony/yaml": "For using the debug:config and lint:yaml commands"
},
"time": "2019-11-03T19:32:26+00:00",
"time": "2019-11-23T20:30:33+00:00",
"type": "symfony-bundle",
"extra": {
"branch-alias": {
@@ -1520,17 +1520,17 @@
},
{
"name": "symfony/http-foundation",
"version": "v3.4.35",
"version_normalized": "3.4.35.0",
"version": "v3.4.36",
"version_normalized": "3.4.36.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-foundation.git",
"reference": "9e4b3ac8fa3348b4811674d23de32d201de225ce"
"reference": "d2d0cfe8e319d9df44c4cca570710fcf221d4593"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/9e4b3ac8fa3348b4811674d23de32d201de225ce",
"reference": "9e4b3ac8fa3348b4811674d23de32d201de225ce",
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/d2d0cfe8e319d9df44c4cca570710fcf221d4593",
"reference": "d2d0cfe8e319d9df44c4cca570710fcf221d4593",
"shasum": ""
},
"require": {
@@ -1541,7 +1541,7 @@
"require-dev": {
"symfony/expression-language": "~2.8|~3.0|~4.0"
},
"time": "2019-11-11T12:53:10+00:00",
"time": "2019-11-28T12:52:59+00:00",
"type": "library",
"extra": {
"branch-alias": {
@@ -1576,17 +1576,17 @@
},
{
"name": "symfony/http-kernel",
"version": "v3.4.35",
"version_normalized": "3.4.35.0",
"version": "v3.4.36",
"version_normalized": "3.4.36.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-kernel.git",
"reference": "e1764b3de00ec5636dd03d02fd44bcb1147d70d9"
"reference": "c42c8339acb28cfff0fb1786948db4d23d609ff7"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/e1764b3de00ec5636dd03d02fd44bcb1147d70d9",
"reference": "e1764b3de00ec5636dd03d02fd44bcb1147d70d9",
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/c42c8339acb28cfff0fb1786948db4d23d609ff7",
"reference": "c42c8339acb28cfff0fb1786948db4d23d609ff7",
"shasum": ""
},
"require": {
@@ -1633,7 +1633,7 @@
"symfony/finder": "",
"symfony/var-dumper": ""
},
"time": "2019-11-13T08:44:50+00:00",
"time": "2019-12-01T13:50:37+00:00",
"type": "library",
"extra": {
"branch-alias": {
@@ -1668,27 +1668,27 @@
},
{
"name": "symfony/polyfill-apcu",
"version": "v1.12.0",
"version_normalized": "1.12.0.0",
"version": "v1.13.1",
"version_normalized": "1.13.1.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-apcu.git",
"reference": "71ce80635d5dcd67772b4dda00b86068595f64d5"
"reference": "a8e961c841b9ec52927a87914f8820a1ad8f8116"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-apcu/zipball/71ce80635d5dcd67772b4dda00b86068595f64d5",
"reference": "71ce80635d5dcd67772b4dda00b86068595f64d5",
"url": "https://api.github.com/repos/symfony/polyfill-apcu/zipball/a8e961c841b9ec52927a87914f8820a1ad8f8116",
"reference": "a8e961c841b9ec52927a87914f8820a1ad8f8116",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
},
"time": "2019-08-06T08:03:45+00:00",
"time": "2019-11-27T13:56:44+00:00",
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.12-dev"
"dev-master": "1.13-dev"
}
},
"installation-source": "dist",
@@ -1726,17 +1726,17 @@
},
{
"name": "symfony/polyfill-ctype",
"version": "v1.12.0",
"version_normalized": "1.12.0.0",
"version": "v1.13.1",
"version_normalized": "1.13.1.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-ctype.git",
"reference": "550ebaac289296ce228a706d0867afc34687e3f4"
"reference": "f8f0b461be3385e56d6de3dbb5a0df24c0c275e3"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/550ebaac289296ce228a706d0867afc34687e3f4",
"reference": "550ebaac289296ce228a706d0867afc34687e3f4",
"url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/f8f0b461be3385e56d6de3dbb5a0df24c0c275e3",
"reference": "f8f0b461be3385e56d6de3dbb5a0df24c0c275e3",
"shasum": ""
},
"require": {
@@ -1745,11 +1745,11 @@
"suggest": {
"ext-ctype": "For best performance"
},
"time": "2019-08-06T08:03:45+00:00",
"time": "2019-11-27T13:56:44+00:00",
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.12-dev"
"dev-master": "1.13-dev"
}
},
"installation-source": "dist",
@@ -1786,17 +1786,17 @@
},
{
"name": "symfony/polyfill-mbstring",
"version": "v1.12.0",
"version_normalized": "1.12.0.0",
"version": "v1.13.1",
"version_normalized": "1.13.1.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
"reference": "b42a2f66e8f1b15ccf25652c3424265923eb4f17"
"reference": "7b4aab9743c30be783b73de055d24a39cf4b954f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/b42a2f66e8f1b15ccf25652c3424265923eb4f17",
"reference": "b42a2f66e8f1b15ccf25652c3424265923eb4f17",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/7b4aab9743c30be783b73de055d24a39cf4b954f",
"reference": "7b4aab9743c30be783b73de055d24a39cf4b954f",
"shasum": ""
},
"require": {
@@ -1805,11 +1805,11 @@
"suggest": {
"ext-mbstring": "For best performance"
},
"time": "2019-08-06T08:03:45+00:00",
"time": "2019-11-27T14:18:11+00:00",
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.12-dev"
"dev-master": "1.13-dev"
}
},
"installation-source": "dist",
@@ -1847,28 +1847,28 @@
},
{
"name": "symfony/polyfill-php56",
"version": "v1.12.0",
"version_normalized": "1.12.0.0",
"version": "v1.13.1",
"version_normalized": "1.13.1.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php56.git",
"reference": "0e3b212e96a51338639d8ce175c046d7729c3403"
"reference": "53dd1cdf3cb986893ccf2b96665b25b3abb384f4"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/0e3b212e96a51338639d8ce175c046d7729c3403",
"reference": "0e3b212e96a51338639d8ce175c046d7729c3403",
"url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/53dd1cdf3cb986893ccf2b96665b25b3abb384f4",
"reference": "53dd1cdf3cb986893ccf2b96665b25b3abb384f4",
"shasum": ""
},
"require": {
"php": ">=5.3.3",
"symfony/polyfill-util": "~1.0"
},
"time": "2019-08-06T08:03:45+00:00",
"time": "2019-11-27T13:56:44+00:00",
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.12-dev"
"dev-master": "1.13-dev"
}
},
"installation-source": "dist",
@@ -1905,28 +1905,28 @@
},
{
"name": "symfony/polyfill-php70",
"version": "v1.12.0",
"version_normalized": "1.12.0.0",
"version": "v1.13.1",
"version_normalized": "1.13.1.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php70.git",
"reference": "54b4c428a0054e254223797d2713c31e08610831"
"reference": "af23c7bb26a73b850840823662dda371484926c4"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/54b4c428a0054e254223797d2713c31e08610831",
"reference": "54b4c428a0054e254223797d2713c31e08610831",
"url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/af23c7bb26a73b850840823662dda371484926c4",
"reference": "af23c7bb26a73b850840823662dda371484926c4",
"shasum": ""
},
"require": {
"paragonie/random_compat": "~1.0|~2.0|~9.99",
"php": ">=5.3.3"
},
"time": "2019-08-06T08:03:45+00:00",
"time": "2019-11-27T13:56:44+00:00",
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.12-dev"
"dev-master": "1.13-dev"
}
},
"installation-source": "dist",
@@ -1966,27 +1966,27 @@
},
{
"name": "symfony/polyfill-util",
"version": "v1.12.0",
"version_normalized": "1.12.0.0",
"version": "v1.13.1",
"version_normalized": "1.13.1.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-util.git",
"reference": "4317de1386717b4c22caed7725350a8887ab205c"
"reference": "964a67f293b66b95883a5ed918a65354fcd2258f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-util/zipball/4317de1386717b4c22caed7725350a8887ab205c",
"reference": "4317de1386717b4c22caed7725350a8887ab205c",
"url": "https://api.github.com/repos/symfony/polyfill-util/zipball/964a67f293b66b95883a5ed918a65354fcd2258f",
"reference": "964a67f293b66b95883a5ed918a65354fcd2258f",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
},
"time": "2019-08-06T08:03:45+00:00",
"time": "2019-11-27T13:56:44+00:00",
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.12-dev"
"dev-master": "1.13-dev"
}
},
"installation-source": "dist",
@@ -2020,17 +2020,17 @@
},
{
"name": "symfony/routing",
"version": "v3.4.35",
"version_normalized": "3.4.35.0",
"version": "v3.4.36",
"version_normalized": "3.4.36.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/routing.git",
"reference": "afc10b9c6b5196e0fecbc3bd373c7b4482e5b6b5"
"reference": "b689ccd48e234ea404806d94b07eeb45f9f6f06a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/routing/zipball/afc10b9c6b5196e0fecbc3bd373c7b4482e5b6b5",
"reference": "afc10b9c6b5196e0fecbc3bd373c7b4482e5b6b5",
"url": "https://api.github.com/repos/symfony/routing/zipball/b689ccd48e234ea404806d94b07eeb45f9f6f06a",
"reference": "b689ccd48e234ea404806d94b07eeb45f9f6f06a",
"shasum": ""
},
"require": {
@@ -2057,7 +2057,7 @@
"symfony/http-foundation": "For using a Symfony Request object",
"symfony/yaml": "For using the YAML loader"
},
"time": "2019-11-08T17:25:00+00:00",
"time": "2019-12-01T08:33:36+00:00",
"type": "library",
"extra": {
"branch-alias": {
@@ -2098,8 +2098,8 @@
},
{
"name": "symfony/stopwatch",
"version": "v3.4.35",
"version_normalized": "3.4.35.0",
"version": "v3.4.36",
"version_normalized": "3.4.36.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/stopwatch.git",
@@ -2149,17 +2149,17 @@
},
{
"name": "symfony/twig-bridge",
"version": "v3.4.35",
"version_normalized": "3.4.35.0",
"version": "v3.4.36",
"version_normalized": "3.4.36.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/twig-bridge.git",
"reference": "a2fa4d04a4f22c8abf7d12188d89510e2e9bd1c1"
"reference": "49b824ddc7f2d250a1f172349cd9a111d63287c0"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/twig-bridge/zipball/a2fa4d04a4f22c8abf7d12188d89510e2e9bd1c1",
"reference": "a2fa4d04a4f22c8abf7d12188d89510e2e9bd1c1",
"url": "https://api.github.com/repos/symfony/twig-bridge/zipball/49b824ddc7f2d250a1f172349cd9a111d63287c0",
"reference": "49b824ddc7f2d250a1f172349cd9a111d63287c0",
"shasum": ""
},
"require": {
@@ -2207,7 +2207,7 @@
"symfony/web-link": "For using the WebLinkExtension",
"symfony/yaml": "For using the YamlExtension"
},
"time": "2019-10-24T15:33:53+00:00",
"time": "2019-11-30T08:19:08+00:00",
"type": "symfony-bridge",
"extra": {
"branch-alias": {
@@ -2242,8 +2242,8 @@
},
{
"name": "symfony/twig-bundle",
"version": "v3.4.35",
"version_normalized": "3.4.35.0",
"version": "v3.4.36",
"version_normalized": "3.4.36.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/twig-bundle.git",
@@ -2319,8 +2319,8 @@
},
{
"name": "symfony/var-dumper",
"version": "v3.4.35",
"version_normalized": "3.4.35.0",
"version": "v3.4.36",
"version_normalized": "3.4.36.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-dumper.git",
@@ -2390,17 +2390,17 @@
},
{
"name": "symfony/web-profiler-bundle",
"version": "v3.4.35",
"version_normalized": "3.4.35.0",
"version": "v3.4.36",
"version_normalized": "3.4.36.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/web-profiler-bundle.git",
"reference": "b4c78b585d60a0b96ed735ce40f964bd3a228f73"
"reference": "3ae27cf1b2776cd68aa15fdb57089970f78bcf11"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/b4c78b585d60a0b96ed735ce40f964bd3a228f73",
"reference": "b4c78b585d60a0b96ed735ce40f964bd3a228f73",
"url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/3ae27cf1b2776cd68aa15fdb57089970f78bcf11",
"reference": "3ae27cf1b2776cd68aa15fdb57089970f78bcf11",
"shasum": ""
},
"require": {
@@ -2408,7 +2408,7 @@
"symfony/http-kernel": "~3.4.25|^4.2.6",
"symfony/polyfill-php70": "~1.0",
"symfony/routing": "~2.8|~3.0|~4.0",
"symfony/twig-bridge": "~2.8|~3.0|~4.0",
"symfony/twig-bundle": "~2.8|~3.0|~4.0",
"symfony/var-dumper": "~3.3|~4.0",
"twig/twig": "~1.34|~2.4"
},
@@ -2424,7 +2424,7 @@
"symfony/dependency-injection": "~3.4|~4.0",
"symfony/stopwatch": "~2.8|~3.0|~4.0"
},
"time": "2019-10-01T15:13:36+00:00",
"time": "2019-11-14T15:04:06+00:00",
"type": "symfony-bundle",
"extra": {
"branch-alias": {
@@ -2459,8 +2459,8 @@
},
{
"name": "symfony/yaml",
"version": "v3.4.35",
"version_normalized": "3.4.35.0",
"version": "v3.4.36",
"version_normalized": "3.4.36.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/yaml.git",

View File

@@ -123,7 +123,7 @@ class Console_Getopt
* erroneous POSIX fix.
*/
if ($version < 2) {
if (isset($args[0]{0}) && $args[0]{0} != '-') {
if (isset($args[0][0]) && $args[0][0] != '-') {
array_shift($args);
}
}
@@ -138,10 +138,10 @@ class Console_Getopt
break;
}
if ($arg{0} != '-' || (strlen($arg) > 1 && $arg{1} == '-' && !$long_options)) {
if ($arg[0] != '-' || (strlen($arg) > 1 && $arg[1] == '-' && !$long_options)) {
$non_opts = array_merge($non_opts, array_slice($args, $i));
break;
} elseif (strlen($arg) > 1 && $arg{1} == '-') {
} elseif (strlen($arg) > 1 && $arg[1] == '-') {
$error = Console_Getopt::_parseLongOption(substr($arg, 2),
$long_options,
$opts,
@@ -186,11 +186,11 @@ class Console_Getopt
protected static function _parseShortOption($arg, $short_options, &$opts, &$argIdx, $args, $skip_unknown)
{
for ($i = 0; $i < strlen($arg); $i++) {
$opt = $arg{$i};
$opt = $arg[$i];
$opt_arg = null;
/* Try to find the short option in the specifier string. */
if (($spec = strstr($short_options, $opt)) === false || $arg{$i} == ':') {
if (($spec = strstr($short_options, $opt)) === false || $arg[$i] == ':') {
if ($skip_unknown === true) {
break;
}
@@ -199,8 +199,8 @@ class Console_Getopt
return PEAR::raiseError($msg);
}
if (strlen($spec) > 1 && $spec{1} == ':') {
if (strlen($spec) > 2 && $spec{2} == ':') {
if (strlen($spec) > 1 && $spec[1] == ':') {
if (strlen($spec) > 2 && $spec[2] == ':') {
if ($i + 1 < strlen($arg)) {
/* Option takes an optional argument. Use the remainder of
the arg string if there is anything left. */
@@ -296,11 +296,11 @@ class Console_Getopt
$next_option_rest = '';
}
if ($opt_rest != '' && $opt{0} != '=' &&
if ($opt_rest != '' && $opt[0] != '=' &&
$i + 1 < count($long_options) &&
$opt == substr($long_options[$i+1], 0, $opt_len) &&
$next_option_rest != '' &&
$next_option_rest{0} != '=') {
$next_option_rest[0] != '=') {
$msg = "Console_Getopt: option --$opt is ambiguous";
return PEAR::raiseError($msg);

View File

@@ -24,9 +24,9 @@ short and long options.</description>
<active>no</active>
</helper>
<date>2019-02-06</date>
<date>2019-11-20</date>
<version>
<release>1.4.2</release>
<release>1.4.3</release>
<api>1.4.0</api>
</version>
<stability>
@@ -36,7 +36,8 @@ short and long options.</description>
<license uri="http://opensource.org/licenses/bsd-license.php">BSD-2-Clause</license>
<notes>
* Remove use of each(), which is removed in PHP 8
* PR #4: Fix PHP 7.4 deprecation: array/string curly braces access
* PR #5: fix phplint warnings
</notes>
<contents>
@@ -75,6 +76,23 @@ short and long options.</description>
<changelog>
<release>
<date>2019-11-20</date>
<version>
<release>1.4.3</release>
<api>1.4.0</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="http://opensource.org/licenses/bsd-license.php">BSD-2-Clause</license>
<notes>
* PR #4: Fix PHP 7.4 deprecation: array/string curly braces access
* PR #5: fix phplint warnings
</notes>
</release>
<release>
<date>2019-02-06</date>
<version>

View File

@@ -195,9 +195,22 @@ class OS_Guess
}
$major = $minor = 0;
include_once "System.php";
if (@is_link('/lib64/libc.so.6')) {
// Let's try reading the libc.so.6 symlink
if (preg_match('/^libc-(.*)\.so$/', basename(readlink('/lib64/libc.so.6')), $matches)) {
list($major, $minor) = explode('.', $matches[1]);
}
} else if (@is_link('/lib/libc.so.6')) {
// Let's try reading the libc.so.6 symlink
if (preg_match('/^libc-(.*)\.so$/', basename(readlink('/lib/libc.so.6')), $matches)) {
list($major, $minor) = explode('.', $matches[1]);
}
}
// Use glibc's <features.h> header file to
// get major and minor version number:
if (@file_exists('/usr/include/features.h') &&
if (!($major && $minor) &&
@file_exists('/usr/include/features.h') &&
@is_readable('/usr/include/features.h')) {
if (!@file_exists('/usr/bin/cpp') || !@is_executable('/usr/bin/cpp')) {
$features_file = fopen('/usr/include/features.h', 'rb');
@@ -240,7 +253,7 @@ class OS_Guess
fclose($fp);
$cpp = popen("/usr/bin/cpp $tmpfile", "r");
while ($line = fgets($cpp, 1024)) {
if ($line{0} == '#' || trim($line) == '') {
if ($line[0] == '#' || trim($line) == '') {
continue;
}
@@ -252,13 +265,6 @@ class OS_Guess
unlink($tmpfile);
} // features.h
if (!($major && $minor) && @is_link('/lib/libc.so.6')) {
// Let's try reading the libc.so.6 symlink
if (preg_match('/^libc-(.*)\.so$/', basename(readlink('/lib/libc.so.6')), $matches)) {
list($major, $minor) = explode('.', $matches[1]);
}
}
if (!($major && $minor)) {
return $glibc = '';
}

View File

@@ -766,6 +766,28 @@ class PEAR
return @dl('php_'.$ext.$suffix) || @dl($ext.$suffix);
}
/**
* Get SOURCE_DATE_EPOCH environment variable
* See https://reproducible-builds.org/specs/source-date-epoch/
*
* @return int
* @access public
*/
static function getSourceDateEpoch()
{
if ($source_date_epoch = getenv('SOURCE_DATE_EPOCH')) {
if (preg_match('/^\d+$/', $source_date_epoch)) {
return (int) $source_date_epoch;
} else {
// "If the value is malformed, the build process SHOULD exit with a non-zero error code."
self::raiseError("Invalid SOURCE_DATE_EPOCH: $source_date_epoch");
exit(1);
}
} else {
return time();
}
}
}
function _PEAR_call_destructors()

View File

@@ -74,7 +74,7 @@ class System
$offset = 0;
foreach ($av as $a) {
$b = trim($a[0]);
if ($b{0} == '"' || $b{0} == "'") {
if ($b[0] == '"' || $b[0] == "'") {
continue;
}
@@ -265,7 +265,7 @@ class System
} elseif ($opt[0] == 'm') {
// if the mode is clearly an octal number (starts with 0)
// convert it to decimal
if (strlen($opt[1]) && $opt[1]{0} == '0') {
if (strlen($opt[1]) && $opt[1][0] == '0') {
$opt[1] = octdec($opt[1]);
} else {
// convert to int
@@ -480,7 +480,7 @@ class System
if ($var = isset($_ENV['TMPDIR']) ? $_ENV['TMPDIR'] : getenv('TMPDIR')) {
return $var;
}
return realpath('/tmp');
return realpath(function_exists('sys_get_temp_dir') ? sys_get_temp_dir() : '/tmp');
}
/**

View File

@@ -21,9 +21,7 @@
"php": ">=4.4.0"
},
"autoload": {
"psr-0": {
"PEAR": ""
}
"classmap": ["PEAR/"]
},
"extra": {
"branch-alias": {

View File

@@ -271,7 +271,7 @@ class PhpArrayAdapter implements AdapterInterface, PruneableInterface, Resettabl
public static function throwOnRequiredClass($class)
{
$e = new \ReflectionException("Class $class does not exist");
$trace = $e->getTrace();
$trace = debug_backtrace();
$autoloadFrame = [
'function' => 'spl_autoload_call',
'args' => [$class],

View File

@@ -179,7 +179,13 @@ trait RedisTrait
}
});
} else {
$values = array_combine($ids, $this->redis->mget($ids));
$values = $this->redis->mget($ids);
if (!\is_array($values) || \count($values) !== \count($ids)) {
return [];
}
$values = array_combine($ids, $values);
}
foreach ($values as $id => $v) {

View File

@@ -72,7 +72,7 @@ class ClassExistenceResource implements SelfCheckingResourceInterface, \Serializ
spl_autoload_register(__CLASS__.'::throwOnRequiredClass');
}
$autoloadedClass = self::$autoloadedClass;
self::$autoloadedClass = $this->resource;
self::$autoloadedClass = ltrim($this->resource, '\\');
try {
$exists = class_exists($this->resource) || interface_exists($this->resource, false) || trait_exists($this->resource, false);
@@ -161,7 +161,7 @@ class ClassExistenceResource implements SelfCheckingResourceInterface, \Serializ
throw $e;
}
$trace = $e->getTrace();
$trace = debug_backtrace();
$autoloadFrame = [
'function' => 'spl_autoload_call',
'args' => [$class],
@@ -191,15 +191,17 @@ class ClassExistenceResource implements SelfCheckingResourceInterface, \Serializ
}
$props = [
'file' => $trace[$i]['file'],
'line' => $trace[$i]['line'],
'file' => isset($trace[$i]['file']) ? $trace[$i]['file'] : null,
'line' => isset($trace[$i]['line']) ? $trace[$i]['line'] : null,
'trace' => \array_slice($trace, 1 + $i),
];
foreach ($props as $p => $v) {
$r = new \ReflectionProperty('Exception', $p);
$r->setAccessible(true);
$r->setValue($e, $v);
if (null !== $v) {
$r = new \ReflectionProperty('Exception', $p);
$r->setAccessible(true);
$r->setValue($e, $v);
}
}
}

View File

@@ -151,12 +151,56 @@ class ReflectionClassResource implements SelfCheckingResourceInterface, \Seriali
}
} else {
foreach ($class->getMethods(\ReflectionMethod::IS_PUBLIC | \ReflectionMethod::IS_PROTECTED) as $m) {
yield preg_replace('/^ @@.*/m', '', $m);
$defaults = [];
$parametersWithUndefinedConstants = [];
foreach ($m->getParameters() as $p) {
$defaults[$p->name] = $p->isDefaultValueAvailable() ? $p->getDefaultValue() : null;
if (!$p->isDefaultValueAvailable()) {
$defaults[$p->name] = null;
continue;
}
if (!$p->isDefaultValueConstant() || \defined($p->getDefaultValueConstantName())) {
$defaults[$p->name] = $p->getDefaultValue();
continue;
}
$defaults[$p->name] = $p->getDefaultValueConstantName();
$parametersWithUndefinedConstants[$p->name] = true;
}
if (!$parametersWithUndefinedConstants) {
yield preg_replace('/^ @@.*/m', '', $m);
} else {
$stack = [
$m->getDocComment(),
$m->getName(),
$m->isAbstract(),
$m->isFinal(),
$m->isStatic(),
$m->isPublic(),
$m->isPrivate(),
$m->isProtected(),
$m->returnsReference(),
\PHP_VERSION_ID >= 70000 && $m->hasReturnType() ? (\PHP_VERSION_ID >= 70100 ? $m->getReturnType()->getName() : (string) $m->getReturnType()) : '',
];
foreach ($m->getParameters() as $p) {
if (!isset($parametersWithUndefinedConstants[$p->name])) {
$stack[] = (string) $p;
} else {
$stack[] = $p->isOptional();
$stack[] = \PHP_VERSION_ID >= 70000 && $p->hasType() ? (\PHP_VERSION_ID >= 70100 ? $p->getType()->getName() : (string) $p->getType()) : '';
$stack[] = $p->isPassedByReference();
$stack[] = \PHP_VERSION_ID >= 50600 ? $p->isVariadic() : '';
$stack[] = $p->getName();
}
}
yield implode(',', $stack);
}
yield print_r($defaults, true);
}
}

View File

@@ -63,8 +63,12 @@ class ReflectionClassResourceTest extends TestCase
/**
* @dataProvider provideHashedSignature
*/
public function testHashedSignature($changeExpected, $changedLine, $changedCode)
public function testHashedSignature($changeExpected, $changedLine, $changedCode, $setContext = null)
{
if ($setContext) {
$setContext();
}
$code = <<<'EOPHP'
/* 0*/
/* 1*/ class %s extends ErrorException
@@ -82,7 +86,9 @@ class ReflectionClassResourceTest extends TestCase
/*13*/ protected function prot($a = []) {}
/*14*/
/*15*/ private function priv() {}
/*16*/ }
/*16*/
/*17*/ public function ccc($bar = A_CONSTANT_THAT_FOR_SURE_WILL_NEVER_BE_DEFINED_CCCCCC) {}
/*18*/ }
EOPHP;
static $expectedSignature, $generateSignature;
@@ -97,7 +103,9 @@ EOPHP;
}
$code = explode("\n", $code);
$code[$changedLine] = $changedCode;
if (null !== $changedCode) {
$code[$changedLine] = $changedCode;
}
eval(sprintf(implode("\n", $code), $class = 'Foo'.str_replace('.', '_', uniqid('', true))));
$signature = implode("\n", iterator_to_array($generateSignature(new \ReflectionClass($class))));
@@ -145,6 +153,10 @@ EOPHP;
yield [0, 7, 'protected int $prot;'];
yield [0, 9, 'private string $priv;'];
}
yield [1, 17, 'public function ccc($bar = 187) {}'];
yield [1, 17, 'public function ccc($bar = ANOTHER_ONE_THAT_WILL_NEVER_BE_DEFINED_CCCCCCCCC) {}'];
yield [1, 17, null, static function () { \define('A_CONSTANT_THAT_FOR_SURE_WILL_NEVER_BE_DEFINED_CCCCCC', 'foo'); }];
}
public function testEventSubscriber()

View File

@@ -129,23 +129,29 @@ class ApplicationDescription
{
$namespacedCommands = [];
$globalCommands = [];
$sortedCommands = [];
foreach ($commands as $name => $command) {
$key = $this->application->extractNamespace($name, 1);
if (!$key) {
$globalCommands['_global'][$name] = $command;
if (\in_array($key, ['', self::GLOBAL_NAMESPACE], true)) {
$globalCommands[$name] = $command;
} else {
$namespacedCommands[$key][$name] = $command;
}
}
ksort($namespacedCommands);
$namespacedCommands = array_merge($globalCommands, $namespacedCommands);
foreach ($namespacedCommands as &$commandsSet) {
ksort($commandsSet);
if ($globalCommands) {
ksort($globalCommands);
$sortedCommands[self::GLOBAL_NAMESPACE] = $globalCommands;
}
// unset reference to keep scope clear
unset($commandsSet);
return $namespacedCommands;
if ($namespacedCommands) {
ksort($namespacedCommands);
foreach ($namespacedCommands as $key => $commandsSet) {
ksort($commandsSet);
$sortedCommands[$key] = $commandsSet;
}
}
return $sortedCommands;
}
}

View File

@@ -264,7 +264,7 @@ class QuestionHelper extends Helper
} elseif ("\177" === $c) { // Backspace Character
if (0 === $numMatches && 0 !== $i) {
--$i;
$fullChoice = substr($fullChoice, 0, -1);
$fullChoice = self::substr($fullChoice, 0, $i);
// Move cursor backwards
$output->write("\033[1D");
}
@@ -278,7 +278,7 @@ class QuestionHelper extends Helper
}
// Pop the last character off the end of our string
$ret = substr($ret, 0, $i);
$ret = self::substr($ret, 0, $i);
} elseif ("\033" === $c) {
// Did we read an escape sequence?
$c .= fread($inputStream, 2);
@@ -304,7 +304,7 @@ class QuestionHelper extends Helper
$remainingCharacters = substr($ret, \strlen(trim($this->mostRecentlyEnteredValue($fullChoice))));
$output->write($remainingCharacters);
$fullChoice .= $remainingCharacters;
$i = \strlen($fullChoice);
$i = self::strlen($fullChoice);
}
if ("\n" === $c) {

View File

@@ -39,8 +39,8 @@ class ArrayInput extends Input
*/
public function getFirstArgument()
{
foreach ($this->parameters as $key => $value) {
if ($key && '-' === $key[0]) {
foreach ($this->parameters as $param => $value) {
if ($param && \is_string($param) && '-' === $param[0]) {
continue;
}
@@ -107,7 +107,7 @@ class ArrayInput extends Input
{
$params = [];
foreach ($this->parameters as $param => $val) {
if ($param && '-' === $param[0]) {
if ($param && \is_string($param) && '-' === $param[0]) {
if (\is_array($val)) {
foreach ($val as $v) {
$params[] = $param.('' != $v ? '='.$this->escapeToken($v) : '');

View File

@@ -0,0 +1,53 @@
<?php
/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Symfony\Component\Console\Tests\Descriptor;
use PHPUnit\Framework\TestCase;
use Symfony\Component\Console\Application;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Descriptor\ApplicationDescription;
final class ApplicationDescriptionTest extends TestCase
{
/**
* @dataProvider getNamespacesProvider
*/
public function testGetNamespaces(array $expected, array $names)
{
$application = new TestApplication();
foreach ($names as $name) {
$application->add(new Command($name));
}
$this->assertSame($expected, array_keys((new ApplicationDescription($application))->getNamespaces()));
}
public function getNamespacesProvider()
{
return [
[['_global'], ['foobar']],
[['a', 'b'], ['b:foo', 'a:foo', 'b:bar']],
[['_global', 'b', 'z', 22, 33], ['z:foo', '1', '33:foo', 'b:foo', '22:foo:bar']],
];
}
}
final class TestApplication extends Application
{
/**
* {@inheritdoc}
*/
protected function getDefaultCommands()
{
return [];
}
}

View File

@@ -175,19 +175,20 @@ class QuestionHelperTest extends AbstractQuestionHelperTest
// Acm<NEWLINE>
// Ac<BACKSPACE><BACKSPACE>s<TAB>Test<NEWLINE>
// <NEWLINE>
// <UP ARROW><UP ARROW><NEWLINE>
// <UP ARROW><UP ARROW><UP ARROW><UP ARROW><UP ARROW><TAB>Test<NEWLINE>
// <UP ARROW><UP ARROW><UP ARROW><NEWLINE>
// <UP ARROW><UP ARROW><UP ARROW><UP ARROW><UP ARROW><UP ARROW><UP ARROW><TAB>Test<NEWLINE>
// <DOWN ARROW><NEWLINE>
// S<BACKSPACE><BACKSPACE><DOWN ARROW><DOWN ARROW><NEWLINE>
// F00<BACKSPACE><BACKSPACE>oo<TAB><NEWLINE>
$inputStream = $this->getInputStream("Acm\nAc\177\177s\tTest\n\n\033[A\033[A\n\033[A\033[A\033[A\033[A\033[A\tTest\n\033[B\nS\177\177\033[B\033[B\nF00\177\177oo\t\n");
// F⭐<TAB><BACKSPACE><BACKSPACE>⭐<TAB><NEWLINE>
$inputStream = $this->getInputStream("Acm\nAc\177\177s\tTest\n\n\033[A\033[A\033[A\n\033[A\033[A\033[A\033[A\033[A\033[A\033[A\tTest\n\033[B\nS\177\177\033[B\033[B\nF00\177\177oo\t\nF⭐\t\177\177\t\n");
$dialog = new QuestionHelper();
$helperSet = new HelperSet([new FormatterHelper()]);
$dialog->setHelperSet($helperSet);
$question = new Question('Please select a bundle', 'FrameworkBundle');
$question->setAutocompleterValues(['AcmeDemoBundle', 'AsseticBundle', 'SecurityBundle', 'FooBundle']);
$question->setAutocompleterValues(['AcmeDemoBundle', 'AsseticBundle', 'SecurityBundle', 'FooBundle', 'F⭐Y']);
$this->assertEquals('AcmeDemoBundle', $dialog->ask($this->createStreamableInputInterfaceMock($inputStream), $this->createOutputInterface(), $question));
$this->assertEquals('AsseticBundleTest', $dialog->ask($this->createStreamableInputInterfaceMock($inputStream), $this->createOutputInterface(), $question));
@@ -197,6 +198,7 @@ class QuestionHelperTest extends AbstractQuestionHelperTest
$this->assertEquals('AcmeDemoBundle', $dialog->ask($this->createStreamableInputInterfaceMock($inputStream), $this->createOutputInterface(), $question));
$this->assertEquals('AsseticBundle', $dialog->ask($this->createStreamableInputInterfaceMock($inputStream), $this->createOutputInterface(), $question));
$this->assertEquals('FooBundle', $dialog->ask($this->createStreamableInputInterfaceMock($inputStream), $this->createOutputInterface(), $question));
$this->assertEquals('F⭐Y', $dialog->ask($this->createStreamableInputInterfaceMock($inputStream), $this->createOutputInterface(), $question));
}
public function testAskWithAutocompleteWithNonSequentialKeys()
@@ -680,12 +682,13 @@ class QuestionHelperTest extends AbstractQuestionHelperTest
// Acm<NEWLINE>
// Ac<BACKSPACE><BACKSPACE>s<TAB>Test<NEWLINE>
// <NEWLINE>
// <UP ARROW><UP ARROW><NEWLINE>
// <UP ARROW><UP ARROW><UP ARROW><UP ARROW><UP ARROW><TAB>Test<NEWLINE>
// <UP ARROW><UP ARROW><UP ARROW><NEWLINE>
// <UP ARROW><UP ARROW><UP ARROW><UP ARROW><UP ARROW><UP ARROW><UP ARROW><TAB>Test<NEWLINE>
// <DOWN ARROW><NEWLINE>
// S<BACKSPACE><BACKSPACE><DOWN ARROW><DOWN ARROW><NEWLINE>
// F00<BACKSPACE><BACKSPACE>oo<TAB><NEWLINE>
$inputStream = $this->getInputStream("Acm\nAc\177\177s\tTest\n\n\033[A\033[A\n\033[A\033[A\033[A\033[A\033[A\tTest\n\033[B\nS\177\177\033[B\033[B\nF00\177\177oo\t\n");
// F⭐<TAB><BACKSPACE><BACKSPACE>⭐<TAB><NEWLINE>
$inputStream = $this->getInputStream("Acm\nAc\177\177s\tTest\n\n\033[A\033[A\033[A\n\033[A\033[A\033[A\033[A\033[A\033[A\033[A\tTest\n\033[B\nS\177\177\033[B\033[B\nF00\177\177oo\t\nF⭐\t⭐\t\n");
$dialog = new QuestionHelper();
$dialog->setInputStream($inputStream);
@@ -693,7 +696,7 @@ class QuestionHelperTest extends AbstractQuestionHelperTest
$dialog->setHelperSet($helperSet);
$question = new Question('Please select a bundle', 'FrameworkBundle');
$question->setAutocompleterValues(['AcmeDemoBundle', 'AsseticBundle', 'SecurityBundle', 'FooBundle']);
$question->setAutocompleterValues(['AcmeDemoBundle', 'AsseticBundle', 'SecurityBundle', 'FooBundle', 'F⭐Y']);
$this->assertEquals('AcmeDemoBundle', $dialog->ask($this->createInputInterfaceMock(), $this->createOutputInterface(), $question));
$this->assertEquals('AsseticBundleTest', $dialog->ask($this->createInputInterfaceMock(), $this->createOutputInterface(), $question));
@@ -703,6 +706,7 @@ class QuestionHelperTest extends AbstractQuestionHelperTest
$this->assertEquals('AcmeDemoBundle', $dialog->ask($this->createInputInterfaceMock(), $this->createOutputInterface(), $question));
$this->assertEquals('AsseticBundle', $dialog->ask($this->createInputInterfaceMock(), $this->createOutputInterface(), $question));
$this->assertEquals('FooBundle', $dialog->ask($this->createInputInterfaceMock(), $this->createOutputInterface(), $question));
$this->assertEquals('F⭐Y', $dialog->ask($this->createStreamableInputInterfaceMock($inputStream), $this->createOutputInterface(), $question));
}
/**

View File

@@ -304,6 +304,11 @@ class XmlDumper extends Dumper
if (\in_array($value, ['null', 'true', 'false'], true)) {
$element->setAttribute('type', 'string');
}
if (\is_string($value) && (is_numeric($value) || preg_match('/^0b[01]*$/', $value) || preg_match('/^0x[0-9a-f]++$/i', $value))) {
$element->setAttribute('type', 'string');
}
$text = $this->document->createTextNode(self::phpToXml($value));
$element->appendChild($text);
}

View File

@@ -278,7 +278,7 @@ class XmlFileLoader extends FileLoader
$definition->setDeprecated(true, $deprecated[0]->nodeValue ?: null);
}
$definition->setArguments($this->getArgumentsAsPhp($service, 'argument', $file, false, $definition instanceof ChildDefinition));
$definition->setArguments($this->getArgumentsAsPhp($service, 'argument', $file, $definition instanceof ChildDefinition));
$definition->setProperties($this->getArgumentsAsPhp($service, 'property', $file));
if ($factories = $this->getChildren($service, 'factory')) {
@@ -452,11 +452,10 @@ class XmlFileLoader extends FileLoader
*
* @param string $name
* @param string $file
* @param bool $lowercase
*
* @return mixed
*/
private function getArgumentsAsPhp(\DOMElement $node, $name, $file, $lowercase = true, $isChildDefinition = false)
private function getArgumentsAsPhp(\DOMElement $node, $name, $file, $isChildDefinition = false)
{
$arguments = [];
foreach ($this->getChildren($node, $name) as $arg) {
@@ -506,10 +505,10 @@ class XmlFileLoader extends FileLoader
$arguments[$key] = new Expression($arg->nodeValue);
break;
case 'collection':
$arguments[$key] = $this->getArgumentsAsPhp($arg, $name, $file, false);
$arguments[$key] = $this->getArgumentsAsPhp($arg, $name, $file);
break;
case 'iterator':
$arg = $this->getArgumentsAsPhp($arg, $name, $file, false);
$arg = $this->getArgumentsAsPhp($arg, $name, $file);
try {
$arguments[$key] = new IteratorArgument($arg);
} catch (InvalidArgumentException $e) {

View File

@@ -18,7 +18,6 @@ use Symfony\Component\DependencyInjection\Compiler\DefinitionErrorExceptionPass;
use Symfony\Component\DependencyInjection\Compiler\ResolveBindingsPass;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Definition;
use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException;
use Symfony\Component\DependencyInjection\Reference;
use Symfony\Component\DependencyInjection\Tests\Fixtures\CaseSensitiveClass;
use Symfony\Component\DependencyInjection\Tests\Fixtures\NamedArgumentsDummy;

View File

@@ -9,6 +9,17 @@ $container = new ContainerBuilder(new ParameterBag([
'bar' => 'foo is %%foo bar',
'escape' => '@escapeme',
'values' => [true, false, null, 0, 1000.3, 'true', 'false', 'null'],
'null string' => 'null',
'string of digits' => '123',
'string of digits prefixed with minus character' => '-123',
'true string' => 'true',
'false string' => 'false',
'binary number string' => '0b0110',
'numeric string' => '-1.2E2',
'hexadecimal number string' => '0xFF',
'float string' => '10100.1',
'positive float string' => '+10100.1',
'negative float string' => '-10100.1',
]));
return $container;

View File

@@ -151,6 +151,17 @@ class ProjectServiceContainer extends Container
6 => 'false',
7 => 'null',
],
'null string' => 'null',
'string of digits' => '123',
'string of digits prefixed with minus character' => '-123',
'true string' => 'true',
'false string' => 'false',
'binary number string' => '0b0110',
'numeric string' => '-1.2E2',
'hexadecimal number string' => '0xFF',
'float string' => '10100.1',
'positive float string' => '+10100.1',
'negative float string' => '-10100.1',
];
}
}

View File

@@ -18,6 +18,17 @@
<parameter type="string">false</parameter>
<parameter type="string">null</parameter>
</parameter>
<parameter key="null string" type="string">null</parameter>
<parameter key="string of digits" type="string">123</parameter>
<parameter key="string of digits prefixed with minus character" type="string">-123</parameter>
<parameter key="true string" type="string">true</parameter>
<parameter key="false string" type="string">false</parameter>
<parameter key="binary number string" type="string">0b0110</parameter>
<parameter key="numeric string" type="string">-1.2E2</parameter>
<parameter key="hexadecimal number string" type="string">0xFF</parameter>
<parameter key="float string" type="string">10100.1</parameter>
<parameter key="positive float string" type="string">+10100.1</parameter>
<parameter key="negative float string" type="string">-10100.1</parameter>
</parameters>
<services>
<service id="service_container" class="Symfony\Component\DependencyInjection\ContainerInterface" public="true" synthetic="true"/>

View File

@@ -4,6 +4,17 @@ parameters:
bar: 'foo is %%foo bar'
escape: '@@escapeme'
values: [true, false, null, 0, 1000.3, 'true', 'false', 'null']
null string: 'null'
string of digits: '123'
string of digits prefixed with minus character: '-123'
true string: 'true'
false string: 'false'
binary number string: '0b0110'
numeric string: '-1.2E2'
hexadecimal number string: '0xFF'
float string: '10100.1'
positive float string: '+10100.1'
negative float string: '-10100.1'
services:
service_container:

View File

@@ -349,6 +349,9 @@ class YamlFileLoaderTest extends TestCase
$lazyDefinition = $container->getDefinition('lazy_context');
$this->assertEquals([new IteratorArgument(['k1' => new Reference('foo.baz'), 'k2' => new Reference('service_container')]), new IteratorArgument([])], $lazyDefinition->getArguments(), '->load() parses lazy arguments');
$message = 'The "deprecated_service" service is deprecated. You should stop using it, as it will soon be removed.';
$this->assertSame($message, $container->getDefinition('deprecated_service')->getDeprecationMessage('deprecated_service'));
}
public function testAutowire()
@@ -717,4 +720,17 @@ class YamlFileLoaderTest extends TestCase
$this->assertSame('overridden', $container->get('bar')->quz);
}
/**
* @group legacy
* @expectedDeprecation The configuration key "factory" is unsupported for the service "foo" which is defined as an alias in %s.
* @expectedDeprecation The configuration key "parent" is unsupported for the service "foo" which is defined as an alias in %s.
*/
public function testAliasDefinitionContainsUnsupportedElements()
{
$container = new ContainerBuilder();
$loader = new YamlFileLoader($container, new FileLocator(self::$fixturesPath.'/yaml'));
$loader->load('legacy_invalid_alias_definition.yml');
$this->assertTrue($container->has('foo'));
}
}

View File

@@ -801,7 +801,7 @@ class FilesystemTest extends FilesystemTestCase
$file = $this->workspace.\DIRECTORY_SEPARATOR.'file';
$link = $this->workspace.\DIRECTORY_SEPARATOR.'link';
// $file does not exists right now: creating "broken" links is a wanted feature
// $file does not exist right now: creating "broken" links is a wanted feature
$this->filesystem->symlink($file, $link);
$this->assertTrue(is_link($link));

View File

@@ -736,7 +736,7 @@ class Finder implements \IteratorAggregate, \Countable
/**
* Normalizes given directory names by removing trailing slashes.
*
* Excluding: (s)ftp:// wrapper
* Excluding: (s)ftp:// or ssh2.(s)ftp:// wrapper
*
* @param string $dir
*
@@ -746,7 +746,7 @@ class Finder implements \IteratorAggregate, \Countable
{
$dir = rtrim($dir, '/'.\DIRECTORY_SEPARATOR);
if (preg_match('#^s?ftp://#', $dir)) {
if (preg_match('#^(ssh2\.)?s?ftp://#', $dir)) {
$dir .= '/';
}

View File

@@ -166,7 +166,7 @@ class JsonDescriptor extends Descriptor
*/
protected function describeCallable($callable, array $options = [])
{
$this->writeData($this->getCallableData($callable, $options), $options);
$this->writeData($this->getCallableData($callable), $options);
}
/**
@@ -321,7 +321,7 @@ class JsonDescriptor extends Descriptor
*
* @return array
*/
private function getCallableData($callable, array $options = [])
private function getCallableData($callable)
{
$data = [];

View File

@@ -348,7 +348,7 @@ class BinaryFileResponse extends Response
}
/**
* If this is set to true, the file will be unlinked after the request is send
* If this is set to true, the file will be unlinked after the request is sent
* Note: If the X-Sendfile header is used, the deleteFileAfterSend setting will not be used.
*
* @param bool $shouldDelete

View File

@@ -93,7 +93,7 @@ class RedirectResponse extends Response
<html>
<head>
<meta charset="UTF-8" />
<meta http-equiv="refresh" content="0;url=%1$s" />
<meta http-equiv="refresh" content="0;url=\'%1$s\'" />
<title>Redirecting to %1$s</title>
</head>

View File

@@ -46,13 +46,13 @@ class ServerBag extends ParameterBag
/*
* php-cgi under Apache does not pass HTTP Basic user/pass to PHP by default
* For this workaround to work, add these lines to your .htaccess file:
* RewriteCond %{HTTP:Authorization} ^(.+)$
* RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
* RewriteCond %{HTTP:Authorization} .+
* RewriteRule ^ - [E=HTTP_AUTHORIZATION:%0]
*
* A sample .htaccess file:
* RewriteEngine On
* RewriteCond %{HTTP:Authorization} ^(.+)$
* RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
* RewriteCond %{HTTP:Authorization} .+
* RewriteRule ^ - [E=HTTP_AUTHORIZATION:%0]
* RewriteCond %{REQUEST_FILENAME} !-f
* RewriteRule ^(.*)$ app.php [QSA,L]
*/

View File

@@ -218,7 +218,7 @@ class PdoSessionHandler extends AbstractSessionHandler
// - trailing space removal
// - case-insensitivity
// - language processing like é == e
$sql = "CREATE TABLE $this->table ($this->idCol VARBINARY(128) NOT NULL PRIMARY KEY, $this->dataCol BLOB NOT NULL, $this->lifetimeCol MEDIUMINT NOT NULL, $this->timeCol INTEGER UNSIGNED NOT NULL) COLLATE utf8_bin, ENGINE = InnoDB";
$sql = "CREATE TABLE $this->table ($this->idCol VARBINARY(128) NOT NULL PRIMARY KEY, $this->dataCol BLOB NOT NULL, $this->lifetimeCol INTEGER UNSIGNED NOT NULL, $this->timeCol INTEGER UNSIGNED NOT NULL) COLLATE utf8_bin, ENGINE = InnoDB";
break;
case 'sqlite':
$sql = "CREATE TABLE $this->table ($this->idCol TEXT NOT NULL PRIMARY KEY, $this->dataCol BLOB NOT NULL, $this->lifetimeCol INTEGER NOT NULL, $this->timeCol INTEGER NOT NULL)";

View File

@@ -20,10 +20,7 @@ class RedirectResponseTest extends TestCase
{
$response = new RedirectResponse('foo.bar');
$this->assertEquals(1, preg_match(
'#<meta http-equiv="refresh" content="\d+;url=foo\.bar" />#',
preg_replace(['/\s+/', '/\'/'], [' ', '"'], $response->getContent())
));
$this->assertRegExp('#<meta http-equiv="refresh" content="\d+;url=\'foo\.bar\'" />#', preg_replace('/\s+/', ' ', $response->getContent()));
}
public function testRedirectResponseConstructorNullUrl()

View File

@@ -352,7 +352,9 @@ class HttpCache implements HttpKernelInterface, TerminableInterface
}
// add our cached last-modified validator
$subRequest->headers->set('if_modified_since', $entry->headers->get('Last-Modified'));
if ($entry->headers->has('Last-Modified')) {
$subRequest->headers->set('if_modified_since', $entry->headers->get('Last-Modified'));
}
// Add our cached etag validator to the environment.
// We keep the etags from the client to handle the case when the client

View File

@@ -62,7 +62,7 @@ class HttpKernel implements HttpKernelInterface, TerminableInterface
*/
public function handle(Request $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = true)
{
$request->headers->set('X-Php-Ob-Level', ob_get_level());
$request->headers->set('X-Php-Ob-Level', (string) ob_get_level());
try {
return $this->handleRaw($request, $type);

View File

@@ -67,11 +67,11 @@ abstract class Kernel implements KernelInterface, RebootableInterface, Terminabl
private $requestStackSize = 0;
private $resetServices = false;
const VERSION = '3.4.35';
const VERSION_ID = 30435;
const VERSION = '3.4.36';
const VERSION_ID = 30436;
const MAJOR_VERSION = 3;
const MINOR_VERSION = 4;
const RELEASE_VERSION = 35;
const RELEASE_VERSION = 36;
const EXTRA_VERSION = '';
const END_OF_MAINTENANCE = '11/2020';

View File

@@ -859,6 +859,7 @@ class HttpCacheTest extends HttpCacheTestCase
public function testValidatesCachedResponsesWithETagAndNoFreshnessInformation()
{
$this->setNextResponse(200, [], 'Hello World', function ($request, $response) {
$this->assertFalse($request->headers->has('If-Modified-Since'));
$response->headers->set('Cache-Control', 'public');
$response->headers->set('ETag', '"12345"');
if ($response->getETag() == $request->headers->get('IF_NONE_MATCH')) {

View File

@@ -25,7 +25,7 @@
"minimum-stability": "dev",
"extra": {
"branch-alias": {
"dev-master": "1.12-dev"
"dev-master": "1.13-dev"
}
}
}

View File

@@ -28,7 +28,7 @@
"minimum-stability": "dev",
"extra": {
"branch-alias": {
"dev-master": "1.12-dev"
"dev-master": "1.13-dev"
}
}
}

View File

@@ -512,7 +512,9 @@ final class Mbstring
$offset = 0;
} elseif ($offset = (int) $offset) {
if ($offset < 0) {
$haystack = self::mb_substr($haystack, 0, $offset, $encoding);
if (0 > $offset += self::mb_strlen($needle)) {
$haystack = self::mb_substr($haystack, 0, $offset, $encoding);
}
$offset = 0;
} else {
$haystack = self::mb_substr($haystack, $offset, 2147483647, $encoding);
@@ -532,7 +534,7 @@ final class Mbstring
return null;
}
if ($split_length < 1) {
if (1 > $split_length = (int) $split_length) {
trigger_error('The length of each segment must be greater than zero', E_USER_WARNING);
return false;
@@ -542,6 +544,10 @@ final class Mbstring
$encoding = mb_internal_encoding();
}
if ('UTF-8' === $encoding = self::getEncoding($encoding)) {
return preg_split("/(.{{$split_length}})/u", $string, null, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY);
}
$result = array();
$length = mb_strlen($string, $encoding);
@@ -815,11 +821,16 @@ final class Mbstring
return self::$internalEncoding;
}
if ('UTF-8' === $encoding) {
return 'UTF-8';
}
$encoding = strtoupper($encoding);
if ('8BIT' === $encoding || 'BINARY' === $encoding) {
return 'CP850';
}
if ('UTF8' === $encoding) {
return 'UTF-8';
}

View File

@@ -28,7 +28,7 @@
"minimum-stability": "dev",
"extra": {
"branch-alias": {
"dev-master": "1.12-dev"
"dev-master": "1.13-dev"
}
}
}

View File

@@ -26,7 +26,7 @@
"minimum-stability": "dev",
"extra": {
"branch-alias": {
"dev-master": "1.12-dev"
"dev-master": "1.13-dev"
}
}
}

View File

@@ -27,7 +27,7 @@
"minimum-stability": "dev",
"extra": {
"branch-alias": {
"dev-master": "1.12-dev"
"dev-master": "1.13-dev"
}
}
}

View File

@@ -81,7 +81,7 @@ class TestListenerForV7 extends TestSuite implements TestListenerInterface
public static function warning($message): WarningTestCase
{
return parent::warning($message);
return new WarningTestCase($message);
}
protected function setUp(): void

View File

@@ -24,7 +24,7 @@
"minimum-stability": "dev",
"extra": {
"branch-alias": {
"dev-master": "1.12-dev"
"dev-master": "1.13-dev"
}
}
}

View File

@@ -80,9 +80,7 @@ class UrlMatcher implements UrlMatcherInterface, RequestMatcherInterface
throw new NoConfigurationException();
}
throw 0 < \count($this->allow)
? new MethodNotAllowedException(array_unique($this->allow))
: new ResourceNotFoundException(sprintf('No routes found for "%s".', $pathinfo));
throw 0 < \count($this->allow) ? new MethodNotAllowedException(array_unique($this->allow)) : new ResourceNotFoundException(sprintf('No routes found for "%s".', $pathinfo));
}
/**

View File

@@ -67,8 +67,8 @@ class RequestContext
$this->setMethod($request->getMethod());
$this->setHost($request->getHost());
$this->setScheme($request->getScheme());
$this->setHttpPort($request->isSecure() ? $this->httpPort : $request->getPort());
$this->setHttpsPort($request->isSecure() ? $request->getPort() : $this->httpsPort);
$this->setHttpPort($request->isSecure() || null === $request->getPort() ? $this->httpPort : $request->getPort());
$this->setHttpsPort($request->isSecure() && null !== $request->getPort() ? $request->getPort() : $this->httpsPort);
$this->setQueryString($request->server->get('QUERY_STRING', ''));
return $this;

View File

@@ -16,7 +16,6 @@ use Symfony\Bridge\Twig\Extension\TranslationExtension;
use Symfony\Bridge\Twig\Translation\TwigExtractor;
use Symfony\Component\Translation\MessageCatalogue;
use Twig\Environment;
use Twig\Error\Error;
use Twig\Loader\ArrayLoader;
class TwigExtractorTest extends TestCase
@@ -78,23 +77,15 @@ class TwigExtractorTest extends TestCase
/**
* @dataProvider resourcesWithSyntaxErrorsProvider
*/
public function testExtractSyntaxError($resources)
public function testExtractSyntaxError($resources, array $messages)
{
$this->expectException('Twig\Error\Error');
$twig = new Environment($this->getMockBuilder('Twig\Loader\LoaderInterface')->getMock());
$twig->addExtension(new TranslationExtension($this->getMockBuilder('Symfony\Component\Translation\TranslatorInterface')->getMock()));
$extractor = new TwigExtractor($twig);
try {
$extractor->extract($resources, new MessageCatalogue('en'));
} catch (Error $e) {
$this->assertSame(\dirname(__DIR__).strtr('/Fixtures/extractor/syntax_error.twig', '/', \DIRECTORY_SEPARATOR), $e->getFile());
$this->assertSame(1, $e->getLine());
$this->assertSame('Unclosed "block".', $e->getMessage());
throw $e;
}
$catalogue = new MessageCatalogue('en');
$extractor->extract($resources, $catalogue);
$this->assertSame($messages, $catalogue->all());
}
/**
@@ -103,9 +94,9 @@ class TwigExtractorTest extends TestCase
public function resourcesWithSyntaxErrorsProvider()
{
return [
[__DIR__.'/../Fixtures'],
[__DIR__.'/../Fixtures/extractor/syntax_error.twig'],
[new \SplFileInfo(__DIR__.'/../Fixtures/extractor/syntax_error.twig')],
[__DIR__.'/../Fixtures', ['messages' => ['Hi!' => 'Hi!']]],
[__DIR__.'/../Fixtures/extractor/syntax_error.twig', []],
[new \SplFileInfo(__DIR__.'/../Fixtures/extractor/syntax_error.twig'), []],
];
}

View File

@@ -12,7 +12,6 @@
namespace Symfony\Bridge\Twig\Translation;
use Symfony\Component\Finder\Finder;
use Symfony\Component\Finder\SplFileInfo;
use Symfony\Component\Translation\Extractor\AbstractFileExtractor;
use Symfony\Component\Translation\Extractor\ExtractorInterface;
use Symfony\Component\Translation\MessageCatalogue;
@@ -58,13 +57,7 @@ class TwigExtractor extends AbstractFileExtractor implements ExtractorInterface
try {
$this->extractTemplate(file_get_contents($file->getPathname()), $catalogue);
} catch (Error $e) {
if ($file instanceof \SplFileInfo) {
$path = $file->getRealPath() ?: $file->getPathname();
$name = $file instanceof SplFileInfo ? $file->getRelativePathname() : $path;
$e->setSourceContext(new Source('', $name, $path));
}
throw $e;
// ignore errors, these should be fixed by using the linter
}
}
}

View File

@@ -20,7 +20,7 @@
"symfony/http-kernel": "~3.4.25|^4.2.6",
"symfony/polyfill-php70": "~1.0",
"symfony/routing": "~2.8|~3.0|~4.0",
"symfony/twig-bridge": "~2.8|~3.0|~4.0",
"symfony/twig-bundle": "~2.8|~3.0|~4.0",
"symfony/var-dumper": "~3.3|~4.0",
"twig/twig": "~1.34|~2.4"
},