diff --git a/core/composer.json b/core/composer.json index c7107ba5f36267588fe18153729c49fb024e6a5b..0a6874f18a1d436605096977f616a723bf9e9a51 100644 --- a/core/composer.json +++ b/core/composer.json @@ -6,18 +6,19 @@ "require": { "php": ">=5.4.5", "sdboyer/gliph": "0.1.*", - "symfony/class-loader": "2.6.*", - "symfony/console": "2.6.*", - "symfony/css-selector": "2.6.*", - "symfony/dependency-injection": "2.6.*", - "symfony/event-dispatcher": "2.6.*", - "symfony/http-foundation": "2.6.*", - "symfony/http-kernel": "2.6.*", - "symfony/routing": "2.6.*", - "symfony/serializer": "2.6.*", - "symfony/validator": "2.6.*@dev", - "symfony/process": "2.6.*", - "symfony/yaml": "2.6.*", + "symfony/class-loader": "2.7.*", + "symfony/console": "2.7.*", + "symfony/css-selector": "2.7.*", + "symfony/dependency-injection": "2.7.*", + "symfony/event-dispatcher": "2.7.*", + "symfony/http-foundation": "2.7.*", + "symfony/http-kernel": "2.7.*", + "symfony/routing": "2.7.*", + "symfony/serializer": "2.7.*", + "symfony/translation": "2.7.*", + "symfony/validator": "2.7.*", + "symfony/process": "2.7.*", + "symfony/yaml": "2.7.*", "twig/twig": "1.18.*", "doctrine/common": "~2.4.2", "doctrine/annotations": "1.2.*", @@ -34,6 +35,8 @@ "fabpot/goutte": "^2.0.3", "masterminds/html5": "~2.1" }, + "minimum-stability": "dev", + "prefer-stable": true, "autoload": { "psr-4": { "Drupal\\Core\\": "lib/Drupal/Core", diff --git a/core/composer.lock b/core/composer.lock index a3a54d342af332afa573441730d7599240bcd599..014507970b9e362a903dae740b9673e017dea7d5 100644 --- a/core/composer.lock +++ b/core/composer.lock @@ -1,10 +1,10 @@ { "_readme": [ "This file locks the dependencies of your project to a known state", - "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", + "Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "hash": "8815752eccc78eaca65ea89fa297746f", + "hash": "61a2b6dec8252d78e904d37fbf1637d7", "packages": [ { "name": "behat/mink", @@ -2143,17 +2143,17 @@ }, { "name": "symfony/browser-kit", - "version": "v2.6.6", + "version": "v2.6.9", "target-dir": "Symfony/Component/BrowserKit", "source": { "type": "git", "url": "https://github.com/symfony/BrowserKit.git", - "reference": "f21189b0eccbe56528515858ca1d5089a741692f" + "reference": "cf950c42947ea2f29c36a1f443202b6134f5c303" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/BrowserKit/zipball/f21189b0eccbe56528515858ca1d5089a741692f", - "reference": "f21189b0eccbe56528515858ca1d5089a741692f", + "url": "https://api.github.com/repos/symfony/BrowserKit/zipball/cf950c42947ea2f29c36a1f443202b6134f5c303", + "reference": "cf950c42947ea2f29c36a1f443202b6134f5c303", "shasum": "" }, "require": { @@ -2184,36 +2184,35 @@ "MIT" ], "authors": [ - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, { "name": "Fabien Potencier", "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], "description": "Symfony BrowserKit Component", - "homepage": "http://symfony.com", - "time": "2015-03-30 15:54:10" + "homepage": "https://symfony.com", + "time": "2015-05-02 15:18:45" }, { "name": "symfony/class-loader", - "version": "v2.6.6", - "target-dir": "Symfony/Component/ClassLoader", + "version": "v2.7.0", "source": { "type": "git", "url": "https://github.com/symfony/ClassLoader.git", - "reference": "861765b3e5f32979de5bd19ad2577cbb830a29d5" + "reference": "fa19598cb708b92d983b34aae313f57c217f9386" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/ClassLoader/zipball/861765b3e5f32979de5bd19ad2577cbb830a29d5", - "reference": "861765b3e5f32979de5bd19ad2577cbb830a29d5", + "url": "https://api.github.com/repos/symfony/ClassLoader/zipball/fa19598cb708b92d983b34aae313f57c217f9386", + "reference": "fa19598cb708b92d983b34aae313f57c217f9386", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": ">=5.3.9" }, "require-dev": { "symfony/finder": "~2.0,>=2.0.5", @@ -2222,11 +2221,11 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.6-dev" + "dev-master": "2.7-dev" } }, "autoload": { - "psr-0": { + "psr-4": { "Symfony\\Component\\ClassLoader\\": "" } }, @@ -2235,36 +2234,35 @@ "MIT" ], "authors": [ - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, { "name": "Fabien Potencier", "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], "description": "Symfony ClassLoader Component", - "homepage": "http://symfony.com", - "time": "2015-03-27 10:19:51" + "homepage": "https://symfony.com", + "time": "2015-05-15 13:33:16" }, { "name": "symfony/console", - "version": "v2.6.7", - "target-dir": "Symfony/Component/Console", + "version": "v2.7.0-BETA2", "source": { "type": "git", "url": "https://github.com/symfony/Console.git", - "reference": "ebc5679854aa24ed7d65062e9e3ab0b18a917272" + "reference": "555ba7fc54a538e1b83988e2299db09b6b6dca64" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Console/zipball/ebc5679854aa24ed7d65062e9e3ab0b18a917272", - "reference": "ebc5679854aa24ed7d65062e9e3ab0b18a917272", + "url": "https://api.github.com/repos/symfony/Console/zipball/555ba7fc54a538e1b83988e2299db09b6b6dca64", + "reference": "555ba7fc54a538e1b83988e2299db09b6b6dca64", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": ">=5.3.9" }, "require-dev": { "psr/log": "~1.0", @@ -2280,11 +2278,11 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.6-dev" + "dev-master": "2.7-dev" } }, "autoload": { - "psr-0": { + "psr-4": { "Symfony\\Component\\Console\\": "" } }, @@ -2304,25 +2302,24 @@ ], "description": "Symfony Console Component", "homepage": "https://symfony.com", - "time": "2015-05-02 15:18:45" + "time": "2015-05-02 15:21:08" }, { "name": "symfony/css-selector", - "version": "v2.6.6", - "target-dir": "Symfony/Component/CssSelector", + "version": "v2.7.0", "source": { "type": "git", "url": "https://github.com/symfony/CssSelector.git", - "reference": "db2c48df9658423a8c168d89f7b971b73d3d74a4" + "reference": "0b5c07b516226b7dd32afbbc82fe547a469c5092" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/CssSelector/zipball/db2c48df9658423a8c168d89f7b971b73d3d74a4", - "reference": "db2c48df9658423a8c168d89f7b971b73d3d74a4", + "url": "https://api.github.com/repos/symfony/CssSelector/zipball/0b5c07b516226b7dd32afbbc82fe547a469c5092", + "reference": "0b5c07b516226b7dd32afbbc82fe547a469c5092", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": ">=5.3.9" }, "require-dev": { "symfony/phpunit-bridge": "~2.7" @@ -2330,11 +2327,11 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.6-dev" + "dev-master": "2.7-dev" } }, "autoload": { - "psr-0": { + "psr-4": { "Symfony\\Component\\CssSelector\\": "" } }, @@ -2343,10 +2340,6 @@ "MIT" ], "authors": [ - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, { "name": "Jean-François Simon", "email": "jeanfrancois.simon@sensiolabs.com" @@ -2354,25 +2347,29 @@ { "name": "Fabien Potencier", "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], "description": "Symfony CssSelector Component", - "homepage": "http://symfony.com", - "time": "2015-03-22 16:55:57" + "homepage": "https://symfony.com", + "time": "2015-05-15 13:33:16" }, { "name": "symfony/debug", - "version": "v2.6.6", + "version": "v2.6.9", "target-dir": "Symfony/Component/Debug", "source": { "type": "git", "url": "https://github.com/symfony/Debug.git", - "reference": "d49a46a20a8f0544aedac54466750ad787d3d3e3" + "reference": "4851a041c48e76b91a221db84ab5850daa6a7b33" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Debug/zipball/d49a46a20a8f0544aedac54466750ad787d3d3e3", - "reference": "d49a46a20a8f0544aedac54466750ad787d3d3e3", + "url": "https://api.github.com/repos/symfony/Debug/zipball/4851a041c48e76b91a221db84ab5850daa6a7b33", + "reference": "4851a041c48e76b91a221db84ab5850daa6a7b33", "shasum": "" }, "require": { @@ -2408,36 +2405,35 @@ "MIT" ], "authors": [ - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, { "name": "Fabien Potencier", "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], "description": "Symfony Debug Component", - "homepage": "http://symfony.com", - "time": "2015-03-22 16:55:57" + "homepage": "https://symfony.com", + "time": "2015-05-20 13:09:45" }, { "name": "symfony/dependency-injection", - "version": "v2.6.6", - "target-dir": "Symfony/Component/DependencyInjection", + "version": "v2.7.0", "source": { "type": "git", "url": "https://github.com/symfony/DependencyInjection.git", - "reference": "8e9007012226b4bd41f8afed855c452cf5edc3a6" + "reference": "137bf489c5151c7eb1e4b7dd34a123f9a74b966d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/DependencyInjection/zipball/8e9007012226b4bd41f8afed855c452cf5edc3a6", - "reference": "8e9007012226b4bd41f8afed855c452cf5edc3a6", + "url": "https://api.github.com/repos/symfony/DependencyInjection/zipball/137bf489c5151c7eb1e4b7dd34a123f9a74b966d", + "reference": "137bf489c5151c7eb1e4b7dd34a123f9a74b966d", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": ">=5.3.9" }, "conflict": { "symfony/expression-language": "<2.6" @@ -2456,11 +2452,11 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.6-dev" + "dev-master": "2.7-dev" } }, "autoload": { - "psr-0": { + "psr-4": { "Symfony\\Component\\DependencyInjection\\": "" } }, @@ -2469,32 +2465,32 @@ "MIT" ], "authors": [ - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, { "name": "Fabien Potencier", "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], "description": "Symfony DependencyInjection Component", - "homepage": "http://symfony.com", - "time": "2015-03-30 15:54:10" + "homepage": "https://symfony.com", + "time": "2015-05-29 14:44:44" }, { "name": "symfony/dom-crawler", - "version": "v2.6.6", + "version": "v2.6.9", "target-dir": "Symfony/Component/DomCrawler", "source": { "type": "git", "url": "https://github.com/symfony/DomCrawler.git", - "reference": "8897ebf39c7dfb752a5494fa301845a3fbb9e53d" + "reference": "c74fe625d8c65fee512de2b40cceabba1b09503b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/DomCrawler/zipball/8897ebf39c7dfb752a5494fa301845a3fbb9e53d", - "reference": "8897ebf39c7dfb752a5494fa301845a3fbb9e53d", + "url": "https://api.github.com/repos/symfony/DomCrawler/zipball/c74fe625d8c65fee512de2b40cceabba1b09503b", + "reference": "c74fe625d8c65fee512de2b40cceabba1b09503b", "shasum": "" }, "require": { @@ -2523,36 +2519,35 @@ "MIT" ], "authors": [ - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, { "name": "Fabien Potencier", "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], "description": "Symfony DomCrawler Component", - "homepage": "http://symfony.com", - "time": "2015-03-30 15:54:10" + "homepage": "https://symfony.com", + "time": "2015-05-22 14:53:08" }, { "name": "symfony/event-dispatcher", - "version": "v2.6.6", - "target-dir": "Symfony/Component/EventDispatcher", + "version": "v2.7.0", "source": { "type": "git", "url": "https://github.com/symfony/EventDispatcher.git", - "reference": "70f7c8478739ad21e3deef0d977b38c77f1fb284" + "reference": "687039686d0e923429ba6e958d0baa920cd5d458" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/EventDispatcher/zipball/70f7c8478739ad21e3deef0d977b38c77f1fb284", - "reference": "70f7c8478739ad21e3deef0d977b38c77f1fb284", + "url": "https://api.github.com/repos/symfony/EventDispatcher/zipball/687039686d0e923429ba6e958d0baa920cd5d458", + "reference": "687039686d0e923429ba6e958d0baa920cd5d458", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": ">=5.3.9" }, "require-dev": { "psr/log": "~1.0", @@ -2569,11 +2564,11 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.6-dev" + "dev-master": "2.7-dev" } }, "autoload": { - "psr-0": { + "psr-4": { "Symfony\\Component\\EventDispatcher\\": "" } }, @@ -2582,36 +2577,35 @@ "MIT" ], "authors": [ - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, { "name": "Fabien Potencier", "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], "description": "Symfony EventDispatcher Component", - "homepage": "http://symfony.com", - "time": "2015-03-13 17:37:22" + "homepage": "https://symfony.com", + "time": "2015-05-02 15:21:08" }, { "name": "symfony/http-foundation", - "version": "v2.6.6", - "target-dir": "Symfony/Component/HttpFoundation", + "version": "v2.7.0", "source": { "type": "git", "url": "https://github.com/symfony/HttpFoundation.git", - "reference": "8a6337233f08f7520de97f4ffd6f00e947d892f9" + "reference": "729de183da037c125c5f6366bd4f0631ba1a1abb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/HttpFoundation/zipball/8a6337233f08f7520de97f4ffd6f00e947d892f9", - "reference": "8a6337233f08f7520de97f4ffd6f00e947d892f9", + "url": "https://api.github.com/repos/symfony/HttpFoundation/zipball/729de183da037c125c5f6366bd4f0631ba1a1abb", + "reference": "729de183da037c125c5f6366bd4f0631ba1a1abb", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": ">=5.3.9" }, "require-dev": { "symfony/expression-language": "~2.4", @@ -2620,15 +2614,15 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.6-dev" + "dev-master": "2.7-dev" } }, "autoload": { - "psr-0": { + "psr-4": { "Symfony\\Component\\HttpFoundation\\": "" }, "classmap": [ - "Symfony/Component/HttpFoundation/Resources/stubs" + "Resources/stubs" ] }, "notification-url": "https://packagist.org/downloads/", @@ -2636,45 +2630,47 @@ "MIT" ], "authors": [ - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, { "name": "Fabien Potencier", "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], "description": "Symfony HttpFoundation Component", - "homepage": "http://symfony.com", - "time": "2015-04-01 16:50:12" + "homepage": "https://symfony.com", + "time": "2015-05-22 14:54:25" }, { "name": "symfony/http-kernel", - "version": "v2.6.6", - "target-dir": "Symfony/Component/HttpKernel", + "version": "v2.7.0", "source": { "type": "git", "url": "https://github.com/symfony/HttpKernel.git", - "reference": "3829cacfe21eaf3f73604a62d79183d1f6e792c4" + "reference": "74acbb7ef9c4aae0620d3250b9b990d2fff28d16" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/HttpKernel/zipball/3829cacfe21eaf3f73604a62d79183d1f6e792c4", - "reference": "3829cacfe21eaf3f73604a62d79183d1f6e792c4", + "url": "https://api.github.com/repos/symfony/HttpKernel/zipball/74acbb7ef9c4aae0620d3250b9b990d2fff28d16", + "reference": "74acbb7ef9c4aae0620d3250b9b990d2fff28d16", "shasum": "" }, "require": { - "php": ">=5.3.3", + "php": ">=5.3.9", "psr/log": "~1.0", "symfony/debug": "~2.6,>=2.6.2", "symfony/event-dispatcher": "~2.5.9|~2.6,>=2.6.2", "symfony/http-foundation": "~2.5,>=2.5.4" }, + "conflict": { + "symfony/config": "<2.7" + }, "require-dev": { "symfony/browser-kit": "~2.3", "symfony/class-loader": "~2.1", - "symfony/config": "~2.0,>=2.0.5", + "symfony/config": "~2.7", "symfony/console": "~2.3", "symfony/css-selector": "~2.0,>=2.0.5", "symfony/dependency-injection": "~2.2", @@ -2701,11 +2697,11 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.6-dev" + "dev-master": "2.7-dev" } }, "autoload": { - "psr-0": { + "psr-4": { "Symfony\\Component\\HttpKernel\\": "" } }, @@ -2714,36 +2710,35 @@ "MIT" ], "authors": [ - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, { "name": "Fabien Potencier", "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], "description": "Symfony HttpKernel Component", - "homepage": "http://symfony.com", - "time": "2015-04-01 16:55:26" + "homepage": "https://symfony.com", + "time": "2015-05-30 16:52:28" }, { "name": "symfony/process", - "version": "v2.6.6", - "target-dir": "Symfony/Component/Process", + "version": "v2.7.0", "source": { "type": "git", "url": "https://github.com/symfony/Process.git", - "reference": "a8bebaec1a9dc6cde53e0250e32917579b0be552" + "reference": "e0a82b58e36afc60f8e79b8bc85a22bb064077c1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Process/zipball/a8bebaec1a9dc6cde53e0250e32917579b0be552", - "reference": "a8bebaec1a9dc6cde53e0250e32917579b0be552", + "url": "https://api.github.com/repos/symfony/Process/zipball/e0a82b58e36afc60f8e79b8bc85a22bb064077c1", + "reference": "e0a82b58e36afc60f8e79b8bc85a22bb064077c1", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": ">=5.3.9" }, "require-dev": { "symfony/phpunit-bridge": "~2.7" @@ -2751,11 +2746,11 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.6-dev" + "dev-master": "2.7-dev" } }, "autoload": { - "psr-0": { + "psr-4": { "Symfony\\Component\\Process\\": "" } }, @@ -2764,42 +2759,44 @@ "MIT" ], "authors": [ - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, { "name": "Fabien Potencier", "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], "description": "Symfony Process Component", - "homepage": "http://symfony.com", - "time": "2015-03-30 15:54:10" + "homepage": "https://symfony.com", + "time": "2015-05-15 13:33:16" }, { "name": "symfony/routing", - "version": "v2.6.6", - "target-dir": "Symfony/Component/Routing", + "version": "v2.7.0", "source": { "type": "git", "url": "https://github.com/symfony/Routing.git", - "reference": "4e173a645b63ff60a124f3741b4f15feebd908fa" + "reference": "6f0333fb8b89cf6f8fd9d6740c5e83b73d9c95b9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Routing/zipball/4e173a645b63ff60a124f3741b4f15feebd908fa", - "reference": "4e173a645b63ff60a124f3741b4f15feebd908fa", + "url": "https://api.github.com/repos/symfony/Routing/zipball/6f0333fb8b89cf6f8fd9d6740c5e83b73d9c95b9", + "reference": "6f0333fb8b89cf6f8fd9d6740c5e83b73d9c95b9", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": ">=5.3.9" + }, + "conflict": { + "symfony/config": "<2.7" }, "require-dev": { "doctrine/annotations": "~1.0", "doctrine/common": "~2.2", "psr/log": "~1.0", - "symfony/config": "~2.2", + "symfony/config": "~2.7", "symfony/expression-language": "~2.4", "symfony/http-foundation": "~2.3", "symfony/phpunit-bridge": "~2.7", @@ -2814,11 +2811,11 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.6-dev" + "dev-master": "2.7-dev" } }, "autoload": { - "psr-0": { + "psr-4": { "Symfony\\Component\\Routing\\": "" } }, @@ -2827,54 +2824,65 @@ "MIT" ], "authors": [ - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, { "name": "Fabien Potencier", "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], "description": "Symfony Routing Component", - "homepage": "http://symfony.com", + "homepage": "https://symfony.com", "keywords": [ "router", "routing", "uri", "url" ], - "time": "2015-03-30 15:54:10" + "time": "2015-05-19 06:58:17" }, { "name": "symfony/serializer", - "version": "v2.6.6", - "target-dir": "Symfony/Component/Serializer", + "version": "v2.7.0", "source": { "type": "git", "url": "https://github.com/symfony/Serializer.git", - "reference": "bf30b882e15945fe8700edcd966eb3f5503820f3" + "reference": "634d3adf119396320fba4c14caa01390700e7f3b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Serializer/zipball/bf30b882e15945fe8700edcd966eb3f5503820f3", - "reference": "bf30b882e15945fe8700edcd966eb3f5503820f3", + "url": "https://api.github.com/repos/symfony/Serializer/zipball/634d3adf119396320fba4c14caa01390700e7f3b", + "reference": "634d3adf119396320fba4c14caa01390700e7f3b", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": ">=5.3.9" }, "require-dev": { - "symfony/phpunit-bridge": "~2.7" + "doctrine/annotations": "~1.0", + "doctrine/cache": "~1.0", + "symfony/config": "~2.2", + "symfony/phpunit-bridge": "~2.7", + "symfony/property-access": "~2.3", + "symfony/yaml": "~2.0" + }, + "suggest": { + "doctrine/annotations": "For using the annotation mapping. You will also need doctrine/cache.", + "doctrine/cache": "For using the default cached annotation reader and metadata cache.", + "symfony/config": "For using the XML mapping loader.", + "symfony/property-access": "For using the ObjectNormalizer.", + "symfony/yaml": "For using the default YAML mapping loader." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.6-dev" + "dev-master": "2.7-dev" } }, "autoload": { - "psr-0": { + "psr-4": { "Symfony\\Component\\Serializer\\": "" } }, @@ -2883,40 +2891,42 @@ "MIT" ], "authors": [ - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, { "name": "Fabien Potencier", "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], "description": "Symfony Serializer Component", - "homepage": "http://symfony.com", - "time": "2015-03-22 16:55:57" + "homepage": "https://symfony.com", + "time": "2015-05-29 14:44:44" }, { "name": "symfony/translation", - "version": "v2.6.6", - "target-dir": "Symfony/Component/Translation", + "version": "v2.7.0-BETA2", "source": { "type": "git", "url": "https://github.com/symfony/Translation.git", - "reference": "bd939f05cdaca128f4ddbae1b447d6f0203b60af" + "reference": "1be5bbed3938247acd7c5f4e4f29dd32db636b1f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Translation/zipball/bd939f05cdaca128f4ddbae1b447d6f0203b60af", - "reference": "bd939f05cdaca128f4ddbae1b447d6f0203b60af", + "url": "https://api.github.com/repos/symfony/Translation/zipball/1be5bbed3938247acd7c5f4e4f29dd32db636b1f", + "reference": "1be5bbed3938247acd7c5f4e4f29dd32db636b1f", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": ">=5.3.9" + }, + "conflict": { + "symfony/config": "<2.7" }, "require-dev": { "psr/log": "~1.0", - "symfony/config": "~2.3,>=2.3.12", + "symfony/config": "~2.7", "symfony/intl": "~2.3", "symfony/phpunit-bridge": "~2.7", "symfony/yaml": "~2.2" @@ -2929,11 +2939,11 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.6-dev" + "dev-master": "2.7-dev" } }, "autoload": { - "psr-0": { + "psr-4": { "Symfony\\Component\\Translation\\": "" } }, @@ -2942,42 +2952,40 @@ "MIT" ], "authors": [ - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, { "name": "Fabien Potencier", "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], "description": "Symfony Translation Component", - "homepage": "http://symfony.com", - "time": "2015-03-30 15:54:10" + "homepage": "https://symfony.com", + "time": "2015-05-11 02:35:29" }, { "name": "symfony/validator", - "version": "2.6.x-dev", - "target-dir": "Symfony/Component/Validator", + "version": "v2.7.0", "source": { "type": "git", "url": "https://github.com/symfony/Validator.git", - "reference": "6bb1b474d25cb80617d8da6cb14c955ba914e495" + "reference": "3a5461a388ff8962790fd5a39e6e2da84ba1e824" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Validator/zipball/d667b6a563e233b24ae1599a9fde7a53ddd1c055", - "reference": "6bb1b474d25cb80617d8da6cb14c955ba914e495", + "url": "https://api.github.com/repos/symfony/Validator/zipball/3a5461a388ff8962790fd5a39e6e2da84ba1e824", + "reference": "3a5461a388ff8962790fd5a39e6e2da84ba1e824", "shasum": "" }, "require": { - "php": ">=5.3.3", - "symfony/translation": "~2.0,>=2.0.5" + "php": ">=5.3.9", + "symfony/translation": "~2.4" }, "require-dev": { "doctrine/annotations": "~1.0", "doctrine/cache": "~1.0", - "doctrine/common": "~2.3", "egulias/email-validator": "~1.2,>=1.2.1", "symfony/config": "~2.2", "symfony/expression-language": "~2.4", @@ -3001,11 +3009,11 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.6-dev" + "dev-master": "2.7-dev" } }, "autoload": { - "psr-0": { + "psr-4": { "Symfony\\Component\\Validator\\": "" } }, @@ -3025,25 +3033,24 @@ ], "description": "Symfony Validator Component", "homepage": "https://symfony.com", - "time": "2015-05-05 01:29:27" + "time": "2015-05-29 14:44:44" }, { "name": "symfony/yaml", - "version": "v2.6.6", - "target-dir": "Symfony/Component/Yaml", + "version": "v2.7.0", "source": { "type": "git", "url": "https://github.com/symfony/Yaml.git", - "reference": "174f009ed36379a801109955fc5a71a49fe62dd4" + "reference": "4a29a5248aed4fb45f626a7bbbd330291492f5c3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Yaml/zipball/174f009ed36379a801109955fc5a71a49fe62dd4", - "reference": "174f009ed36379a801109955fc5a71a49fe62dd4", + "url": "https://api.github.com/repos/symfony/Yaml/zipball/4a29a5248aed4fb45f626a7bbbd330291492f5c3", + "reference": "4a29a5248aed4fb45f626a7bbbd330291492f5c3", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": ">=5.3.9" }, "require-dev": { "symfony/phpunit-bridge": "~2.7" @@ -3051,11 +3058,11 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.6-dev" + "dev-master": "2.7-dev" } }, "autoload": { - "psr-0": { + "psr-4": { "Symfony\\Component\\Yaml\\": "" } }, @@ -3064,18 +3071,18 @@ "MIT" ], "authors": [ - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, { "name": "Fabien Potencier", "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], "description": "Symfony Yaml Component", - "homepage": "http://symfony.com", - "time": "2015-03-30 15:54:10" + "homepage": "https://symfony.com", + "time": "2015-05-02 15:21:08" }, { "name": "twig/twig", @@ -3286,11 +3293,9 @@ ], "packages-dev": [], "aliases": [], - "minimum-stability": "stable", - "stability-flags": { - "symfony/validator": 20 - }, - "prefer-stable": false, + "minimum-stability": "dev", + "stability-flags": [], + "prefer-stable": true, "prefer-lowest": false, "platform": { "php": ">=5.4.5" diff --git a/core/core.services.yml b/core/core.services.yml index 3196589a3f2174fd72f861dc6292170d0bd1bc47..2bc5edc1d4ff62614ff1fafac1cf91caeb98d836 100644 --- a/core/core.services.yml +++ b/core/core.services.yml @@ -144,57 +144,49 @@ services: class: Drupal\Core\Cache\CacheBackendInterface tags: - { name: cache.bin, default_backend: cache.backend.chainedfast } - factory_method: get - factory_service: cache_factory + factory: cache_factory:get arguments: [bootstrap] cache.config: class: Drupal\Core\Cache\CacheBackendInterface tags: - { name: cache.bin, default_backend: cache.backend.chainedfast } - factory_method: get - factory_service: cache_factory + factory: cache_factory:get arguments: [config] cache.default: class: Drupal\Core\Cache\CacheBackendInterface tags: - { name: cache.bin } - factory_method: get - factory_service: cache_factory + factory: cache_factory:get arguments: [default] cache.entity: class: Drupal\Core\Cache\CacheBackendInterface tags: - { name: cache.bin } - factory_method: get - factory_service: cache_factory + factory: cache_factory:get arguments: [entity] cache.menu: class: Drupal\Core\Cache\CacheBackendInterface tags: - { name: cache.bin } - factory_method: get - factory_service: cache_factory + factory: cache_factory:get arguments: [menu] cache.render: class: Drupal\Core\Cache\CacheBackendInterface tags: - { name: cache.bin } - factory_method: get - factory_service: cache_factory + factory: cache_factory:get arguments: [render] cache.data: class: Drupal\Core\Cache\CacheBackendInterface tags: - { name: cache.bin } - factory_method: get - factory_service: cache_factory + factory: cache_factory:get arguments: [data] cache.discovery: class: Drupal\Core\Cache\CacheBackendInterface tags: - { name: cache.bin, default_backend: cache.backend.chainedfast } - factory_method: get - factory_service: cache_factory + factory: cache_factory:get arguments: [discovery] cache_router_rebuild_subscriber: class: Drupal\Core\EventSubscriber\CacheRouterRebuildSubscriber @@ -253,13 +245,11 @@ services: - { name: backend_overridable } config.storage.file: class: Drupal\Core\Config\FileStorage - factory_class: Drupal\Core\Config\FileStorageFactory - factory_method: getActive + factory: Drupal\Core\Config\FileStorageFactory::getActive public: false config.storage.staging: class: Drupal\Core\Config\FileStorage - factory_class: Drupal\Core\Config\FileStorageFactory - factory_method: getStaging + factory: Drupal\Core\Config\FileStorageFactory::getStaging config.storage.snapshot: class: Drupal\Core\Config\DatabaseStorage arguments: ['@database', config_snapshot] @@ -285,8 +275,7 @@ services: arguments: ['@config.factory'] database: class: Drupal\Core\Database\Connection - factory_class: Drupal\Core\Database\Database - factory_method: getConnection + factory: Drupal\Core\Database\Database::getConnection arguments: [default] file_system: class: Drupal\Core\File\FileSystem @@ -324,8 +313,7 @@ services: logger.channel_base: abstract: true class: Drupal\Core\Logger\LoggerChannel - factory_method: get - factory_service: logger.factory + factory: logger.factory:get logger.channel.default: parent: logger.channel_base arguments: ['system'] @@ -340,8 +328,7 @@ services: arguments: ['cron'] logger.channel.file: class: Drupal\Core\Logger\LoggerChannel - factory_method: get - factory_service: logger.factory + factory: logger.factory:get arguments: ['file'] logger.channel.form: parent: logger.channel_base @@ -358,8 +345,7 @@ services: settings: class: Drupal\Core\Site\Settings - factory_class: Drupal\Core\Site\Settings - factory_method: getInstance + factory: Drupal\Core\Site\Settings::getInstance state: class: Drupal\Core\State\State arguments: ['@keyvalue'] @@ -546,8 +532,7 @@ services: arguments: ['@service_container'] app.root: class: SplString - factory_service: 'app.root.factory' - factory_method: 'get' + factory: app.root.factory:get tags: - { name: parameter_service } app.root.factory: @@ -617,8 +602,7 @@ services: - { name: service_collector, tag: string_translator, call: addTranslator } database.replica: class: Drupal\Core\Database\Connection - factory_class: Drupal\Core\Database\Database - factory_method: getConnection + factory: Drupal\Core\Database\Database::getConnection arguments: [replica] typed_data_manager: class: Drupal\Core\TypedData\TypedDataManager diff --git a/core/lib/Drupal/Core/Composer/Composer.php b/core/lib/Drupal/Core/Composer/Composer.php index bac268ffcbca2fc935138b7c5ba08e8116d56804..297f3800c6068b3f293351fee91c5b0d57111ff6 100644 --- a/core/lib/Drupal/Core/Composer/Composer.php +++ b/core/lib/Drupal/Core/Composer/Composer.php @@ -24,14 +24,14 @@ public static function preAutoloadDump(Event $event) { $package = $composer->getPackage(); $autoload = $package->getAutoload(); $autoload['classmap'] = array_merge($autoload['classmap'], array( - 'vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Request.php', - 'vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/ParameterBag.php', - 'vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/FileBag.php', - 'vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/ServerBag.php', - 'vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/HeaderBag.php', - 'vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpKernel.php', - 'vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpKernelInterface.php', - 'vendor/symfony/http-kernel/Symfony/Component/HttpKernel/TerminableInterface.php' + 'vendor/symfony/http-foundation/Request.php', + 'vendor/symfony/http-foundation/ParameterBag.php', + 'vendor/symfony/http-foundation/FileBag.php', + 'vendor/symfony/http-foundation/ServerBag.php', + 'vendor/symfony/http-foundation/HeaderBag.php', + 'vendor/symfony/http-kernel/HttpKernel.php', + 'vendor/symfony/http-kernel/HttpKernelInterface.php', + 'vendor/symfony/http-kernel/TerminableInterface.php', )); $package->setAutoload($autoload); } diff --git a/core/lib/Drupal/Core/DependencyInjection/ContainerBuilder.php b/core/lib/Drupal/Core/DependencyInjection/ContainerBuilder.php index 16bf0ad9b1cee1d238110861ba58b72fa43240fc..cb8587857328631ab757265ad7fca1f65f44d4b4 100644 --- a/core/lib/Drupal/Core/DependencyInjection/ContainerBuilder.php +++ b/core/lib/Drupal/Core/DependencyInjection/ContainerBuilder.php @@ -43,10 +43,6 @@ public function __construct(ParameterBagInterface $parameterBag = NULL) { public function set($id, $service, $scope = self::SCOPE_CONTAINER) { SymfonyContainer::set($id, $service, $scope); - if ($this->hasDefinition($id) && ($definition = $this->getDefinition($id)) && $definition->isSynchronized()) { - $this->synchronize($id); - } - // Ensure that the _serviceId property is set on synthetic services as well. if (isset($this->services[$id]) && is_object($this->services[$id]) && !isset($this->services[$id]->_serviceId)) { $this->services[$id]->_serviceId = $id; diff --git a/core/lib/Drupal/Core/DependencyInjection/YamlFileLoader.php b/core/lib/Drupal/Core/DependencyInjection/YamlFileLoader.php index 77484de60f2dfe913f046358858e1fa2aeb81d8a..4c7fea9414414858268abb8fa88ff0d4105f9df7 100644 --- a/core/lib/Drupal/Core/DependencyInjection/YamlFileLoader.php +++ b/core/lib/Drupal/Core/DependencyInjection/YamlFileLoader.php @@ -83,6 +83,10 @@ public function load($file) // parameters if (isset($content['parameters'])) { + if (!is_array($content['parameters'])) { + throw new InvalidArgumentException(sprintf('The "parameters" key should contain an array in %s. Check your YAML syntax.', $file)); + } + foreach ($content['parameters'] as $key => $value) { $this->container->setParameter($key, $this->resolveServices($value)); } @@ -108,6 +112,10 @@ private function parseDefinitions($content, $file) return; } + if (!is_array($content['services'])) { + throw new InvalidArgumentException(sprintf('The "services" key should contain an array in %s. Check your YAML syntax.', $file)); + } + foreach ($content['services'] as $id => $service) { $this->parseDefinition($id, $service, $file); } @@ -128,8 +136,14 @@ private function parseDefinition($id, $service, $file) $this->container->setAlias($id, substr($service, 1)); return; - } elseif (isset($service['alias'])) { - $public = !array_key_exists('public', $service) || (Boolean) $service['public']; + } + + if (!is_array($service)) { + throw new InvalidArgumentException(sprintf('A service definition must be an array or a string starting with "@" but %s found for service "%s" in %s. Check your YAML syntax.', gettype($service), $id, $file)); + } + + if (isset($service['alias'])) { + $public = !array_key_exists('public', $service) || (bool) $service['public']; $this->container->setAlias($id, new Alias($service['alias'], $public)); return; @@ -154,7 +168,7 @@ private function parseDefinition($id, $service, $file) } if (isset($service['synchronized'])) { - $definition->setSynchronized($service['synchronized']); + $definition->setSynchronized($service['synchronized'], 'request' !== $id); } if (isset($service['lazy'])) { @@ -169,6 +183,19 @@ private function parseDefinition($id, $service, $file) $definition->setAbstract($service['abstract']); } + if (isset($service['factory'])) { + if (is_string($service['factory'])) { + if (strpos($service['factory'], ':') !== false && strpos($service['factory'], '::') === false) { + $parts = explode(':', $service['factory']); + $definition->setFactory(array($this->resolveServices('@'.$parts[0]), $parts[1])); + } else { + $definition->setFactory($service['factory']); + } + } else { + $definition->setFactory(array($this->resolveServices($service['factory'][0]), $service['factory'][1])); + } + } + if (isset($service['factory_class'])) { $definition->setFactoryClass($service['factory_class']); } @@ -202,18 +229,33 @@ private function parseDefinition($id, $service, $file) } if (isset($service['calls'])) { + if (!is_array($service['calls'])) { + throw new InvalidArgumentException(sprintf('Parameter "calls" must be an array for service "%s" in %s. Check your YAML syntax.', $id, $file)); + } + foreach ($service['calls'] as $call) { - $args = isset($call[1]) ? $this->resolveServices($call[1]) : array(); - $definition->addMethodCall($call[0], $args); + if (isset($call['method'])) { + $method = $call['method']; + $args = isset($call['arguments']) ? $this->resolveServices($call['arguments']) : array(); + } else { + $method = $call[0]; + $args = isset($call[1]) ? $this->resolveServices($call[1]) : array(); + } + + $definition->addMethodCall($method, $args); } } if (isset($service['tags'])) { if (!is_array($service['tags'])) { - throw new InvalidArgumentException(sprintf('Parameter "tags" must be an array for service "%s" in %s.', $id, $file)); + throw new InvalidArgumentException(sprintf('Parameter "tags" must be an array for service "%s" in %s. Check your YAML syntax.', $id, $file)); } foreach ($service['tags'] as $tag) { + if (!is_array($tag)) { + throw new InvalidArgumentException(sprintf('A "tags" entry must be an array for service "%s" in %s. Check your YAML syntax.', $id, $file)); + } + if (!isset($tag['name'])) { throw new InvalidArgumentException(sprintf('A "tags" entry is missing a "name" key for service "%s" in %s.', $id, $file)); } @@ -223,7 +265,7 @@ private function parseDefinition($id, $service, $file) foreach ($tag as $attribute => $value) { if (!is_scalar($value) && null !== $value) { - throw new InvalidArgumentException(sprintf('A "tags" attribute must be of a scalar-type for service "%s", tag "%s", attribute "%s" in %s.', $id, $name, $attribute, $file)); + throw new InvalidArgumentException(sprintf('A "tags" attribute must be of a scalar-type for service "%s", tag "%s", attribute "%s" in %s. Check your YAML syntax.', $id, $name, $attribute, $file)); } } @@ -231,6 +273,11 @@ private function parseDefinition($id, $service, $file) } } + if (isset($service['decorates'])) { + $renameId = isset($service['decoration_inner_name']) ? $service['decoration_inner_name'] : null; + $definition->setDecoratedService($service['decorates'], $renameId); + } + $this->container->setDefinition($id, $definition); } @@ -240,6 +287,8 @@ private function parseDefinition($id, $service, $file) * @param string $file * * @return array The file content + * + * @throws InvalidArgumentException when the given file is not a local file or when it does not exist */ protected function loadFile($file) { @@ -271,7 +320,7 @@ private function validate($content, $file) } if (!is_array($content)) { - throw new InvalidArgumentException(sprintf('The service file "%s" is not valid: it is not an array.', $file)); + throw new InvalidArgumentException(sprintf('The service file "%s" is not valid. It should contain an array. Check your YAML syntax.', $file)); } if ($invalid_keys = array_diff_key($content, array('parameters' => 1, 'services' => 1))) { @@ -284,9 +333,9 @@ private function validate($content, $file) /** * Resolves services. * - * @param string $value + * @param string|array $value * - * @return Reference + * @return array|string|Reference */ private function resolveServices($value) { diff --git a/core/lib/Drupal/Core/RouteProcessor/RouteProcessorCurrent.php b/core/lib/Drupal/Core/RouteProcessor/RouteProcessorCurrent.php index 17a56b5209f04126d6b76a2031d1895310b3216a..4d5784390117aeafc02434327da4db19fe30dce3 100644 --- a/core/lib/Drupal/Core/RouteProcessor/RouteProcessorCurrent.php +++ b/core/lib/Drupal/Core/RouteProcessor/RouteProcessorCurrent.php @@ -39,8 +39,16 @@ public function __construct(RouteMatchInterface $route_match) { public function processOutbound($route_name, Route $route, array &$parameters, CacheableMetadata $cacheable_metadata = NULL) { if ($route_name === '<current>') { if ($current_route = $this->routeMatch->getRouteObject()) { + $requirements = $current_route->getRequirements(); + // Setting _method and _schema is deprecated since 2.7. Using + // setMethods() and setSchemes() are now the recommended ways. + unset($requirements['_method']); + unset($requirements['_schema']); + $route->setRequirements($requirements); + $route->setPath($current_route->getPath()); - $route->setRequirements($current_route->getRequirements()); + $route->setSchemes($current_route->getSchemes()); + $route->setMethods($current_route->getMethods()); $route->setOptions($current_route->getOptions()); $route->setDefaults($current_route->getDefaults()); $parameters = array_merge($parameters, $this->routeMatch->getRawParameters()->all()); diff --git a/core/lib/Drupal/Core/Routing/RouteBuilder.php b/core/lib/Drupal/Core/Routing/RouteBuilder.php index 9c34cde8d75376f742a11a7548123562726fd0c2..a78cf0c73514e828c831ac2c2b15092d44d07eda 100644 --- a/core/lib/Drupal/Core/Routing/RouteBuilder.php +++ b/core/lib/Drupal/Core/Routing/RouteBuilder.php @@ -168,9 +168,13 @@ public function rebuild() { 'defaults' => array(), 'requirements' => array(), 'options' => array(), + 'host' => NULL, + 'schemes' => array(), + 'methods' => array(), + 'condition' => '', ); - $route = new Route($route_info['path'], $route_info['defaults'], $route_info['requirements'], $route_info['options']); + $route = new Route($route_info['path'], $route_info['defaults'], $route_info['requirements'], $route_info['options'], $route_info['host'], $route_info['schemes'], $route_info['methods'], $route_info['condition']); $collection->add($name, $route); } } diff --git a/core/lib/Drupal/Core/Routing/UrlGenerator.php b/core/lib/Drupal/Core/Routing/UrlGenerator.php index c7686c6d45e7ebf6050d3e749a1a67dd106cbd0b..081a542681dd16a397b8472f911271968a49162a 100644 --- a/core/lib/Drupal/Core/Routing/UrlGenerator.php +++ b/core/lib/Drupal/Core/Routing/UrlGenerator.php @@ -345,8 +345,8 @@ public function generateFromRoute($name, $parameters = array(), $options = array else { $scheme = $this->context->getScheme(); } - $scheme_req = $route->getRequirement('_scheme'); - if (isset($scheme_req) && ($req = strtolower($scheme_req)) && $scheme !== $req) { + $scheme_req = $route->getSchemes(); + if ($scheme_req && ($req = $scheme_req[0]) && $scheme !== $req) { $scheme = $req; } $port = ''; diff --git a/core/lib/Drupal/Core/Validation/Plugin/Validation/Constraint/NullConstraint.php b/core/lib/Drupal/Core/Validation/Plugin/Validation/Constraint/IsNullConstraint.php similarity index 76% rename from core/lib/Drupal/Core/Validation/Plugin/Validation/Constraint/NullConstraint.php rename to core/lib/Drupal/Core/Validation/Plugin/Validation/Constraint/IsNullConstraint.php index e2a0a5f476f61cb4ced3ada523ee297fcd70dc7d..401be6375b70091769a95dba02c1c78cf6320fa7 100644 --- a/core/lib/Drupal/Core/Validation/Plugin/Validation/Constraint/NullConstraint.php +++ b/core/lib/Drupal/Core/Validation/Plugin/Validation/Constraint/IsNullConstraint.php @@ -2,12 +2,12 @@ /** * @file - * Contains \Drupal\Core\Validation\Plugin\Validation\Constraint\NullConstraint. + * Contains \Drupal\Core\Validation\Plugin\Validation\Constraint\IsNullConstraint. */ namespace Drupal\Core\Validation\Plugin\Validation\Constraint; -use Symfony\Component\Validator\Constraints\Null; +use Symfony\Component\Validator\Constraints\IsNull; /** * Null constraint. @@ -20,4 +20,4 @@ * type = false * ) */ -class NullConstraint extends Null { } +class IsNullConstraint extends IsNull { } diff --git a/core/lib/Drupal/Core/Validation/Plugin/Validation/Constraint/NullConstraintValidator.php b/core/lib/Drupal/Core/Validation/Plugin/Validation/Constraint/IsNullConstraintValidator.php similarity index 85% rename from core/lib/Drupal/Core/Validation/Plugin/Validation/Constraint/NullConstraintValidator.php rename to core/lib/Drupal/Core/Validation/Plugin/Validation/Constraint/IsNullConstraintValidator.php index b584687311b44636af59462e7c6ddc07efeabe2e..fa1ac35fd706989ea02dee767048e3007699fb1d 100644 --- a/core/lib/Drupal/Core/Validation/Plugin/Validation/Constraint/NullConstraintValidator.php +++ b/core/lib/Drupal/Core/Validation/Plugin/Validation/Constraint/IsNullConstraintValidator.php @@ -2,7 +2,7 @@ /** * @file - * Contains \Drupal\Core\Validation\Plugin\Validation\Constraint\NullConstraintValidator. + * Contains \Drupal\Core\Validation\Plugin\Validation\Constraint\IsNullConstraintValidator. */ namespace Drupal\Core\Validation\Plugin\Validation\Constraint; @@ -11,14 +11,14 @@ use Drupal\Core\TypedData\ListInterface; use Drupal\Core\TypedData\Validation\TypedDataAwareValidatorTrait; use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\Constraints\NullValidator; +use Symfony\Component\Validator\Constraints\IsNullValidator; /** * Null constraint validator. * * Overrides the symfony validator to handle empty Typed Data structures. */ -class NullConstraintValidator extends NullValidator { +class IsNullConstraintValidator extends IsNullValidator { use TypedDataAwareValidatorTrait; diff --git a/core/modules/config/tests/config_events_test/src/EventSubscriber.php b/core/modules/config/tests/config_events_test/src/EventSubscriber.php index b127555a051c3c273e280ef11d039c1574515f01..a15fabb5cd09fca3d8b416568cd90705a1cfe196 100644 --- a/core/modules/config/tests/config_events_test/src/EventSubscriber.php +++ b/core/modules/config/tests/config_events_test/src/EventSubscriber.php @@ -37,11 +37,13 @@ public function __construct(StateInterface $state) { * * @param \Drupal\Core\Config\ConfigCrudEvent $event * The configuration event. + * @param string $name + * The event name. */ - public function configEventRecorder(ConfigCrudEvent $event) { + public function configEventRecorder(ConfigCrudEvent $event, $name) { $config = $event->getConfig(); $this->state->set('config_events_test.event', array( - 'event_name' => $event->getName(), + 'event_name' => $name, 'current_config_data' => $config->get(), 'original_config_data' => $config->getOriginal(), 'raw_config_data' => $config->getRawData() diff --git a/core/modules/contact/contact.services.yml b/core/modules/contact/contact.services.yml index 3db0d9fadb2433c1f158c28dbbcf655b371cbbde..dac421071b28b7094736ff3dc4fe7d305db08470 100644 --- a/core/modules/contact/contact.services.yml +++ b/core/modules/contact/contact.services.yml @@ -9,6 +9,5 @@ services: arguments: ['@plugin.manager.mail', '@language_manager', '@logger.channel.contact', '@string_translation', '@entity.manager'] logger.channel.contact: class: Drupal\Core\Logger\LoggerChannel - factory_method: get - factory_service: logger.factory + factory: logger.factory:get arguments: ['contact'] diff --git a/core/modules/link/src/Plugin/Field/FieldWidget/LinkWidget.php b/core/modules/link/src/Plugin/Field/FieldWidget/LinkWidget.php index 7ed62ba86efc91375ccefea0d658d96471be0750..37a61eef4b3b95e8a1733f826b86faea748148cb 100644 --- a/core/modules/link/src/Plugin/Field/FieldWidget/LinkWidget.php +++ b/core/modules/link/src/Plugin/Field/FieldWidget/LinkWidget.php @@ -351,7 +351,7 @@ public function massageFormValues(array $values, array $form, FormStateInterface public function flagErrors(FieldItemListInterface $items, ConstraintViolationListInterface $violations, array $form, FormStateInterface $form_state) { /** @var \Symfony\Component\Validator\ConstraintViolationInterface $violation */ foreach ($violations as $offset => $violation) { - $parameters = $violation->getMessageParameters(); + $parameters = $violation->getParameters(); if (isset($parameters['@uri'])) { $parameters['@uri'] = static::getUriAsDisplayableString($parameters['@uri']); $violations->set($offset, new ConstraintViolation( @@ -361,7 +361,7 @@ public function flagErrors(FieldItemListInterface $items, ConstraintViolationLis $violation->getRoot(), $violation->getPropertyPath(), $violation->getInvalidValue(), - $violation->getMessagePluralization(), + $violation->getPlural(), $violation->getCode() )); } diff --git a/core/modules/migrate/migrate.services.yml b/core/modules/migrate/migrate.services.yml index 8b6bad75a9e9c21073544e3480ee48397982bc8a..3f2d32d56e7228a81d4bb28868d2ef41f9a1cdd2 100644 --- a/core/modules/migrate/migrate.services.yml +++ b/core/modules/migrate/migrate.services.yml @@ -3,8 +3,7 @@ services: class: Drupal\Core\Cache\CacheBackendInterface tags: - { name: cache.bin } - factory_method: get - factory_service: cache_factory + factory: cache_factory:get arguments: [migrate] plugin.manager.migrate.source: class: Drupal\migrate\Plugin\MigratePluginManager diff --git a/core/modules/rest/rest.services.yml b/core/modules/rest/rest.services.yml index 04f5f1d5828953c30b3ab4d445be3b1ef9638601..6b613e398420cacdffad883b1c3035d7f44d4bda 100644 --- a/core/modules/rest/rest.services.yml +++ b/core/modules/rest/rest.services.yml @@ -6,8 +6,7 @@ services: class: Drupal\Core\Cache\CacheBackendInterface tags: - { name: cache.bin } - factory_method: get - factory_service: cache_factory + factory: cache_factory:get arguments: [rest] access_check.rest.csrf: class: Drupal\rest\Access\CSRFAccessCheck diff --git a/core/modules/rest/src/Plugin/ResourceBase.php b/core/modules/rest/src/Plugin/ResourceBase.php index 6147413163861a7d86924b6ac27c80e2a1793154..5f8065e11a5cc50ce34ae51a747d70516cda78a8 100644 --- a/core/modules/rest/src/Plugin/ResourceBase.php +++ b/core/modules/rest/src/Plugin/ResourceBase.php @@ -111,7 +111,7 @@ public function routes() { switch ($method) { case 'POST': - $route->setPattern($create_path); + $route->setPath($create_path); // Restrict the incoming HTTP Content-type header to the known // serialization formats. $route->addRequirements(array('_content_type_format' => implode('|', $this->serializerFormats))); @@ -203,10 +203,14 @@ protected function getBaseRoute($canonical_path, $method) { // Pass the resource plugin ID along as default property. '_plugin' => $this->pluginId, ), array( - // The HTTP method is a requirement for this route. - '_method' => $method, '_permission' => "restful $lower_method $this->pluginId", - )); + ), + array(), + '', + array(), + // The HTTP method is a requirement for this route. + array($method) + ); return $route; } diff --git a/core/modules/rest/src/Plugin/views/display/RestExport.php b/core/modules/rest/src/Plugin/views/display/RestExport.php index 2efdbc7f396495831e55577a4538ca1cb1550355..32c0110574ae99f7e9a815bbbfcde87e074eccba 100644 --- a/core/modules/rest/src/Plugin/views/display/RestExport.php +++ b/core/modules/rest/src/Plugin/views/display/RestExport.php @@ -263,7 +263,7 @@ public function collectRoutes(RouteCollection $collection) { if ($route = $collection->get("view.$view_id.$display_id")) { $style_plugin = $this->getPlugin('style'); // REST exports should only respond to get methods. - $requirements = array('_method' => 'GET'); + $route->setMethods(['GET']); // Format as a string using pipes as a delimiter. $requirements['_format'] = implode('|', $style_plugin->getFormats()); diff --git a/core/modules/rest/src/Routing/ResourceRoutes.php b/core/modules/rest/src/Routing/ResourceRoutes.php index 484c48e8e0b797971bf0fd3d5dd1fbe3141bdfab..f975f27737229b13b065188e35bdd961dfb33af0 100644 --- a/core/modules/rest/src/Routing/ResourceRoutes.php +++ b/core/modules/rest/src/Routing/ResourceRoutes.php @@ -74,9 +74,10 @@ protected function alterRoutes(RouteCollection $collection) { $plugin = $this->manager->getInstance(array('id' => $id)); foreach ($plugin->routes() as $name => $route) { - $method = $route->getRequirement('_method'); + // @todo: Are multiple methods possible here? + $methods = $route->getMethods(); // Only expose routes where the method is enabled in the configuration. - if ($method && isset($enabled_methods[$method])) { + if ($methods && ($method = $methods[0]) && $method && isset($enabled_methods[$method])) { $route->setRequirement('_access_rest_csrf', 'TRUE'); // Check that authentication providers are defined. diff --git a/core/modules/simpletest/src/WebTestBase.php b/core/modules/simpletest/src/WebTestBase.php index 2e8702b90de563f91ae24a41d1c8ef1633c91596..721fdd91acb39f72ebfe69751b5e6ce8bd9d242a 100644 --- a/core/modules/simpletest/src/WebTestBase.php +++ b/core/modules/simpletest/src/WebTestBase.php @@ -708,7 +708,8 @@ protected function setUp() { if ($this->strictConfigSchema) { // Add a listener to validate configuration schema on save. $yaml = new \Symfony\Component\Yaml\Yaml(); - $services = $yaml->parse($directory . '/services.yml'); + $content = file_get_contents($directory . '/services.yml'); + $services = $yaml->parse($content); $services['services']['simpletest.config_schema_checker'] = [ 'class' => 'Drupal\Core\Config\Testing\ConfigSchemaChecker', 'arguments' => ['@config.typed'], diff --git a/core/modules/system/core.api.php b/core/modules/system/core.api.php index a3dee258aaa95cdebf401d52f6e8b56ec5db210e..a156905f4d7a25998548ef6a6142425f1b50720f 100644 --- a/core/modules/system/core.api.php +++ b/core/modules/system/core.api.php @@ -438,8 +438,7 @@ * class: Drupal\Core\Cache\CacheBackendInterface * tags: * - { name: cache.bin } - * factory_method: get - * factory_service: cache_factory + * factory: cache_factory:get * arguments: [nameofbin] * @endcode * See the @link container Services topic @endlink for more on defining @@ -683,8 +682,7 @@ * class: Drupal\Core\Cache\CacheBackendInterface * tags: * - { name: cache.bin } - * factory_method: get - * factory_service: cache_factory + * factory: cache_factory:get * arguments: [entity] * @endcode * diff --git a/core/modules/system/src/Tests/Routing/RouteProviderTest.php b/core/modules/system/src/Tests/Routing/RouteProviderTest.php index c9af8868eb302f71f003e69b114921e011c7d504..e316738b72efd2baadce4cbfd7eaaed4251fe8df 100644 --- a/core/modules/system/src/Tests/Routing/RouteProviderTest.php +++ b/core/modules/system/src/Tests/Routing/RouteProviderTest.php @@ -385,10 +385,10 @@ public function testRouteByName() { $route = $provider->getRouteByName('route_a'); $this->assertEqual($route->getPath(), '/path/one', 'The right route pattern was found.'); - $this->assertEqual($route->getRequirement('_method'), 'GET', 'The right route method was found.'); + $this->assertEqual($route->getMethods(), ['GET'], 'The right route method was found.'); $route = $provider->getRouteByName('route_b'); $this->assertEqual($route->getPath(), '/path/one', 'The right route pattern was found.'); - $this->assertEqual($route->getRequirement('_method'), 'PUT', 'The right route method was found.'); + $this->assertEqual($route->getMethods(), ['PUT'], 'The right route method was found.'); $exception_thrown = FALSE; try { diff --git a/core/modules/toolbar/toolbar.services.yml b/core/modules/toolbar/toolbar.services.yml index d8110d2f5c8db4ffa8502b3505b42b9b15029ea4..ef39464fc9b77af42fe0b01d953894d00efe9825 100644 --- a/core/modules/toolbar/toolbar.services.yml +++ b/core/modules/toolbar/toolbar.services.yml @@ -3,8 +3,7 @@ services: class: Drupal\Core\Cache\CacheBackendInterface tags: - { name: cache.bin } - factory_method: get - factory_service: cache_factory + factory: cache_factory:get arguments: [toolbar] toolbar.page_cache_request_policy.allow_toolbar_path: class: Drupal\toolbar\PageCache\AllowToolbarPath diff --git a/core/tests/Drupal/Tests/Core/DependencyInjection/ContainerBuilderTest.php b/core/tests/Drupal/Tests/Core/DependencyInjection/ContainerBuilderTest.php index fc97787c53559434cc35e9f4147e85338637c079..8a93b6d4da00fcd58b8af46645209a68b74e2f52 100644 --- a/core/tests/Drupal/Tests/Core/DependencyInjection/ContainerBuilderTest.php +++ b/core/tests/Drupal/Tests/Core/DependencyInjection/ContainerBuilderTest.php @@ -9,9 +9,7 @@ use Drupal\Core\DependencyInjection\ContainerBuilder; use Drupal\Tests\UnitTestCase; -use Drupal\Tests\Core\DependencyInjection\Fixture\BazClass; use Drupal\Tests\Core\DependencyInjection\Fixture\BarClass; -use Symfony\Component\DependencyInjection\Reference; /** * @coversDefaultClass \Drupal\Core\DependencyInjection\ContainerBuilder @@ -19,28 +17,6 @@ */ class ContainerBuilderTest extends UnitTestCase { - /** - * Tests set with a synchronized service. - * - * @covers ::set - */ - public function testSetOnSynchronizedService() { - $container = new ContainerBuilder(); - $container->register('baz', '\Drupal\Tests\Core\DependencyInjection\Fixture\BazClass') - ->setSynchronized(TRUE); - $container->register('bar', '\Drupal\Tests\Core\DependencyInjection\Fixture\BarClass') - ->addMethodCall('setBaz', array(new Reference('baz'))); - - // Ensure that we can set services on a compiled container. - $container->compile(); - - $container->set('baz', $baz = new BazClass()); - $this->assertSame($baz, $container->get('bar')->getBaz()); - - $container->set('baz', $baz = new BazClass()); - $this->assertSame($baz, $container->get('bar')->getBaz()); - } - /** * @covers ::get */ diff --git a/core/tests/Drupal/Tests/Core/Routing/RoutingFixtures.php b/core/tests/Drupal/Tests/Core/Routing/RoutingFixtures.php index ffbfb0369b41ba0cffc04bd6d83120bfdc453973..54cd70de76634f5a44b57d8a9753f5327571be86 100644 --- a/core/tests/Drupal/Tests/Core/Routing/RoutingFixtures.php +++ b/core/tests/Drupal/Tests/Core/Routing/RoutingFixtures.php @@ -50,20 +50,16 @@ public function staticSampleRouteCollection() { $routes = array(); $routes['route_a'] = array( 'path' => '/path/one', - 'requirements' => array( - '_method' => 'GET', - ), + 'methods' => array('GET'), ); $routes['route_b'] = array( 'path' => '/path/one', - 'requirements' => array( - '_method' => 'PUT', - ), + 'methods' => array('PUT'), ); $routes['route_c'] = array( 'path' => '/path/two', + 'methods' => array('GET'), 'requirements' => array( - '_method' => 'GET', '_format' => 'json' ), ); @@ -72,8 +68,8 @@ public function staticSampleRouteCollection() { ); $routes['route_e'] = array( 'path' => '/path/two', + 'methods' => array('GET', 'HEAD'), 'requirements' => array( - '_method' => 'GET|HEAD', '_format' => 'html' ), ); @@ -90,15 +86,15 @@ public function sampleRouteCollection() { $collection = new RouteCollection(); $route = new Route('path/one'); - $route->setRequirement('_method', 'GET'); + $route->setMethods(['GET']); $collection->add('route_a', $route); $route = new Route('path/one'); - $route->setRequirement('_method', 'PUT'); + $route->setMethods(['PUT']); $collection->add('route_b', $route); $route = new Route('path/two'); - $route->setRequirement('_method', 'GET'); + $route->setMethods(['GET']); $route->setRequirement('_format', 'json'); $collection->add('route_c', $route); @@ -106,7 +102,7 @@ public function sampleRouteCollection() { $collection->add('route_d', $route); $route = new Route('path/two'); - $route->setRequirement('_method', 'GET|HEAD'); + $route->setMethods(['GET', 'HEAD']); $route->setRequirement('_format', 'html'); $collection->add('route_e', $route); @@ -122,22 +118,22 @@ public function complexRouteCollection() { $collection = new RouteCollection(); $route = new Route('/path/{thing}/one'); - $route->setRequirement('_method', 'GET'); + $route->setMethods(['GET']); $collection->add('route_a', $route); $route = new Route('/path/{thing}/one'); - $route->setRequirement('_method', 'PUT'); + $route->setMethods(['PUT']); $collection->add('route_b', $route); $route = new Route('/somewhere/{item}/over/the/rainbow'); - $route->setRequirement('_method', 'GET'); + $route->setMethods(['GET']); $collection->add('route_c', $route); $route = new Route('/another/{thing}/about/{item}'); $collection->add('route_d', $route); $route = new Route('/path/add/one'); - $route->setRequirement('_method', 'GET|HEAD'); + $route->setMethods(['GET', 'HEAD']); $collection->add('route_e', $route); return $collection; @@ -152,12 +148,12 @@ public function contentRouteCollection() { $collection = new RouteCollection(); $route = new Route('path/three'); - $route->setRequirement('_method', 'POST'); + $route->setMethods(['POST']); $route->setRequirement('_content_type_format', 'json'); $collection->add('route_f', $route); $route = new Route('path/three'); - $route->setRequirement('_method', 'PATCH'); + $route->setMethods(['PATCH']); $route->setRequirement('_content_type_format', 'xml'); $collection->add('route_g', $route); return $collection; diff --git a/core/tests/Drupal/Tests/Core/Routing/UrlGeneratorTest.php b/core/tests/Drupal/Tests/Core/Routing/UrlGeneratorTest.php index 4685727f5a320e5e3603c6431890b67167db0a0c..677d21461e431c7974ea478094e8fe642d9a72ec 100644 --- a/core/tests/Drupal/Tests/Core/Routing/UrlGeneratorTest.php +++ b/core/tests/Drupal/Tests/Core/Routing/UrlGeneratorTest.php @@ -70,7 +70,7 @@ protected function setUp() { $first_route = new Route('/test/one'); $second_route = new Route('/test/two/{narf}'); $third_route = new Route('/test/two/'); - $fourth_route = new Route('/test/four', array(), array('_scheme' => 'https')); + $fourth_route = new Route('/test/four', array(), array(), array(), '', ['https']); $routes->add('test_1', $first_route); $routes->add('test_2', $second_route); $routes->add('test_3', $third_route); diff --git a/core/tests/Drupal/Tests/Core/TypedData/RecursiveContextualValidatorTest.php b/core/tests/Drupal/Tests/Core/TypedData/RecursiveContextualValidatorTest.php index e4faaa756f029c81ead4cca763c3dc003e709c26..26bbe043a8c2218e7edaa3fba6897cabc582f94e 100644 --- a/core/tests/Drupal/Tests/Core/TypedData/RecursiveContextualValidatorTest.php +++ b/core/tests/Drupal/Tests/Core/TypedData/RecursiveContextualValidatorTest.php @@ -16,6 +16,7 @@ use Drupal\Core\TypedData\Validation\RecursiveValidator; use Drupal\Core\Validation\ConstraintManager; use Drupal\Tests\UnitTestCase; +use Symfony\Component\Translation\IdentityTranslator; use Symfony\Component\Validator\ConstraintValidatorFactory; use Symfony\Component\Validator\Context\ExecutionContextInterface; use Symfony\Component\Validator\DefaultTranslator; @@ -81,7 +82,7 @@ protected function setUp() { $container->set('typed_data_manager', $this->typedDataManager); \Drupal::setContainer($container); - $translator = new DefaultTranslator(); + $translator = new IdentityTranslator(); $this->contextFactory = new ExecutionContextFactory($translator); $this->validatorFactory = new ConstraintValidatorFactory(); $this->recursiveValidator = new RecursiveValidator($this->contextFactory, $this->validatorFactory, $this->typedDataManager); diff --git a/core/vendor/composer/autoload_classmap.php b/core/vendor/composer/autoload_classmap.php index 1b5c7ffe81be70cc69be337dbf9b4b2f2c3b241e..e66d49b53e4f7ef6e792b34eeaba078aa67496ef 100644 --- a/core/vendor/composer/autoload_classmap.php +++ b/core/vendor/composer/autoload_classmap.php @@ -425,14 +425,14 @@ 'SebastianBergmann\\RecursionContext\\Exception' => $vendorDir . '/sebastian/recursion-context/src/Exception.php', 'SebastianBergmann\\RecursionContext\\InvalidArgumentException' => $vendorDir . '/sebastian/recursion-context/src/InvalidArgumentException.php', 'SebastianBergmann\\Version' => $vendorDir . '/sebastian/version/src/Version.php', - 'SessionHandlerInterface' => $vendorDir . '/symfony/http-foundation/Symfony/Component/HttpFoundation/Resources/stubs/SessionHandlerInterface.php', - 'Symfony\\Component\\HttpFoundation\\FileBag' => $vendorDir . '/symfony/http-foundation/Symfony/Component/HttpFoundation/FileBag.php', - 'Symfony\\Component\\HttpFoundation\\HeaderBag' => $vendorDir . '/symfony/http-foundation/Symfony/Component/HttpFoundation/HeaderBag.php', - 'Symfony\\Component\\HttpFoundation\\ParameterBag' => $vendorDir . '/symfony/http-foundation/Symfony/Component/HttpFoundation/ParameterBag.php', - 'Symfony\\Component\\HttpFoundation\\Request' => $vendorDir . '/symfony/http-foundation/Symfony/Component/HttpFoundation/Request.php', - 'Symfony\\Component\\HttpFoundation\\ServerBag' => $vendorDir . '/symfony/http-foundation/Symfony/Component/HttpFoundation/ServerBag.php', - 'Symfony\\Component\\HttpKernel\\HttpKernel' => $vendorDir . '/symfony/http-kernel/Symfony/Component/HttpKernel/HttpKernel.php', - 'Symfony\\Component\\HttpKernel\\HttpKernelInterface' => $vendorDir . '/symfony/http-kernel/Symfony/Component/HttpKernel/HttpKernelInterface.php', - 'Symfony\\Component\\HttpKernel\\TerminableInterface' => $vendorDir . '/symfony/http-kernel/Symfony/Component/HttpKernel/TerminableInterface.php', + 'SessionHandlerInterface' => $vendorDir . '/symfony/http-foundation/Resources/stubs/SessionHandlerInterface.php', + 'Symfony\\Component\\HttpFoundation\\FileBag' => $vendorDir . '/symfony/http-foundation/FileBag.php', + 'Symfony\\Component\\HttpFoundation\\HeaderBag' => $vendorDir . '/symfony/http-foundation/HeaderBag.php', + 'Symfony\\Component\\HttpFoundation\\ParameterBag' => $vendorDir . '/symfony/http-foundation/ParameterBag.php', + 'Symfony\\Component\\HttpFoundation\\Request' => $vendorDir . '/symfony/http-foundation/Request.php', + 'Symfony\\Component\\HttpFoundation\\ServerBag' => $vendorDir . '/symfony/http-foundation/ServerBag.php', + 'Symfony\\Component\\HttpKernel\\HttpKernel' => $vendorDir . '/symfony/http-kernel/HttpKernel.php', + 'Symfony\\Component\\HttpKernel\\HttpKernelInterface' => $vendorDir . '/symfony/http-kernel/HttpKernelInterface.php', + 'Symfony\\Component\\HttpKernel\\TerminableInterface' => $vendorDir . '/symfony/http-kernel/TerminableInterface.php', 'Text_Template' => $vendorDir . '/phpunit/php-text-template/Text/Template.php', ); diff --git a/core/vendor/composer/autoload_namespaces.php b/core/vendor/composer/autoload_namespaces.php index c33bac0ad6fc60c01e2b8306234a4413380b8d6e..305ab18c6815cb8762d1081d67ef3a583f722bc5 100644 --- a/core/vendor/composer/autoload_namespaces.php +++ b/core/vendor/composer/autoload_namespaces.php @@ -9,21 +9,8 @@ 'phpDocumentor' => array($vendorDir . '/phpdocumentor/reflection-docblock/src'), 'org\\bovigo\\vfs\\' => array($vendorDir . '/mikey179/vfsStream/src/main/php'), 'Twig_' => array($vendorDir . '/twig/twig/lib'), - 'Symfony\\Component\\Yaml\\' => array($vendorDir . '/symfony/yaml'), - 'Symfony\\Component\\Validator\\' => array($vendorDir . '/symfony/validator'), - 'Symfony\\Component\\Translation\\' => array($vendorDir . '/symfony/translation'), - 'Symfony\\Component\\Serializer\\' => array($vendorDir . '/symfony/serializer'), - 'Symfony\\Component\\Routing\\' => array($vendorDir . '/symfony/routing'), - 'Symfony\\Component\\Process\\' => array($vendorDir . '/symfony/process'), - 'Symfony\\Component\\HttpKernel\\' => array($vendorDir . '/symfony/http-kernel'), - 'Symfony\\Component\\HttpFoundation\\' => array($vendorDir . '/symfony/http-foundation'), - 'Symfony\\Component\\EventDispatcher\\' => array($vendorDir . '/symfony/event-dispatcher'), 'Symfony\\Component\\DomCrawler\\' => array($vendorDir . '/symfony/dom-crawler'), - 'Symfony\\Component\\DependencyInjection\\' => array($vendorDir . '/symfony/dependency-injection'), 'Symfony\\Component\\Debug\\' => array($vendorDir . '/symfony/debug'), - 'Symfony\\Component\\CssSelector\\' => array($vendorDir . '/symfony/css-selector'), - 'Symfony\\Component\\Console\\' => array($vendorDir . '/symfony/console'), - 'Symfony\\Component\\ClassLoader\\' => array($vendorDir . '/symfony/class-loader'), 'Symfony\\Component\\BrowserKit\\' => array($vendorDir . '/symfony/browser-kit'), 'Stack' => array($vendorDir . '/stack/builder/src'), 'Psr\\Log\\' => array($vendorDir . '/psr/log'), diff --git a/core/vendor/composer/autoload_psr4.php b/core/vendor/composer/autoload_psr4.php index ea6ef86dd1c4f7ac06c8aceee092e54d39517560..af91507e48002f81284b5850fc593a504fd924ea 100644 --- a/core/vendor/composer/autoload_psr4.php +++ b/core/vendor/composer/autoload_psr4.php @@ -9,6 +9,19 @@ 'Zend\\Stdlib\\' => array($vendorDir . '/zendframework/zend-stdlib'), 'Zend\\Feed\\' => array($vendorDir . '/zendframework/zend-feed'), 'Zend\\Escaper\\' => array($vendorDir . '/zendframework/zend-escaper'), + 'Symfony\\Component\\Yaml\\' => array($vendorDir . '/symfony/yaml'), + 'Symfony\\Component\\Validator\\' => array($vendorDir . '/symfony/validator'), + 'Symfony\\Component\\Translation\\' => array($vendorDir . '/symfony/translation'), + 'Symfony\\Component\\Serializer\\' => array($vendorDir . '/symfony/serializer'), + 'Symfony\\Component\\Routing\\' => array($vendorDir . '/symfony/routing'), + 'Symfony\\Component\\Process\\' => array($vendorDir . '/symfony/process'), + 'Symfony\\Component\\HttpKernel\\' => array($vendorDir . '/symfony/http-kernel'), + 'Symfony\\Component\\HttpFoundation\\' => array($vendorDir . '/symfony/http-foundation'), + 'Symfony\\Component\\EventDispatcher\\' => array($vendorDir . '/symfony/event-dispatcher'), + 'Symfony\\Component\\DependencyInjection\\' => array($vendorDir . '/symfony/dependency-injection'), + 'Symfony\\Component\\CssSelector\\' => array($vendorDir . '/symfony/css-selector'), + 'Symfony\\Component\\Console\\' => array($vendorDir . '/symfony/console'), + 'Symfony\\Component\\ClassLoader\\' => array($vendorDir . '/symfony/class-loader'), 'Symfony\\Cmf\\Component\\Routing\\' => array($vendorDir . '/symfony-cmf/routing'), 'React\\Promise\\' => array($vendorDir . '/react/promise/src'), 'Masterminds\\' => array($vendorDir . '/masterminds/html5/src'), diff --git a/core/vendor/composer/installed.json b/core/vendor/composer/installed.json index 41b4c41e2fee8c635684f0be9767bb340c4bac37..ca6969b7daba72b6405c12d14cbe9d506f385dc2 100644 --- a/core/vendor/composer/installed.json +++ b/core/vendor/composer/installed.json @@ -1425,654 +1425,589 @@ "description": "Provides a simple API and specification that abstracts away the details of HTTP into a single PHP function." }, { - "name": "symfony/class-loader", - "version": "v2.6.6", - "version_normalized": "2.6.6.0", - "target-dir": "Symfony/Component/ClassLoader", + "name": "zendframework/zend-stdlib", + "version": "2.4.0", + "version_normalized": "2.4.0.0", "source": { "type": "git", - "url": "https://github.com/symfony/ClassLoader.git", - "reference": "861765b3e5f32979de5bd19ad2577cbb830a29d5" + "url": "https://github.com/zendframework/zend-stdlib.git", + "reference": "eab586f4c18af3fa63c977611939f1f4a3cf1030" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/ClassLoader/zipball/861765b3e5f32979de5bd19ad2577cbb830a29d5", - "reference": "861765b3e5f32979de5bd19ad2577cbb830a29d5", + "url": "https://api.github.com/repos/zendframework/zend-stdlib/zipball/cf05c5ba75606e47ffee91cedc72778da46f74c3", + "reference": "eab586f4c18af3fa63c977611939f1f4a3cf1030", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": ">=5.3.23" }, "require-dev": { - "symfony/finder": "~2.0,>=2.0.5", - "symfony/phpunit-bridge": "~2.7" + "zendframework/zend-eventmanager": "self.version", + "zendframework/zend-filter": "self.version", + "zendframework/zend-serializer": "self.version", + "zendframework/zend-servicemanager": "self.version" + }, + "suggest": { + "zendframework/zend-eventmanager": "To support aggregate hydrator usage", + "zendframework/zend-filter": "To support naming strategy hydrator usage", + "zendframework/zend-serializer": "Zend\\Serializer component", + "zendframework/zend-servicemanager": "To support hydrator plugin manager usage" }, - "time": "2015-03-27 10:19:51", + "time": "2015-04-01 18:09:29", "type": "library", "extra": { "branch-alias": { - "dev-master": "2.6-dev" + "dev-master": "2.3-dev", + "dev-develop": "2.4-dev" } }, "installation-source": "dist", "autoload": { - "psr-0": { - "Symfony\\Component\\ClassLoader\\": "" + "psr-4": { + "Zend\\Stdlib\\": "" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" - ], - "authors": [ - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } + "BSD-3-Clause" ], - "description": "Symfony ClassLoader Component", - "homepage": "http://symfony.com" + "homepage": "https://github.com/zendframework/zf2", + "keywords": [ + "stdlib", + "zf2" + ] }, { - "name": "symfony/css-selector", - "version": "v2.6.6", - "version_normalized": "2.6.6.0", - "target-dir": "Symfony/Component/CssSelector", + "name": "zendframework/zend-escaper", + "version": "2.4.0", + "version_normalized": "2.4.0.0", "source": { "type": "git", - "url": "https://github.com/symfony/CssSelector.git", - "reference": "db2c48df9658423a8c168d89f7b971b73d3d74a4" + "url": "https://github.com/zendframework/zend-escaper.git", + "reference": "65b3328627362b0be1d5e9067bc846511d1fbc96" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/CssSelector/zipball/db2c48df9658423a8c168d89f7b971b73d3d74a4", - "reference": "db2c48df9658423a8c168d89f7b971b73d3d74a4", + "url": "https://api.github.com/repos/zendframework/zend-escaper/zipball/15e5769e4fcdb4bf07ebd76500810e7070e23a97", + "reference": "65b3328627362b0be1d5e9067bc846511d1fbc96", "shasum": "" }, "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "symfony/phpunit-bridge": "~2.7" + "php": ">=5.3.23" }, - "time": "2015-03-22 16:55:57", + "time": "2015-04-01 18:02:07", "type": "library", "extra": { "branch-alias": { - "dev-master": "2.6-dev" + "dev-master": "2.3-dev", + "dev-develop": "2.4-dev" } }, "installation-source": "dist", "autoload": { - "psr-0": { - "Symfony\\Component\\CssSelector\\": "" + "psr-4": { + "Zend\\Escaper\\": "" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" - ], - "authors": [ - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, - { - "name": "Jean-François Simon", - "email": "jeanfrancois.simon@sensiolabs.com" - }, - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } + "BSD-3-Clause" ], - "description": "Symfony CssSelector Component", - "homepage": "http://symfony.com" + "homepage": "https://github.com/zendframework/zf2", + "keywords": [ + "escaper", + "zf2" + ] }, { - "name": "symfony/dependency-injection", - "version": "v2.6.6", - "version_normalized": "2.6.6.0", - "target-dir": "Symfony/Component/DependencyInjection", + "name": "zendframework/zend-feed", + "version": "2.4.0", + "version_normalized": "2.4.0.0", "source": { "type": "git", - "url": "https://github.com/symfony/DependencyInjection.git", - "reference": "8e9007012226b4bd41f8afed855c452cf5edc3a6" + "url": "https://github.com/zendframework/zend-feed.git", + "reference": "aca2b42ecf06d94c621e3c3be8e95d61d3a79bf5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/DependencyInjection/zipball/8e9007012226b4bd41f8afed855c452cf5edc3a6", - "reference": "8e9007012226b4bd41f8afed855c452cf5edc3a6", + "url": "https://api.github.com/repos/zendframework/zend-feed/zipball/0f59e560364f1f1fcb09a96874328ae3ff690db2", + "reference": "aca2b42ecf06d94c621e3c3be8e95d61d3a79bf5", "shasum": "" }, "require": { - "php": ">=5.3.3" - }, - "conflict": { - "symfony/expression-language": "<2.6" + "php": ">=5.3.23", + "zendframework/zend-escaper": "self.version", + "zendframework/zend-stdlib": "self.version" }, "require-dev": { - "symfony/config": "~2.2", - "symfony/expression-language": "~2.6", - "symfony/phpunit-bridge": "~2.7", - "symfony/yaml": "~2.1" + "zendframework/zend-cache": "self.version", + "zendframework/zend-db": "self.version", + "zendframework/zend-http": "self.version", + "zendframework/zend-servicemanager": "self.version", + "zendframework/zend-validator": "self.version" }, "suggest": { - "symfony/config": "", - "symfony/proxy-manager-bridge": "Generate service proxies to lazy load them", - "symfony/yaml": "" + "zendframework/zend-cache": "Zend\\Cache component", + "zendframework/zend-db": "Zend\\Db component", + "zendframework/zend-http": "Zend\\Http for PubSubHubbub, and optionally for use with Zend\\Feed\\Reader", + "zendframework/zend-servicemanager": "Zend\\ServiceManager component, for default/recommended ExtensionManager implementations", + "zendframework/zend-validator": "Zend\\Validator component" }, - "time": "2015-03-30 15:54:10", + "time": "2015-04-01 18:09:25", "type": "library", "extra": { "branch-alias": { - "dev-master": "2.6-dev" + "dev-master": "2.3-dev", + "dev-develop": "2.4-dev" } }, "installation-source": "dist", "autoload": { - "psr-0": { - "Symfony\\Component\\DependencyInjection\\": "" + "psr-4": { + "Zend\\Feed\\": "" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" - ], - "authors": [ - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } + "BSD-3-Clause" ], - "description": "Symfony DependencyInjection Component", - "homepage": "http://symfony.com" + "description": "provides functionality for consuming RSS and Atom feeds", + "homepage": "https://github.com/zendframework/zf2", + "keywords": [ + "feed", + "zf2" + ] }, { - "name": "symfony/debug", - "version": "v2.6.6", - "version_normalized": "2.6.6.0", - "target-dir": "Symfony/Component/Debug", + "name": "twig/twig", + "version": "v1.18.1", + "version_normalized": "1.18.1.0", "source": { "type": "git", - "url": "https://github.com/symfony/Debug.git", - "reference": "d49a46a20a8f0544aedac54466750ad787d3d3e3" + "url": "https://github.com/twigphp/Twig.git", + "reference": "9f70492f44398e276d1b81c1b43adfe6751c7b7f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Debug/zipball/d49a46a20a8f0544aedac54466750ad787d3d3e3", - "reference": "d49a46a20a8f0544aedac54466750ad787d3d3e3", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/9f70492f44398e276d1b81c1b43adfe6751c7b7f", + "reference": "9f70492f44398e276d1b81c1b43adfe6751c7b7f", "shasum": "" }, "require": { - "php": ">=5.3.3", - "psr/log": "~1.0" - }, - "conflict": { - "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2" - }, - "require-dev": { - "symfony/class-loader": "~2.2", - "symfony/http-foundation": "~2.1", - "symfony/http-kernel": "~2.3.24|~2.5.9|~2.6,>=2.6.2", - "symfony/phpunit-bridge": "~2.7" - }, - "suggest": { - "symfony/http-foundation": "", - "symfony/http-kernel": "" + "php": ">=5.2.7" }, - "time": "2015-03-22 16:55:57", + "time": "2015-04-19 08:30:27", "type": "library", "extra": { "branch-alias": { - "dev-master": "2.6-dev" + "dev-master": "1.18-dev" } }, "installation-source": "dist", "autoload": { "psr-0": { - "Symfony\\Component\\Debug\\": "" + "Twig_": "lib/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" + "name": "Fabien Potencier", + "email": "fabien@symfony.com", + "homepage": "http://fabien.potencier.org", + "role": "Lead Developer" }, { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Armin Ronacher", + "email": "armin.ronacher@active-4.com", + "role": "Project Founder" + }, + { + "name": "Twig Team", + "homepage": "http://twig.sensiolabs.org/contributors", + "role": "Contributors" } ], - "description": "Symfony Debug Component", - "homepage": "http://symfony.com" + "description": "Twig, the flexible, fast, and secure template language for PHP", + "homepage": "http://twig.sensiolabs.org", + "keywords": [ + "templating" + ] }, { - "name": "symfony/http-foundation", - "version": "v2.6.6", - "version_normalized": "2.6.6.0", - "target-dir": "Symfony/Component/HttpFoundation", + "name": "sebastian/version", + "version": "1.0.5", + "version_normalized": "1.0.5.0", "source": { "type": "git", - "url": "https://github.com/symfony/HttpFoundation.git", - "reference": "8a6337233f08f7520de97f4ffd6f00e947d892f9" + "url": "https://github.com/sebastianbergmann/version.git", + "reference": "ab931d46cd0d3204a91e1b9a40c4bc13032b58e4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/HttpFoundation/zipball/8a6337233f08f7520de97f4ffd6f00e947d892f9", - "reference": "8a6337233f08f7520de97f4ffd6f00e947d892f9", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/ab931d46cd0d3204a91e1b9a40c4bc13032b58e4", + "reference": "ab931d46cd0d3204a91e1b9a40c4bc13032b58e4", "shasum": "" }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "symfony/expression-language": "~2.4", - "symfony/phpunit-bridge": "~2.7" - }, - "time": "2015-04-01 16:50:12", + "time": "2015-02-24 06:35:25", "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.6-dev" - } - }, "installation-source": "dist", "autoload": { - "psr-0": { - "Symfony\\Component\\HttpFoundation\\": "" - }, "classmap": [ - "Symfony/Component/HttpFoundation/Resources/stubs" + "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" } ], - "description": "Symfony HttpFoundation Component", - "homepage": "http://symfony.com" + "description": "Library that helps with managing the version number of Git-hosted PHP projects", + "homepage": "https://github.com/sebastianbergmann/version" }, { - "name": "symfony/event-dispatcher", - "version": "v2.6.6", - "version_normalized": "2.6.6.0", - "target-dir": "Symfony/Component/EventDispatcher", + "name": "sebastian/recursion-context", + "version": "1.0.0", + "version_normalized": "1.0.0.0", "source": { "type": "git", - "url": "https://github.com/symfony/EventDispatcher.git", - "reference": "70f7c8478739ad21e3deef0d977b38c77f1fb284" + "url": "https://github.com/sebastianbergmann/recursion-context.git", + "reference": "3989662bbb30a29d20d9faa04a846af79b276252" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/EventDispatcher/zipball/70f7c8478739ad21e3deef0d977b38c77f1fb284", - "reference": "70f7c8478739ad21e3deef0d977b38c77f1fb284", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/3989662bbb30a29d20d9faa04a846af79b276252", + "reference": "3989662bbb30a29d20d9faa04a846af79b276252", "shasum": "" }, "require": { "php": ">=5.3.3" }, "require-dev": { - "psr/log": "~1.0", - "symfony/config": "~2.0,>=2.0.5", - "symfony/dependency-injection": "~2.6", - "symfony/expression-language": "~2.6", - "symfony/phpunit-bridge": "~2.7", - "symfony/stopwatch": "~2.3" - }, - "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" + "phpunit/phpunit": "~4.4" }, - "time": "2015-03-13 17:37:22", + "time": "2015-01-24 09:48:32", "type": "library", "extra": { "branch-alias": { - "dev-master": "2.6-dev" + "dev-master": "1.0.x-dev" } }, "installation-source": "dist", "autoload": { - "psr-0": { - "Symfony\\Component\\EventDispatcher\\": "" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" }, { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" } ], - "description": "Symfony EventDispatcher Component", - "homepage": "http://symfony.com" + "description": "Provides functionality to recursively process PHP variables", + "homepage": "http://www.github.com/sebastianbergmann/recursion-context" }, { - "name": "symfony/http-kernel", - "version": "v2.6.6", - "version_normalized": "2.6.6.0", - "target-dir": "Symfony/Component/HttpKernel", + "name": "sebastian/exporter", + "version": "1.2.0", + "version_normalized": "1.2.0.0", "source": { "type": "git", - "url": "https://github.com/symfony/HttpKernel.git", - "reference": "3829cacfe21eaf3f73604a62d79183d1f6e792c4" + "url": "https://github.com/sebastianbergmann/exporter.git", + "reference": "84839970d05254c73cde183a721c7af13aede943" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/HttpKernel/zipball/3829cacfe21eaf3f73604a62d79183d1f6e792c4", - "reference": "3829cacfe21eaf3f73604a62d79183d1f6e792c4", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/84839970d05254c73cde183a721c7af13aede943", + "reference": "84839970d05254c73cde183a721c7af13aede943", "shasum": "" }, "require": { "php": ">=5.3.3", - "psr/log": "~1.0", - "symfony/debug": "~2.6,>=2.6.2", - "symfony/event-dispatcher": "~2.5.9|~2.6,>=2.6.2", - "symfony/http-foundation": "~2.5,>=2.5.4" + "sebastian/recursion-context": "~1.0" }, "require-dev": { - "symfony/browser-kit": "~2.3", - "symfony/class-loader": "~2.1", - "symfony/config": "~2.0,>=2.0.5", - "symfony/console": "~2.3", - "symfony/css-selector": "~2.0,>=2.0.5", - "symfony/dependency-injection": "~2.2", - "symfony/dom-crawler": "~2.0,>=2.0.5", - "symfony/expression-language": "~2.4", - "symfony/finder": "~2.0,>=2.0.5", - "symfony/phpunit-bridge": "~2.7", - "symfony/process": "~2.0,>=2.0.5", - "symfony/routing": "~2.2", - "symfony/stopwatch": "~2.3", - "symfony/templating": "~2.2", - "symfony/translation": "~2.0,>=2.0.5", - "symfony/var-dumper": "~2.6" - }, - "suggest": { - "symfony/browser-kit": "", - "symfony/class-loader": "", - "symfony/config": "", - "symfony/console": "", - "symfony/dependency-injection": "", - "symfony/finder": "", - "symfony/var-dumper": "" + "phpunit/phpunit": "~4.4" }, - "time": "2015-04-01 16:55:26", + "time": "2015-01-27 07:23:06", "type": "library", "extra": { "branch-alias": { - "dev-master": "2.6-dev" + "dev-master": "1.2.x-dev" } }, "installation-source": "dist", "autoload": { - "psr-0": { - "Symfony\\Component\\HttpKernel\\": "" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" }, { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@2bepublished.at" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" } ], - "description": "Symfony HttpKernel Component", - "homepage": "http://symfony.com" + "description": "Provides the functionality to export PHP variables for visualization", + "homepage": "http://www.github.com/sebastianbergmann/exporter", + "keywords": [ + "export", + "exporter" + ] }, { - "name": "symfony/routing", - "version": "v2.6.6", - "version_normalized": "2.6.6.0", - "target-dir": "Symfony/Component/Routing", + "name": "sebastian/environment", + "version": "1.2.2", + "version_normalized": "1.2.2.0", "source": { "type": "git", - "url": "https://github.com/symfony/Routing.git", - "reference": "4e173a645b63ff60a124f3741b4f15feebd908fa" + "url": "https://github.com/sebastianbergmann/environment.git", + "reference": "5a8c7d31914337b69923db26c4221b81ff5a196e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Routing/zipball/4e173a645b63ff60a124f3741b4f15feebd908fa", - "reference": "4e173a645b63ff60a124f3741b4f15feebd908fa", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/5a8c7d31914337b69923db26c4221b81ff5a196e", + "reference": "5a8c7d31914337b69923db26c4221b81ff5a196e", "shasum": "" }, "require": { "php": ">=5.3.3" }, "require-dev": { - "doctrine/annotations": "~1.0", - "doctrine/common": "~2.2", - "psr/log": "~1.0", - "symfony/config": "~2.2", - "symfony/expression-language": "~2.4", - "symfony/http-foundation": "~2.3", - "symfony/phpunit-bridge": "~2.7", - "symfony/yaml": "~2.0,>=2.0.5" - }, - "suggest": { - "doctrine/annotations": "For using the annotation loader", - "symfony/config": "For using the all-in-one router or any loader", - "symfony/expression-language": "For using expression matching", - "symfony/yaml": "For using the YAML loader" + "phpunit/phpunit": "~4.4" }, - "time": "2015-03-30 15:54:10", + "time": "2015-01-01 10:01:08", "type": "library", "extra": { "branch-alias": { - "dev-master": "2.6-dev" + "dev-master": "1.3.x-dev" } }, "installation-source": "dist", "autoload": { - "psr-0": { - "Symfony\\Component\\Routing\\": "" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" } ], - "description": "Symfony Routing Component", - "homepage": "http://symfony.com", + "description": "Provides functionality to handle HHVM/PHP environments", + "homepage": "http://www.github.com/sebastianbergmann/environment", "keywords": [ - "router", - "routing", - "uri", - "url" + "Xdebug", + "environment", + "hhvm" ] }, { - "name": "symfony/serializer", - "version": "v2.6.6", - "version_normalized": "2.6.6.0", - "target-dir": "Symfony/Component/Serializer", + "name": "sebastian/diff", + "version": "1.3.0", + "version_normalized": "1.3.0.0", "source": { "type": "git", - "url": "https://github.com/symfony/Serializer.git", - "reference": "bf30b882e15945fe8700edcd966eb3f5503820f3" + "url": "https://github.com/sebastianbergmann/diff.git", + "reference": "863df9687835c62aa423a22412d26fa2ebde3fd3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Serializer/zipball/bf30b882e15945fe8700edcd966eb3f5503820f3", - "reference": "bf30b882e15945fe8700edcd966eb3f5503820f3", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/863df9687835c62aa423a22412d26fa2ebde3fd3", + "reference": "863df9687835c62aa423a22412d26fa2ebde3fd3", "shasum": "" }, "require": { "php": ">=5.3.3" }, "require-dev": { - "symfony/phpunit-bridge": "~2.7" + "phpunit/phpunit": "~4.2" }, - "time": "2015-03-22 16:55:57", + "time": "2015-02-22 15:13:53", "type": "library", "extra": { "branch-alias": { - "dev-master": "2.6-dev" + "dev-master": "1.3-dev" } }, "installation-source": "dist", "autoload": { - "psr-0": { - "Symfony\\Component\\Serializer\\": "" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" + "name": "Kore Nordmann", + "email": "mail@kore-nordmann.de" }, { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" } ], - "description": "Symfony Serializer Component", - "homepage": "http://symfony.com" + "description": "Diff implementation", + "homepage": "http://www.github.com/sebastianbergmann/diff", + "keywords": [ + "diff" + ] }, { - "name": "symfony/translation", - "version": "v2.6.6", - "version_normalized": "2.6.6.0", - "target-dir": "Symfony/Component/Translation", + "name": "sebastian/comparator", + "version": "1.1.1", + "version_normalized": "1.1.1.0", "source": { "type": "git", - "url": "https://github.com/symfony/Translation.git", - "reference": "bd939f05cdaca128f4ddbae1b447d6f0203b60af" + "url": "https://github.com/sebastianbergmann/comparator.git", + "reference": "1dd8869519a225f7f2b9eb663e225298fade819e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Translation/zipball/bd939f05cdaca128f4ddbae1b447d6f0203b60af", - "reference": "bd939f05cdaca128f4ddbae1b447d6f0203b60af", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/1dd8869519a225f7f2b9eb663e225298fade819e", + "reference": "1dd8869519a225f7f2b9eb663e225298fade819e", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": ">=5.3.3", + "sebastian/diff": "~1.2", + "sebastian/exporter": "~1.2" }, "require-dev": { - "psr/log": "~1.0", - "symfony/config": "~2.3,>=2.3.12", - "symfony/intl": "~2.3", - "symfony/phpunit-bridge": "~2.7", - "symfony/yaml": "~2.2" - }, - "suggest": { - "psr/log": "To use logging capability in translator", - "symfony/config": "", - "symfony/yaml": "" + "phpunit/phpunit": "~4.4" }, - "time": "2015-03-30 15:54:10", + "time": "2015-01-29 16:28:08", "type": "library", "extra": { "branch-alias": { - "dev-master": "2.6-dev" + "dev-master": "1.1.x-dev" } }, "installation-source": "dist", "autoload": { - "psr-0": { - "Symfony\\Component\\Translation\\": "" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" }, { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@2bepublished.at" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" } ], - "description": "Symfony Translation Component", - "homepage": "http://symfony.com" + "description": "Provides the functionality to compare PHP values for equality", + "homepage": "http://www.github.com/sebastianbergmann/comparator", + "keywords": [ + "comparator", + "compare", + "equality" + ] }, { - "name": "symfony/process", - "version": "v2.6.6", - "version_normalized": "2.6.6.0", - "target-dir": "Symfony/Component/Process", - "source": { - "type": "git", - "url": "https://github.com/symfony/Process.git", - "reference": "a8bebaec1a9dc6cde53e0250e32917579b0be552" + "name": "phpdocumentor/reflection-docblock", + "version": "2.0.4", + "version_normalized": "2.0.4.0", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", + "reference": "d68dbdc53dc358a816f00b300704702b2eaff7b8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Process/zipball/a8bebaec1a9dc6cde53e0250e32917579b0be552", - "reference": "a8bebaec1a9dc6cde53e0250e32917579b0be552", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/d68dbdc53dc358a816f00b300704702b2eaff7b8", + "reference": "d68dbdc53dc358a816f00b300704702b2eaff7b8", "shasum": "" }, "require": { "php": ">=5.3.3" }, "require-dev": { - "symfony/phpunit-bridge": "~2.7" + "phpunit/phpunit": "~4.0" + }, + "suggest": { + "dflydev/markdown": "~1.0", + "erusev/parsedown": "~1.0" }, - "time": "2015-03-30 15:54:10", + "time": "2015-02-03 12:10:50", "type": "library", "extra": { "branch-alias": { - "dev-master": "2.6-dev" + "dev-master": "2.0.x-dev" } }, "installation-source": "dist", "autoload": { "psr-0": { - "Symfony\\Component\\Process\\": "" + "phpDocumentor": [ + "src/" + ] } }, "notification-url": "https://packagist.org/downloads/", @@ -2081,50 +2016,45 @@ ], "authors": [ { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Mike van Riel", + "email": "mike.vanriel@naenius.com" } - ], - "description": "Symfony Process Component", - "homepage": "http://symfony.com" + ] }, { - "name": "symfony/yaml", - "version": "v2.6.6", - "version_normalized": "2.6.6.0", - "target-dir": "Symfony/Component/Yaml", + "name": "phpspec/prophecy", + "version": "1.4.0", + "version_normalized": "1.4.0.0", "source": { "type": "git", - "url": "https://github.com/symfony/Yaml.git", - "reference": "174f009ed36379a801109955fc5a71a49fe62dd4" + "url": "https://github.com/phpspec/prophecy.git", + "reference": "8724cd239f8ef4c046f55a3b18b4d91cc7f3e4c5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Yaml/zipball/174f009ed36379a801109955fc5a71a49fe62dd4", - "reference": "174f009ed36379a801109955fc5a71a49fe62dd4", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/8724cd239f8ef4c046f55a3b18b4d91cc7f3e4c5", + "reference": "8724cd239f8ef4c046f55a3b18b4d91cc7f3e4c5", "shasum": "" }, "require": { - "php": ">=5.3.3" + "doctrine/instantiator": "^1.0.2", + "phpdocumentor/reflection-docblock": "~2.0", + "sebastian/comparator": "~1.1" }, "require-dev": { - "symfony/phpunit-bridge": "~2.7" + "phpspec/phpspec": "~2.0" }, - "time": "2015-03-30 15:54:10", + "time": "2015-03-27 19:31:25", "type": "library", "extra": { "branch-alias": { - "dev-master": "2.6-dev" + "dev-master": "1.4.x-dev" } }, "installation-source": "dist", "autoload": { "psr-0": { - "Symfony\\Component\\Yaml\\": "" + "Prophecy\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -2133,315 +2063,353 @@ ], "authors": [ { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" + "name": "Konstantin Kudryashov", + "email": "ever.zet@gmail.com", + "homepage": "http://everzet.com" }, { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Marcello Duarte", + "email": "marcello.duarte@gmail.com" } ], - "description": "Symfony Yaml Component", - "homepage": "http://symfony.com" + "description": "Highly opinionated mocking framework for PHP 5.3+", + "homepage": "https://github.com/phpspec/prophecy", + "keywords": [ + "Double", + "Dummy", + "fake", + "mock", + "spy", + "stub" + ] }, { - "name": "symfony/dom-crawler", - "version": "v2.6.6", - "version_normalized": "2.6.6.0", - "target-dir": "Symfony/Component/DomCrawler", + "name": "phpunit/phpunit-mock-objects", + "version": "2.3.1", + "version_normalized": "2.3.1.0", "source": { "type": "git", - "url": "https://github.com/symfony/DomCrawler.git", - "reference": "8897ebf39c7dfb752a5494fa301845a3fbb9e53d" + "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", + "reference": "74ffb87f527f24616f72460e54b595f508dccb5c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/DomCrawler/zipball/8897ebf39c7dfb752a5494fa301845a3fbb9e53d", - "reference": "8897ebf39c7dfb752a5494fa301845a3fbb9e53d", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/74ffb87f527f24616f72460e54b595f508dccb5c", + "reference": "74ffb87f527f24616f72460e54b595f508dccb5c", "shasum": "" }, "require": { - "php": ">=5.3.3" + "doctrine/instantiator": "~1.0,>=1.0.2", + "php": ">=5.3.3", + "phpunit/php-text-template": "~1.2" }, "require-dev": { - "symfony/css-selector": "~2.3", - "symfony/phpunit-bridge": "~2.7" + "phpunit/phpunit": "~4.4" }, "suggest": { - "symfony/css-selector": "" + "ext-soap": "*" }, - "time": "2015-03-30 15:54:10", + "time": "2015-04-02 05:36:41", "type": "library", "extra": { "branch-alias": { - "dev-master": "2.6-dev" + "dev-master": "2.3.x-dev" } }, "installation-source": "dist", "autoload": { - "psr-0": { - "Symfony\\Component\\DomCrawler\\": "" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Sebastian Bergmann", + "email": "sb@sebastian-bergmann.de", + "role": "lead" } ], - "description": "Symfony DomCrawler Component", - "homepage": "http://symfony.com" + "description": "Mock Object library for PHPUnit", + "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", + "keywords": [ + "mock", + "xunit" + ] }, { - "name": "symfony/browser-kit", - "version": "v2.6.6", - "version_normalized": "2.6.6.0", - "target-dir": "Symfony/Component/BrowserKit", + "name": "phpunit/php-token-stream", + "version": "1.4.1", + "version_normalized": "1.4.1.0", "source": { "type": "git", - "url": "https://github.com/symfony/BrowserKit.git", - "reference": "f21189b0eccbe56528515858ca1d5089a741692f" + "url": "https://github.com/sebastianbergmann/php-token-stream.git", + "reference": "eab81d02569310739373308137284e0158424330" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/BrowserKit/zipball/f21189b0eccbe56528515858ca1d5089a741692f", - "reference": "f21189b0eccbe56528515858ca1d5089a741692f", + "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/eab81d02569310739373308137284e0158424330", + "reference": "eab81d02569310739373308137284e0158424330", "shasum": "" }, "require": { - "php": ">=5.3.3", - "symfony/dom-crawler": "~2.0,>=2.0.5" + "ext-tokenizer": "*", + "php": ">=5.3.3" }, "require-dev": { - "symfony/css-selector": "~2.0,>=2.0.5", - "symfony/phpunit-bridge": "~2.7", - "symfony/process": "~2.0,>=2.0.5" - }, - "suggest": { - "symfony/process": "" + "phpunit/phpunit": "~4.2" }, - "time": "2015-03-30 15:54:10", + "time": "2015-04-08 04:46:07", "type": "library", "extra": { "branch-alias": { - "dev-master": "2.6-dev" + "dev-master": "1.4-dev" } }, "installation-source": "dist", "autoload": { - "psr-0": { - "Symfony\\Component\\BrowserKit\\": "" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - }, - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" } ], - "description": "Symfony BrowserKit Component", - "homepage": "http://symfony.com" + "description": "Wrapper around PHP's tokenizer extension.", + "homepage": "https://github.com/sebastianbergmann/php-token-stream/", + "keywords": [ + "tokenizer" + ] }, { - "name": "zendframework/zend-stdlib", - "version": "2.4.0", - "version_normalized": "2.4.0.0", + "name": "phpunit/php-file-iterator", + "version": "1.4.0", + "version_normalized": "1.4.0.0", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-stdlib.git", - "reference": "eab586f4c18af3fa63c977611939f1f4a3cf1030" + "url": "https://github.com/sebastianbergmann/php-file-iterator.git", + "reference": "a923bb15680d0089e2316f7a4af8f437046e96bb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-stdlib/zipball/cf05c5ba75606e47ffee91cedc72778da46f74c3", - "reference": "eab586f4c18af3fa63c977611939f1f4a3cf1030", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/a923bb15680d0089e2316f7a4af8f437046e96bb", + "reference": "a923bb15680d0089e2316f7a4af8f437046e96bb", "shasum": "" }, "require": { - "php": ">=5.3.23" - }, - "require-dev": { - "zendframework/zend-eventmanager": "self.version", - "zendframework/zend-filter": "self.version", - "zendframework/zend-serializer": "self.version", - "zendframework/zend-servicemanager": "self.version" - }, - "suggest": { - "zendframework/zend-eventmanager": "To support aggregate hydrator usage", - "zendframework/zend-filter": "To support naming strategy hydrator usage", - "zendframework/zend-serializer": "Zend\\Serializer component", - "zendframework/zend-servicemanager": "To support hydrator plugin manager usage" + "php": ">=5.3.3" }, - "time": "2015-04-01 18:09:29", + "time": "2015-04-02 05:19:05", "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" + "dev-master": "1.4.x-dev" } }, "installation-source": "dist", "autoload": { - "psr-4": { - "Zend\\Stdlib\\": "" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], - "homepage": "https://github.com/zendframework/zf2", + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sb@sebastian-bergmann.de", + "role": "lead" + } + ], + "description": "FilterIterator implementation that filters files based on a list of suffixes.", + "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", "keywords": [ - "stdlib", - "zf2" + "filesystem", + "iterator" ] }, { - "name": "zendframework/zend-escaper", - "version": "2.4.0", - "version_normalized": "2.4.0.0", + "name": "phpunit/php-code-coverage", + "version": "2.0.16", + "version_normalized": "2.0.16.0", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-escaper.git", - "reference": "65b3328627362b0be1d5e9067bc846511d1fbc96" + "url": "https://github.com/sebastianbergmann/php-code-coverage.git", + "reference": "934fd03eb6840508231a7f73eb8940cf32c3b66c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-escaper/zipball/15e5769e4fcdb4bf07ebd76500810e7070e23a97", - "reference": "65b3328627362b0be1d5e9067bc846511d1fbc96", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/934fd03eb6840508231a7f73eb8940cf32c3b66c", + "reference": "934fd03eb6840508231a7f73eb8940cf32c3b66c", "shasum": "" }, "require": { - "php": ">=5.3.23" + "php": ">=5.3.3", + "phpunit/php-file-iterator": "~1.3", + "phpunit/php-text-template": "~1.2", + "phpunit/php-token-stream": "~1.3", + "sebastian/environment": "~1.0", + "sebastian/version": "~1.0" }, - "time": "2015-04-01 18:02:07", + "require-dev": { + "ext-xdebug": ">=2.1.4", + "phpunit/phpunit": "~4" + }, + "suggest": { + "ext-dom": "*", + "ext-xdebug": ">=2.2.1", + "ext-xmlwriter": "*" + }, + "time": "2015-04-11 04:35:00", "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" + "dev-master": "2.0.x-dev" } }, "installation-source": "dist", "autoload": { - "psr-4": { - "Zend\\Escaper\\": "" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], - "homepage": "https://github.com/zendframework/zf2", + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sb@sebastian-bergmann.de", + "role": "lead" + } + ], + "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", + "homepage": "https://github.com/sebastianbergmann/php-code-coverage", "keywords": [ - "escaper", - "zf2" + "coverage", + "testing", + "xunit" ] }, { - "name": "zendframework/zend-feed", - "version": "2.4.0", - "version_normalized": "2.4.0.0", + "name": "phpunit/phpunit", + "version": "4.6.4", + "version_normalized": "4.6.4.0", "source": { "type": "git", - "url": "https://github.com/zendframework/zend-feed.git", - "reference": "aca2b42ecf06d94c621e3c3be8e95d61d3a79bf5" + "url": "https://github.com/sebastianbergmann/phpunit.git", + "reference": "163232991e652e6efed2f8470326fffa61e848e2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-feed/zipball/0f59e560364f1f1fcb09a96874328ae3ff690db2", - "reference": "aca2b42ecf06d94c621e3c3be8e95d61d3a79bf5", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/163232991e652e6efed2f8470326fffa61e848e2", + "reference": "163232991e652e6efed2f8470326fffa61e848e2", "shasum": "" }, "require": { - "php": ">=5.3.23", - "zendframework/zend-escaper": "self.version", - "zendframework/zend-stdlib": "self.version" - }, - "require-dev": { - "zendframework/zend-cache": "self.version", - "zendframework/zend-db": "self.version", - "zendframework/zend-http": "self.version", - "zendframework/zend-servicemanager": "self.version", - "zendframework/zend-validator": "self.version" + "ext-dom": "*", + "ext-json": "*", + "ext-pcre": "*", + "ext-reflection": "*", + "ext-spl": "*", + "php": ">=5.3.3", + "phpspec/prophecy": "~1.3,>=1.3.1", + "phpunit/php-code-coverage": "~2.0,>=2.0.11", + "phpunit/php-file-iterator": "~1.4", + "phpunit/php-text-template": "~1.2", + "phpunit/php-timer": "~1.0", + "phpunit/phpunit-mock-objects": "~2.3", + "sebastian/comparator": "~1.1", + "sebastian/diff": "~1.2", + "sebastian/environment": "~1.2", + "sebastian/exporter": "~1.2", + "sebastian/global-state": "~1.0", + "sebastian/version": "~1.0", + "symfony/yaml": "~2.1|~3.0" }, "suggest": { - "zendframework/zend-cache": "Zend\\Cache component", - "zendframework/zend-db": "Zend\\Db component", - "zendframework/zend-http": "Zend\\Http for PubSubHubbub, and optionally for use with Zend\\Feed\\Reader", - "zendframework/zend-servicemanager": "Zend\\ServiceManager component, for default/recommended ExtensionManager implementations", - "zendframework/zend-validator": "Zend\\Validator component" + "phpunit/php-invoker": "~1.1" }, - "time": "2015-04-01 18:09:25", + "time": "2015-04-11 05:23:21", + "bin": [ + "phpunit" + ], "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev", - "dev-develop": "2.4-dev" + "dev-master": "4.6.x-dev" } }, "installation-source": "dist", "autoload": { - "psr-4": { - "Zend\\Feed\\": "" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], - "description": "provides functionality for consuming RSS and Atom feeds", - "homepage": "https://github.com/zendframework/zf2", + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "The PHP Unit Testing framework.", + "homepage": "https://phpunit.de/", "keywords": [ - "feed", - "zf2" + "phpunit", + "testing", + "xunit" ] }, { - "name": "twig/twig", - "version": "v1.18.1", - "version_normalized": "1.18.1.0", + "name": "mikey179/vfsStream", + "version": "v1.5.0", + "version_normalized": "1.5.0.0", "source": { "type": "git", - "url": "https://github.com/twigphp/Twig.git", - "reference": "9f70492f44398e276d1b81c1b43adfe6751c7b7f" + "url": "https://github.com/mikey179/vfsStream.git", + "reference": "4dc0d2f622412f561f5b242b19b98068bbbc883a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/9f70492f44398e276d1b81c1b43adfe6751c7b7f", - "reference": "9f70492f44398e276d1b81c1b43adfe6751c7b7f", + "url": "https://api.github.com/repos/mikey179/vfsStream/zipball/4dc0d2f622412f561f5b242b19b98068bbbc883a", + "reference": "4dc0d2f622412f561f5b242b19b98068bbbc883a", "shasum": "" }, "require": { - "php": ">=5.2.7" + "php": ">=5.3.0" }, - "time": "2015-04-19 08:30:27", + "require-dev": { + "phpunit/phpunit": "~4.5" + }, + "time": "2015-03-29 11:19:49", "type": "library", "extra": { "branch-alias": { - "dev-master": "1.18-dev" + "dev-master": "1.5.x-dev" } }, "installation-source": "dist", "autoload": { "psr-0": { - "Twig_": "lib/" + "org\\bovigo\\vfs\\": "src/main/php" } }, "notification-url": "https://packagist.org/downloads/", @@ -2450,398 +2418,401 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com", - "homepage": "http://fabien.potencier.org", - "role": "Lead Developer" - }, - { - "name": "Armin Ronacher", - "email": "armin.ronacher@active-4.com", - "role": "Project Founder" - }, - { - "name": "Twig Team", - "homepage": "http://twig.sensiolabs.org/contributors", - "role": "Contributors" + "name": "Frank Kleine", + "homepage": "http://frankkleine.de/", + "role": "Developer" } ], - "description": "Twig, the flexible, fast, and secure template language for PHP", - "homepage": "http://twig.sensiolabs.org", - "keywords": [ - "templating" - ] + "description": "Virtual file system to mock the real file system in unit tests.", + "homepage": "http://vfs.bovigo.org/" }, { - "name": "sebastian/version", - "version": "1.0.5", - "version_normalized": "1.0.5.0", + "name": "symfony/class-loader", + "version": "v2.7.0", + "version_normalized": "2.7.0.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "ab931d46cd0d3204a91e1b9a40c4bc13032b58e4" + "url": "https://github.com/symfony/ClassLoader.git", + "reference": "fa19598cb708b92d983b34aae313f57c217f9386" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/ab931d46cd0d3204a91e1b9a40c4bc13032b58e4", - "reference": "ab931d46cd0d3204a91e1b9a40c4bc13032b58e4", + "url": "https://api.github.com/repos/symfony/ClassLoader/zipball/fa19598cb708b92d983b34aae313f57c217f9386", + "reference": "fa19598cb708b92d983b34aae313f57c217f9386", "shasum": "" }, - "time": "2015-02-24 06:35:25", + "require": { + "php": ">=5.3.9" + }, + "require-dev": { + "symfony/finder": "~2.0,>=2.0.5", + "symfony/phpunit-bridge": "~2.7" + }, + "time": "2015-05-15 13:33:16", "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.7-dev" + } + }, "installation-source": "dist", "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "Symfony\\Component\\ClassLoader\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Library that helps with managing the version number of Git-hosted PHP projects", - "homepage": "https://github.com/sebastianbergmann/version" + "description": "Symfony ClassLoader Component", + "homepage": "https://symfony.com" }, { - "name": "sebastian/recursion-context", - "version": "1.0.0", - "version_normalized": "1.0.0.0", + "name": "symfony/console", + "version": "v2.7.0-BETA2", + "version_normalized": "2.7.0.0-beta2", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "3989662bbb30a29d20d9faa04a846af79b276252" + "url": "https://github.com/symfony/Console.git", + "reference": "555ba7fc54a538e1b83988e2299db09b6b6dca64" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/3989662bbb30a29d20d9faa04a846af79b276252", - "reference": "3989662bbb30a29d20d9faa04a846af79b276252", + "url": "https://api.github.com/repos/symfony/Console/zipball/555ba7fc54a538e1b83988e2299db09b6b6dca64", + "reference": "555ba7fc54a538e1b83988e2299db09b6b6dca64", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": ">=5.3.9" }, "require-dev": { - "phpunit/phpunit": "~4.4" + "psr/log": "~1.0", + "symfony/event-dispatcher": "~2.1", + "symfony/phpunit-bridge": "~2.7", + "symfony/process": "~2.1" }, - "time": "2015-01-24 09:48:32", + "suggest": { + "psr/log": "For using the console logger", + "symfony/event-dispatcher": "", + "symfony/process": "" + }, + "time": "2015-05-02 15:21:08", "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "2.7-dev" } }, "installation-source": "dist", "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "Symfony\\Component\\Console\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" }, { - "name": "Adam Harvey", - "email": "aharvey@php.net" + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context" + "description": "Symfony Console Component", + "homepage": "https://symfony.com" }, { - "name": "sebastian/exporter", - "version": "1.2.0", - "version_normalized": "1.2.0.0", + "name": "symfony/css-selector", + "version": "v2.7.0", + "version_normalized": "2.7.0.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "84839970d05254c73cde183a721c7af13aede943" + "url": "https://github.com/symfony/CssSelector.git", + "reference": "0b5c07b516226b7dd32afbbc82fe547a469c5092" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/84839970d05254c73cde183a721c7af13aede943", - "reference": "84839970d05254c73cde183a721c7af13aede943", + "url": "https://api.github.com/repos/symfony/CssSelector/zipball/0b5c07b516226b7dd32afbbc82fe547a469c5092", + "reference": "0b5c07b516226b7dd32afbbc82fe547a469c5092", "shasum": "" }, "require": { - "php": ">=5.3.3", - "sebastian/recursion-context": "~1.0" + "php": ">=5.3.9" }, "require-dev": { - "phpunit/phpunit": "~4.4" + "symfony/phpunit-bridge": "~2.7" }, - "time": "2015-01-27 07:23:06", + "time": "2015-05-15 13:33:16", "type": "library", "extra": { "branch-alias": { - "dev-master": "1.2.x-dev" + "dev-master": "2.7-dev" } }, "installation-source": "dist", "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "Symfony\\Component\\CssSelector\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" + "name": "Jean-François Simon", + "email": "jeanfrancois.simon@sensiolabs.com" }, { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" }, { - "name": "Adam Harvey", - "email": "aharvey@php.net" + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ] + "description": "Symfony CssSelector Component", + "homepage": "https://symfony.com" }, { - "name": "sebastian/environment", - "version": "1.2.2", - "version_normalized": "1.2.2.0", + "name": "symfony/dependency-injection", + "version": "v2.7.0", + "version_normalized": "2.7.0.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "5a8c7d31914337b69923db26c4221b81ff5a196e" + "url": "https://github.com/symfony/DependencyInjection.git", + "reference": "137bf489c5151c7eb1e4b7dd34a123f9a74b966d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/5a8c7d31914337b69923db26c4221b81ff5a196e", - "reference": "5a8c7d31914337b69923db26c4221b81ff5a196e", + "url": "https://api.github.com/repos/symfony/DependencyInjection/zipball/137bf489c5151c7eb1e4b7dd34a123f9a74b966d", + "reference": "137bf489c5151c7eb1e4b7dd34a123f9a74b966d", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": ">=5.3.9" + }, + "conflict": { + "symfony/expression-language": "<2.6" }, "require-dev": { - "phpunit/phpunit": "~4.4" + "symfony/config": "~2.2", + "symfony/expression-language": "~2.6", + "symfony/phpunit-bridge": "~2.7", + "symfony/yaml": "~2.1" }, - "time": "2015-01-01 10:01:08", + "suggest": { + "symfony/config": "", + "symfony/proxy-manager-bridge": "Generate service proxies to lazy load them", + "symfony/yaml": "" + }, + "time": "2015-05-29 14:44:44", "type": "library", "extra": { "branch-alias": { - "dev-master": "1.3.x-dev" + "dev-master": "2.7-dev" } }, "installation-source": "dist", "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "Symfony\\Component\\DependencyInjection\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Provides functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ] + "description": "Symfony DependencyInjection Component", + "homepage": "https://symfony.com" }, { - "name": "sebastian/diff", - "version": "1.3.0", - "version_normalized": "1.3.0.0", + "name": "symfony/debug", + "version": "v2.6.9", + "version_normalized": "2.6.9.0", + "target-dir": "Symfony/Component/Debug", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "863df9687835c62aa423a22412d26fa2ebde3fd3" + "url": "https://github.com/symfony/Debug.git", + "reference": "4851a041c48e76b91a221db84ab5850daa6a7b33" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/863df9687835c62aa423a22412d26fa2ebde3fd3", - "reference": "863df9687835c62aa423a22412d26fa2ebde3fd3", + "url": "https://api.github.com/repos/symfony/Debug/zipball/4851a041c48e76b91a221db84ab5850daa6a7b33", + "reference": "4851a041c48e76b91a221db84ab5850daa6a7b33", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": ">=5.3.3", + "psr/log": "~1.0" + }, + "conflict": { + "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2" }, "require-dev": { - "phpunit/phpunit": "~4.2" + "symfony/class-loader": "~2.2", + "symfony/http-foundation": "~2.1", + "symfony/http-kernel": "~2.3.24|~2.5.9|~2.6,>=2.6.2", + "symfony/phpunit-bridge": "~2.7" }, - "time": "2015-02-22 15:13:53", + "suggest": { + "symfony/http-foundation": "", + "symfony/http-kernel": "" + }, + "time": "2015-05-20 13:09:45", "type": "library", "extra": { "branch-alias": { - "dev-master": "1.3-dev" + "dev-master": "2.6-dev" } }, "installation-source": "dist", "autoload": { - "classmap": [ - "src/" - ] + "psr-0": { + "Symfony\\Component\\Debug\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" }, { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Diff implementation", - "homepage": "http://www.github.com/sebastianbergmann/diff", - "keywords": [ - "diff" - ] + "description": "Symfony Debug Component", + "homepage": "https://symfony.com" }, { - "name": "sebastian/comparator", - "version": "1.1.1", - "version_normalized": "1.1.1.0", + "name": "symfony/http-foundation", + "version": "v2.7.0", + "version_normalized": "2.7.0.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "1dd8869519a225f7f2b9eb663e225298fade819e" + "url": "https://github.com/symfony/HttpFoundation.git", + "reference": "729de183da037c125c5f6366bd4f0631ba1a1abb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/1dd8869519a225f7f2b9eb663e225298fade819e", - "reference": "1dd8869519a225f7f2b9eb663e225298fade819e", + "url": "https://api.github.com/repos/symfony/HttpFoundation/zipball/729de183da037c125c5f6366bd4f0631ba1a1abb", + "reference": "729de183da037c125c5f6366bd4f0631ba1a1abb", "shasum": "" }, "require": { - "php": ">=5.3.3", - "sebastian/diff": "~1.2", - "sebastian/exporter": "~1.2" + "php": ">=5.3.9" }, "require-dev": { - "phpunit/phpunit": "~4.4" + "symfony/expression-language": "~2.4", + "symfony/phpunit-bridge": "~2.7" }, - "time": "2015-01-29 16:28:08", + "time": "2015-05-22 14:54:25", "type": "library", "extra": { "branch-alias": { - "dev-master": "1.1.x-dev" + "dev-master": "2.7-dev" } }, "installation-source": "dist", "autoload": { + "psr-4": { + "Symfony\\Component\\HttpFoundation\\": "" + }, "classmap": [ - "src/" + "Resources/stubs" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" }, { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "http://www.github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ] + "description": "Symfony HttpFoundation Component", + "homepage": "https://symfony.com" }, { - "name": "phpdocumentor/reflection-docblock", - "version": "2.0.4", - "version_normalized": "2.0.4.0", + "name": "symfony/event-dispatcher", + "version": "v2.7.0", + "version_normalized": "2.7.0.0", "source": { "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "d68dbdc53dc358a816f00b300704702b2eaff7b8" + "url": "https://github.com/symfony/EventDispatcher.git", + "reference": "687039686d0e923429ba6e958d0baa920cd5d458" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/d68dbdc53dc358a816f00b300704702b2eaff7b8", - "reference": "d68dbdc53dc358a816f00b300704702b2eaff7b8", + "url": "https://api.github.com/repos/symfony/EventDispatcher/zipball/687039686d0e923429ba6e958d0baa920cd5d458", + "reference": "687039686d0e923429ba6e958d0baa920cd5d458", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": ">=5.3.9" }, "require-dev": { - "phpunit/phpunit": "~4.0" + "psr/log": "~1.0", + "symfony/config": "~2.0,>=2.0.5", + "symfony/dependency-injection": "~2.6", + "symfony/expression-language": "~2.6", + "symfony/phpunit-bridge": "~2.7", + "symfony/stopwatch": "~2.3" }, "suggest": { - "dflydev/markdown": "~1.0", - "erusev/parsedown": "~1.0" + "symfony/dependency-injection": "", + "symfony/http-kernel": "" }, - "time": "2015-02-03 12:10:50", + "time": "2015-05-02 15:21:08", "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-master": "2.7-dev" } }, "installation-source": "dist", "autoload": { - "psr-0": { - "phpDocumentor": [ - "src/" - ] + "psr-4": { + "Symfony\\Component\\EventDispatcher\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -2850,45 +2821,80 @@ ], "authors": [ { - "name": "Mike van Riel", - "email": "mike.vanriel@naenius.com" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } - ] + ], + "description": "Symfony EventDispatcher Component", + "homepage": "https://symfony.com" }, { - "name": "phpspec/prophecy", - "version": "1.4.0", - "version_normalized": "1.4.0.0", + "name": "symfony/http-kernel", + "version": "v2.7.0", + "version_normalized": "2.7.0.0", "source": { "type": "git", - "url": "https://github.com/phpspec/prophecy.git", - "reference": "8724cd239f8ef4c046f55a3b18b4d91cc7f3e4c5" + "url": "https://github.com/symfony/HttpKernel.git", + "reference": "74acbb7ef9c4aae0620d3250b9b990d2fff28d16" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/8724cd239f8ef4c046f55a3b18b4d91cc7f3e4c5", - "reference": "8724cd239f8ef4c046f55a3b18b4d91cc7f3e4c5", + "url": "https://api.github.com/repos/symfony/HttpKernel/zipball/74acbb7ef9c4aae0620d3250b9b990d2fff28d16", + "reference": "74acbb7ef9c4aae0620d3250b9b990d2fff28d16", "shasum": "" }, "require": { - "doctrine/instantiator": "^1.0.2", - "phpdocumentor/reflection-docblock": "~2.0", - "sebastian/comparator": "~1.1" + "php": ">=5.3.9", + "psr/log": "~1.0", + "symfony/debug": "~2.6,>=2.6.2", + "symfony/event-dispatcher": "~2.5.9|~2.6,>=2.6.2", + "symfony/http-foundation": "~2.5,>=2.5.4" + }, + "conflict": { + "symfony/config": "<2.7" }, "require-dev": { - "phpspec/phpspec": "~2.0" + "symfony/browser-kit": "~2.3", + "symfony/class-loader": "~2.1", + "symfony/config": "~2.7", + "symfony/console": "~2.3", + "symfony/css-selector": "~2.0,>=2.0.5", + "symfony/dependency-injection": "~2.2", + "symfony/dom-crawler": "~2.0,>=2.0.5", + "symfony/expression-language": "~2.4", + "symfony/finder": "~2.0,>=2.0.5", + "symfony/phpunit-bridge": "~2.7", + "symfony/process": "~2.0,>=2.0.5", + "symfony/routing": "~2.2", + "symfony/stopwatch": "~2.3", + "symfony/templating": "~2.2", + "symfony/translation": "~2.0,>=2.0.5", + "symfony/var-dumper": "~2.6" }, - "time": "2015-03-27 19:31:25", + "suggest": { + "symfony/browser-kit": "", + "symfony/class-loader": "", + "symfony/config": "", + "symfony/console": "", + "symfony/dependency-injection": "", + "symfony/finder": "", + "symfony/var-dumper": "" + }, + "time": "2015-05-30 16:52:28", "type": "library", "extra": { "branch-alias": { - "dev-master": "1.4.x-dev" + "dev-master": "2.7-dev" } }, "installation-source": "dist", "autoload": { - "psr-0": { - "Prophecy\\": "src/" + "psr-4": { + "Symfony\\Component\\HttpKernel\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -2897,376 +2903,371 @@ ], "authors": [ { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" }, { - "name": "Marcello Duarte", - "email": "marcello.duarte@gmail.com" + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Highly opinionated mocking framework for PHP 5.3+", - "homepage": "https://github.com/phpspec/prophecy", - "keywords": [ - "Double", - "Dummy", - "fake", - "mock", - "spy", - "stub" - ] + "description": "Symfony HttpKernel Component", + "homepage": "https://symfony.com" }, { - "name": "phpunit/phpunit-mock-objects", - "version": "2.3.1", - "version_normalized": "2.3.1.0", + "name": "symfony/routing", + "version": "v2.7.0", + "version_normalized": "2.7.0.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "74ffb87f527f24616f72460e54b595f508dccb5c" + "url": "https://github.com/symfony/Routing.git", + "reference": "6f0333fb8b89cf6f8fd9d6740c5e83b73d9c95b9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/74ffb87f527f24616f72460e54b595f508dccb5c", - "reference": "74ffb87f527f24616f72460e54b595f508dccb5c", + "url": "https://api.github.com/repos/symfony/Routing/zipball/6f0333fb8b89cf6f8fd9d6740c5e83b73d9c95b9", + "reference": "6f0333fb8b89cf6f8fd9d6740c5e83b73d9c95b9", "shasum": "" }, "require": { - "doctrine/instantiator": "~1.0,>=1.0.2", - "php": ">=5.3.3", - "phpunit/php-text-template": "~1.2" + "php": ">=5.3.9" + }, + "conflict": { + "symfony/config": "<2.7" }, "require-dev": { - "phpunit/phpunit": "~4.4" + "doctrine/annotations": "~1.0", + "doctrine/common": "~2.2", + "psr/log": "~1.0", + "symfony/config": "~2.7", + "symfony/expression-language": "~2.4", + "symfony/http-foundation": "~2.3", + "symfony/phpunit-bridge": "~2.7", + "symfony/yaml": "~2.0,>=2.0.5" }, "suggest": { - "ext-soap": "*" + "doctrine/annotations": "For using the annotation loader", + "symfony/config": "For using the all-in-one router or any loader", + "symfony/expression-language": "For using expression matching", + "symfony/yaml": "For using the YAML loader" }, - "time": "2015-04-02 05:36:41", + "time": "2015-05-19 06:58:17", "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3.x-dev" + "dev-master": "2.7-dev" } }, "installation-source": "dist", "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "Symfony\\Component\\Routing\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Mock Object library for PHPUnit", - "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", + "description": "Symfony Routing Component", + "homepage": "https://symfony.com", "keywords": [ - "mock", - "xunit" + "router", + "routing", + "uri", + "url" ] }, { - "name": "phpunit/php-token-stream", - "version": "1.4.1", - "version_normalized": "1.4.1.0", + "name": "symfony/serializer", + "version": "v2.7.0", + "version_normalized": "2.7.0.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "eab81d02569310739373308137284e0158424330" + "url": "https://github.com/symfony/Serializer.git", + "reference": "634d3adf119396320fba4c14caa01390700e7f3b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/eab81d02569310739373308137284e0158424330", - "reference": "eab81d02569310739373308137284e0158424330", + "url": "https://api.github.com/repos/symfony/Serializer/zipball/634d3adf119396320fba4c14caa01390700e7f3b", + "reference": "634d3adf119396320fba4c14caa01390700e7f3b", "shasum": "" }, "require": { - "ext-tokenizer": "*", - "php": ">=5.3.3" + "php": ">=5.3.9" }, "require-dev": { - "phpunit/phpunit": "~4.2" + "doctrine/annotations": "~1.0", + "doctrine/cache": "~1.0", + "symfony/config": "~2.2", + "symfony/phpunit-bridge": "~2.7", + "symfony/property-access": "~2.3", + "symfony/yaml": "~2.0" }, - "time": "2015-04-08 04:46:07", + "suggest": { + "doctrine/annotations": "For using the annotation mapping. You will also need doctrine/cache.", + "doctrine/cache": "For using the default cached annotation reader and metadata cache.", + "symfony/config": "For using the XML mapping loader.", + "symfony/property-access": "For using the ObjectNormalizer.", + "symfony/yaml": "For using the default YAML mapping loader." + }, + "time": "2015-05-29 14:44:44", "type": "library", "extra": { "branch-alias": { - "dev-master": "1.4-dev" + "dev-master": "2.7-dev" } }, "installation-source": "dist", "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "Symfony\\Component\\Serializer\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", - "keywords": [ - "tokenizer" - ] + "description": "Symfony Serializer Component", + "homepage": "https://symfony.com" }, { - "name": "phpunit/php-file-iterator", - "version": "1.4.0", - "version_normalized": "1.4.0.0", + "name": "symfony/translation", + "version": "v2.7.0-BETA2", + "version_normalized": "2.7.0.0-beta2", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "a923bb15680d0089e2316f7a4af8f437046e96bb" + "url": "https://github.com/symfony/Translation.git", + "reference": "1be5bbed3938247acd7c5f4e4f29dd32db636b1f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/a923bb15680d0089e2316f7a4af8f437046e96bb", - "reference": "a923bb15680d0089e2316f7a4af8f437046e96bb", + "url": "https://api.github.com/repos/symfony/Translation/zipball/1be5bbed3938247acd7c5f4e4f29dd32db636b1f", + "reference": "1be5bbed3938247acd7c5f4e4f29dd32db636b1f", "shasum": "" }, - "require": { - "php": ">=5.3.3" + "require": { + "php": ">=5.3.9" + }, + "conflict": { + "symfony/config": "<2.7" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "~2.7", + "symfony/intl": "~2.3", + "symfony/phpunit-bridge": "~2.7", + "symfony/yaml": "~2.2" + }, + "suggest": { + "psr/log": "To use logging capability in translator", + "symfony/config": "", + "symfony/yaml": "" }, - "time": "2015-04-02 05:19:05", + "time": "2015-05-11 02:35:29", "type": "library", "extra": { "branch-alias": { - "dev-master": "1.4.x-dev" + "dev-master": "2.7-dev" } }, "installation-source": "dist", "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "Symfony\\Component\\Translation\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ] + "description": "Symfony Translation Component", + "homepage": "https://symfony.com" }, { - "name": "phpunit/php-code-coverage", - "version": "2.0.16", - "version_normalized": "2.0.16.0", + "name": "symfony/validator", + "version": "v2.7.0", + "version_normalized": "2.7.0.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "934fd03eb6840508231a7f73eb8940cf32c3b66c" + "url": "https://github.com/symfony/Validator.git", + "reference": "3a5461a388ff8962790fd5a39e6e2da84ba1e824" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/934fd03eb6840508231a7f73eb8940cf32c3b66c", - "reference": "934fd03eb6840508231a7f73eb8940cf32c3b66c", + "url": "https://api.github.com/repos/symfony/Validator/zipball/3a5461a388ff8962790fd5a39e6e2da84ba1e824", + "reference": "3a5461a388ff8962790fd5a39e6e2da84ba1e824", "shasum": "" }, "require": { - "php": ">=5.3.3", - "phpunit/php-file-iterator": "~1.3", - "phpunit/php-text-template": "~1.2", - "phpunit/php-token-stream": "~1.3", - "sebastian/environment": "~1.0", - "sebastian/version": "~1.0" + "php": ">=5.3.9", + "symfony/translation": "~2.4" }, "require-dev": { - "ext-xdebug": ">=2.1.4", - "phpunit/phpunit": "~4" + "doctrine/annotations": "~1.0", + "doctrine/cache": "~1.0", + "egulias/email-validator": "~1.2,>=1.2.1", + "symfony/config": "~2.2", + "symfony/expression-language": "~2.4", + "symfony/http-foundation": "~2.1", + "symfony/intl": "~2.3", + "symfony/phpunit-bridge": "~2.7", + "symfony/property-access": "~2.3", + "symfony/yaml": "~2.0,>=2.0.5" }, "suggest": { - "ext-dom": "*", - "ext-xdebug": ">=2.2.1", - "ext-xmlwriter": "*" + "doctrine/annotations": "For using the annotation mapping. You will also need doctrine/cache.", + "doctrine/cache": "For using the default cached annotation reader and metadata cache.", + "egulias/email-validator": "Strict (RFC compliant) email validation", + "symfony/config": "", + "symfony/expression-language": "For using the 2.4 Expression validator", + "symfony/http-foundation": "", + "symfony/intl": "", + "symfony/property-access": "For using the 2.4 Validator API", + "symfony/yaml": "" }, - "time": "2015-04-11 04:35:00", + "time": "2015-05-29 14:44:44", "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-master": "2.7-dev" } }, "installation-source": "dist", "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "Symfony\\Component\\Validator\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ] + "description": "Symfony Validator Component", + "homepage": "https://symfony.com" }, { - "name": "phpunit/phpunit", - "version": "4.6.4", - "version_normalized": "4.6.4.0", + "name": "symfony/process", + "version": "v2.7.0", + "version_normalized": "2.7.0.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "163232991e652e6efed2f8470326fffa61e848e2" + "url": "https://github.com/symfony/Process.git", + "reference": "e0a82b58e36afc60f8e79b8bc85a22bb064077c1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/163232991e652e6efed2f8470326fffa61e848e2", - "reference": "163232991e652e6efed2f8470326fffa61e848e2", + "url": "https://api.github.com/repos/symfony/Process/zipball/e0a82b58e36afc60f8e79b8bc85a22bb064077c1", + "reference": "e0a82b58e36afc60f8e79b8bc85a22bb064077c1", "shasum": "" }, "require": { - "ext-dom": "*", - "ext-json": "*", - "ext-pcre": "*", - "ext-reflection": "*", - "ext-spl": "*", - "php": ">=5.3.3", - "phpspec/prophecy": "~1.3,>=1.3.1", - "phpunit/php-code-coverage": "~2.0,>=2.0.11", - "phpunit/php-file-iterator": "~1.4", - "phpunit/php-text-template": "~1.2", - "phpunit/php-timer": "~1.0", - "phpunit/phpunit-mock-objects": "~2.3", - "sebastian/comparator": "~1.1", - "sebastian/diff": "~1.2", - "sebastian/environment": "~1.2", - "sebastian/exporter": "~1.2", - "sebastian/global-state": "~1.0", - "sebastian/version": "~1.0", - "symfony/yaml": "~2.1|~3.0" + "php": ">=5.3.9" }, - "suggest": { - "phpunit/php-invoker": "~1.1" + "require-dev": { + "symfony/phpunit-bridge": "~2.7" }, - "time": "2015-04-11 05:23:21", - "bin": [ - "phpunit" - ], + "time": "2015-05-15 13:33:16", "type": "library", "extra": { "branch-alias": { - "dev-master": "4.6.x-dev" + "dev-master": "2.7-dev" } }, "installation-source": "dist", "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "Symfony\\Component\\Process\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ] + "description": "Symfony Process Component", + "homepage": "https://symfony.com" }, { - "name": "symfony/validator", - "version": "2.6.x-dev", - "version_normalized": "2.6.9999999.9999999-dev", - "target-dir": "Symfony/Component/Validator", + "name": "symfony/yaml", + "version": "v2.7.0", + "version_normalized": "2.7.0.0", "source": { "type": "git", - "url": "https://github.com/symfony/Validator.git", - "reference": "6bb1b474d25cb80617d8da6cb14c955ba914e495" + "url": "https://github.com/symfony/Yaml.git", + "reference": "4a29a5248aed4fb45f626a7bbbd330291492f5c3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Validator/zipball/d667b6a563e233b24ae1599a9fde7a53ddd1c055", - "reference": "6bb1b474d25cb80617d8da6cb14c955ba914e495", + "url": "https://api.github.com/repos/symfony/Yaml/zipball/4a29a5248aed4fb45f626a7bbbd330291492f5c3", + "reference": "4a29a5248aed4fb45f626a7bbbd330291492f5c3", "shasum": "" }, "require": { - "php": ">=5.3.3", - "symfony/translation": "~2.0,>=2.0.5" + "php": ">=5.3.9" }, "require-dev": { - "doctrine/annotations": "~1.0", - "doctrine/cache": "~1.0", - "doctrine/common": "~2.3", - "egulias/email-validator": "~1.2,>=1.2.1", - "symfony/config": "~2.2", - "symfony/expression-language": "~2.4", - "symfony/http-foundation": "~2.1", - "symfony/intl": "~2.3", - "symfony/phpunit-bridge": "~2.7", - "symfony/property-access": "~2.3", - "symfony/yaml": "~2.0,>=2.0.5" - }, - "suggest": { - "doctrine/annotations": "For using the annotation mapping. You will also need doctrine/cache.", - "doctrine/cache": "For using the default cached annotation reader and metadata cache.", - "egulias/email-validator": "Strict (RFC compliant) email validation", - "symfony/config": "", - "symfony/expression-language": "For using the 2.4 Expression validator", - "symfony/http-foundation": "", - "symfony/intl": "", - "symfony/property-access": "For using the 2.4 Validator API", - "symfony/yaml": "" + "symfony/phpunit-bridge": "~2.7" }, - "time": "2015-05-05 01:29:27", + "time": "2015-05-02 15:21:08", "type": "library", "extra": { "branch-alias": { - "dev-master": "2.6-dev" + "dev-master": "2.7-dev" } }, "installation-source": "dist", "autoload": { - "psr-0": { - "Symfony\\Component\\Validator\\": "" + "psr-4": { + "Symfony\\Component\\Yaml\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -3283,85 +3284,91 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Validator Component", + "description": "Symfony Yaml Component", "homepage": "https://symfony.com" }, { - "name": "mikey179/vfsStream", - "version": "v1.5.0", - "version_normalized": "1.5.0.0", + "name": "symfony/dom-crawler", + "version": "v2.6.9", + "version_normalized": "2.6.9.0", + "target-dir": "Symfony/Component/DomCrawler", "source": { "type": "git", - "url": "https://github.com/mikey179/vfsStream.git", - "reference": "4dc0d2f622412f561f5b242b19b98068bbbc883a" + "url": "https://github.com/symfony/DomCrawler.git", + "reference": "c74fe625d8c65fee512de2b40cceabba1b09503b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mikey179/vfsStream/zipball/4dc0d2f622412f561f5b242b19b98068bbbc883a", - "reference": "4dc0d2f622412f561f5b242b19b98068bbbc883a", + "url": "https://api.github.com/repos/symfony/DomCrawler/zipball/c74fe625d8c65fee512de2b40cceabba1b09503b", + "reference": "c74fe625d8c65fee512de2b40cceabba1b09503b", "shasum": "" }, "require": { - "php": ">=5.3.0" + "php": ">=5.3.3" }, "require-dev": { - "phpunit/phpunit": "~4.5" + "symfony/css-selector": "~2.3", + "symfony/phpunit-bridge": "~2.7" }, - "time": "2015-03-29 11:19:49", + "suggest": { + "symfony/css-selector": "" + }, + "time": "2015-05-22 14:53:08", "type": "library", "extra": { "branch-alias": { - "dev-master": "1.5.x-dev" + "dev-master": "2.6-dev" } }, "installation-source": "dist", "autoload": { "psr-0": { - "org\\bovigo\\vfs\\": "src/main/php" + "Symfony\\Component\\DomCrawler\\": "" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Frank Kleine", - "homepage": "http://frankkleine.de/", - "role": "Developer" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Virtual file system to mock the real file system in unit tests.", - "homepage": "http://vfs.bovigo.org/" + "description": "Symfony DomCrawler Component", + "homepage": "https://symfony.com" }, { - "name": "symfony/console", - "version": "v2.6.7", - "version_normalized": "2.6.7.0", - "target-dir": "Symfony/Component/Console", + "name": "symfony/browser-kit", + "version": "v2.6.9", + "version_normalized": "2.6.9.0", + "target-dir": "Symfony/Component/BrowserKit", "source": { "type": "git", - "url": "https://github.com/symfony/Console.git", - "reference": "ebc5679854aa24ed7d65062e9e3ab0b18a917272" + "url": "https://github.com/symfony/BrowserKit.git", + "reference": "cf950c42947ea2f29c36a1f443202b6134f5c303" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/Console/zipball/ebc5679854aa24ed7d65062e9e3ab0b18a917272", - "reference": "ebc5679854aa24ed7d65062e9e3ab0b18a917272", + "url": "https://api.github.com/repos/symfony/BrowserKit/zipball/cf950c42947ea2f29c36a1f443202b6134f5c303", + "reference": "cf950c42947ea2f29c36a1f443202b6134f5c303", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": ">=5.3.3", + "symfony/dom-crawler": "~2.0,>=2.0.5" }, "require-dev": { - "psr/log": "~1.0", - "symfony/event-dispatcher": "~2.1", + "symfony/css-selector": "~2.0,>=2.0.5", "symfony/phpunit-bridge": "~2.7", - "symfony/process": "~2.1" + "symfony/process": "~2.0,>=2.0.5" }, "suggest": { - "psr/log": "For using the console logger", - "symfony/event-dispatcher": "", "symfony/process": "" }, "time": "2015-05-02 15:18:45", @@ -3374,7 +3381,7 @@ "installation-source": "dist", "autoload": { "psr-0": { - "Symfony\\Component\\Console\\": "" + "Symfony\\Component\\BrowserKit\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -3391,7 +3398,7 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Console Component", + "description": "Symfony BrowserKit Component", "homepage": "https://symfony.com" } ] diff --git a/core/vendor/symfony/browser-kit/Symfony/Component/BrowserKit/Cookie.php b/core/vendor/symfony/browser-kit/Symfony/Component/BrowserKit/Cookie.php index b8d9dffd9165293cb3476dd15018fc8b6194efc9..b225056f4b70d2d132bada321e28d3b54c8e4ef5 100644 --- a/core/vendor/symfony/browser-kit/Symfony/Component/BrowserKit/Cookie.php +++ b/core/vendor/symfony/browser-kit/Symfony/Component/BrowserKit/Cookie.php @@ -93,6 +93,7 @@ public function __toString() $dateTime = \DateTime::createFromFormat('U', $this->expires, new \DateTimeZone('GMT')); if ($dateTime === false) { + // this throw will provoke PHP fatal throw new \UnexpectedValueException(sprintf('The cookie expiration time "%s" is not valid.'), $this->expires); } diff --git a/core/vendor/symfony/browser-kit/Symfony/Component/BrowserKit/composer.json b/core/vendor/symfony/browser-kit/Symfony/Component/BrowserKit/composer.json index 4c98b0aa5c3c1e22f4271db3899d2a95334b6ad9..343ecd3a33d06264ad326585a87b2e43a8307e80 100644 --- a/core/vendor/symfony/browser-kit/Symfony/Component/BrowserKit/composer.json +++ b/core/vendor/symfony/browser-kit/Symfony/Component/BrowserKit/composer.json @@ -3,7 +3,7 @@ "type": "library", "description": "Symfony BrowserKit Component", "keywords": [], - "homepage": "http://symfony.com", + "homepage": "https://symfony.com", "license": "MIT", "authors": [ { @@ -12,7 +12,7 @@ }, { "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" + "homepage": "https://symfony.com/contributors" } ], "require": { diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/ApcClassLoader.php b/core/vendor/symfony/class-loader/ApcClassLoader.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/ApcClassLoader.php rename to core/vendor/symfony/class-loader/ApcClassLoader.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/ApcUniversalClassLoader.php b/core/vendor/symfony/class-loader/ApcUniversalClassLoader.php similarity index 90% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/ApcUniversalClassLoader.php rename to core/vendor/symfony/class-loader/ApcUniversalClassLoader.php index 65b7b10b239bd8a8834fb276322a4b3bbc6e0077..dd95413caf1005ece32a726cbced877e321cc92b 100644 --- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/ApcUniversalClassLoader.php +++ b/core/vendor/symfony/class-loader/ApcUniversalClassLoader.php @@ -11,6 +11,8 @@ namespace Symfony\Component\ClassLoader; +trigger_error('The '.__NAMESPACE__.'\ApcUniversalClassLoader class is deprecated since version 2.7 and will be removed in 3.0. Use the Symfony\Component\ClassLoader\ApcClassLoader class instead.', E_USER_DEPRECATED); + /** * ApcUniversalClassLoader implements a "universal" autoloader cached in APC for PHP 5.3. * @@ -60,7 +62,8 @@ * * @api * - * @deprecated Deprecated since version 2.4, to be removed in 3.0. Use the ApcClassLoader class instead. + * @deprecated since version 2.4, to be removed in 3.0. + * Use the {@link ClassLoader} class instead. */ class ApcUniversalClassLoader extends UniversalClassLoader { diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/CHANGELOG.md b/core/vendor/symfony/class-loader/CHANGELOG.md similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/CHANGELOG.md rename to core/vendor/symfony/class-loader/CHANGELOG.md diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/ClassCollectionLoader.php b/core/vendor/symfony/class-loader/ClassCollectionLoader.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/ClassCollectionLoader.php rename to core/vendor/symfony/class-loader/ClassCollectionLoader.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/ClassLoader.php b/core/vendor/symfony/class-loader/ClassLoader.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/ClassLoader.php rename to core/vendor/symfony/class-loader/ClassLoader.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/ClassMapGenerator.php b/core/vendor/symfony/class-loader/ClassMapGenerator.php similarity index 98% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/ClassMapGenerator.php rename to core/vendor/symfony/class-loader/ClassMapGenerator.php index 4c2aeab3ac79a028db9acc0d6872072696a1dbd2..112bee87bddce25a0fcb1401502ca42ef3bf44a3 100644 --- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/ClassMapGenerator.php +++ b/core/vendor/symfony/class-loader/ClassMapGenerator.php @@ -95,7 +95,7 @@ private static function findClasses($path) $classes = array(); $namespace = ''; - for ($i = 0, $max = count($tokens); $i < $max; $i++) { + for ($i = 0, $max = count($tokens); $i < $max; ++$i) { $token = $tokens[$i]; if (is_string($token)) { diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/DebugClassLoader.php b/core/vendor/symfony/class-loader/DebugClassLoader.php similarity index 90% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/DebugClassLoader.php rename to core/vendor/symfony/class-loader/DebugClassLoader.php index 897919b20ae2178836154e7d3638e2fc3e627974..351869928c247e90b529a6a1f7259ed83a953b9a 100644 --- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/DebugClassLoader.php +++ b/core/vendor/symfony/class-loader/DebugClassLoader.php @@ -11,6 +11,8 @@ namespace Symfony\Component\ClassLoader; +trigger_error('The '.__NAMESPACE__.'\DebugClassLoader class is deprecated since version 2.4 and will be removed in 3.0. Use the Symfony\Component\Debug\DebugClassLoader class instead.', E_USER_DEPRECATED); + /** * Autoloader checking if the class is really defined in the file found. * @@ -23,7 +25,8 @@ * * @api * - * @deprecated Deprecated since version 2.4, to be removed in 3.0. Use the DebugClassLoader provided by the Debug component instead. + * @deprecated since version 2.4, to be removed in 3.0. + * Use {@link \Symfony\Component\Debug\DebugClassLoader} instead. */ class DebugClassLoader { diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/DebugUniversalClassLoader.php b/core/vendor/symfony/class-loader/DebugUniversalClassLoader.php similarity index 85% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/DebugUniversalClassLoader.php rename to core/vendor/symfony/class-loader/DebugUniversalClassLoader.php index 40d847c17858335ec640dd05de4e27913c1d4d42..2a102dbbf423b983e183cbea44504575ab769b8c 100644 --- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/DebugUniversalClassLoader.php +++ b/core/vendor/symfony/class-loader/DebugUniversalClassLoader.php @@ -11,12 +11,15 @@ namespace Symfony\Component\ClassLoader; +trigger_error('The '.__NAMESPACE__.'\DebugUniversalClassLoader class is deprecated since version 2.4 and will be removed in 3.0. Use the Symfony\Component\Debug\DebugClassLoader class instead.', E_USER_DEPRECATED); + /** * Checks that the class is actually declared in the included file. * * @author Fabien Potencier <fabien@symfony.com> * - * @deprecated Deprecated since version 2.4, to be removed in 3.0. Use the DebugClassLoader provided by the Debug component instead. + * @deprecated since version 2.4, to be removed in 3.0. + * Use the {@link \Symfony\Component\Debug\DebugClassLoader} class instead. */ class DebugUniversalClassLoader extends UniversalClassLoader { diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/LICENSE b/core/vendor/symfony/class-loader/LICENSE similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/LICENSE rename to core/vendor/symfony/class-loader/LICENSE diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/MapClassLoader.php b/core/vendor/symfony/class-loader/MapClassLoader.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/MapClassLoader.php rename to core/vendor/symfony/class-loader/MapClassLoader.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Psr4ClassLoader.php b/core/vendor/symfony/class-loader/Psr4ClassLoader.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Psr4ClassLoader.php rename to core/vendor/symfony/class-loader/Psr4ClassLoader.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/README.md b/core/vendor/symfony/class-loader/README.md similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/README.md rename to core/vendor/symfony/class-loader/README.md diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/.gitignore b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/.gitignore deleted file mode 100644 index c49a5d8df5c6548379f00c77fe572a7217bce218..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -vendor/ -composer.lock -phpunit.xml diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/ClassCollectionLoaderTest.php b/core/vendor/symfony/class-loader/Tests/ClassCollectionLoaderTest.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/ClassCollectionLoaderTest.php rename to core/vendor/symfony/class-loader/Tests/ClassCollectionLoaderTest.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/ClassLoaderTest.php b/core/vendor/symfony/class-loader/Tests/ClassLoaderTest.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/ClassLoaderTest.php rename to core/vendor/symfony/class-loader/Tests/ClassLoaderTest.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/ClassMapGeneratorTest.php b/core/vendor/symfony/class-loader/Tests/ClassMapGeneratorTest.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/ClassMapGeneratorTest.php rename to core/vendor/symfony/class-loader/Tests/ClassMapGeneratorTest.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/Namespaced/Bar.php b/core/vendor/symfony/class-loader/Tests/Fixtures/Apc/Namespaced/Bar.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/Namespaced/Bar.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/Apc/Namespaced/Bar.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/Namespaced/Baz.php b/core/vendor/symfony/class-loader/Tests/Fixtures/Apc/Namespaced/Baz.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/Namespaced/Baz.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/Apc/Namespaced/Baz.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/Namespaced/Foo.php b/core/vendor/symfony/class-loader/Tests/Fixtures/Apc/Namespaced/Foo.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/Namespaced/Foo.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/Apc/Namespaced/Foo.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/Namespaced/FooBar.php b/core/vendor/symfony/class-loader/Tests/Fixtures/Apc/Namespaced/FooBar.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/Namespaced/FooBar.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/Apc/Namespaced/FooBar.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/Pearlike/Bar.php b/core/vendor/symfony/class-loader/Tests/Fixtures/Apc/Pearlike/Bar.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/Pearlike/Bar.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/Apc/Pearlike/Bar.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/Pearlike/Baz.php b/core/vendor/symfony/class-loader/Tests/Fixtures/Apc/Pearlike/Baz.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/Pearlike/Baz.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/Apc/Pearlike/Baz.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/Pearlike/Foo.php b/core/vendor/symfony/class-loader/Tests/Fixtures/Apc/Pearlike/Foo.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/Pearlike/Foo.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/Apc/Pearlike/Foo.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/alpha/Apc/ApcPrefixCollision/A/Bar.php b/core/vendor/symfony/class-loader/Tests/Fixtures/Apc/alpha/Apc/ApcPrefixCollision/A/Bar.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/alpha/Apc/ApcPrefixCollision/A/Bar.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/Apc/alpha/Apc/ApcPrefixCollision/A/Bar.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/alpha/Apc/ApcPrefixCollision/A/Foo.php b/core/vendor/symfony/class-loader/Tests/Fixtures/Apc/alpha/Apc/ApcPrefixCollision/A/Foo.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/alpha/Apc/ApcPrefixCollision/A/Foo.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/Apc/alpha/Apc/ApcPrefixCollision/A/Foo.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/alpha/Apc/NamespaceCollision/A/Bar.php b/core/vendor/symfony/class-loader/Tests/Fixtures/Apc/alpha/Apc/NamespaceCollision/A/Bar.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/alpha/Apc/NamespaceCollision/A/Bar.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/Apc/alpha/Apc/NamespaceCollision/A/Bar.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/alpha/Apc/NamespaceCollision/A/Foo.php b/core/vendor/symfony/class-loader/Tests/Fixtures/Apc/alpha/Apc/NamespaceCollision/A/Foo.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/alpha/Apc/NamespaceCollision/A/Foo.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/Apc/alpha/Apc/NamespaceCollision/A/Foo.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/beta/Apc/ApcPrefixCollision/A/B/Bar.php b/core/vendor/symfony/class-loader/Tests/Fixtures/Apc/beta/Apc/ApcPrefixCollision/A/B/Bar.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/beta/Apc/ApcPrefixCollision/A/B/Bar.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/Apc/beta/Apc/ApcPrefixCollision/A/B/Bar.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/beta/Apc/ApcPrefixCollision/A/B/Foo.php b/core/vendor/symfony/class-loader/Tests/Fixtures/Apc/beta/Apc/ApcPrefixCollision/A/B/Foo.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/beta/Apc/ApcPrefixCollision/A/B/Foo.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/Apc/beta/Apc/ApcPrefixCollision/A/B/Foo.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/beta/Apc/NamespaceCollision/A/B/Bar.php b/core/vendor/symfony/class-loader/Tests/Fixtures/Apc/beta/Apc/NamespaceCollision/A/B/Bar.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/beta/Apc/NamespaceCollision/A/B/Bar.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/Apc/beta/Apc/NamespaceCollision/A/B/Bar.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/beta/Apc/NamespaceCollision/A/B/Foo.php b/core/vendor/symfony/class-loader/Tests/Fixtures/Apc/beta/Apc/NamespaceCollision/A/B/Foo.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/beta/Apc/NamespaceCollision/A/B/Foo.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/Apc/beta/Apc/NamespaceCollision/A/B/Foo.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/fallback/Apc/Pearlike/FooBar.php b/core/vendor/symfony/class-loader/Tests/Fixtures/Apc/fallback/Apc/Pearlike/FooBar.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/fallback/Apc/Pearlike/FooBar.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/Apc/fallback/Apc/Pearlike/FooBar.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/fallback/Namespaced/FooBar.php b/core/vendor/symfony/class-loader/Tests/Fixtures/Apc/fallback/Namespaced/FooBar.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Apc/fallback/Namespaced/FooBar.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/Apc/fallback/Namespaced/FooBar.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/A.php b/core/vendor/symfony/class-loader/Tests/Fixtures/ClassesWithParents/A.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/A.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/ClassesWithParents/A.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/ATrait.php b/core/vendor/symfony/class-loader/Tests/Fixtures/ClassesWithParents/ATrait.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/ATrait.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/ClassesWithParents/ATrait.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/B.php b/core/vendor/symfony/class-loader/Tests/Fixtures/ClassesWithParents/B.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/B.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/ClassesWithParents/B.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/BTrait.php b/core/vendor/symfony/class-loader/Tests/Fixtures/ClassesWithParents/BTrait.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/BTrait.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/ClassesWithParents/BTrait.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/CInterface.php b/core/vendor/symfony/class-loader/Tests/Fixtures/ClassesWithParents/CInterface.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/CInterface.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/ClassesWithParents/CInterface.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/CTrait.php b/core/vendor/symfony/class-loader/Tests/Fixtures/ClassesWithParents/CTrait.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/CTrait.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/ClassesWithParents/CTrait.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/D.php b/core/vendor/symfony/class-loader/Tests/Fixtures/ClassesWithParents/D.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/D.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/ClassesWithParents/D.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/E.php b/core/vendor/symfony/class-loader/Tests/Fixtures/ClassesWithParents/E.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/E.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/ClassesWithParents/E.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/F.php b/core/vendor/symfony/class-loader/Tests/Fixtures/ClassesWithParents/F.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/F.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/ClassesWithParents/F.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/G.php b/core/vendor/symfony/class-loader/Tests/Fixtures/ClassesWithParents/G.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/G.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/ClassesWithParents/G.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/GInterface.php b/core/vendor/symfony/class-loader/Tests/Fixtures/ClassesWithParents/GInterface.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/ClassesWithParents/GInterface.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/ClassesWithParents/GInterface.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Namespaced/Bar.php b/core/vendor/symfony/class-loader/Tests/Fixtures/Namespaced/Bar.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Namespaced/Bar.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/Namespaced/Bar.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Namespaced/Baz.php b/core/vendor/symfony/class-loader/Tests/Fixtures/Namespaced/Baz.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Namespaced/Baz.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/Namespaced/Baz.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Namespaced/Foo.php b/core/vendor/symfony/class-loader/Tests/Fixtures/Namespaced/Foo.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Namespaced/Foo.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/Namespaced/Foo.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Namespaced/WithComments.php b/core/vendor/symfony/class-loader/Tests/Fixtures/Namespaced/WithComments.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Namespaced/WithComments.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/Namespaced/WithComments.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Namespaced2/Bar.php b/core/vendor/symfony/class-loader/Tests/Fixtures/Namespaced2/Bar.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Namespaced2/Bar.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/Namespaced2/Bar.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Namespaced2/Baz.php b/core/vendor/symfony/class-loader/Tests/Fixtures/Namespaced2/Baz.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Namespaced2/Baz.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/Namespaced2/Baz.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Namespaced2/Foo.php b/core/vendor/symfony/class-loader/Tests/Fixtures/Namespaced2/Foo.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Namespaced2/Foo.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/Namespaced2/Foo.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Pearlike/Bar.php b/core/vendor/symfony/class-loader/Tests/Fixtures/Pearlike/Bar.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Pearlike/Bar.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/Pearlike/Bar.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Pearlike/Baz.php b/core/vendor/symfony/class-loader/Tests/Fixtures/Pearlike/Baz.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Pearlike/Baz.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/Pearlike/Baz.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Pearlike/Foo.php b/core/vendor/symfony/class-loader/Tests/Fixtures/Pearlike/Foo.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Pearlike/Foo.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/Pearlike/Foo.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Pearlike/WithComments.php b/core/vendor/symfony/class-loader/Tests/Fixtures/Pearlike/WithComments.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Pearlike/WithComments.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/Pearlike/WithComments.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Pearlike2/Bar.php b/core/vendor/symfony/class-loader/Tests/Fixtures/Pearlike2/Bar.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Pearlike2/Bar.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/Pearlike2/Bar.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Pearlike2/Baz.php b/core/vendor/symfony/class-loader/Tests/Fixtures/Pearlike2/Baz.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Pearlike2/Baz.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/Pearlike2/Baz.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Pearlike2/Foo.php b/core/vendor/symfony/class-loader/Tests/Fixtures/Pearlike2/Foo.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/Pearlike2/Foo.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/Pearlike2/Foo.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/NamespaceCollision/A/Bar.php b/core/vendor/symfony/class-loader/Tests/Fixtures/alpha/NamespaceCollision/A/Bar.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/NamespaceCollision/A/Bar.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/alpha/NamespaceCollision/A/Bar.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/NamespaceCollision/A/Foo.php b/core/vendor/symfony/class-loader/Tests/Fixtures/alpha/NamespaceCollision/A/Foo.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/NamespaceCollision/A/Foo.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/alpha/NamespaceCollision/A/Foo.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/NamespaceCollision/C/Bar.php b/core/vendor/symfony/class-loader/Tests/Fixtures/alpha/NamespaceCollision/C/Bar.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/NamespaceCollision/C/Bar.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/alpha/NamespaceCollision/C/Bar.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/NamespaceCollision/C/Foo.php b/core/vendor/symfony/class-loader/Tests/Fixtures/alpha/NamespaceCollision/C/Foo.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/NamespaceCollision/C/Foo.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/alpha/NamespaceCollision/C/Foo.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/PrefixCollision/A/Bar.php b/core/vendor/symfony/class-loader/Tests/Fixtures/alpha/PrefixCollision/A/Bar.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/PrefixCollision/A/Bar.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/alpha/PrefixCollision/A/Bar.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/PrefixCollision/A/Foo.php b/core/vendor/symfony/class-loader/Tests/Fixtures/alpha/PrefixCollision/A/Foo.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/PrefixCollision/A/Foo.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/alpha/PrefixCollision/A/Foo.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/PrefixCollision/C/Bar.php b/core/vendor/symfony/class-loader/Tests/Fixtures/alpha/PrefixCollision/C/Bar.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/PrefixCollision/C/Bar.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/alpha/PrefixCollision/C/Bar.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/PrefixCollision/C/Foo.php b/core/vendor/symfony/class-loader/Tests/Fixtures/alpha/PrefixCollision/C/Foo.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/alpha/PrefixCollision/C/Foo.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/alpha/PrefixCollision/C/Foo.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/beta/NamespaceCollision/A/B/Bar.php b/core/vendor/symfony/class-loader/Tests/Fixtures/beta/NamespaceCollision/A/B/Bar.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/beta/NamespaceCollision/A/B/Bar.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/beta/NamespaceCollision/A/B/Bar.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/beta/NamespaceCollision/A/B/Foo.php b/core/vendor/symfony/class-loader/Tests/Fixtures/beta/NamespaceCollision/A/B/Foo.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/beta/NamespaceCollision/A/B/Foo.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/beta/NamespaceCollision/A/B/Foo.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/beta/NamespaceCollision/C/B/Bar.php b/core/vendor/symfony/class-loader/Tests/Fixtures/beta/NamespaceCollision/C/B/Bar.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/beta/NamespaceCollision/C/B/Bar.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/beta/NamespaceCollision/C/B/Bar.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/beta/NamespaceCollision/C/B/Foo.php b/core/vendor/symfony/class-loader/Tests/Fixtures/beta/NamespaceCollision/C/B/Foo.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/beta/NamespaceCollision/C/B/Foo.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/beta/NamespaceCollision/C/B/Foo.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/beta/PrefixCollision/A/B/Bar.php b/core/vendor/symfony/class-loader/Tests/Fixtures/beta/PrefixCollision/A/B/Bar.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/beta/PrefixCollision/A/B/Bar.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/beta/PrefixCollision/A/B/Bar.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/beta/PrefixCollision/A/B/Foo.php b/core/vendor/symfony/class-loader/Tests/Fixtures/beta/PrefixCollision/A/B/Foo.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/beta/PrefixCollision/A/B/Foo.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/beta/PrefixCollision/A/B/Foo.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/beta/PrefixCollision/C/B/Bar.php b/core/vendor/symfony/class-loader/Tests/Fixtures/beta/PrefixCollision/C/B/Bar.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/beta/PrefixCollision/C/B/Bar.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/beta/PrefixCollision/C/B/Bar.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/beta/PrefixCollision/C/B/Foo.php b/core/vendor/symfony/class-loader/Tests/Fixtures/beta/PrefixCollision/C/B/Foo.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/beta/PrefixCollision/C/B/Foo.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/beta/PrefixCollision/C/B/Foo.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/SomeClass.php b/core/vendor/symfony/class-loader/Tests/Fixtures/classmap/SomeClass.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/SomeClass.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/classmap/SomeClass.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/SomeInterface.php b/core/vendor/symfony/class-loader/Tests/Fixtures/classmap/SomeInterface.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/SomeInterface.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/classmap/SomeInterface.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/SomeParent.php b/core/vendor/symfony/class-loader/Tests/Fixtures/classmap/SomeParent.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/SomeParent.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/classmap/SomeParent.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/multipleNs.php b/core/vendor/symfony/class-loader/Tests/Fixtures/classmap/multipleNs.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/multipleNs.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/classmap/multipleNs.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/notAClass.php b/core/vendor/symfony/class-loader/Tests/Fixtures/classmap/notAClass.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/notAClass.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/classmap/notAClass.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/notPhpFile.md b/core/vendor/symfony/class-loader/Tests/Fixtures/classmap/notPhpFile.md similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/notPhpFile.md rename to core/vendor/symfony/class-loader/Tests/Fixtures/classmap/notPhpFile.md diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/sameNsMultipleClasses.php b/core/vendor/symfony/class-loader/Tests/Fixtures/classmap/sameNsMultipleClasses.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/classmap/sameNsMultipleClasses.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/classmap/sameNsMultipleClasses.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/deps/traits.php b/core/vendor/symfony/class-loader/Tests/Fixtures/deps/traits.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/deps/traits.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/deps/traits.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/fallback/Namespaced/FooBar.php b/core/vendor/symfony/class-loader/Tests/Fixtures/fallback/Namespaced/FooBar.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/fallback/Namespaced/FooBar.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/fallback/Namespaced/FooBar.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/fallback/Namespaced2/FooBar.php b/core/vendor/symfony/class-loader/Tests/Fixtures/fallback/Namespaced2/FooBar.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/fallback/Namespaced2/FooBar.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/fallback/Namespaced2/FooBar.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/fallback/Pearlike/FooBar.php b/core/vendor/symfony/class-loader/Tests/Fixtures/fallback/Pearlike/FooBar.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/fallback/Pearlike/FooBar.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/fallback/Pearlike/FooBar.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/fallback/Pearlike2/FooBar.php b/core/vendor/symfony/class-loader/Tests/Fixtures/fallback/Pearlike2/FooBar.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/fallback/Pearlike2/FooBar.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/fallback/Pearlike2/FooBar.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/includepath/Foo.php b/core/vendor/symfony/class-loader/Tests/Fixtures/includepath/Foo.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/includepath/Foo.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/includepath/Foo.php diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/php5.4/traits.php b/core/vendor/symfony/class-loader/Tests/Fixtures/php5.4/traits.php new file mode 100644 index 0000000000000000000000000000000000000000..ccdadaf0518f44a9f2a91a0425f3776a7a941ac0 --- /dev/null +++ b/core/vendor/symfony/class-loader/Tests/Fixtures/php5.4/traits.php @@ -0,0 +1,32 @@ +<?php + +namespace { + trait TFoo + { + } + + class CFoo + { + use TFoo; + } +} + +namespace Foo { + trait TBar + { + } + + interface IBar + { + } + + trait TFooBar + { + } + + class CBar implements IBar + { + use TBar; + use TFooBar; + } +} diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/psr-4/Class_With_Underscores.php b/core/vendor/symfony/class-loader/Tests/Fixtures/psr-4/Class_With_Underscores.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/psr-4/Class_With_Underscores.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/psr-4/Class_With_Underscores.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/psr-4/Foo.php b/core/vendor/symfony/class-loader/Tests/Fixtures/psr-4/Foo.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/psr-4/Foo.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/psr-4/Foo.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/psr-4/Lets/Go/Deeper/Class_With_Underscores.php b/core/vendor/symfony/class-loader/Tests/Fixtures/psr-4/Lets/Go/Deeper/Class_With_Underscores.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/psr-4/Lets/Go/Deeper/Class_With_Underscores.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/psr-4/Lets/Go/Deeper/Class_With_Underscores.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/psr-4/Lets/Go/Deeper/Foo.php b/core/vendor/symfony/class-loader/Tests/Fixtures/psr-4/Lets/Go/Deeper/Foo.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/psr-4/Lets/Go/Deeper/Foo.php rename to core/vendor/symfony/class-loader/Tests/Fixtures/psr-4/Lets/Go/Deeper/Foo.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/LegacyApcUniversalClassLoaderTest.php b/core/vendor/symfony/class-loader/Tests/LegacyApcUniversalClassLoaderTest.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/LegacyApcUniversalClassLoaderTest.php rename to core/vendor/symfony/class-loader/Tests/LegacyApcUniversalClassLoaderTest.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/LegacyUniversalClassLoaderTest.php b/core/vendor/symfony/class-loader/Tests/LegacyUniversalClassLoaderTest.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/LegacyUniversalClassLoaderTest.php rename to core/vendor/symfony/class-loader/Tests/LegacyUniversalClassLoaderTest.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Psr4ClassLoaderTest.php b/core/vendor/symfony/class-loader/Tests/Psr4ClassLoaderTest.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/Psr4ClassLoaderTest.php rename to core/vendor/symfony/class-loader/Tests/Psr4ClassLoaderTest.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/UniversalClassLoader.php b/core/vendor/symfony/class-loader/UniversalClassLoader.php similarity index 96% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/UniversalClassLoader.php rename to core/vendor/symfony/class-loader/UniversalClassLoader.php index b664cab7cb3d2cc23a97a8a57fccc6c1a448ffcb..781d3a29a931b7b81263aa2afeb2cc2aa854fa35 100644 --- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/UniversalClassLoader.php +++ b/core/vendor/symfony/class-loader/UniversalClassLoader.php @@ -11,6 +11,8 @@ namespace Symfony\Component\ClassLoader; +trigger_error('The '.__NAMESPACE__.'\UniversalClassLoader class is deprecated since version 2.7 and will be removed in 3.0. Use the Symfony\Component\ClassLoader\ClassLoader class instead.', E_USER_DEPRECATED); + /** * UniversalClassLoader implements a "universal" autoloader for PHP 5.3. * @@ -58,7 +60,8 @@ * * @api * - * @deprecated Deprecated since version 2.4, to be removed in 3.0. Use the ClassLoader class instead. + * @deprecated since version 2.4, to be removed in 3.0. + * Use the {@link ClassLoader} class instead. */ class UniversalClassLoader { diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/WinCacheClassLoader.php b/core/vendor/symfony/class-loader/WinCacheClassLoader.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/WinCacheClassLoader.php rename to core/vendor/symfony/class-loader/WinCacheClassLoader.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/XcacheClassLoader.php b/core/vendor/symfony/class-loader/XcacheClassLoader.php similarity index 100% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/XcacheClassLoader.php rename to core/vendor/symfony/class-loader/XcacheClassLoader.php diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/composer.json b/core/vendor/symfony/class-loader/composer.json similarity index 68% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/composer.json rename to core/vendor/symfony/class-loader/composer.json index 7599de34d9bb84a6dbb54e2e430d532cd6c4405a..6d011b508255499254eb3f54c8f7de05fef17b1f 100644 --- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/composer.json +++ b/core/vendor/symfony/class-loader/composer.json @@ -3,7 +3,7 @@ "type": "library", "description": "Symfony ClassLoader Component", "keywords": [], - "homepage": "http://symfony.com", + "homepage": "https://symfony.com", "license": "MIT", "authors": [ { @@ -12,24 +12,23 @@ }, { "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" + "homepage": "https://symfony.com/contributors" } ], "minimum-stability": "dev", "require": { - "php": ">=5.3.3" + "php": ">=5.3.9" }, "require-dev": { "symfony/phpunit-bridge": "~2.7", "symfony/finder": "~2.0,>=2.0.5" }, "autoload": { - "psr-0": { "Symfony\\Component\\ClassLoader\\": "" } + "psr-4": { "Symfony\\Component\\ClassLoader\\": "" } }, - "target-dir": "Symfony/Component/ClassLoader", "extra": { "branch-alias": { - "dev-master": "2.6-dev" + "dev-master": "2.7-dev" } } } diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/phpunit.xml.dist b/core/vendor/symfony/class-loader/phpunit.xml.dist similarity index 99% rename from core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/phpunit.xml.dist rename to core/vendor/symfony/class-loader/phpunit.xml.dist index a1b6c82c10161cc643cb5c209fb34996bc60697e..4856db5be65d10493e2a3ab6c8eacc8dd1ddb59f 100644 --- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/phpunit.xml.dist +++ b/core/vendor/symfony/class-loader/phpunit.xml.dist @@ -9,6 +9,7 @@ <php> <ini name="error_reporting" value="-1" /> </php> + <testsuites> <testsuite name="Symfony ClassLoader Component Test Suite"> <directory>./Tests/</directory> diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Application.php b/core/vendor/symfony/console/Application.php similarity index 98% rename from core/vendor/symfony/console/Symfony/Component/Console/Application.php rename to core/vendor/symfony/console/Application.php index 571682e13758fda5925018bfa318a4d2dc4510ae..11ac33378f712e264384a3d4efdb6188c4610ee4 100644 --- a/core/vendor/symfony/console/Symfony/Component/Console/Application.php +++ b/core/vendor/symfony/console/Application.php @@ -624,10 +624,12 @@ public static function getAbbreviations($names) * * @return string A string representing the Application * - * @deprecated Deprecated since version 2.3, to be removed in 3.0. + * @deprecated since version 2.3, to be removed in 3.0. */ public function asText($namespace = null, $raw = false) { + trigger_error('The '.__METHOD__.' method is deprecated since version 2.3 and will be removed in 3.0.', E_USER_DEPRECATED); + $descriptor = new TextDescriptor(); $output = new BufferedOutput(BufferedOutput::VERBOSITY_NORMAL, !$raw); $descriptor->describe($output, $this, array('namespace' => $namespace, 'raw_output' => true)); @@ -643,10 +645,12 @@ public function asText($namespace = null, $raw = false) * * @return string|\DOMDocument An XML string representing the Application * - * @deprecated Deprecated since version 2.3, to be removed in 3.0. + * @deprecated since version 2.3, to be removed in 3.0. */ public function asXml($namespace = null, $asDom = false) { + trigger_error('The '.__METHOD__.' method is deprecated since version 2.3 and will be removed in 3.0.', E_USER_DEPRECATED); + $descriptor = new XmlDescriptor(); if ($asDom) { @@ -950,9 +954,9 @@ protected function getDefaultHelperSet() { return new HelperSet(array( new FormatterHelper(), - new DialogHelper(), - new ProgressHelper(), - new TableHelper(), + new DialogHelper(false), + new ProgressHelper(false), + new TableHelper(false), new DebugFormatterHelper(), new ProcessHelper(), new QuestionHelper(), diff --git a/core/vendor/symfony/console/Symfony/Component/Console/CHANGELOG.md b/core/vendor/symfony/console/CHANGELOG.md similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/CHANGELOG.md rename to core/vendor/symfony/console/CHANGELOG.md diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Command/Command.php b/core/vendor/symfony/console/Command/Command.php similarity index 92% rename from core/vendor/symfony/console/Symfony/Component/Console/Command/Command.php rename to core/vendor/symfony/console/Command/Command.php index 20dd85bf5f46b7c48f1c3b54da97df4f7d03734c..02e207eac775cc1ea1bee6d913473df1665c8c6c 100644 --- a/core/vendor/symfony/console/Symfony/Component/Console/Command/Command.php +++ b/core/vendor/symfony/console/Command/Command.php @@ -42,7 +42,8 @@ class Command private $applicationDefinitionMerged = false; private $applicationDefinitionMergedWithArgs = false; private $code; - private $synopsis; + private $synopsis = array(); + private $usages = array(); private $helperSet; /** @@ -219,7 +220,8 @@ protected function initialize(InputInterface $input, OutputInterface $output) public function run(InputInterface $input, OutputInterface $output) { // force the creation of the synopsis before the merge with the app definition - $this->getSynopsis(); + $this->getSynopsis(true); + $this->getSynopsis(false); // add the application arguments and options $this->mergeApplicationDefinition(); @@ -577,15 +579,45 @@ public function getAliases() /** * Returns the synopsis for the command. * + * @param bool $short Whether to show the short version of the synopsis (with options folded) or not + * * @return string The synopsis */ - public function getSynopsis() + public function getSynopsis($short = false) + { + $key = $short ? 'short' : 'long'; + + if (!isset($this->synopsis[$key])) { + $this->synopsis[$key] = trim(sprintf('%s %s', $this->name, $this->definition->getSynopsis($short))); + } + + return $this->synopsis[$key]; + } + + /** + * Add a command usage example. + * + * @param string $usage The usage, it'll be prefixed with the command name + */ + public function addUsage($usage) { - if (null === $this->synopsis) { - $this->synopsis = trim(sprintf('%s %s', $this->name, $this->definition->getSynopsis())); + if (0 !== strpos($usage, $this->name)) { + $usage = sprintf('%s %s', $this->name, $usage); } - return $this->synopsis; + $this->usages[] = $usage; + + return $this; + } + + /** + * Returns alternative usages of the command. + * + * @return array + */ + public function getUsages() + { + return $this->usages; } /** @@ -609,10 +641,12 @@ public function getHelper($name) * * @return string A string representing the command * - * @deprecated Deprecated since version 2.3, to be removed in 3.0. + * @deprecated since version 2.3, to be removed in 3.0. */ public function asText() { + trigger_error('The '.__METHOD__.' method is deprecated since version 2.3 and will be removed in 3.0.', E_USER_DEPRECATED); + $descriptor = new TextDescriptor(); $output = new BufferedOutput(BufferedOutput::VERBOSITY_NORMAL, true); $descriptor->describe($output, $this, array('raw_output' => true)); @@ -627,10 +661,12 @@ public function asText() * * @return string|\DOMDocument An XML string representing the command * - * @deprecated Deprecated since version 2.3, to be removed in 3.0. + * @deprecated since version 2.3, to be removed in 3.0. */ public function asXml($asDom = false) { + trigger_error('The '.__METHOD__.' method is deprecated since version 2.3 and will be removed in 3.0.', E_USER_DEPRECATED); + $descriptor = new XmlDescriptor(); if ($asDom) { diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Command/HelpCommand.php b/core/vendor/symfony/console/Command/HelpCommand.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Command/HelpCommand.php rename to core/vendor/symfony/console/Command/HelpCommand.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Command/ListCommand.php b/core/vendor/symfony/console/Command/ListCommand.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Command/ListCommand.php rename to core/vendor/symfony/console/Command/ListCommand.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/ConsoleEvents.php b/core/vendor/symfony/console/ConsoleEvents.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/ConsoleEvents.php rename to core/vendor/symfony/console/ConsoleEvents.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Descriptor/ApplicationDescription.php b/core/vendor/symfony/console/Descriptor/ApplicationDescription.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Descriptor/ApplicationDescription.php rename to core/vendor/symfony/console/Descriptor/ApplicationDescription.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Descriptor/Descriptor.php b/core/vendor/symfony/console/Descriptor/Descriptor.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Descriptor/Descriptor.php rename to core/vendor/symfony/console/Descriptor/Descriptor.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Descriptor/DescriptorInterface.php b/core/vendor/symfony/console/Descriptor/DescriptorInterface.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Descriptor/DescriptorInterface.php rename to core/vendor/symfony/console/Descriptor/DescriptorInterface.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Descriptor/JsonDescriptor.php b/core/vendor/symfony/console/Descriptor/JsonDescriptor.php similarity index 94% rename from core/vendor/symfony/console/Symfony/Component/Console/Descriptor/JsonDescriptor.php rename to core/vendor/symfony/console/Descriptor/JsonDescriptor.php index 13785a40fe615e463b27fd7b0eba0416c93c6863..8649d3ac456f393535bd8b84d858defc7afa2c7c 100644 --- a/core/vendor/symfony/console/Symfony/Component/Console/Descriptor/JsonDescriptor.php +++ b/core/vendor/symfony/console/Descriptor/JsonDescriptor.php @@ -102,7 +102,7 @@ private function getInputArgumentData(InputArgument $argument) 'name' => $argument->getName(), 'is_required' => $argument->isRequired(), 'is_array' => $argument->isArray(), - 'description' => $argument->getDescription(), + 'description' => preg_replace('/\s*\R\s*/', ' ', $argument->getDescription()), 'default' => $argument->getDefault(), ); } @@ -120,7 +120,7 @@ private function getInputOptionData(InputOption $option) 'accept_value' => $option->acceptValue(), 'is_value_required' => $option->isValueRequired(), 'is_multiple' => $option->isArray(), - 'description' => $option->getDescription(), + 'description' => preg_replace('/\s*\R\s*/', ' ', $option->getDescription()), 'default' => $option->getDefault(), ); } @@ -157,10 +157,9 @@ private function getCommandData(Command $command) return array( 'name' => $command->getName(), - 'usage' => $command->getSynopsis(), + 'usage' => array_merge(array($command->getSynopsis()), $command->getUsages(), $command->getAliases()), 'description' => $command->getDescription(), 'help' => $command->getProcessedHelp(), - 'aliases' => $command->getAliases(), 'definition' => $this->getInputDefinitionData($command->getNativeDefinition()), ); } diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Descriptor/MarkdownDescriptor.php b/core/vendor/symfony/console/Descriptor/MarkdownDescriptor.php similarity index 89% rename from core/vendor/symfony/console/Symfony/Component/Console/Descriptor/MarkdownDescriptor.php rename to core/vendor/symfony/console/Descriptor/MarkdownDescriptor.php index 78d48b9508be59dbda5b9edabf29e9cfd8237242..10f05168d47d017dafad10524892b3ce5922c738 100644 --- a/core/vendor/symfony/console/Symfony/Component/Console/Descriptor/MarkdownDescriptor.php +++ b/core/vendor/symfony/console/Descriptor/MarkdownDescriptor.php @@ -36,7 +36,7 @@ protected function describeInputArgument(InputArgument $argument, array $options .'* Name: '.($argument->getName() ?: '<none>')."\n" .'* Is required: '.($argument->isRequired() ? 'yes' : 'no')."\n" .'* Is array: '.($argument->isArray() ? 'yes' : 'no')."\n" - .'* Description: '.($argument->getDescription() ?: '<none>')."\n" + .'* Description: '.preg_replace('/\s*\R\s*/', PHP_EOL.' ', $argument->getDescription() ?: '<none>')."\n" .'* Default: `'.str_replace("\n", '', var_export($argument->getDefault(), true)).'`' ); } @@ -53,7 +53,7 @@ protected function describeInputOption(InputOption $option, array $options = arr .'* Accept value: '.($option->acceptValue() ? 'yes' : 'no')."\n" .'* Is value required: '.($option->isValueRequired() ? 'yes' : 'no')."\n" .'* Is multiple: '.($option->isArray() ? 'yes' : 'no')."\n" - .'* Description: '.($option->getDescription() ?: '<none>')."\n" + .'* Description: '.preg_replace('/\s*\R\s*/', PHP_EOL.' ', $option->getDescription() ?: '<none>')."\n" .'* Default: `'.str_replace("\n", '', var_export($option->getDefault(), true)).'`' ); } @@ -96,12 +96,14 @@ protected function describeCommand(Command $command, array $options = array()) $command->getName()."\n" .str_repeat('-', strlen($command->getName()))."\n\n" .'* Description: '.($command->getDescription() ?: '<none>')."\n" - .'* Usage: `'.$command->getSynopsis().'`'."\n" - .'* Aliases: '.(count($command->getAliases()) ? '`'.implode('`, `', $command->getAliases()).'`' : '<none>') + .'* Usage:'."\n\n" + .array_reduce(array_merge(array($command->getSynopsis()), $command->getAliases(), $command->getUsages()), function ($carry, $usage) { + return $carry .= ' * `'.$usage.'`'."\n"; + }) ); if ($help = $command->getProcessedHelp()) { - $this->write("\n\n"); + $this->write("\n"); $this->write($help); } diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Descriptor/TextDescriptor.php b/core/vendor/symfony/console/Descriptor/TextDescriptor.php similarity index 63% rename from core/vendor/symfony/console/Symfony/Component/Console/Descriptor/TextDescriptor.php rename to core/vendor/symfony/console/Descriptor/TextDescriptor.php index fcc4411b5e603ce3e50b5f8966a7c781a6befe21..0824463fce96baa01ed942933a5af6b0624c21e8 100644 --- a/core/vendor/symfony/console/Symfony/Component/Console/Descriptor/TextDescriptor.php +++ b/core/vendor/symfony/console/Descriptor/TextDescriptor.php @@ -32,16 +32,19 @@ class TextDescriptor extends Descriptor protected function describeInputArgument(InputArgument $argument, array $options = array()) { if (null !== $argument->getDefault() && (!is_array($argument->getDefault()) || count($argument->getDefault()))) { - $default = sprintf('<comment> (default: %s)</comment>', $this->formatDefaultValue($argument->getDefault())); + $default = sprintf('<comment> [default: %s]</comment>', $this->formatDefaultValue($argument->getDefault())); } else { $default = ''; } - $nameWidth = isset($options['name_width']) ? $options['name_width'] : strlen($argument->getName()); + $totalWidth = isset($options['total_width']) ? $options['total_width'] : strlen($argument->getName()); + $spacingWidth = $totalWidth - strlen($argument->getName()) + 2; - $this->writeText(sprintf(" <info>%-${nameWidth}s</info> %s%s", + $this->writeText(sprintf(" <info>%s</info>%s%s%s", $argument->getName(), - str_replace("\n", "\n".str_repeat(' ', $nameWidth + 2), $argument->getDescription()), + str_repeat(' ', $spacingWidth), + // + 17 = 2 spaces + <info> + </info> + 2 spaces + preg_replace('/\s*\R\s*/', PHP_EOL.str_repeat(' ', $totalWidth + 17), $argument->getDescription()), $default ), $options); } @@ -52,18 +55,33 @@ protected function describeInputArgument(InputArgument $argument, array $options protected function describeInputOption(InputOption $option, array $options = array()) { if ($option->acceptValue() && null !== $option->getDefault() && (!is_array($option->getDefault()) || count($option->getDefault()))) { - $default = sprintf('<comment> (default: %s)</comment>', $this->formatDefaultValue($option->getDefault())); + $default = sprintf('<comment> [default: %s]</comment>', $this->formatDefaultValue($option->getDefault())); } else { $default = ''; } - $nameWidth = isset($options['name_width']) ? $options['name_width'] : strlen($option->getName()); - $nameWithShortcutWidth = $nameWidth - strlen($option->getName()) - 2; + $value = ''; + if ($option->acceptValue()) { + $value = '='.strtoupper($option->getName()); - $this->writeText(sprintf(" <info>%s</info> %-${nameWithShortcutWidth}s%s%s%s", - '--'.$option->getName(), - $option->getShortcut() ? sprintf('(-%s) ', $option->getShortcut()) : '', - str_replace("\n", "\n".str_repeat(' ', $nameWidth + 2), $option->getDescription()), + if ($option->isValueOptional()) { + $value = '['.$value.']'; + } + } + + $totalWidth = isset($options['total_width']) ? $options['total_width'] : $this->calculateTotalWidthForOptions(array($option)); + $synopsis = sprintf('%s%s', + $option->getShortcut() ? sprintf('-%s, ', $option->getShortcut()) : ' ', + sprintf('--%s%s', $option->getName(), $value) + ); + + $spacingWidth = $totalWidth - strlen($synopsis) + 2; + + $this->writeText(sprintf(" <info>%s</info>%s%s%s%s", + $synopsis, + str_repeat(' ', $spacingWidth), + // + 17 = 2 spaces + <info> + </info> + 2 spaces + preg_replace('/\s*\R\s*/', "\n".str_repeat(' ', $totalWidth + 17), $option->getDescription()), $default, $option->isArray() ? '<comment> (multiple values allowed)</comment>' : '' ), $options); @@ -74,24 +92,16 @@ protected function describeInputOption(InputOption $option, array $options = arr */ protected function describeInputDefinition(InputDefinition $definition, array $options = array()) { - $nameWidth = 0; - foreach ($definition->getOptions() as $option) { - $nameLength = strlen($option->getName()) + 2; - if ($option->getShortcut()) { - $nameLength += strlen($option->getShortcut()) + 3; - } - $nameWidth = max($nameWidth, $nameLength); - } + $totalWidth = $this->calculateTotalWidthForOptions($definition->getOptions()); foreach ($definition->getArguments() as $argument) { - $nameWidth = max($nameWidth, strlen($argument->getName())); + $totalWidth = max($totalWidth, strlen($argument->getName())); } - ++$nameWidth; if ($definition->getArguments()) { $this->writeText('<comment>Arguments:</comment>', $options); $this->writeText("\n"); foreach ($definition->getArguments() as $argument) { - $this->describeInputArgument($argument, array_merge($options, array('name_width' => $nameWidth))); + $this->describeInputArgument($argument, array_merge($options, array('total_width' => $totalWidth))); $this->writeText("\n"); } } @@ -101,11 +111,20 @@ protected function describeInputDefinition(InputDefinition $definition, array $o } if ($definition->getOptions()) { + $laterOptions = array(); + $this->writeText('<comment>Options:</comment>', $options); - $this->writeText("\n"); foreach ($definition->getOptions() as $option) { - $this->describeInputOption($option, array_merge($options, array('name_width' => $nameWidth))); + if (strlen($option->getShortcut()) > 1) { + $laterOptions[] = $option; + continue; + } $this->writeText("\n"); + $this->describeInputOption($option, array_merge($options, array('total_width' => $totalWidth))); + } + foreach ($laterOptions as $option) { + $this->writeText("\n"); + $this->describeInputOption($option, array_merge($options, array('total_width' => $totalWidth))); } } } @@ -115,27 +134,26 @@ protected function describeInputDefinition(InputDefinition $definition, array $o */ protected function describeCommand(Command $command, array $options = array()) { - $command->getSynopsis(); + $command->getSynopsis(true); + $command->getSynopsis(false); $command->mergeApplicationDefinition(false); $this->writeText('<comment>Usage:</comment>', $options); - $this->writeText("\n"); - $this->writeText(' '.$command->getSynopsis(), $options); - $this->writeText("\n"); - - if (count($command->getAliases()) > 0) { + foreach (array_merge(array($command->getSynopsis(true)), $command->getAliases(), $command->getUsages()) as $usage) { $this->writeText("\n"); - $this->writeText('<comment>Aliases:</comment> <info>'.implode(', ', $command->getAliases()).'</info>', $options); + $this->writeText(' '.$usage, $options); } + $this->writeText("\n"); - if ($definition = $command->getNativeDefinition()) { + $definition = $command->getNativeDefinition(); + if ($definition->getOptions() || $definition->getArguments()) { $this->writeText("\n"); $this->describeInputDefinition($definition, $options); + $this->writeText("\n"); } - $this->writeText("\n"); - if ($help = $command->getProcessedHelp()) { + $this->writeText("\n"); $this->writeText('<comment>Help:</comment>', $options); $this->writeText("\n"); $this->writeText(' '.str_replace("\n", "\n ", $help), $options); @@ -164,27 +182,12 @@ protected function describeApplication(Application $application, array $options } $this->writeText("<comment>Usage:</comment>\n", $options); - $this->writeText(" command [options] [arguments]\n\n", $options); - $this->writeText('<comment>Options:</comment>', $options); - - $inputOptions = $application->getDefinition()->getOptions(); - - $width = 0; - foreach ($inputOptions as $option) { - $nameLength = strlen($option->getName()) + 2; - if ($option->getShortcut()) { - $nameLength += strlen($option->getShortcut()) + 3; - } - $width = max($width, $nameLength); - } - ++$width; + $this->writeText(" command [options] [arguments]\n\n", $options); - foreach ($inputOptions as $option) { - $this->writeText("\n", $options); - $this->describeInputOption($option, array_merge($options, array('name_width' => $width))); - } + $this->describeInputDefinition(new InputDefinition($application->getDefinition()->getOptions()), $options); - $this->writeText("\n\n", $options); + $this->writeText("\n"); + $this->writeText("\n"); $width = $this->getColumnWidth($description->getCommands()); @@ -198,12 +201,13 @@ protected function describeApplication(Application $application, array $options foreach ($description->getNamespaces() as $namespace) { if (!$describedNamespace && ApplicationDescription::GLOBAL_NAMESPACE !== $namespace['id']) { $this->writeText("\n"); - $this->writeText('<comment>'.$namespace['id'].'</comment>', $options); + $this->writeText(' <comment>'.$namespace['id'].'</comment>', $options); } foreach ($namespace['commands'] as $name) { $this->writeText("\n"); - $this->writeText(sprintf(" <info>%-${width}s</info> %s", $name, $description->getCommand($name)->getDescription()), $options); + $spacingWidth = $width - strlen($name); + $this->writeText(sprintf(" <info>%s</info>%s%s", $name, str_repeat(' ', $spacingWidth), $description->getCommand($name)->getDescription()), $options); } } @@ -252,4 +256,27 @@ private function getColumnWidth(array $commands) return $width + 2; } + + /** + * @param InputOption[] $options + * + * @return int + */ + private function calculateTotalWidthForOptions($options) + { + $totalWidth = 0; + foreach ($options as $option) { + $nameLength = 4 + strlen($option->getName()) + 2; // - + shortcut + , + whitespace + name + -- + + if ($option->acceptValue()) { + $valueLength = 1 + strlen($option->getName()); // = + value + $valueLength += $option->isValueOptional() ? 2 : 0; // [ + ] + + $nameLength += $valueLength; + } + $totalWidth = max($totalWidth, $nameLength); + } + + return $totalWidth; + } } diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Descriptor/XmlDescriptor.php b/core/vendor/symfony/console/Descriptor/XmlDescriptor.php similarity index 95% rename from core/vendor/symfony/console/Symfony/Component/Console/Descriptor/XmlDescriptor.php rename to core/vendor/symfony/console/Descriptor/XmlDescriptor.php index 5054686697a236e8b9afe85fe6eff44555e1524d..b5676beb3766fcff81419c6ef36e9e7d6c99dcfe 100644 --- a/core/vendor/symfony/console/Symfony/Component/Console/Descriptor/XmlDescriptor.php +++ b/core/vendor/symfony/console/Descriptor/XmlDescriptor.php @@ -65,8 +65,11 @@ public function getCommandDocument(Command $command) $commandXML->setAttribute('id', $command->getName()); $commandXML->setAttribute('name', $command->getName()); - $commandXML->appendChild($usageXML = $dom->createElement('usage')); - $usageXML->appendChild($dom->createTextNode(sprintf($command->getSynopsis(), ''))); + $commandXML->appendChild($usagesXML = $dom->createElement('usages')); + + foreach (array_merge(array($command->getSynopsis()), $command->getAliases(), $command->getUsages()) as $usage) { + $usagesXML->appendChild($dom->createElement('usage', $usage)); + } $commandXML->appendChild($descriptionXML = $dom->createElement('description')); $descriptionXML->appendChild($dom->createTextNode(str_replace("\n", "\n ", $command->getDescription()))); @@ -74,12 +77,6 @@ public function getCommandDocument(Command $command) $commandXML->appendChild($helpXML = $dom->createElement('help')); $helpXML->appendChild($dom->createTextNode(str_replace("\n", "\n ", $command->getProcessedHelp()))); - $commandXML->appendChild($aliasesXML = $dom->createElement('aliases')); - foreach ($command->getAliases() as $alias) { - $aliasesXML->appendChild($aliasXML = $dom->createElement('alias')); - $aliasXML->appendChild($dom->createTextNode($alias)); - } - $definitionXML = $this->getInputDefinitionDocument($command->getNativeDefinition()); $this->appendDocument($commandXML, $definitionXML->getElementsByTagName('definition')->item(0)); diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Event/ConsoleCommandEvent.php b/core/vendor/symfony/console/Event/ConsoleCommandEvent.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Event/ConsoleCommandEvent.php rename to core/vendor/symfony/console/Event/ConsoleCommandEvent.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Event/ConsoleEvent.php b/core/vendor/symfony/console/Event/ConsoleEvent.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Event/ConsoleEvent.php rename to core/vendor/symfony/console/Event/ConsoleEvent.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Event/ConsoleExceptionEvent.php b/core/vendor/symfony/console/Event/ConsoleExceptionEvent.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Event/ConsoleExceptionEvent.php rename to core/vendor/symfony/console/Event/ConsoleExceptionEvent.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Event/ConsoleTerminateEvent.php b/core/vendor/symfony/console/Event/ConsoleTerminateEvent.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Event/ConsoleTerminateEvent.php rename to core/vendor/symfony/console/Event/ConsoleTerminateEvent.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Formatter/OutputFormatter.php b/core/vendor/symfony/console/Formatter/OutputFormatter.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Formatter/OutputFormatter.php rename to core/vendor/symfony/console/Formatter/OutputFormatter.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Formatter/OutputFormatterInterface.php b/core/vendor/symfony/console/Formatter/OutputFormatterInterface.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Formatter/OutputFormatterInterface.php rename to core/vendor/symfony/console/Formatter/OutputFormatterInterface.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Formatter/OutputFormatterStyle.php b/core/vendor/symfony/console/Formatter/OutputFormatterStyle.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Formatter/OutputFormatterStyle.php rename to core/vendor/symfony/console/Formatter/OutputFormatterStyle.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Formatter/OutputFormatterStyleInterface.php b/core/vendor/symfony/console/Formatter/OutputFormatterStyleInterface.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Formatter/OutputFormatterStyleInterface.php rename to core/vendor/symfony/console/Formatter/OutputFormatterStyleInterface.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Formatter/OutputFormatterStyleStack.php b/core/vendor/symfony/console/Formatter/OutputFormatterStyleStack.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Formatter/OutputFormatterStyleStack.php rename to core/vendor/symfony/console/Formatter/OutputFormatterStyleStack.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Helper/DebugFormatterHelper.php b/core/vendor/symfony/console/Helper/DebugFormatterHelper.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Helper/DebugFormatterHelper.php rename to core/vendor/symfony/console/Helper/DebugFormatterHelper.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Helper/DescriptorHelper.php b/core/vendor/symfony/console/Helper/DescriptorHelper.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Helper/DescriptorHelper.php rename to core/vendor/symfony/console/Helper/DescriptorHelper.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Helper/DialogHelper.php b/core/vendor/symfony/console/Helper/DialogHelper.php similarity index 97% rename from core/vendor/symfony/console/Symfony/Component/Console/Helper/DialogHelper.php rename to core/vendor/symfony/console/Helper/DialogHelper.php index 4b5c86d67d84569cd32e50dc44e7d886f4755070..ebac99c9e33437e4c8eb1a6b58e8a884d6743c00 100644 --- a/core/vendor/symfony/console/Symfony/Component/Console/Helper/DialogHelper.php +++ b/core/vendor/symfony/console/Helper/DialogHelper.php @@ -19,8 +19,8 @@ * * @author Fabien Potencier <fabien@symfony.com> * - * @deprecated Deprecated since version 2.5, to be removed in 3.0. - * Use the question helper instead. + * @deprecated since version 2.5, to be removed in 3.0. + * Use {@link \Symfony\Component\Console\Helper\QuestionHelper} instead. */ class DialogHelper extends InputAwareHelper { @@ -28,6 +28,13 @@ class DialogHelper extends InputAwareHelper private static $shell; private static $stty; + public function __construct($triggerDeprecationError = true) + { + if ($triggerDeprecationError) { + trigger_error('"Symfony\Component\Console\Helper\DialogHelper" is deprecated since version 2.5 and will be removed in 3.0. Use "Symfony\Component\Console\Helper\QuestionHelper" instead.', E_USER_DEPRECATED); + } + } + /** * Asks the user to select a value. * diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Helper/FormatterHelper.php b/core/vendor/symfony/console/Helper/FormatterHelper.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Helper/FormatterHelper.php rename to core/vendor/symfony/console/Helper/FormatterHelper.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Helper/Helper.php b/core/vendor/symfony/console/Helper/Helper.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Helper/Helper.php rename to core/vendor/symfony/console/Helper/Helper.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Helper/HelperInterface.php b/core/vendor/symfony/console/Helper/HelperInterface.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Helper/HelperInterface.php rename to core/vendor/symfony/console/Helper/HelperInterface.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Helper/HelperSet.php b/core/vendor/symfony/console/Helper/HelperSet.php similarity index 73% rename from core/vendor/symfony/console/Symfony/Component/Console/Helper/HelperSet.php rename to core/vendor/symfony/console/Helper/HelperSet.php index 467be86a85d75b31eb43b33c58a667d0b2689201..52a669d48542bf1f2f0e7143b972bef0d784b995 100644 --- a/core/vendor/symfony/console/Symfony/Component/Console/Helper/HelperSet.php +++ b/core/vendor/symfony/console/Helper/HelperSet.php @@ -78,6 +78,14 @@ public function get($name) throw new \InvalidArgumentException(sprintf('The helper "%s" is not defined.', $name)); } + if ('dialog' === $name && $this->helpers[$name] instanceof DialogHelper) { + trigger_error('"Symfony\Component\Console\Helper\DialogHelper" is deprecated since version 2.5 and will be removed in 3.0. Use "Symfony\Component\Console\Helper\QuestionHelper" instead.', E_USER_DEPRECATED); + } elseif ('progress' === $name && $this->helpers[$name] instanceof ProgressHelper) { + trigger_error('"Symfony\Component\Console\Helper\ProgressHelper" is deprecated since version 2.5 and will be removed in 3.0. Use "Symfony\Component\Console\Helper\ProgressBar" instead.', E_USER_DEPRECATED); + } elseif ('table' === $name && $this->helpers[$name] instanceof TableHelper) { + trigger_error('"Symfony\Component\Console\Helper\TableHelper" is deprecated since version 2.5 and will be removed in 3.0. Use "Symfony\Component\Console\Helper\Table" instead.', E_USER_DEPRECATED); + } + return $this->helpers[$name]; } diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Helper/InputAwareHelper.php b/core/vendor/symfony/console/Helper/InputAwareHelper.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Helper/InputAwareHelper.php rename to core/vendor/symfony/console/Helper/InputAwareHelper.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Helper/ProcessHelper.php b/core/vendor/symfony/console/Helper/ProcessHelper.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Helper/ProcessHelper.php rename to core/vendor/symfony/console/Helper/ProcessHelper.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Helper/ProgressBar.php b/core/vendor/symfony/console/Helper/ProgressBar.php similarity index 96% rename from core/vendor/symfony/console/Symfony/Component/Console/Helper/ProgressBar.php rename to core/vendor/symfony/console/Helper/ProgressBar.php index 893664e412f54b73d8979df4db9c15a343980ac2..ae1fdae88259d4b6b6917385eda0b2fc83991939 100644 --- a/core/vendor/symfony/console/Symfony/Component/Console/Helper/ProgressBar.php +++ b/core/vendor/symfony/console/Helper/ProgressBar.php @@ -171,12 +171,14 @@ public function getMaxSteps() /** * Gets the progress bar step. * - * @deprecated since 2.6, to be removed in 3.0. Use {@link getProgress()} instead. + * @deprecated since version 2.6, to be removed in 3.0. Use {@link getProgress()} instead. * * @return int The progress bar step */ public function getStep() { + trigger_error('The '.__METHOD__.' method is deprecated since version 2.6 and will be removed in 3.0. Use the getProgress() method instead.', E_USER_DEPRECATED); + return $this->getProgress(); } @@ -358,7 +360,7 @@ public function advance($step = 1) /** * Sets the current progress. * - * @deprecated since 2.6, to be removed in 3.0. Use {@link setProgress()} instead. + * @deprecated since version 2.6, to be removed in 3.0. Use {@link setProgress()} instead. * * @param int $step The current progress * @@ -366,6 +368,8 @@ public function advance($step = 1) */ public function setCurrent($step) { + trigger_error('The '.__METHOD__.' method is deprecated since version 2.6 and will be removed in 3.0. Use the setProgress() method instead.', E_USER_DEPRECATED); + $this->setProgress($step); } diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Helper/ProgressHelper.php b/core/vendor/symfony/console/Helper/ProgressHelper.php similarity index 96% rename from core/vendor/symfony/console/Symfony/Component/Console/Helper/ProgressHelper.php rename to core/vendor/symfony/console/Helper/ProgressHelper.php index b82486dde45881e6600d228eed6728af42877c27..fe67e9d026851db56733c7e80893278df394324a 100644 --- a/core/vendor/symfony/console/Symfony/Component/Console/Helper/ProgressHelper.php +++ b/core/vendor/symfony/console/Helper/ProgressHelper.php @@ -20,7 +20,8 @@ * @author Chris Jones <leeked@gmail.com> * @author Fabien Potencier <fabien@symfony.com> * - * @deprecated Deprecated since 2.5, to be removed in 3.0; use ProgressBar instead. + * @deprecated since version 2.5, to be removed in 3.0 + * Use {@link ProgressBar} instead. */ class ProgressHelper extends Helper { @@ -117,6 +118,13 @@ class ProgressHelper extends Helper array(604800, 'days', 86400), ); + public function __construct($triggerDeprecationError = true) + { + if ($triggerDeprecationError) { + trigger_error('The '.__CLASS__.' class is deprecated since version 2.5 and will be removed in 3.0. Use the Symfony\Component\Console\Helper\ProgressBar class instead.', E_USER_DEPRECATED); + } + } + /** * Sets the progress bar width. * diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Helper/QuestionHelper.php b/core/vendor/symfony/console/Helper/QuestionHelper.php similarity index 93% rename from core/vendor/symfony/console/Symfony/Component/Console/Helper/QuestionHelper.php rename to core/vendor/symfony/console/Helper/QuestionHelper.php index caa091492c540cac513d0ac0b00f8266d49db0c0..9e4fa02f2c61512ed4a0213db8ff4aee0372691e 100644 --- a/core/vendor/symfony/console/Symfony/Component/Console/Helper/QuestionHelper.php +++ b/core/vendor/symfony/console/Helper/QuestionHelper.php @@ -109,25 +109,11 @@ public function getName() */ public function doAsk(OutputInterface $output, Question $question) { - $inputStream = $this->inputStream ?: STDIN; - - $message = $question->getQuestion(); - if ($question instanceof ChoiceQuestion) { - $width = max(array_map('strlen', array_keys($question->getChoices()))); - - $messages = (array) $question->getQuestion(); - foreach ($question->getChoices() as $key => $value) { - $messages[] = sprintf(" [<info>%-${width}s</info>] %s", $key, $value); - } - - $output->writeln($messages); - - $message = $question->getPrompt(); - } - - $output->write($message); + $this->writePrompt($output, $question); + $inputStream = $this->inputStream ?: STDIN; $autocomplete = $question->getAutocompleterValues(); + if (null === $autocomplete || !$this->hasSttyAvailable()) { $ret = false; if ($question->isHidden()) { @@ -160,6 +146,49 @@ public function doAsk(OutputInterface $output, Question $question) return $ret; } + /** + * Outputs the question prompt. + * + * @param OutputInterface $output + * @param Question $question + */ + protected function writePrompt(OutputInterface $output, Question $question) + { + $message = $question->getQuestion(); + + if ($question instanceof ChoiceQuestion) { + $width = max(array_map('strlen', array_keys($question->getChoices()))); + + $messages = (array) $question->getQuestion(); + foreach ($question->getChoices() as $key => $value) { + $messages[] = sprintf(" [<info>%-${width}s</info>] %s", $key, $value); + } + + $output->writeln($messages); + + $message = $question->getPrompt(); + } + + $output->write($message); + } + + /** + * Outputs an error message. + * + * @param OutputInterface $output + * @param \Exception $error + */ + protected function writeError(OutputInterface $output, \Exception $error) + { + if (null !== $this->getHelperSet() && $this->getHelperSet()->has('formatter')) { + $message = $this->getHelperSet()->get('formatter')->formatBlock($error->getMessage(), 'error'); + } else { + $message = '<error>'.$error->getMessage().'</error>'; + } + + $output->writeln($message); + } + /** * Autocompletes a question. * @@ -355,13 +384,7 @@ private function validateAttempts($interviewer, OutputInterface $output, Questio $attempts = $question->getMaxAttempts(); while (null === $attempts || $attempts--) { if (null !== $error) { - if (null !== $this->getHelperSet() && $this->getHelperSet()->has('formatter')) { - $message = $this->getHelperSet()->get('formatter')->formatBlock($error->getMessage(), 'error'); - } else { - $message = '<error>'.$error->getMessage().'</error>'; - } - - $output->writeln($message); + $this->writeError($output, $error); } try { diff --git a/core/vendor/symfony/console/Helper/SymfonyQuestionHelper.php b/core/vendor/symfony/console/Helper/SymfonyQuestionHelper.php new file mode 100644 index 0000000000000000000000000000000000000000..77130f9776ac2ca2ffbb2597d6b9c2c67d940eaa --- /dev/null +++ b/core/vendor/symfony/console/Helper/SymfonyQuestionHelper.php @@ -0,0 +1,106 @@ +<?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\Helper; + +use Symfony\Component\Console\Input\InputInterface; +use Symfony\Component\Console\Output\OutputInterface; +use Symfony\Component\Console\Question\ChoiceQuestion; +use Symfony\Component\Console\Question\ConfirmationQuestion; +use Symfony\Component\Console\Question\Question; +use Symfony\Component\Console\Style\SymfonyStyle; + +/** + * Symfony Style Guide compliant question helper. + * + * @author Kevin Bond <kevinbond@gmail.com> + */ +class SymfonyQuestionHelper extends QuestionHelper +{ + /** + * {@inheritdoc} + */ + public function ask(InputInterface $input, OutputInterface $output, Question $question) + { + $validator = $question->getValidator(); + $question->setValidator(function ($value) use ($validator) { + if (null !== $validator && is_callable($validator)) { + $value = $validator($value); + } + + // make required + if (!is_array($value) && !is_bool($value) && 0 === strlen($value)) { + throw new \Exception('A value is required.'); + } + + return $value; + }); + + return parent::ask($input, $output, $question); + } + + /** + * {@inheritdoc} + */ + protected function writePrompt(OutputInterface $output, Question $question) + { + $text = $question->getQuestion(); + $default = $question->getDefault(); + + switch (true) { + case null === $default: + $text = sprintf(' <info>%s</info>:', $text); + + break; + + case $question instanceof ConfirmationQuestion: + $text = sprintf(' <info>%s (yes/no)</info> [<comment>%s</comment>]:', $text, $default ? 'yes' : 'no'); + + break; + + case $question instanceof ChoiceQuestion: + $choices = $question->getChoices(); + $text = sprintf(' <info>%s</info> [<comment>%s</comment>]:', $text, $choices[$default]); + + break; + + default: + $text = sprintf(' <info>%s</info> [<comment>%s</comment>]:', $text, $default); + } + + $output->writeln($text); + + if ($question instanceof ChoiceQuestion) { + $width = max(array_map('strlen', array_keys($question->getChoices()))); + + foreach ($question->getChoices() as $key => $value) { + $output->writeln(sprintf(" [<comment>%-${width}s</comment>] %s", $key, $value)); + } + } + + $output->write(' > '); + } + + /** + * {@inheritdoc} + */ + protected function writeError(OutputInterface $output, \Exception $error) + { + if ($output instanceof SymfonyStyle) { + $output->newLine(); + $output->error($error->getMessage()); + + return; + } + + parent::writeError($output, $error); + } +} diff --git a/core/vendor/symfony/console/Helper/Table.php b/core/vendor/symfony/console/Helper/Table.php new file mode 100644 index 0000000000000000000000000000000000000000..ff668a475e8cc3e568ea4473b4fec1a202985b4d --- /dev/null +++ b/core/vendor/symfony/console/Helper/Table.php @@ -0,0 +1,605 @@ +<?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\Helper; + +use Symfony\Component\Console\Output\OutputInterface; + +/** + * Provides helpers to display a table. + * + * @author Fabien Potencier <fabien@symfony.com> + * @author Саша Стаменковић <umpirsky@gmail.com> + * @author Abdellatif Ait boudad <a.aitboudad@gmail.com> + */ +class Table +{ + /** + * Table headers. + * + * @var array + */ + private $headers = array(); + + /** + * Table rows. + * + * @var array + */ + private $rows = array(); + + /** + * Column widths cache. + * + * @var array + */ + private $columnWidths = array(); + + /** + * Number of columns cache. + * + * @var array + */ + private $numberOfColumns; + + /** + * @var OutputInterface + */ + private $output; + + /** + * @var TableStyle + */ + private $style; + + private static $styles; + + public function __construct(OutputInterface $output) + { + $this->output = $output; + + if (!self::$styles) { + self::$styles = self::initStyles(); + } + + $this->setStyle('default'); + } + + /** + * Sets a style definition. + * + * @param string $name The style name + * @param TableStyle $style A TableStyle instance + */ + public static function setStyleDefinition($name, TableStyle $style) + { + if (!self::$styles) { + self::$styles = self::initStyles(); + } + + self::$styles[$name] = $style; + } + + /** + * Gets a style definition by name. + * + * @param string $name The style name + * + * @return TableStyle A TableStyle instance + */ + public static function getStyleDefinition($name) + { + if (!self::$styles) { + self::$styles = self::initStyles(); + } + + if (!self::$styles[$name]) { + throw new \InvalidArgumentException(sprintf('Style "%s" is not defined.', $name)); + } + + return self::$styles[$name]; + } + + /** + * Sets table style. + * + * @param TableStyle|string $name The style name or a TableStyle instance + * + * @return Table + */ + public function setStyle($name) + { + if ($name instanceof TableStyle) { + $this->style = $name; + } elseif (isset(self::$styles[$name])) { + $this->style = self::$styles[$name]; + } else { + throw new \InvalidArgumentException(sprintf('Style "%s" is not defined.', $name)); + } + + return $this; + } + + /** + * Gets the current table style. + * + * @return TableStyle + */ + public function getStyle() + { + return $this->style; + } + + public function setHeaders(array $headers) + { + $headers = array_values($headers); + if (!empty($headers) && !is_array($headers[0])) { + $headers = array($headers); + } + + $this->headers = $headers; + + return $this; + } + + public function setRows(array $rows) + { + $this->rows = array(); + + return $this->addRows($rows); + } + + public function addRows(array $rows) + { + foreach ($rows as $row) { + $this->addRow($row); + } + + return $this; + } + + public function addRow($row) + { + if ($row instanceof TableSeparator) { + $this->rows[] = $row; + + return; + } + + if (!is_array($row)) { + throw new \InvalidArgumentException('A row must be an array or a TableSeparator instance.'); + } + + $this->rows[] = array_values($row); + + return $this; + } + + public function setRow($column, array $row) + { + $this->rows[$column] = $row; + + return $this; + } + + /** + * Renders table to output. + * + * Example: + * +---------------+-----------------------+------------------+ + * | ISBN | Title | Author | + * +---------------+-----------------------+------------------+ + * | 99921-58-10-7 | Divine Comedy | Dante Alighieri | + * | 9971-5-0210-0 | A Tale of Two Cities | Charles Dickens | + * | 960-425-059-0 | The Lord of the Rings | J. R. R. Tolkien | + * +---------------+-----------------------+------------------+ + */ + public function render() + { + $this->calculateNumberOfColumns(); + $this->rows = $this->buildTableRows($this->rows); + $this->headers = $this->buildTableRows($this->headers); + + $this->renderRowSeparator(); + if (!empty($this->headers)) { + foreach ($this->headers as $header) { + $this->renderRow($header, $this->style->getCellHeaderFormat()); + $this->renderRowSeparator(); + } + } + foreach ($this->rows as $row) { + if ($row instanceof TableSeparator) { + $this->renderRowSeparator(); + } else { + $this->renderRow($row, $this->style->getCellRowFormat()); + } + } + if (!empty($this->rows)) { + $this->renderRowSeparator(); + } + + $this->cleanup(); + } + + /** + * Renders horizontal header separator. + * + * Example: +-----+-----------+-------+ + */ + private function renderRowSeparator() + { + if (0 === $count = $this->numberOfColumns) { + return; + } + + if (!$this->style->getHorizontalBorderChar() && !$this->style->getCrossingChar()) { + return; + } + + $markup = $this->style->getCrossingChar(); + for ($column = 0; $column < $count; $column++) { + $markup .= str_repeat($this->style->getHorizontalBorderChar(), $this->getColumnWidth($column)).$this->style->getCrossingChar(); + } + + $this->output->writeln(sprintf($this->style->getBorderFormat(), $markup)); + } + + /** + * Renders vertical column separator. + */ + private function renderColumnSeparator() + { + $this->output->write(sprintf($this->style->getBorderFormat(), $this->style->getVerticalBorderChar())); + } + + /** + * Renders table row. + * + * Example: | 9971-5-0210-0 | A Tale of Two Cities | Charles Dickens | + * + * @param array $row + * @param string $cellFormat + */ + private function renderRow(array $row, $cellFormat) + { + if (empty($row)) { + return; + } + + $this->renderColumnSeparator(); + foreach ($this->getRowColumns($row) as $column) { + $this->renderCell($row, $column, $cellFormat); + $this->renderColumnSeparator(); + } + $this->output->writeln(''); + } + + /** + * Renders table cell with padding. + * + * @param array $row + * @param int $column + * @param string $cellFormat + */ + private function renderCell(array $row, $column, $cellFormat) + { + $cell = isset($row[$column]) ? $row[$column] : ''; + $width = $this->getColumnWidth($column); + if ($cell instanceof TableCell && $cell->getColspan() > 1) { + // add the width of the following columns(numbers of colspan). + foreach (range($column + 1, $column + $cell->getColspan() - 1) as $nextColumn) { + $width += $this->getColumnSeparatorWidth() + $this->getColumnWidth($nextColumn); + } + } + + // str_pad won't work properly with multi-byte strings, we need to fix the padding + if (function_exists('mb_strwidth') && false !== $encoding = mb_detect_encoding($cell)) { + $width += strlen($cell) - mb_strwidth($cell, $encoding); + } + + if ($cell instanceof TableSeparator) { + $this->output->write(sprintf($this->style->getBorderFormat(), str_repeat($this->style->getHorizontalBorderChar(), $width))); + } else { + $width += Helper::strlen($cell) - Helper::strlenWithoutDecoration($this->output->getFormatter(), $cell); + $content = sprintf($this->style->getCellRowContentFormat(), $cell); + $this->output->write(sprintf($cellFormat, str_pad($content, $width, $this->style->getPaddingChar(), $this->style->getPadType()))); + } + } + + /** + * Calculate number of columns for this table. + */ + private function calculateNumberOfColumns() + { + if (null !== $this->numberOfColumns) { + return; + } + + $columns = array(0); + foreach (array_merge($this->headers, $this->rows) as $row) { + if ($row instanceof TableSeparator) { + continue; + } + + $columns[] = $this->getNumberOfColumns($row); + } + + return $this->numberOfColumns = max($columns); + } + + private function buildTableRows($rows) + { + $unmergedRows = array(); + for ($rowKey = 0; $rowKey < count($rows); $rowKey++) { + $rows = $this->fillNextRows($rows, $rowKey); + + // Remove any new line breaks and replace it with a new line + foreach ($rows[$rowKey] as $column => $cell) { + $rows[$rowKey] = $this->fillCells($rows[$rowKey], $column); + if (!strstr($cell, "\n")) { + continue; + } + $lines = explode("\n", $cell); + foreach ($lines as $lineKey => $line) { + if ($cell instanceof TableCell) { + $line = new TableCell($line, array('colspan' => $cell->getColspan())); + } + if (0 === $lineKey) { + $rows[$rowKey][$column] = $line; + } else { + $unmergedRows[$rowKey][$lineKey][$column] = $line; + } + } + } + } + + $tableRows = array(); + foreach ($rows as $rowKey => $row) { + $tableRows[] = $row; + if (isset($unmergedRows[$rowKey])) { + $tableRows = array_merge($tableRows, $unmergedRows[$rowKey]); + } + } + + return $tableRows; + } + + /** + * fill rows that contains rowspan > 1. + * + * @param array $rows + * @param array $line + * + * @return array + */ + private function fillNextRows($rows, $line) + { + $unmergedRows = array(); + foreach ($rows[$line] as $column => $cell) { + if ($cell instanceof TableCell && $cell->getRowspan() > 1) { + $nbLines = $cell->getRowspan()-1; + $lines = array($cell); + if (strstr($cell, "\n")) { + $lines = explode("\n", $cell); + $nbLines = count($lines) > $nbLines ? substr_count($cell, "\n") : $nbLines; + + $rows[$line][$column] = new TableCell($lines[0], array('colspan' => $cell->getColspan())); + unset($lines[0]); + } + + // create a two dimensional array (rowspan x colspan) + $unmergedRows = array_replace_recursive(array_fill($line + 1, $nbLines, ''), $unmergedRows); + foreach ($unmergedRows as $unmergedRowKey => $unmergedRow) { + $value = isset($lines[$unmergedRowKey - $line]) ? $lines[$unmergedRowKey - $line] : ''; + $unmergedRows[$unmergedRowKey][$column] = new TableCell($value, array('colspan' => $cell->getColspan())); + } + } + } + + foreach ($unmergedRows as $unmergedRowKey => $unmergedRow) { + // we need to know if $unmergedRow will be merged or inserted into $rows + if (isset($rows[$unmergedRowKey]) && is_array($rows[$unmergedRowKey]) && ($this->getNumberOfColumns($rows[$unmergedRowKey]) + $this->getNumberOfColumns($unmergedRows[$unmergedRowKey]) <= $this->numberOfColumns)) { + foreach ($unmergedRow as $cellKey => $cell) { + // insert cell into row at cellKey position + array_splice($rows[$unmergedRowKey], $cellKey, 0, array($cell)); + } + } else { + $row = $this->copyRow($rows, $unmergedRowKey-1); + foreach ($unmergedRow as $column => $cell) { + if (!empty($cell)) { + $row[$column] = $unmergedRow[$column]; + } + } + array_splice($rows, $unmergedRowKey, 0, array($row)); + } + } + + return $rows; + } + + /** + * fill cells for a row that contains colspan > 1. + * + * @param array $row + * @param array $column + * + * @return array + */ + private function fillCells($row, $column) + { + $cell = $row[$column]; + if ($cell instanceof TableCell && $cell->getColspan() > 1) { + foreach (range($column + 1, $column + $cell->getColspan() - 1) as $position) { + // insert empty value into rows at column position + array_splice($row, $position, 0, ''); + } + } + + return $row; + } + + /** + * @param array $rows + * @param int $line + * + * @return array + */ + private function copyRow($rows, $line) + { + $row = $rows[$line]; + foreach ($row as $cellKey => $cellValue) { + $row[$cellKey] = ''; + if ($cellValue instanceof TableCell) { + $row[$cellKey] = new TableCell('', array('colspan' => $cellValue->getColspan())); + } + } + + return $row; + } + + /** + * Gets number of columns by row. + * + * @param array $row + * + * @return int + */ + private function getNumberOfColumns(array $row) + { + $columns = count($row); + foreach ($row as $column) { + $columns += $column instanceof TableCell ? ($column->getColspan()-1) : 0; + } + + return $columns; + } + + /** + * Gets list of columns for the given row. + * + * @param array $row + * + * @return array() + */ + private function getRowColumns($row) + { + $columns = range(0, $this->numberOfColumns-1); + foreach ($row as $cellKey => $cell) { + if ($cell instanceof TableCell && $cell->getColspan() > 1) { + // exclude grouped columns. + $columns = array_diff($columns, range($cellKey+1, $cellKey + $cell->getColspan()-1)); + } + } + + return $columns; + } + + /** + * Gets column width. + * + * @param int $column + * + * @return int + */ + private function getColumnWidth($column) + { + if (isset($this->columnWidths[$column])) { + return $this->columnWidths[$column]; + } + + foreach (array_merge($this->headers, $this->rows) as $row) { + if ($row instanceof TableSeparator) { + continue; + } + + $lengths[] = $this->getCellWidth($row, $column); + } + + return $this->columnWidths[$column] = max($lengths) + strlen($this->style->getCellRowContentFormat()) - 2; + } + + /** + * Gets column width. + * + * @param int $column + * + * @return int + */ + private function getColumnSeparatorWidth() + { + return strlen(sprintf($this->style->getBorderFormat(), $this->style->getVerticalBorderChar())); + } + + /** + * Gets cell width. + * + * @param array $row + * @param int $column + * + * @return int + */ + private function getCellWidth(array $row, $column) + { + if (isset($row[$column])) { + $cell = $row[$column]; + if ($cell instanceof TableCell && $cell->getColspan() > 1) { + // we assume that cell value will be across more than one column. + $cell = substr($cell, 0, strlen($cell)/$cell->getColspan()); + } + + return Helper::strlenWithoutDecoration($this->output->getFormatter(), $cell); + } + + return 0; + } + + /** + * Called after rendering to cleanup cache data. + */ + private function cleanup() + { + $this->columnWidths = array(); + $this->numberOfColumns = null; + } + + private static function initStyles() + { + $borderless = new TableStyle(); + $borderless + ->setHorizontalBorderChar('=') + ->setVerticalBorderChar(' ') + ->setCrossingChar(' ') + ; + + $compact = new TableStyle(); + $compact + ->setHorizontalBorderChar('') + ->setVerticalBorderChar(' ') + ->setCrossingChar('') + ->setCellRowContentFormat('%s') + ; + + $styleGuide = new TableStyle(); + $styleGuide + ->setHorizontalBorderChar('-') + ->setVerticalBorderChar(' ') + ->setCrossingChar(' ') + ->setCellHeaderFormat('%s') + ; + + return array( + 'default' => new TableStyle(), + 'borderless' => $borderless, + 'compact' => $compact, + 'symfony-style-guide' => $styleGuide, + ); + } +} diff --git a/core/vendor/symfony/console/Helper/TableCell.php b/core/vendor/symfony/console/Helper/TableCell.php new file mode 100644 index 0000000000000000000000000000000000000000..aa0d3180799ff96ab9b4813e4337e908fd23f03f --- /dev/null +++ b/core/vendor/symfony/console/Helper/TableCell.php @@ -0,0 +1,77 @@ +<?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\Helper; + +/** + * @author Abdellatif Ait boudad <a.aitboudad@gmail.com> + */ +class TableCell +{ + /** + * @var string + */ + private $value; + + /** + * @var array + */ + private $options = array( + 'rowspan' => 1, + 'colspan' => 1, + ); + + /** + * @param string $value + * @param array $options + */ + public function __construct($value = '', array $options = array()) + { + $this->value = $value; + + // check option names + if ($diff = array_diff(array_keys($options), array_keys($this->options))) { + throw new \InvalidArgumentException(sprintf('The TableCell does not support the following options: \'%s\'.', implode('\', \'', $diff))); + } + + $this->options = array_merge($this->options, $options); + } + + /** + * Returns the cell value. + * + * @return string + */ + public function __toString() + { + return $this->value; + } + + /** + * Gets number of colspan. + * + * @return int + */ + public function getColspan() + { + return (int) $this->options['colspan']; + } + + /** + * Gets number of rowspan. + * + * @return int + */ + public function getRowspan() + { + return (int) $this->options['rowspan']; + } +} diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Helper/TableHelper.php b/core/vendor/symfony/console/Helper/TableHelper.php similarity index 93% rename from core/vendor/symfony/console/Symfony/Component/Console/Helper/TableHelper.php rename to core/vendor/symfony/console/Helper/TableHelper.php index fc6861cf35ede26ebe2c3a2cdc0d0b39bf71044d..06af5fad9b649a68407969acc79cdae1a96d5742 100644 --- a/core/vendor/symfony/console/Symfony/Component/Console/Helper/TableHelper.php +++ b/core/vendor/symfony/console/Helper/TableHelper.php @@ -20,7 +20,8 @@ * @author Саша Стаменковић <umpirsky@gmail.com> * @author Fabien Potencier <fabien@symfony.com> * - * @deprecated Deprecated since 2.5, to be removed in 3.0; use Table instead. + * @deprecated since version 2.5, to be removed in 3.0 + * Use {@link Table} instead. */ class TableHelper extends Helper { @@ -33,8 +34,12 @@ class TableHelper extends Helper */ private $table; - public function __construct() + public function __construct($triggerDeprecationError = true) { + if ($triggerDeprecationError) { + trigger_error('The '.__CLASS__.' class is deprecated since version 2.5 and will be removed in 3.0. Use the Symfony\Component\Console\Helper\Table class instead.', E_USER_DEPRECATED); + } + $this->table = new Table(new NullOutput()); } diff --git a/core/vendor/symfony/console/Helper/TableSeparator.php b/core/vendor/symfony/console/Helper/TableSeparator.php new file mode 100644 index 0000000000000000000000000000000000000000..8cbbc6613be361c83aa0f448670f439189feb963 --- /dev/null +++ b/core/vendor/symfony/console/Helper/TableSeparator.php @@ -0,0 +1,29 @@ +<?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\Helper; + +/** + * Marks a row as being a separator. + * + * @author Fabien Potencier <fabien@symfony.com> + */ +class TableSeparator extends TableCell +{ + /** + * @param string $value + * @param array $options + */ + public function __construct(array $options = array()) + { + parent::__construct('', $options); + } +} diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Helper/TableStyle.php b/core/vendor/symfony/console/Helper/TableStyle.php similarity index 95% rename from core/vendor/symfony/console/Symfony/Component/Console/Helper/TableStyle.php rename to core/vendor/symfony/console/Helper/TableStyle.php index 580f9abc819dc6654ba4633a4050c1555d414f33..f0f46c71e313b63c9aa3c3c76e866f112166e955 100644 --- a/core/vendor/symfony/console/Symfony/Component/Console/Helper/TableStyle.php +++ b/core/vendor/symfony/console/Helper/TableStyle.php @@ -234,6 +234,10 @@ public function getBorderFormat() */ public function setPadType($padType) { + if (!in_array($padType, array(STR_PAD_LEFT, STR_PAD_RIGHT, STR_PAD_BOTH), true)) { + throw new \InvalidArgumentException('Invalid padding type. Expected one of (STR_PAD_LEFT, STR_PAD_RIGHT, STR_PAD_BOTH).'); + } + $this->padType = $padType; return $this; diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Input/ArgvInput.php b/core/vendor/symfony/console/Input/ArgvInput.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Input/ArgvInput.php rename to core/vendor/symfony/console/Input/ArgvInput.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Input/ArrayInput.php b/core/vendor/symfony/console/Input/ArrayInput.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Input/ArrayInput.php rename to core/vendor/symfony/console/Input/ArrayInput.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Input/Input.php b/core/vendor/symfony/console/Input/Input.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Input/Input.php rename to core/vendor/symfony/console/Input/Input.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Input/InputArgument.php b/core/vendor/symfony/console/Input/InputArgument.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Input/InputArgument.php rename to core/vendor/symfony/console/Input/InputArgument.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Input/InputAwareInterface.php b/core/vendor/symfony/console/Input/InputAwareInterface.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Input/InputAwareInterface.php rename to core/vendor/symfony/console/Input/InputAwareInterface.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Input/InputDefinition.php b/core/vendor/symfony/console/Input/InputDefinition.php similarity index 87% rename from core/vendor/symfony/console/Symfony/Component/Console/Input/InputDefinition.php rename to core/vendor/symfony/console/Input/InputDefinition.php index 48edb166c3b528cc09e6cc90db00ad6b2cb8e0f1..7efb849ab2470a2a43b5542200030c702acab192 100644 --- a/core/vendor/symfony/console/Symfony/Component/Console/Input/InputDefinition.php +++ b/core/vendor/symfony/console/Input/InputDefinition.php @@ -391,22 +391,50 @@ private function shortcutToName($shortcut) /** * Gets the synopsis. * + * @param bool $short Whether to return the short version (with options foloded) or not + * * @return string The synopsis */ - public function getSynopsis() + public function getSynopsis($short = false) { $elements = array(); - foreach ($this->getOptions() as $option) { - $shortcut = $option->getShortcut() ? sprintf('-%s|', $option->getShortcut()) : ''; - $elements[] = sprintf('['.($option->isValueRequired() ? '%s--%s="..."' : ($option->isValueOptional() ? '%s--%s[="..."]' : '%s--%s')).']', $shortcut, $option->getName()); + + if ($short && $this->getOptions()) { + $elements[] = '[options]'; + } elseif (!$short) { + foreach ($this->getOptions() as $option) { + $value = ''; + if ($option->acceptValue()) { + $value = sprintf( + ' %s%s%s', + $option->isValueOptional() ? '[' : '', + strtoupper($option->getName()), + $option->isValueOptional() ? ']' : '' + ); + } + + $shortcut = $option->getShortcut() ? sprintf('-%s|', $option->getShortcut()) : ''; + $elements[] = sprintf('[%s--%s%s]', $shortcut, $option->getName(), $value); + } + } + + if (count($elements) && $this->getArguments()) { + $elements[] = '[--]'; } foreach ($this->getArguments() as $argument) { - $elements[] = sprintf($argument->isRequired() ? '%s' : '[%s]', $argument->getName().($argument->isArray() ? '1' : '')); + $element = '<'.$argument->getName().'>'; + if (!$argument->isRequired()) { + $element = '['.$element.']'; + } elseif ($argument->isArray()) { + $element = $element.' ('.$element.')'; + } if ($argument->isArray()) { - $elements[] = sprintf('... [%sN]', $argument->getName()); + $element .= '...'; } + + $elements[] = $element; } return implode(' ', $elements); @@ -417,10 +445,12 @@ public function getSynopsis() * * @return string A string representing the InputDefinition * - * @deprecated Deprecated since version 2.3, to be removed in 3.0. + * @deprecated since version 2.3, to be removed in 3.0. */ public function asText() { + trigger_error('The '.__METHOD__.' method is deprecated since version 2.3 and will be removed in 3.0.', E_USER_DEPRECATED); + $descriptor = new TextDescriptor(); $output = new BufferedOutput(BufferedOutput::VERBOSITY_NORMAL, true); $descriptor->describe($output, $this, array('raw_output' => true)); @@ -435,10 +465,12 @@ public function asText() * * @return string|\DOMDocument An XML string representing the InputDefinition * - * @deprecated Deprecated since version 2.3, to be removed in 3.0. + * @deprecated since version 2.3, to be removed in 3.0. */ public function asXml($asDom = false) { + trigger_error('The '.__METHOD__.' method is deprecated since version 2.3 and will be removed in 3.0.', E_USER_DEPRECATED); + $descriptor = new XmlDescriptor(); if ($asDom) { diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Input/InputInterface.php b/core/vendor/symfony/console/Input/InputInterface.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Input/InputInterface.php rename to core/vendor/symfony/console/Input/InputInterface.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Input/InputOption.php b/core/vendor/symfony/console/Input/InputOption.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Input/InputOption.php rename to core/vendor/symfony/console/Input/InputOption.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Input/StringInput.php b/core/vendor/symfony/console/Input/StringInput.php similarity index 92% rename from core/vendor/symfony/console/Symfony/Component/Console/Input/StringInput.php rename to core/vendor/symfony/console/Input/StringInput.php index 6537e27a6bb3d160c2a71222a3b69585d715f123..40656b3c14887c2c9476380cb5994e0d825c2e0b 100644 --- a/core/vendor/symfony/console/Symfony/Component/Console/Input/StringInput.php +++ b/core/vendor/symfony/console/Input/StringInput.php @@ -39,6 +39,10 @@ class StringInput extends ArgvInput */ public function __construct($input, InputDefinition $definition = null) { + if ($definition) { + trigger_error('The $definition argument of the '.__METHOD__.' method is deprecated and will be removed in 3.0. Set this parameter with the bind() method instead.', E_USER_DEPRECATED); + } + parent::__construct(array(), null); $this->setTokens($this->tokenize($input)); diff --git a/core/vendor/symfony/console/Symfony/Component/Console/LICENSE b/core/vendor/symfony/console/LICENSE similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/LICENSE rename to core/vendor/symfony/console/LICENSE diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Logger/ConsoleLogger.php b/core/vendor/symfony/console/Logger/ConsoleLogger.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Logger/ConsoleLogger.php rename to core/vendor/symfony/console/Logger/ConsoleLogger.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Output/BufferedOutput.php b/core/vendor/symfony/console/Output/BufferedOutput.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Output/BufferedOutput.php rename to core/vendor/symfony/console/Output/BufferedOutput.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Output/ConsoleOutput.php b/core/vendor/symfony/console/Output/ConsoleOutput.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Output/ConsoleOutput.php rename to core/vendor/symfony/console/Output/ConsoleOutput.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Output/ConsoleOutputInterface.php b/core/vendor/symfony/console/Output/ConsoleOutputInterface.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Output/ConsoleOutputInterface.php rename to core/vendor/symfony/console/Output/ConsoleOutputInterface.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Output/NullOutput.php b/core/vendor/symfony/console/Output/NullOutput.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Output/NullOutput.php rename to core/vendor/symfony/console/Output/NullOutput.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Output/Output.php b/core/vendor/symfony/console/Output/Output.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Output/Output.php rename to core/vendor/symfony/console/Output/Output.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Output/OutputInterface.php b/core/vendor/symfony/console/Output/OutputInterface.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Output/OutputInterface.php rename to core/vendor/symfony/console/Output/OutputInterface.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Output/StreamOutput.php b/core/vendor/symfony/console/Output/StreamOutput.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Output/StreamOutput.php rename to core/vendor/symfony/console/Output/StreamOutput.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Question/ChoiceQuestion.php b/core/vendor/symfony/console/Question/ChoiceQuestion.php similarity index 75% rename from core/vendor/symfony/console/Symfony/Component/Console/Question/ChoiceQuestion.php rename to core/vendor/symfony/console/Question/ChoiceQuestion.php index e1da7a8c5e3a43d83414f533a95b0b5b44187998..ce4ff67779e7e07535a3c74a3257baed7368281a 100644 --- a/core/vendor/symfony/console/Symfony/Component/Console/Question/ChoiceQuestion.php +++ b/core/vendor/symfony/console/Question/ChoiceQuestion.php @@ -36,7 +36,7 @@ public function __construct($question, array $choices, $default = null) $this->choices = $choices; $this->setValidator($this->getDefaultValidator()); - $this->setAutocompleterValues(array_keys($choices)); + $this->setAutocompleterValues($choices); } /** @@ -117,8 +117,9 @@ private function getDefaultValidator() $choices = $this->choices; $errorMessage = $this->errorMessage; $multiselect = $this->multiselect; + $isAssoc = $this->isAssoc($choices); - return function ($selected) use ($choices, $errorMessage, $multiselect) { + return function ($selected) use ($choices, $errorMessage, $multiselect, $isAssoc) { // Collapse all spaces. $selectedChoices = str_replace(' ', '', $selected); @@ -134,17 +135,40 @@ private function getDefaultValidator() $multiselectChoices = array(); foreach ($selectedChoices as $value) { - if (empty($choices[$value])) { + $results = array(); + foreach ($choices as $key => $choice) { + if ($choice === $value) { + $results[] = $key; + } + } + + if (count($results) > 1) { + throw new \InvalidArgumentException(sprintf('The provided answer is ambiguous. Value should be one of %s.', implode(' or ', $results))); + } + + $result = array_search($value, $choices); + + if (!$isAssoc) { + if (!empty($result)) { + $result = $choices[$result]; + } elseif (isset($choices[$value])) { + $result = $choices[$value]; + } + } elseif (empty($result) && array_key_exists($value, $choices)) { + $result = $value; + } + + if (empty($result)) { throw new \InvalidArgumentException(sprintf($errorMessage, $value)); } - array_push($multiselectChoices, $choices[$value]); + array_push($multiselectChoices, $result); } if ($multiselect) { return $multiselectChoices; } - return $choices[$selected]; + return current($multiselectChoices); }; } } diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Question/ConfirmationQuestion.php b/core/vendor/symfony/console/Question/ConfirmationQuestion.php similarity index 59% rename from core/vendor/symfony/console/Symfony/Component/Console/Question/ConfirmationQuestion.php rename to core/vendor/symfony/console/Question/ConfirmationQuestion.php index 09ac74ff65d793b685eb3b99634cc262ba03ddda..9e55859053f8e07e500ef5454a8a936a34494684 100644 --- a/core/vendor/symfony/console/Symfony/Component/Console/Question/ConfirmationQuestion.php +++ b/core/vendor/symfony/console/Question/ConfirmationQuestion.php @@ -18,16 +18,20 @@ */ class ConfirmationQuestion extends Question { + private $trueAnswerRegex; + /** * Constructor. * - * @param string $question The question to ask to the user - * @param bool $default The default answer to return, true or false + * @param string $question The question to ask to the user + * @param bool $default The default answer to return, true or false + * @param string $trueAnswerRegex A regex to match the "yes" answer */ - public function __construct($question, $default = true) + public function __construct($question, $default = true, $trueAnswerRegex = '/^y/i') { parent::__construct($question, (bool) $default); + $this->trueAnswerRegex = $trueAnswerRegex; $this->setNormalizer($this->getDefaultNormalizer()); } @@ -39,17 +43,19 @@ public function __construct($question, $default = true) private function getDefaultNormalizer() { $default = $this->getDefault(); + $regex = $this->trueAnswerRegex; - return function ($answer) use ($default) { + return function ($answer) use ($default, $regex) { if (is_bool($answer)) { return $answer; } + $answerIsTrue = (bool) preg_match($regex, $answer); if (false === $default) { - return $answer && 'y' === strtolower($answer[0]); + return $answer && $answerIsTrue; } - return !$answer || 'y' === strtolower($answer[0]); + return !$answer || $answerIsTrue; }; } } diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Question/Question.php b/core/vendor/symfony/console/Question/Question.php similarity index 95% rename from core/vendor/symfony/console/Symfony/Component/Console/Question/Question.php rename to core/vendor/symfony/console/Question/Question.php index 9f776d57903ed99b86a6e34e3ae001b1a655e8ab..01702b208fda5518e569db0bcc1936e5bf700d02 100644 --- a/core/vendor/symfony/console/Symfony/Component/Console/Question/Question.php +++ b/core/vendor/symfony/console/Question/Question.php @@ -135,6 +135,10 @@ public function getAutocompleterValues() */ public function setAutocompleterValues($values) { + if (is_array($values) && $this->isAssoc($values)) { + $values = array_merge(array_keys($values), array_values($values)); + } + if (null !== $values && !is_array($values)) { if (!$values instanceof \Traversable || $values instanceof \Countable) { throw new \InvalidArgumentException('Autocompleter values can be either an array, `null` or an object implementing both `Countable` and `Traversable` interfaces.'); @@ -235,4 +239,9 @@ public function getNormalizer() { return $this->normalizer; } + + protected function isAssoc($array) + { + return (bool) count(array_filter(array_keys($array), 'is_string')); + } } diff --git a/core/vendor/symfony/console/Symfony/Component/Console/README.md b/core/vendor/symfony/console/README.md similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/README.md rename to core/vendor/symfony/console/README.md diff --git a/core/vendor/symfony/console/Resources/bin/hiddeninput.exe b/core/vendor/symfony/console/Resources/bin/hiddeninput.exe new file mode 100644 index 0000000000000000000000000000000000000000..b59fd5b7935e856dc92af806dd500f9346b0e92a --- /dev/null +++ b/core/vendor/symfony/console/Resources/bin/hiddeninput.exe @@ -0,0 +1,21 @@ +MZ�������ÿÿ��¸�������@�����������������������������������è���º�´ Í!¸LÍ!This program cannot be run in DOS mode. +$�������Æ,Í;§Bž;§Bž;§Bž2ßמ:§Bž2ßÁž-§Bž2ßÆž9§Bž2ßÑž?§Bža9ž8§Bž;§Cž§Bž2ßÈž:§Bž2ßÖž:§Bž2ßÓž:§BžRich;§Bž��������PE��L�¬MoO��������à� �� +���������8������ ����@����������������������`�����?œ���@���������������������������"��P����@�� �������������������P��p���!�����������������������������8!��@������������ ��Ø���������������������������.text��� ������ +����������������� ��`.rdata��Î ��� ��� +�����������������@��@.data������0��������������������@��À.rsrc��� ���@��������������������@��@.reloc��Ì���P������"��������������@��B��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������j$¸æ@�èx��jöÿ @�ƒeÐ�‹ðEÐPVÿ� @�‹EЃàûPVÿ @�MÔÿX @�ƒeü�EÔPÿ5H @�ÿL @�YYÿ5\ @�EÔPÿ5` @�ÿD @�YY‹ÈÿP @�ƒMüÿMÔÿT @�3ÀèH��Ã; �0@�uóÃé¬��h€@�è£��¡l3@�Ç$40@�ÿ5h3@�£40@�h$0@�h(0@�h 0@�ÿ @�ƒÄ£00@�…À}jè¹��YÃjh"@�è��3Û‰]üd¡���‹p‰]ä¿€3@�SVWÿ0 @�;Ãt;Æu3öF‰uäëhè��ÿ4 @�ëÚ3öF¡|3@�;Æu +jè\��Yë;¡|3@�…Àu,‰5|3@�hð @�hä @�è§��YY…ÀtÇEüþÿÿÿ¸ÿ���éÝ���‰5<0@�¡|3@�;Æuhà @�hØ @�èl��YYÇ|3@����9]äuSWÿ8 @�9Œ3@�thŒ3@�èƒ��Y…Àt +SjSÿŒ3@�¡$0@�‹ ¼ @�‰ÿ5$0@�ÿ5(0@�ÿ5 0@�èþÿÿƒÄ£80@�9,0@�u7PÿÀ @�‹Eì‹‹ ‰MàPQèŽ��YYËeè‹Eà£80@�3Û9,0@�uPÿh @�9<0@�uÿœ @�ÇEüþÿÿÿ¡80@�èû��øMZ��f9��@�t3ÀëM¡<�@�€��@�8PE��ué·Hù��tù��uÕƒ¸„���vÌ3É9ˆø���ëƒxtv¼3É9ˆè���•Á‹Áj£,0@�ÿp @�jÿÿl @�YY£„3@�£ˆ3@�ÿÌ @�‹ t3@�‰ÿˆ @�‹ p3@�‰¡¨ @�‹�£x3@�èV��è¬��ƒ=0@��uhµ@�ÿ¬ @�Yèg��ƒ=0@�ÿu jÿÿ° @�Y3ÀÃè{��éŸýÿÿ‹ÿU‹ìì(��£H1@�‰ D1@�‰@1@�‰<1@�‰581@�‰=41@�fŒ`1@�fŒ T1@�fŒ01@�fŒ,1@�fŒ%(1@�fŒ-$1@�œX1@�‹E�£L1@�‹E£P1@�E£\1@�‹…àüÿÿǘ0@���¡P1@�£L0@�Ç@0@� �ÀÇD0@����¡�0@�‰…Øüÿÿ¡0@�‰…Üüÿÿÿ @�£0@�jè?��Yj�ÿ @�h!@�ÿ$ @�ƒ=0@��ujè��Yh �Àÿ( @�Pÿ, @�ÉËÿU‹ì‹E‹�8csmàu*ƒxu$‹@= “t=!“t="“t=�@™uèÐ��3À]Â�hH@�ÿ @�3ÀÃÿ%¤ @�jh("@�èb��ÿ5ˆ3@�‹5Œ @�ÿÖY‰EäƒøÿuÿuÿÄ @�Yëgjè’��Yƒeü�ÿ5ˆ3@�ÿÖ‰Eäÿ5„3@�ÿÖYY‰EàEàPEäPÿu‹5l @�ÿÖYPèU��‰EÜÿuäÿÖ£ˆ3@�ÿuàÿփģ„3@�ÇEüþÿÿÿè ���‹EÜè��Ãjè��YËÿU‹ìÿuèNÿÿÿ÷ØÀ÷ØYH]ËÿV¸ü!@�¾ü!@�W‹ø;Æs‹…ÀtÿЃÇ;þrñ_^ËÿV¸"@�¾"@�W‹ø;Æs‹…ÀtÿЃÇ;þrñ_^Ãÿ%È @�ÌÌÌÌ‹ÿU‹ì‹M¸MZ��f9t3À]ËA<Á8PE��uï3Ò¹��f9H”‹Â]ÃÌÌÌÌÌÌÌÌÌÌÌ‹ÿU‹ì‹E‹H<È·ASV·q3ÒWD…öv‹}‹H;ùr ‹XÙ;ûr +BƒÀ(;Örè3À_^[]ÃÌÌÌÌÌÌÌÌÌÌÌÌ‹ÿU‹ìjþhH"@�he@�d¡����PƒìSVW¡�0@�1Eø3ÅPEðd£����‰eèÇEü����h��@�è*ÿÿÿƒÄ…ÀtU‹E-��@�Ph��@�èPÿÿÿƒÄ…Àt;‹@$Áè÷ЃàÇEüþÿÿÿ‹Mðd‰ ����Y_^[‹å]ËEì‹‹3Ò=��À”‹ÂËeèÇEüþÿÿÿ3À‹Mðd‰ ����Y_^[‹å]ÃÌÿ%¸ @�ÿ%´ @�ÌÌhe@�dÿ5����‹D$‰l$l$+àSVW¡�0@�1Eü3ÅP‰eèÿuø‹EüÇEüþÿÿÿ‰EøEðd£����ËMðd‰ ����Y__^[‹å]QËÿU‹ìÿuÿuÿuÿuh‡@�h�0@�èç���ƒÄ]ËÿVh���h���3öVèÙ���ƒÄ…Àt VVVVVèÂ���ƒÄ^Ã3ÀËÿU‹ìƒì¡�0@�ƒeø�ƒeü�SW¿Næ@»»��ÿÿ;Çt …Ãt ÷У0@�ë`VEøPÿ< @�‹uü3uøÿ @�3ðÿ @�3ðÿ @�3ðEðPÿ @�‹Eô3Eð3ð;÷u¾Oæ@»ë…óu‹ÆÁàð‰5�0@�÷Ö‰50@�^_[ÉÃÿ%t @�ÿ%x @�ÿ%| @�ÿ%€ @�ÿ%„ @�ÿ% @�ÿ%” @�ÿ%˜ @�ÿ%Ð @�Pdÿ5����D$+d$SVW‰(‹è¡�0@�3ÅP‰EðÿuüÇEüÿÿÿÿEôd£����ËMôd‰ ����Y__^[‹å]QËMð3Íè¯÷ÿÿéÝÿÿÿMÔÿ%T @�‹T$B‹JÌ3Èè÷ÿÿ‹Jü3Èè†÷ÿÿ¸l"@�ésÿÿÿ�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������¸#��Ê#��Ü#��ˆ)��r)��b)��H)��4)��)��ú(��æ(��Ò(��´(��¬(��–(��ž)������ú#��à$��%��Ê%��&��d&��®&��¤$������('��Ä'��Ö'��è'��þ'��(��((��6(��¦'��H(��Z(��t(��†(��'��'���'��–'��‚'��l'��^'��R'��F'��>'��>(��0'��¶'��¸)����������–@���������W@�Š@���������������������¬MoO�������l���€!��€��@0@�˜0@�bad allocation������H������������������������������������������������������������0@�ð!@����RSDSÑŒ³´J¨!öÌëLZ����c:\users\seld\documents\visual studio 2010\Projects\hiddeninp\Release\hiddeninp.pdb�����e��æ������������������þÿÿÿ����Ðÿÿÿ����þÿÿÿ@�@�����þÿÿÿ����Ìÿÿÿ����þÿÿÿ����:@�����þÿÿÿ����Øÿÿÿ����þÿÿÿË@�ß@�ÿÿÿÿÝ@�"“���d"@������������������������à"����������ì#��� ��$#����������ô&��D ��H#����������(��h ����������������������¸#��Ê#��Ü#��ˆ)��r)��b)��H)��4)��)��ú(��æ(��Ò(��´(��¬(��–(��ž)������ú#��à$��%��Ê%��&��d&��®&��¤$������('��Ä'��Ö'��è'��þ'��(��((��6(��¦'��H(��Z(��t(��†(��'��'���'��–'��‚'��l'��^'��R'��F'��>'��>(��0'��¶'��¸)������•GetConsoleMode��·SetConsoleMode��;GetStdHandle��KERNEL32.dll���??$?6DU?$char_traits@D@std@@V?$allocator@D@1@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z�‘?cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A��J?cin@std@@3V?$basic_istream@DU?$char_traits@D@std@@@1@A�Â�??$getline@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z�??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAV01@AAV01@@Z@Z��_??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ��{??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ��³?endl@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@1@AAV21@@Z��MSVCP90.dll�_amsg_exit��Ÿ�__getmainargs�,_cexit��|_exit�f�_XcptFilter�Ìexit�� �__initenv�_initterm�_initterm_e�<_configthreadlocale�ã�__setusermatherr��_adjust_fdiv��Ë�__p__commode��Ï�__p__fmode��j_encode_pointer�à�__set_app_type��K_crt_debugger_hook��C�?terminate@@YAXXZ�MSVCR90.dll�æ_unlock�–�__dllonexit�v_lock�_onexit�`_decode_pointer�s_except_handler4_common�_invoke_watson��?_controlfp_s��½InterlockedExchange�!Sleep�ºInterlockedCompareExchange��-TerminateProcess��©GetCurrentProcess�>UnhandledExceptionFilter��SetUnhandledExceptionFilter�ÑIsDebuggerPresent�TQueryPerformanceCounter�fGetTickCount��GetCurrentThreadId��ªGetCurrentProcessId�OGetSystemTimeAsFileTime�s�__CxxFrameHandler3����������������������������������������������������Næ@»±¿Dÿÿÿÿÿÿÿÿþÿÿÿ���$!@���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� ��€���8��€�����������������P��€�����������������h��€�������������� ��€����������������� ����� @��(��ä������ÈC��V��ä������(4���V�S�_�V�E�R�S�I�O�N�_�I�N�F�O�����½ïþ������������������������������������������†���S�t�r�i�n�g�F�i�l�e�I�n�f�o���b���0�4�0�9�0�4�b�0���Ê�Q��F�i�l�e�D�e�s�c�r�i�p�t�i�o�n�����R�e�a�d�s� �f�r�o�m� �s�t�d�i�n� �w�i�t�h�o�u�t� �l�e�a�k�i�n�g� �i�n�f�o� �t�o� �t�h�e� �t�e�r�m�i�n�a�l� �a�n�d� �o�u�t�p�u�t�s� �b�a�c�k� �t�o� �s�t�d�o�u�t�����6���F�i�l�e�V�e�r�s�i�o�n�����1�,� �0�,� �0�,� �0�����8���I�n�t�e�r�n�a�l�N�a�m�e���h�i�d�d�e�n�i�n�p�u�t���P���L�e�g�a�l�C�o�p�y�r�i�g�h�t���J�o�r�d�i� �B�o�g�g�i�a�n�o� �-� �2�0�1�2���H���O�r�i�g�i�n�a�l�F�i�l�e�n�a�m�e���h�i�d�d�e�n�i�n�p�u�t�.�e�x�e���:� ��P�r�o�d�u�c�t�N�a�m�e�����H�i�d�d�e�n� �I�n�p�u�t�����:���P�r�o�d�u�c�t�V�e�r�s�i�o�n���1�,� �0�,� �0�,� �0�����D����V�a�r�F�i�l�e�I�n�f�o�����$����T�r�a�n�s�l�a�t�i�o�n����� °<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> + <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"> + <security> + <requestedPrivileges> + <requestedExecutionLevel level="asInvoker" uiAccess="false"></requestedExecutionLevel> + </requestedPrivileges> + </security> + </trustInfo> + <dependency> + <dependentAssembly> + <assemblyIdentity type="win32" name="Microsoft.VC90.CRT" version="9.0.21022.8" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity> + </dependentAssembly> + </dependency> +</assembly>PAPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDING���@��00!0/080F0L0T0^0d0n0{0‰0—0¡0¨0®0³0¸0½0Â0È0Ð0ä0ÿ01#1-1@1J1O1T1v1{1„1‰1–1§11´1È1Í1Ó1Û1á1ç1ô1ú12"2*23292A2M2_2j2p2¹2¿2Ç2Î2Ó2Ù2ß2ç2í2ô2û2333%303N3T3Z3`3f3l3s3z33ˆ33–33¥33µ3Á3Ê3Ï3Õ3ß3è3ó3ÿ34444%4;4B4‹4‘4š4¡4¬4²4Æ4Û4æ4þ45!5^5c5„5‰5¨5H6M6_6}6‘6—6�77 7*7w7|7Á7ä7ñ7ý78 88=8E8P8V8\8b8h8n8t8z8€8œ8â89��� ��$���Ü0è0ì01 1t1x12 2@2\2`2h2t2�0�����0�������������������������������������������������������������������������������������������������������������������������������������������������� \ No newline at end of file diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Shell.php b/core/vendor/symfony/console/Shell.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Shell.php rename to core/vendor/symfony/console/Shell.php diff --git a/core/vendor/symfony/console/Style/OutputStyle.php b/core/vendor/symfony/console/Style/OutputStyle.php new file mode 100644 index 0000000000000000000000000000000000000000..13ed05b13dc4a2621e61c851a6b85f5ff7994153 --- /dev/null +++ b/core/vendor/symfony/console/Style/OutputStyle.php @@ -0,0 +1,116 @@ +<?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\Style; + +use Symfony\Component\Console\Formatter\OutputFormatterInterface; +use Symfony\Component\Console\Helper\ProgressBar; +use Symfony\Component\Console\Output\OutputInterface; + +/** + * Decorates output to add console style guide helpers + * + * @author Kevin Bond <kevinbond@gmail.com> + */ +abstract class OutputStyle implements OutputInterface, StyleInterface +{ + private $output; + + /** + * @param OutputInterface $output + */ + public function __construct(OutputInterface $output) + { + $this->output = $output; + } + + /** + * {@inheritdoc} + */ + public function newLine($count = 1) + { + $this->output->write(str_repeat(PHP_EOL, $count)); + } + + /** + * @param int $max + * + * @return ProgressBar + */ + public function createProgressBar($max = 0) + { + return new ProgressBar($this->output, $max); + } + + /** + * {@inheritdoc} + */ + public function write($messages, $newline = false, $type = self::OUTPUT_NORMAL) + { + $this->output->write($messages, $newline, $type); + } + + /** + * {@inheritdoc} + */ + public function writeln($messages, $type = self::OUTPUT_NORMAL) + { + $this->output->writeln($messages, $type); + } + + /** + * {@inheritdoc} + */ + public function setVerbosity($level) + { + $this->output->setVerbosity($level); + } + + /** + * {@inheritdoc} + */ + public function getVerbosity() + { + return $this->output->getVerbosity(); + } + + /** + * {@inheritdoc} + */ + public function setDecorated($decorated) + { + $this->output->setDecorated($decorated); + } + + /** + * {@inheritdoc} + */ + public function isDecorated() + { + return $this->output->isDecorated(); + } + + /** + * {@inheritdoc} + */ + public function setFormatter(OutputFormatterInterface $formatter) + { + $this->output->setFormatter($formatter); + } + + /** + * {@inheritdoc} + */ + public function getFormatter() + { + return $this->output->getFormatter(); + } +} diff --git a/core/vendor/symfony/console/Style/StyleInterface.php b/core/vendor/symfony/console/Style/StyleInterface.php new file mode 100644 index 0000000000000000000000000000000000000000..214782e3939fdbfb28102bf45deb4bd076f0cb58 --- /dev/null +++ b/core/vendor/symfony/console/Style/StyleInterface.php @@ -0,0 +1,159 @@ +<?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\Style; + +/** + * Output style helpers + * + * @author Kevin Bond <kevinbond@gmail.com> + */ +interface StyleInterface +{ + /** + * Formats a command title. + * + * @param string $message + */ + public function title($message); + + /** + * Formats a section title. + * + * @param string $message + */ + public function section($message); + + /** + * Formats a list. + * + * @param array $elements + */ + public function listing(array $elements); + + /** + * Formats informational text. + * + * @param string|array $message + */ + public function text($message); + + /** + * Formats a success result bar. + * + * @param string|array $message + */ + public function success($message); + + /** + * Formats an error result bar. + * + * @param string|array $message + */ + public function error($message); + + /** + * Formats an warning result bar. + * + * @param string|array $message + */ + public function warning($message); + + /** + * Formats a note admonition. + * + * @param string|array $message + */ + public function note($message); + + /** + * Formats a caution admonition. + * + * @param string|array $message + */ + public function caution($message); + + /** + * Formats a table. + * + * @param array $headers + * @param array $rows + */ + public function table(array $headers, array $rows); + + /** + * Asks a question. + * + * @param string $question + * @param string|null $default + * @param callable|null $validator + * + * @return string + */ + public function ask($question, $default = null, $validator = null); + + /** + * Asks a question with the user input hidden. + * + * @param string $question + * @param callable|null $validator + * + * @return string + */ + public function askHidden($question, $validator = null); + + /** + * Asks for confirmation. + * + * @param string $question + * @param bool $default + * + * @return bool + */ + public function confirm($question, $default = true); + + /** + * Asks a choice question. + * + * @param string $question + * @param array $choices + * @param string|int|null $default + * + * @return string + */ + public function choice($question, array $choices, $default = null); + + /** + * Add newline(s) + * + * @param int $count The number of newlines + */ + public function newLine($count = 1); + + /** + * Starts the progress output. + * + * @param int $max Maximum steps (0 if unknown) + */ + public function progressStart($max = 0); + + /** + * Advances the progress output X steps. + * + * @param int $step Number of steps to advance + */ + public function progressAdvance($step = 1); + + /** + * Finishes the progress output. + */ + public function progressFinish(); +} diff --git a/core/vendor/symfony/console/Style/SymfonyStyle.php b/core/vendor/symfony/console/Style/SymfonyStyle.php new file mode 100644 index 0000000000000000000000000000000000000000..1ccccc9df3c59577b6cb02fecd0bca4b710575c7 --- /dev/null +++ b/core/vendor/symfony/console/Style/SymfonyStyle.php @@ -0,0 +1,323 @@ +<?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\Style; + +use Symfony\Component\Console\Application; +use Symfony\Component\Console\Formatter\OutputFormatter; +use Symfony\Component\Console\Helper\Helper; +use Symfony\Component\Console\Helper\ProgressBar; +use Symfony\Component\Console\Helper\SymfonyQuestionHelper; +use Symfony\Component\Console\Helper\Table; +use Symfony\Component\Console\Input\InputInterface; +use Symfony\Component\Console\Output\OutputInterface; +use Symfony\Component\Console\Question\ChoiceQuestion; +use Symfony\Component\Console\Question\ConfirmationQuestion; +use Symfony\Component\Console\Question\Question; + +/** + * Output decorator helpers for the Symfony Style Guide. + * + * @author Kevin Bond <kevinbond@gmail.com> + */ +class SymfonyStyle extends OutputStyle +{ + const MAX_LINE_LENGTH = 120; + + private $input; + private $questionHelper; + private $progressBar; + private $lineLength; + + /** + * @param InputInterface $input + * @param OutputInterface $output + */ + public function __construct(InputInterface $input, OutputInterface $output) + { + $this->input = $input; + $this->lineLength = min($this->getTerminalWidth(), self::MAX_LINE_LENGTH); + + parent::__construct($output); + } + + /** + * Formats a message as a block of text. + * + * @param string|array $messages The message to write in the block + * @param string|null $type The block type (added in [] on first line) + * @param string|null $style The style to apply to the whole block + * @param string $prefix The prefix for the block + * @param bool $padding Whether to add vertical padding + */ + public function block($messages, $type = null, $style = null, $prefix = ' ', $padding = false) + { + $messages = array_values((array) $messages); + $lines = array(); + + // add type + if (null !== $type) { + $messages[0] = sprintf('[%s] %s', $type, $messages[0]); + } + + // wrap and add newlines for each element + foreach ($messages as $key => $message) { + $message = OutputFormatter::escape($message); + $lines = array_merge($lines, explode("\n", wordwrap($message, $this->lineLength - Helper::strlen($prefix)))); + + if (count($messages) > 1 && $key < count($messages) - 1) { + $lines[] = ''; + } + } + + if ($padding && $this->isDecorated()) { + array_unshift($lines, ''); + $lines[] = ''; + } + + foreach ($lines as &$line) { + $line = sprintf('%s%s', $prefix, $line); + $line .= str_repeat(' ', $this->lineLength - Helper::strlen($line)); + + if ($style) { + $line = sprintf('<%s>%s</>', $style, $line); + } + } + + $this->writeln(implode("\n", $lines)."\n"); + } + + /** + * {@inheritdoc} + */ + public function title($message) + { + $this->writeln(sprintf("\n<comment>%s</>\n<comment>%s</>\n", $message, str_repeat('=', strlen($message)))); + } + + /** + * {@inheritdoc} + */ + public function section($message) + { + $this->writeln(sprintf("<comment>%s</>\n<comment>%s</>\n", $message, str_repeat('-', strlen($message)))); + } + + /** + * {@inheritdoc} + */ + public function listing(array $elements) + { + $elements = array_map(function ($element) { + return sprintf(' * %s', $element); + }, + $elements + ); + + $this->writeln(implode("\n", $elements)."\n"); + } + + /** + * {@inheritdoc} + */ + public function text($message) + { + if (!is_array($message)) { + $this->writeln(sprintf(' // %s', $message)); + + return; + } + + foreach ($message as $element) { + $this->text($element); + } + } + + /** + * {@inheritdoc} + */ + public function success($message) + { + $this->block($message, 'OK', 'fg=white;bg=green', ' ', true); + } + + /** + * {@inheritdoc} + */ + public function error($message) + { + $this->block($message, 'ERROR', 'fg=white;bg=red', ' ', true); + } + + /** + * {@inheritdoc} + */ + public function warning($message) + { + $this->block($message, 'WARNING', 'fg=white;bg=red', ' ', true); + } + + /** + * {@inheritdoc} + */ + public function note($message) + { + $this->block($message, 'NOTE', 'fg=yellow', ' ! '); + } + + /** + * {@inheritdoc} + */ + public function caution($message) + { + $this->block($message, 'CAUTION', 'fg=white;bg=red', ' ! ', true); + } + + /** + * {@inheritdoc} + */ + public function table(array $headers, array $rows) + { + $headers = array_map(function ($value) { return sprintf('<info>%s</>', $value); }, $headers); + + $table = new Table($this); + $table->setHeaders($headers); + $table->setRows($rows); + $table->setStyle('symfony-style-guide'); + + $table->render(); + $this->newLine(); + } + + /** + * {@inheritdoc} + */ + public function ask($question, $default = null, $validator = null) + { + $question = new Question($question, $default); + $question->setValidator($validator); + + return $this->askQuestion($question, $validator); + } + + /** + * {@inheritdoc} + */ + public function askHidden($question, $validator = null) + { + $question = new Question($question); + $question->setHidden(true); + + return $this->askQuestion($question, $validator); + } + + /** + * {@inheritdoc} + */ + public function confirm($question, $default = true) + { + return $this->askQuestion(new ConfirmationQuestion($question, $default)); + } + + /** + * {@inheritdoc} + */ + public function choice($question, array $choices, $default = null) + { + if (null !== $default) { + $values = array_flip($choices); + $default = $values[$default]; + } + + return $this->askQuestion(new ChoiceQuestion($question, $choices, $default)); + } + + /** + * {@inheritdoc} + */ + public function progressStart($max = 0) + { + $this->progressBar = $this->createProgressBar($max); + $this->progressBar->start(); + } + + /** + * {@inheritdoc} + */ + public function progressAdvance($step = 1) + { + $this->getProgressBar()->advance($step); + } + + /** + * {@inheritdoc} + */ + public function progressFinish() + { + $this->getProgressBar()->finish(); + $this->newLine(2); + $this->progressBar = null; + } + + /** + * {@inheritdoc} + */ + public function createProgressBar($max = 0) + { + $progressBar = parent::createProgressBar($max); + + if ('\\' === DIRECTORY_SEPARATOR) { + $progressBar->setEmptyBarCharacter('â–‘'); // light shade character \u2591 + $progressBar->setProgressCharacter(''); + $progressBar->setBarCharacter('â–“'); // dark shade character \u2593 + } + + return $progressBar; + } + + /** + * @param Question $question + * + * @return string + */ + public function askQuestion(Question $question) + { + if (!$this->questionHelper) { + $this->questionHelper = new SymfonyQuestionHelper(); + } + + $answer = $this->questionHelper->ask($this->input, $this, $question); + + $this->newLine(); + + return $answer; + } + + /** + * @return ProgressBar + */ + private function getProgressBar() + { + if (!$this->progressBar) { + throw new \RuntimeException('The ProgressBar is not started.'); + } + + return $this->progressBar; + } + + private function getTerminalWidth() + { + $application = new Application(); + $dimensions = $application->getTerminalDimensions(); + + return $dimensions[0] ?: self::MAX_LINE_LENGTH; + } +} diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Helper/Table.php b/core/vendor/symfony/console/Symfony/Component/Console/Helper/Table.php deleted file mode 100644 index 7766cbccc661909d90b17b90d30d484a39ef4cc7..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/console/Symfony/Component/Console/Helper/Table.php +++ /dev/null @@ -1,410 +0,0 @@ -<?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\Helper; - -use Symfony\Component\Console\Output\OutputInterface; - -/** - * Provides helpers to display a table. - * - * @author Fabien Potencier <fabien@symfony.com> - * @author Саша Стаменковић <umpirsky@gmail.com> - */ -class Table -{ - /** - * Table headers. - * - * @var array - */ - private $headers = array(); - - /** - * Table rows. - * - * @var array - */ - private $rows = array(); - - /** - * Column widths cache. - * - * @var array - */ - private $columnWidths = array(); - - /** - * Number of columns cache. - * - * @var array - */ - private $numberOfColumns; - - /** - * @var OutputInterface - */ - private $output; - - /** - * @var TableStyle - */ - private $style; - - private static $styles; - - public function __construct(OutputInterface $output) - { - $this->output = $output; - - if (!self::$styles) { - self::$styles = self::initStyles(); - } - - $this->setStyle('default'); - } - - /** - * Sets a style definition. - * - * @param string $name The style name - * @param TableStyle $style A TableStyle instance - */ - public static function setStyleDefinition($name, TableStyle $style) - { - if (!self::$styles) { - self::$styles = self::initStyles(); - } - - self::$styles[$name] = $style; - } - - /** - * Gets a style definition by name. - * - * @param string $name The style name - * - * @return TableStyle A TableStyle instance - */ - public static function getStyleDefinition($name) - { - if (!self::$styles) { - self::$styles = self::initStyles(); - } - - if (!self::$styles[$name]) { - throw new \InvalidArgumentException(sprintf('Style "%s" is not defined.', $name)); - } - - return self::$styles[$name]; - } - - /** - * Sets table style. - * - * @param TableStyle|string $name The style name or a TableStyle instance - * - * @return Table - */ - public function setStyle($name) - { - if ($name instanceof TableStyle) { - $this->style = $name; - } elseif (isset(self::$styles[$name])) { - $this->style = self::$styles[$name]; - } else { - throw new \InvalidArgumentException(sprintf('Style "%s" is not defined.', $name)); - } - - return $this; - } - - /** - * Gets the current table style. - * - * @return TableStyle - */ - public function getStyle() - { - return $this->style; - } - - public function setHeaders(array $headers) - { - $this->headers = array_values($headers); - - return $this; - } - - public function setRows(array $rows) - { - $this->rows = array(); - - return $this->addRows($rows); - } - - public function addRows(array $rows) - { - foreach ($rows as $row) { - $this->addRow($row); - } - - return $this; - } - - public function addRow($row) - { - if ($row instanceof TableSeparator) { - $this->rows[] = $row; - - return; - } - - if (!is_array($row)) { - throw new \InvalidArgumentException('A row must be an array or a TableSeparator instance.'); - } - - $this->rows[] = array_values($row); - - end($this->rows); - $rowKey = key($this->rows); - reset($this->rows); - - foreach ($row as $key => $cellValue) { - if (false === strpos($cellValue, "\n")) { - continue; - } - - $lines = explode("\n", $cellValue); - $this->rows[$rowKey][$key] = $lines[0]; - unset($lines[0]); - - foreach ($lines as $lineKey => $line) { - $nextRowKey = $rowKey + $lineKey + 1; - - if (isset($this->rows[$nextRowKey])) { - $this->rows[$nextRowKey][$key] = $line; - } else { - $this->rows[$nextRowKey] = array($key => $line); - } - } - } - - return $this; - } - - public function setRow($column, array $row) - { - $this->rows[$column] = $row; - - return $this; - } - - /** - * Renders table to output. - * - * Example: - * +---------------+-----------------------+------------------+ - * | ISBN | Title | Author | - * +---------------+-----------------------+------------------+ - * | 99921-58-10-7 | Divine Comedy | Dante Alighieri | - * | 9971-5-0210-0 | A Tale of Two Cities | Charles Dickens | - * | 960-425-059-0 | The Lord of the Rings | J. R. R. Tolkien | - * +---------------+-----------------------+------------------+ - */ - public function render() - { - $this->renderRowSeparator(); - $this->renderRow($this->headers, $this->style->getCellHeaderFormat()); - if (!empty($this->headers)) { - $this->renderRowSeparator(); - } - foreach ($this->rows as $row) { - if ($row instanceof TableSeparator) { - $this->renderRowSeparator(); - } else { - $this->renderRow($row, $this->style->getCellRowFormat()); - } - } - if (!empty($this->rows)) { - $this->renderRowSeparator(); - } - - $this->cleanup(); - } - - /** - * Renders horizontal header separator. - * - * Example: +-----+-----------+-------+ - */ - private function renderRowSeparator() - { - if (0 === $count = $this->getNumberOfColumns()) { - return; - } - - if (!$this->style->getHorizontalBorderChar() && !$this->style->getCrossingChar()) { - return; - } - - $markup = $this->style->getCrossingChar(); - for ($column = 0; $column < $count; $column++) { - $markup .= str_repeat($this->style->getHorizontalBorderChar(), $this->getColumnWidth($column)).$this->style->getCrossingChar(); - } - - $this->output->writeln(sprintf($this->style->getBorderFormat(), $markup)); - } - - /** - * Renders vertical column separator. - */ - private function renderColumnSeparator() - { - $this->output->write(sprintf($this->style->getBorderFormat(), $this->style->getVerticalBorderChar())); - } - - /** - * Renders table row. - * - * Example: | 9971-5-0210-0 | A Tale of Two Cities | Charles Dickens | - * - * @param array $row - * @param string $cellFormat - */ - private function renderRow(array $row, $cellFormat) - { - if (empty($row)) { - return; - } - - $this->renderColumnSeparator(); - for ($column = 0, $count = $this->getNumberOfColumns(); $column < $count; $column++) { - $this->renderCell($row, $column, $cellFormat); - $this->renderColumnSeparator(); - } - $this->output->writeln(''); - } - - /** - * Renders table cell with padding. - * - * @param array $row - * @param int $column - * @param string $cellFormat - */ - private function renderCell(array $row, $column, $cellFormat) - { - $cell = isset($row[$column]) ? $row[$column] : ''; - $width = $this->getColumnWidth($column); - - // str_pad won't work properly with multi-byte strings, we need to fix the padding - if (function_exists('mb_strwidth') && false !== $encoding = mb_detect_encoding($cell)) { - $width += strlen($cell) - mb_strwidth($cell, $encoding); - } - - $width += Helper::strlen($cell) - Helper::strlenWithoutDecoration($this->output->getFormatter(), $cell); - - $content = sprintf($this->style->getCellRowContentFormat(), $cell); - - $this->output->write(sprintf($cellFormat, str_pad($content, $width, $this->style->getPaddingChar(), $this->style->getPadType()))); - } - - /** - * Gets number of columns for this table. - * - * @return int - */ - private function getNumberOfColumns() - { - if (null !== $this->numberOfColumns) { - return $this->numberOfColumns; - } - - $columns = array(count($this->headers)); - foreach ($this->rows as $row) { - $columns[] = count($row); - } - - return $this->numberOfColumns = max($columns); - } - - /** - * Gets column width. - * - * @param int $column - * - * @return int - */ - private function getColumnWidth($column) - { - if (isset($this->columnWidths[$column])) { - return $this->columnWidths[$column]; - } - - $lengths = array($this->getCellWidth($this->headers, $column)); - foreach ($this->rows as $row) { - if ($row instanceof TableSeparator) { - continue; - } - - $lengths[] = $this->getCellWidth($row, $column); - } - - return $this->columnWidths[$column] = max($lengths) + strlen($this->style->getCellRowContentFormat()) - 2; - } - - /** - * Gets cell width. - * - * @param array $row - * @param int $column - * - * @return int - */ - private function getCellWidth(array $row, $column) - { - return isset($row[$column]) ? Helper::strlenWithoutDecoration($this->output->getFormatter(), $row[$column]) : 0; - } - - /** - * Called after rendering to cleanup cache data. - */ - private function cleanup() - { - $this->columnWidths = array(); - $this->numberOfColumns = null; - } - - private static function initStyles() - { - $borderless = new TableStyle(); - $borderless - ->setHorizontalBorderChar('=') - ->setVerticalBorderChar(' ') - ->setCrossingChar(' ') - ; - - $compact = new TableStyle(); - $compact - ->setHorizontalBorderChar('') - ->setVerticalBorderChar(' ') - ->setCrossingChar('') - ->setCellRowContentFormat('%s') - ; - - return array( - 'default' => new TableStyle(), - 'borderless' => $borderless, - 'compact' => $compact, - ); - } -} diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_1.json b/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_1.json deleted file mode 100644 index 7f8d92eefc1e35109c2aa3c0fb276997e3fe0b00..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_1.json +++ /dev/null @@ -1 +0,0 @@ -{"commands":[{"name":"help","usage":"help [--xml] [--format=\"...\"] [--raw] [command_name]","description":"Displays help for a command","help":"The <info>help<\/info> command displays help for a given command:\n\n <info>php app\/console help list<\/info>\n\nYou can also output the help in other formats by using the <comment>--format<\/comment> option:\n\n <info>php app\/console help --format=xml list<\/info>\n\nTo display the list of available commands, please use the <info>list<\/info> command.","aliases":[],"definition":{"arguments":{"command_name":{"name":"command_name","is_required":false,"is_array":false,"description":"The command name","default":"help"}},"options":{"xml":{"name":"--xml","shortcut":"","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"To output help as XML","default":false},"format":{"name":"--format","shortcut":"","accept_value":true,"is_value_required":true,"is_multiple":false,"description":"To output help in other formats","default":"txt"},"raw":{"name":"--raw","shortcut":"","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"To output raw command help","default":false},"help":{"name":"--help","shortcut":"-h","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"Display this help message","default":false},"quiet":{"name":"--quiet","shortcut":"-q","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"Do not output any message","default":false},"verbose":{"name":"--verbose","shortcut":"-v|-vv|-vvv","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug","default":false},"version":{"name":"--version","shortcut":"-V","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"Display this application version","default":false},"ansi":{"name":"--ansi","shortcut":"","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"Force ANSI output","default":false},"no-ansi":{"name":"--no-ansi","shortcut":"","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"Disable ANSI output","default":false},"no-interaction":{"name":"--no-interaction","shortcut":"-n","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"Do not ask any interactive question","default":false}}}},{"name":"list","usage":"list [--xml] [--raw] [--format=\"...\"] [namespace]","description":"Lists commands","help":"The <info>list<\/info> command lists all commands:\n\n <info>php app\/console list<\/info>\n\nYou can also display the commands for a specific namespace:\n\n <info>php app\/console list test<\/info>\n\nYou can also output the information in other formats by using the <comment>--format<\/comment> option:\n\n <info>php app\/console list --format=xml<\/info>\n\nIt's also possible to get raw list of commands (useful for embedding command runner):\n\n <info>php app\/console list --raw<\/info>","aliases":[],"definition":{"arguments":{"namespace":{"name":"namespace","is_required":false,"is_array":false,"description":"The namespace name","default":null}},"options":{"xml":{"name":"--xml","shortcut":"","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"To output list as XML","default":false},"raw":{"name":"--raw","shortcut":"","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"To output raw command list","default":false},"format":{"name":"--format","shortcut":"","accept_value":true,"is_value_required":true,"is_multiple":false,"description":"To output list in other formats","default":"txt"}}}}],"namespaces":[{"id":"_global","commands":["help","list"]}]} diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_1.txt b/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_1.txt deleted file mode 100644 index f3a1968effc723a4b97330af52cc45c1387199e5..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_1.txt +++ /dev/null @@ -1,17 +0,0 @@ -<info>Console Tool</info> - -<comment>Usage:</comment> - command [options] [arguments] - -<comment>Options:</comment> - <info>--help</info> (-h) Display this help message - <info>--quiet</info> (-q) Do not output any message - <info>--verbose</info> (-v|vv|vvv) Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug - <info>--version</info> (-V) Display this application version - <info>--ansi</info> Force ANSI output - <info>--no-ansi</info> Disable ANSI output - <info>--no-interaction</info> (-n) Do not ask any interactive question - -<comment>Available commands:</comment> - <info>help </info> Displays help for a command - <info>list </info> Lists commands diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_2.json b/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_2.json deleted file mode 100644 index 1655d47e6215707814e64a52b79998ce256599f7..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_2.json +++ /dev/null @@ -1 +0,0 @@ -{"commands":[{"name":"help","usage":"help [--xml] [--format=\"...\"] [--raw] [command_name]","description":"Displays help for a command","help":"The <info>help<\/info> command displays help for a given command:\n\n <info>php app\/console help list<\/info>\n\nYou can also output the help in other formats by using the <comment>--format<\/comment> option:\n\n <info>php app\/console help --format=xml list<\/info>\n\nTo display the list of available commands, please use the <info>list<\/info> command.","aliases":[],"definition":{"arguments":{"command_name":{"name":"command_name","is_required":false,"is_array":false,"description":"The command name","default":"help"}},"options":{"xml":{"name":"--xml","shortcut":"","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"To output help as XML","default":false},"format":{"name":"--format","shortcut":"","accept_value":true,"is_value_required":true,"is_multiple":false,"description":"To output help in other formats","default":"txt"},"raw":{"name":"--raw","shortcut":"","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"To output raw command help","default":false},"help":{"name":"--help","shortcut":"-h","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"Display this help message","default":false},"quiet":{"name":"--quiet","shortcut":"-q","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"Do not output any message","default":false},"verbose":{"name":"--verbose","shortcut":"-v|-vv|-vvv","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug","default":false},"version":{"name":"--version","shortcut":"-V","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"Display this application version","default":false},"ansi":{"name":"--ansi","shortcut":"","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"Force ANSI output","default":false},"no-ansi":{"name":"--no-ansi","shortcut":"","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"Disable ANSI output","default":false},"no-interaction":{"name":"--no-interaction","shortcut":"-n","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"Do not ask any interactive question","default":false}}}},{"name":"list","usage":"list [--xml] [--raw] [--format=\"...\"] [namespace]","description":"Lists commands","help":"The <info>list<\/info> command lists all commands:\n\n <info>php app\/console list<\/info>\n\nYou can also display the commands for a specific namespace:\n\n <info>php app\/console list test<\/info>\n\nYou can also output the information in other formats by using the <comment>--format<\/comment> option:\n\n <info>php app\/console list --format=xml<\/info>\n\nIt's also possible to get raw list of commands (useful for embedding command runner):\n\n <info>php app\/console list --raw<\/info>","aliases":[],"definition":{"arguments":{"namespace":{"name":"namespace","is_required":false,"is_array":false,"description":"The namespace name","default":null}},"options":{"xml":{"name":"--xml","shortcut":"","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"To output list as XML","default":false},"raw":{"name":"--raw","shortcut":"","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"To output raw command list","default":false},"format":{"name":"--format","shortcut":"","accept_value":true,"is_value_required":true,"is_multiple":false,"description":"To output list in other formats","default":"txt"}}}},{"name":"descriptor:command1","usage":"descriptor:command1","description":"command 1 description","help":"command 1 help","aliases":["alias1","alias2"],"definition":{"arguments":[],"options":{"help":{"name":"--help","shortcut":"-h","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"Display this help message","default":false},"quiet":{"name":"--quiet","shortcut":"-q","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"Do not output any message","default":false},"verbose":{"name":"--verbose","shortcut":"-v|-vv|-vvv","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug","default":false},"version":{"name":"--version","shortcut":"-V","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"Display this application version","default":false},"ansi":{"name":"--ansi","shortcut":"","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"Force ANSI output","default":false},"no-ansi":{"name":"--no-ansi","shortcut":"","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"Disable ANSI output","default":false},"no-interaction":{"name":"--no-interaction","shortcut":"-n","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"Do not ask any interactive question","default":false}}}},{"name":"descriptor:command2","usage":"descriptor:command2 [-o|--option_name] argument_name","description":"command 2 description","help":"command 2 help","aliases":[],"definition":{"arguments":{"argument_name":{"name":"argument_name","is_required":true,"is_array":false,"description":"","default":null}},"options":{"option_name":{"name":"--option_name","shortcut":"-o","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"","default":false},"help":{"name":"--help","shortcut":"-h","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"Display this help message","default":false},"quiet":{"name":"--quiet","shortcut":"-q","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"Do not output any message","default":false},"verbose":{"name":"--verbose","shortcut":"-v|-vv|-vvv","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug","default":false},"version":{"name":"--version","shortcut":"-V","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"Display this application version","default":false},"ansi":{"name":"--ansi","shortcut":"","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"Force ANSI output","default":false},"no-ansi":{"name":"--no-ansi","shortcut":"","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"Disable ANSI output","default":false},"no-interaction":{"name":"--no-interaction","shortcut":"-n","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"Do not ask any interactive question","default":false}}}}],"namespaces":[{"id":"_global","commands":["alias1","alias2","help","list"]},{"id":"descriptor","commands":["descriptor:command1","descriptor:command2"]}]} diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_2.txt b/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_2.txt deleted file mode 100644 index a640a8d2d2e06b458918de34bcf5994e1feaef79..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_2.txt +++ /dev/null @@ -1,22 +0,0 @@ -<info>My Symfony application</info> version <comment>v1.0</comment> - -<comment>Usage:</comment> - command [options] [arguments] - -<comment>Options:</comment> - <info>--help</info> (-h) Display this help message - <info>--quiet</info> (-q) Do not output any message - <info>--verbose</info> (-v|vv|vvv) Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug - <info>--version</info> (-V) Display this application version - <info>--ansi</info> Force ANSI output - <info>--no-ansi</info> Disable ANSI output - <info>--no-interaction</info> (-n) Do not ask any interactive question - -<comment>Available commands:</comment> - <info>alias1 </info> command 1 description - <info>alias2 </info> command 1 description - <info>help </info> Displays help for a command - <info>list </info> Lists commands -<comment>descriptor</comment> - <info>descriptor:command1 </info> command 1 description - <info>descriptor:command2 </info> command 2 description diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_astext1.txt b/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_astext1.txt deleted file mode 100644 index d9734fe30a4162feed1da5cbf00fef48d65b41c4..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_astext1.txt +++ /dev/null @@ -1,20 +0,0 @@ -<info>Console Tool</info> - -<comment>Usage:</comment> - command [options] [arguments] - -<comment>Options:</comment> - <info>--help</info> (-h) Display this help message - <info>--quiet</info> (-q) Do not output any message - <info>--verbose</info> (-v|vv|vvv) Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug - <info>--version</info> (-V) Display this application version - <info>--ansi</info> Force ANSI output - <info>--no-ansi</info> Disable ANSI output - <info>--no-interaction</info> (-n) Do not ask any interactive question - -<comment>Available commands:</comment> - <info>afoobar </info> The foo:bar command - <info>help </info> Displays help for a command - <info>list </info> Lists commands -<comment>foo</comment> - <info>foo:bar </info> The foo:bar command diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_astext2.txt b/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_astext2.txt deleted file mode 100644 index 49992cfe3b62183eff113e51468cfc7f70ed194f..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_astext2.txt +++ /dev/null @@ -1,16 +0,0 @@ -<info>Console Tool</info> - -<comment>Usage:</comment> - command [options] [arguments] - -<comment>Options:</comment> - <info>--help</info> (-h) Display this help message - <info>--quiet</info> (-q) Do not output any message - <info>--verbose</info> (-v|vv|vvv) Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug - <info>--version</info> (-V) Display this application version - <info>--ansi</info> Force ANSI output - <info>--no-ansi</info> Disable ANSI output - <info>--no-interaction</info> (-n) Do not ask any interactive question - -<comment>Available commands for the "foo" namespace:</comment> - <info>foo:bar </info> The foo:bar command diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_run1.txt b/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_run1.txt deleted file mode 100644 index 9bd08b5474c64a36987af2330502c1606b85e7dd..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_run1.txt +++ /dev/null @@ -1,17 +0,0 @@ -Console Tool - -Usage: - command [options] [arguments] - -Options: - --help (-h) Display this help message - --quiet (-q) Do not output any message - --verbose (-v|vv|vvv) Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug - --version (-V) Display this application version - --ansi Force ANSI output - --no-ansi Disable ANSI output - --no-interaction (-n) Do not ask any interactive question - -Available commands: - help Displays help for a command - list Lists commands diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_run2.txt b/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_run2.txt deleted file mode 100644 index 6963c0f164ef506fef9fb5943c482f0c492c3c0e..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_run2.txt +++ /dev/null @@ -1,29 +0,0 @@ -Usage: - help [--xml] [--format="..."] [--raw] [command_name] - -Arguments: - command The command to execute - command_name The command name (default: "help") - -Options: - --xml To output help as XML - --format To output help in other formats (default: "txt") - --raw To output raw command help - --help (-h) Display this help message - --quiet (-q) Do not output any message - --verbose (-v|vv|vvv) Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug - --version (-V) Display this application version - --ansi Force ANSI output - --no-ansi Disable ANSI output - --no-interaction (-n) Do not ask any interactive question - -Help: - The help command displays help for a given command: - - php app/console help list - - You can also output the help in other formats by using the --format option: - - php app/console help --format=xml list - - To display the list of available commands, please use the list command. diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/command_1.json b/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/command_1.json deleted file mode 100644 index 0c1675dbcef4208a3519b5aa831ad8de5b312268..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/command_1.json +++ /dev/null @@ -1 +0,0 @@ -{"name":"descriptor:command1","usage":"descriptor:command1","description":"command 1 description","help":"command 1 help","aliases":["alias1","alias2"],"definition":{"arguments":[],"options":[]}} diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/command_1.txt b/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/command_1.txt deleted file mode 100644 index 2375ac0e63d8d1679c3a3d0d5f1b47c2ed4f65c4..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/command_1.txt +++ /dev/null @@ -1,7 +0,0 @@ -<comment>Usage:</comment> - descriptor:command1 - -<comment>Aliases:</comment> <info>alias1, alias2</info> - -<comment>Help:</comment> - command 1 help diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/command_2.json b/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/command_2.json deleted file mode 100644 index 493b584669ef995a1f9c2b9e485963248b3f4915..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/command_2.json +++ /dev/null @@ -1 +0,0 @@ -{"name":"descriptor:command2","usage":"descriptor:command2 [-o|--option_name] argument_name","description":"command 2 description","help":"command 2 help","aliases":[],"definition":{"arguments":{"argument_name":{"name":"argument_name","is_required":true,"is_array":false,"description":"","default":null}},"options":{"option_name":{"name":"--option_name","shortcut":"-o","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"","default":false}}}} diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/command_2.txt b/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/command_2.txt deleted file mode 100644 index 1da9f3d29fa0530e2f69c8baa12d573805428497..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/command_2.txt +++ /dev/null @@ -1,11 +0,0 @@ -<comment>Usage:</comment> - descriptor:command2 [-o|--option_name] argument_name - -<comment>Arguments:</comment> - <info>argument_name </info> - -<comment>Options:</comment> - <info>--option_name</info> (-o) - -<comment>Help:</comment> - command 2 help diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/command_astext.txt b/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/command_astext.txt deleted file mode 100644 index 5d703512f766723af514d49e504a326501262806..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/command_astext.txt +++ /dev/null @@ -1,18 +0,0 @@ -<comment>Usage:</comment> - namespace:name - -<comment>Aliases:</comment> <info>name</info> -<comment>Arguments:</comment> - <info>command </info> The command to execute - -<comment>Options:</comment> - <info>--help</info> (-h) Display this help message - <info>--quiet</info> (-q) Do not output any message - <info>--verbose</info> (-v|vv|vvv) Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug - <info>--version</info> (-V) Display this application version - <info>--ansi</info> Force ANSI output - <info>--no-ansi</info> Disable ANSI output - <info>--no-interaction</info> (-n) Do not ask any interactive question - -<comment>Help:</comment> - help diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/definition_astext.txt b/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/definition_astext.txt deleted file mode 100644 index a7d7e0d5134ecbdc1ff13514fa321ddc796a7255..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/definition_astext.txt +++ /dev/null @@ -1,11 +0,0 @@ -<comment>Arguments:</comment> - <info>foo </info> The foo argument - <info>baz </info> The baz argument<comment> (default: true)</comment> - <info>bar </info> The bar argument<comment> (default: ["http://foo.com/"])</comment> - -<comment>Options:</comment> - <info>--foo</info> (-f) The foo option - <info>--baz</info> The baz option<comment> (default: false)</comment> - <info>--bar</info> (-b) The bar option<comment> (default: "bar")</comment> - <info>--qux</info> The qux option<comment> (default: ["http://foo.com/","bar"])</comment><comment> (multiple values allowed)</comment> - <info>--qux2</info> The qux2 option<comment> (default: {"foo":"bar"})</comment><comment> (multiple values allowed)</comment> diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_argument_1.txt b/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_argument_1.txt deleted file mode 100644 index 111e5157f892dbba0b6a1484aae8b72e969c1faa..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_argument_1.txt +++ /dev/null @@ -1 +0,0 @@ - <info>argument_name</info> diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_argument_2.txt b/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_argument_2.txt deleted file mode 100644 index 9497b1ce01a96ba7c4055e34617c3a4511a52c9f..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_argument_2.txt +++ /dev/null @@ -1 +0,0 @@ - <info>argument_name</info> argument description diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_argument_3.txt b/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_argument_3.txt deleted file mode 100644 index c421fc9117cad1af5c4ab3b5e13195a802a86206..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_argument_3.txt +++ /dev/null @@ -1 +0,0 @@ - <info>argument_name</info> argument description<comment> (default: "default_value")</comment> diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_definition_3.txt b/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_definition_3.txt deleted file mode 100644 index c6fb2ccc7b5b1b375c87dddc610d00cd71100c44..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_definition_3.txt +++ /dev/null @@ -1,2 +0,0 @@ -<comment>Options:</comment> - <info>--option_name</info> (-o) diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_definition_4.txt b/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_definition_4.txt deleted file mode 100644 index e17c61c3adf4bba5b2335d7be2ba23066aeff52d..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_definition_4.txt +++ /dev/null @@ -1,5 +0,0 @@ -<comment>Arguments:</comment> - <info>argument_name </info> - -<comment>Options:</comment> - <info>--option_name</info> (-o) diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_option_1.txt b/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_option_1.txt deleted file mode 100644 index daf83d07ea74886b9ca4773d75d37ea3216768d1..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_option_1.txt +++ /dev/null @@ -1 +0,0 @@ - <info>--option_name</info> (-o) diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_option_2.txt b/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_option_2.txt deleted file mode 100644 index 627e3c1ce5db83a85e4f0258403ba341f3d2340d..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_option_2.txt +++ /dev/null @@ -1 +0,0 @@ - <info>--option_name</info> (-o) option description<comment> (default: "default_value")</comment> diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_option_3.txt b/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_option_3.txt deleted file mode 100644 index b88b12d2b3e706e10bd616cb37d0fdb593583982..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_option_3.txt +++ /dev/null @@ -1 +0,0 @@ - <info>--option_name</info> (-o) option description diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_option_4.txt b/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_option_4.txt deleted file mode 100644 index 5dba5e6e87422a75584c215876821c783e3cc6d8..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_option_4.txt +++ /dev/null @@ -1 +0,0 @@ - <info>--option_name</info> (-o) option description<comment> (multiple values allowed)</comment> diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tester/ApplicationTester.php b/core/vendor/symfony/console/Tester/ApplicationTester.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tester/ApplicationTester.php rename to core/vendor/symfony/console/Tester/ApplicationTester.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tester/CommandTester.php b/core/vendor/symfony/console/Tester/CommandTester.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tester/CommandTester.php rename to core/vendor/symfony/console/Tester/CommandTester.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/ApplicationTest.php b/core/vendor/symfony/console/Tests/ApplicationTest.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/ApplicationTest.php rename to core/vendor/symfony/console/Tests/ApplicationTest.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Command/CommandTest.php b/core/vendor/symfony/console/Tests/Command/CommandTest.php similarity index 98% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Command/CommandTest.php rename to core/vendor/symfony/console/Tests/Command/CommandTest.php index c35617d19ab3ee9a6851c483ad4e10da19f64f0a..08761163eb2d874a3776dffa6c4c69aa8660c705 100644 --- a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Command/CommandTest.php +++ b/core/vendor/symfony/console/Tests/Command/CommandTest.php @@ -154,8 +154,8 @@ public function testGetSynopsis() { $command = new \TestCommand(); $command->addOption('foo'); - $command->addArgument('foo'); - $this->assertEquals('namespace:name [--foo] [foo]', $command->getSynopsis(), '->getSynopsis() returns the synopsis'); + $command->addArgument('bar'); + $this->assertEquals('namespace:name [--foo] [--] [<bar>]', $command->getSynopsis(), '->getSynopsis() returns the synopsis'); } public function testGetHelper() diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Command/HelpCommandTest.php b/core/vendor/symfony/console/Tests/Command/HelpCommandTest.php similarity index 52% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Command/HelpCommandTest.php rename to core/vendor/symfony/console/Tests/Command/HelpCommandTest.php index ea69c8ba3b508e3bb6b4db45ee39a55b48769845..9e068587f82ba9a4b9cfc2e1dc281ef923535082 100644 --- a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Command/HelpCommandTest.php +++ b/core/vendor/symfony/console/Tests/Command/HelpCommandTest.php @@ -23,8 +23,10 @@ public function testExecuteForCommandAlias() $command = new HelpCommand(); $command->setApplication(new Application()); $commandTester = new CommandTester($command); - $commandTester->execute(array('command_name' => 'li')); - $this->assertRegExp('/list \[--xml\] \[--raw\] \[--format="\.\.\."\] \[namespace\]/', $commandTester->getDisplay(), '->execute() returns a text help for the given command alias'); + $commandTester->execute(array('command_name' => 'li'), array('decorated' => false)); + $this->assertContains('list [options] [--] [<namespace>]', $commandTester->getDisplay(), '->execute() returns a text help for the given command alias'); + $this->assertContains('format=FORMAT', $commandTester->getDisplay(), '->execute() returns a text help for the given command alias'); + $this->assertContains('raw', $commandTester->getDisplay(), '->execute() returns a text help for the given command alias'); } public function testExecuteForCommand() @@ -32,8 +34,10 @@ public function testExecuteForCommand() $command = new HelpCommand(); $commandTester = new CommandTester($command); $command->setCommand(new ListCommand()); - $commandTester->execute(array()); - $this->assertRegExp('/list \[--xml\] \[--raw\] \[--format="\.\.\."\] \[namespace\]/', $commandTester->getDisplay(), '->execute() returns a text help for the given command'); + $commandTester->execute(array(), array('decorated' => false)); + $this->assertContains('list [options] [--] [<namespace>]', $commandTester->getDisplay(), '->execute() returns a text help for the given command'); + $this->assertContains('format=FORMAT', $commandTester->getDisplay(), '->execute() returns a text help for the given command'); + $this->assertContains('raw', $commandTester->getDisplay(), '->execute() returns a text help for the given command'); } public function testExecuteForCommandWithXmlOption() @@ -42,7 +46,7 @@ public function testExecuteForCommandWithXmlOption() $commandTester = new CommandTester($command); $command->setCommand(new ListCommand()); $commandTester->execute(array('--format' => 'xml')); - $this->assertRegExp('/<command/', $commandTester->getDisplay(), '->execute() returns an XML help text if --xml is passed'); + $this->assertContains('<command', $commandTester->getDisplay(), '->execute() returns an XML help text if --xml is passed'); } public function testExecuteForApplicationCommand() @@ -50,7 +54,9 @@ public function testExecuteForApplicationCommand() $application = new Application(); $commandTester = new CommandTester($application->get('help')); $commandTester->execute(array('command_name' => 'list')); - $this->assertRegExp('/list \[--xml\] \[--raw\] \[--format="\.\.\."\] \[namespace\]/', $commandTester->getDisplay(), '->execute() returns a text help for the given command'); + $this->assertContains('list [options] [--] [<namespace>]', $commandTester->getDisplay(), '->execute() returns a text help for the given command'); + $this->assertContains('format=FORMAT', $commandTester->getDisplay(), '->execute() returns a text help for the given command'); + $this->assertContains('raw', $commandTester->getDisplay(), '->execute() returns a text help for the given command'); } public function testExecuteForApplicationCommandWithXmlOption() @@ -58,7 +64,7 @@ public function testExecuteForApplicationCommandWithXmlOption() $application = new Application(); $commandTester = new CommandTester($application->get('help')); $commandTester->execute(array('command_name' => 'list', '--format' => 'xml')); - $this->assertRegExp('/list \[--xml\] \[--raw\] \[--format="\.\.\."\] \[namespace\]/', $commandTester->getDisplay(), '->execute() returns a text help for the given command'); - $this->assertRegExp('/<command/', $commandTester->getDisplay(), '->execute() returns an XML help text if --format=xml is passed'); + $this->assertContains('list [--xml] [--raw] [--format FORMAT] [--] [<namespace>]', $commandTester->getDisplay(), '->execute() returns a text help for the given command'); + $this->assertContains('<command', $commandTester->getDisplay(), '->execute() returns an XML help text if --format=xml is passed'); } } diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Command/ListCommandTest.php b/core/vendor/symfony/console/Tests/Command/ListCommandTest.php similarity index 93% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Command/ListCommandTest.php rename to core/vendor/symfony/console/Tests/Command/ListCommandTest.php index fbb9feeb68731d0e00a5d4cf867a2fd97f26cd59..3578d48856afba569720e4f9ab9285cad8d5cabb 100644 --- a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Command/ListCommandTest.php +++ b/core/vendor/symfony/console/Tests/Command/ListCommandTest.php @@ -22,7 +22,7 @@ public function testExecuteListsCommands() $commandTester = new CommandTester($command = $application->get('list')); $commandTester->execute(array('command' => $command->getName()), array('decorated' => false)); - $this->assertRegExp('/help Displays help for a command/', $commandTester->getDisplay(), '->execute() returns a list of available commands'); + $this->assertRegExp('/help\s{2,}Displays help for a command/', $commandTester->getDisplay(), '->execute() returns a list of available commands'); } public function testExecuteListsCommandsWithXmlOption() diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Descriptor/AbstractDescriptorTest.php b/core/vendor/symfony/console/Tests/Descriptor/AbstractDescriptorTest.php similarity index 97% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Descriptor/AbstractDescriptorTest.php rename to core/vendor/symfony/console/Tests/Descriptor/AbstractDescriptorTest.php index 406c6599ba1ea76e6ee43403a7ab2474c2d945a7..f582e7f5ad7975059e2e4216978b8a913a730a96 100644 --- a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Descriptor/AbstractDescriptorTest.php +++ b/core/vendor/symfony/console/Tests/Descriptor/AbstractDescriptorTest.php @@ -96,7 +96,7 @@ private function getDescriptionTestData(array $objects) return $data; } - private function assertDescription($expectedDescription, $describedObject) + protected function assertDescription($expectedDescription, $describedObject) { $output = new BufferedOutput(BufferedOutput::VERBOSITY_NORMAL, true); $this->getDescriptor()->describe($output, $describedObject, array('raw_output' => true)); diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Descriptor/JsonDescriptorTest.php b/core/vendor/symfony/console/Tests/Descriptor/JsonDescriptorTest.php similarity index 54% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Descriptor/JsonDescriptorTest.php rename to core/vendor/symfony/console/Tests/Descriptor/JsonDescriptorTest.php index 943ea2956a6b315728ece9ddff162048ae50d22d..f9a15612b3f995177cb997f3a3a3d8e85d792b3f 100644 --- a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Descriptor/JsonDescriptorTest.php +++ b/core/vendor/symfony/console/Tests/Descriptor/JsonDescriptorTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Console\Tests\Descriptor; use Symfony\Component\Console\Descriptor\JsonDescriptor; +use Symfony\Component\Console\Output\BufferedOutput; class JsonDescriptorTest extends AbstractDescriptorTest { @@ -24,4 +25,11 @@ protected function getFormat() { return 'json'; } + + protected function assertDescription($expectedDescription, $describedObject) + { + $output = new BufferedOutput(BufferedOutput::VERBOSITY_NORMAL, true); + $this->getDescriptor()->describe($output, $describedObject, array('raw_output' => true)); + $this->assertEquals(json_decode(trim($expectedDescription), true), json_decode(trim(str_replace(PHP_EOL, "\n", $output->fetch())), true)); + } } diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Descriptor/MarkdownDescriptorTest.php b/core/vendor/symfony/console/Tests/Descriptor/MarkdownDescriptorTest.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Descriptor/MarkdownDescriptorTest.php rename to core/vendor/symfony/console/Tests/Descriptor/MarkdownDescriptorTest.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Descriptor/ObjectsProvider.php b/core/vendor/symfony/console/Tests/Descriptor/ObjectsProvider.php similarity index 91% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Descriptor/ObjectsProvider.php rename to core/vendor/symfony/console/Tests/Descriptor/ObjectsProvider.php index a3c49d74fe04811d93eea8ff75e1330cd699c012..1f40d2e6a02e7d4b0ffe1edffd6f96710102f981 100644 --- a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Descriptor/ObjectsProvider.php +++ b/core/vendor/symfony/console/Tests/Descriptor/ObjectsProvider.php @@ -30,6 +30,7 @@ public static function getInputArguments() 'input_argument_1' => new InputArgument('argument_name', InputArgument::REQUIRED), 'input_argument_2' => new InputArgument('argument_name', InputArgument::IS_ARRAY, 'argument description'), 'input_argument_3' => new InputArgument('argument_name', InputArgument::OPTIONAL, 'argument description', 'default_value'), + 'input_argument_4' => new InputArgument('argument_name', InputArgument::REQUIRED, "multiline\nargument description"), ); } @@ -40,6 +41,7 @@ public static function getInputOptions() 'input_option_2' => new InputOption('option_name', 'o', InputOption::VALUE_OPTIONAL, 'option description', 'default_value'), 'input_option_3' => new InputOption('option_name', 'o', InputOption::VALUE_REQUIRED, 'option description'), 'input_option_4' => new InputOption('option_name', 'o', InputOption::VALUE_IS_ARRAY | InputOption::VALUE_OPTIONAL, 'option description', array()), + 'input_option_5' => new InputOption('option_name', 'o', InputOption::VALUE_REQUIRED, "multiline\noption description"), ); } diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Descriptor/TextDescriptorTest.php b/core/vendor/symfony/console/Tests/Descriptor/TextDescriptorTest.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Descriptor/TextDescriptorTest.php rename to core/vendor/symfony/console/Tests/Descriptor/TextDescriptorTest.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Descriptor/XmlDescriptorTest.php b/core/vendor/symfony/console/Tests/Descriptor/XmlDescriptorTest.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Descriptor/XmlDescriptorTest.php rename to core/vendor/symfony/console/Tests/Descriptor/XmlDescriptorTest.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/BarBucCommand.php b/core/vendor/symfony/console/Tests/Fixtures/BarBucCommand.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/BarBucCommand.php rename to core/vendor/symfony/console/Tests/Fixtures/BarBucCommand.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/DescriptorApplication1.php b/core/vendor/symfony/console/Tests/Fixtures/DescriptorApplication1.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/DescriptorApplication1.php rename to core/vendor/symfony/console/Tests/Fixtures/DescriptorApplication1.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/DescriptorApplication2.php b/core/vendor/symfony/console/Tests/Fixtures/DescriptorApplication2.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/DescriptorApplication2.php rename to core/vendor/symfony/console/Tests/Fixtures/DescriptorApplication2.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/DescriptorCommand1.php b/core/vendor/symfony/console/Tests/Fixtures/DescriptorCommand1.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/DescriptorCommand1.php rename to core/vendor/symfony/console/Tests/Fixtures/DescriptorCommand1.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/DescriptorCommand2.php b/core/vendor/symfony/console/Tests/Fixtures/DescriptorCommand2.php similarity index 89% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/DescriptorCommand2.php rename to core/vendor/symfony/console/Tests/Fixtures/DescriptorCommand2.php index bc04ca9141272653c675883b5d8cd1d31189f592..51106b96116a65a67af10184231023f4de2e652c 100644 --- a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/DescriptorCommand2.php +++ b/core/vendor/symfony/console/Tests/Fixtures/DescriptorCommand2.php @@ -23,6 +23,8 @@ protected function configure() ->setName('descriptor:command2') ->setDescription('command 2 description') ->setHelp('command 2 help') + ->addUsage('-o|--option_name <argument_name>') + ->addUsage('<argument_name>') ->addArgument('argument_name', InputArgument::REQUIRED) ->addOption('option_name', 'o', InputOption::VALUE_NONE) ; diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/DummyOutput.php b/core/vendor/symfony/console/Tests/Fixtures/DummyOutput.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/DummyOutput.php rename to core/vendor/symfony/console/Tests/Fixtures/DummyOutput.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/Foo1Command.php b/core/vendor/symfony/console/Tests/Fixtures/Foo1Command.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/Foo1Command.php rename to core/vendor/symfony/console/Tests/Fixtures/Foo1Command.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/Foo2Command.php b/core/vendor/symfony/console/Tests/Fixtures/Foo2Command.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/Foo2Command.php rename to core/vendor/symfony/console/Tests/Fixtures/Foo2Command.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/Foo3Command.php b/core/vendor/symfony/console/Tests/Fixtures/Foo3Command.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/Foo3Command.php rename to core/vendor/symfony/console/Tests/Fixtures/Foo3Command.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/Foo4Command.php b/core/vendor/symfony/console/Tests/Fixtures/Foo4Command.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/Foo4Command.php rename to core/vendor/symfony/console/Tests/Fixtures/Foo4Command.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/Foo5Command.php b/core/vendor/symfony/console/Tests/Fixtures/Foo5Command.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/Foo5Command.php rename to core/vendor/symfony/console/Tests/Fixtures/Foo5Command.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/FooCommand.php b/core/vendor/symfony/console/Tests/Fixtures/FooCommand.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/FooCommand.php rename to core/vendor/symfony/console/Tests/Fixtures/FooCommand.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/FooSubnamespaced1Command.php b/core/vendor/symfony/console/Tests/Fixtures/FooSubnamespaced1Command.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/FooSubnamespaced1Command.php rename to core/vendor/symfony/console/Tests/Fixtures/FooSubnamespaced1Command.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/FooSubnamespaced2Command.php b/core/vendor/symfony/console/Tests/Fixtures/FooSubnamespaced2Command.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/FooSubnamespaced2Command.php rename to core/vendor/symfony/console/Tests/Fixtures/FooSubnamespaced2Command.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/FoobarCommand.php b/core/vendor/symfony/console/Tests/Fixtures/FoobarCommand.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/FoobarCommand.php rename to core/vendor/symfony/console/Tests/Fixtures/FoobarCommand.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/TestCommand.php b/core/vendor/symfony/console/Tests/Fixtures/TestCommand.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/TestCommand.php rename to core/vendor/symfony/console/Tests/Fixtures/TestCommand.php diff --git a/core/vendor/symfony/console/Tests/Fixtures/application_1.json b/core/vendor/symfony/console/Tests/Fixtures/application_1.json new file mode 100644 index 0000000000000000000000000000000000000000..aa4ae9a0dc9d09c28b350561e2861c8067c00551 --- /dev/null +++ b/core/vendor/symfony/console/Tests/Fixtures/application_1.json @@ -0,0 +1 @@ +{"commands":[{"name":"help","usage":["help [--xml] [--format FORMAT] [--raw] [--] [<command_name>]"],"description":"Displays help for a command","help":"The <info>help<\/info> command displays help for a given command:\n\n <info>php app\/console help list<\/info>\n\nYou can also output the help in other formats by using the <comment>--format<\/comment> option:\n\n <info>php app\/console help --format=xml list<\/info>\n\nTo display the list of available commands, please use the <info>list<\/info> command.","definition":{"arguments":{"command_name":{"name":"command_name","is_required":false,"is_array":false,"description":"The command name","default":"help"}},"options":{"xml":{"name":"--xml","shortcut":"","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"To output help as XML","default":false},"format":{"name":"--format","shortcut":"","accept_value":true,"is_value_required":true,"is_multiple":false,"description":"To output help in other formats","default":"txt"},"raw":{"name":"--raw","shortcut":"","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"To output raw command help","default":false},"help":{"name":"--help","shortcut":"-h","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"Display this help message","default":false},"quiet":{"name":"--quiet","shortcut":"-q","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"Do not output any message","default":false},"verbose":{"name":"--verbose","shortcut":"-v|-vv|-vvv","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug","default":false},"version":{"name":"--version","shortcut":"-V","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"Display this application version","default":false},"ansi":{"name":"--ansi","shortcut":"","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"Force ANSI output","default":false},"no-ansi":{"name":"--no-ansi","shortcut":"","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"Disable ANSI output","default":false},"no-interaction":{"name":"--no-interaction","shortcut":"-n","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"Do not ask any interactive question","default":false}}}},{"name":"list","usage":["list [--xml] [--raw] [--format FORMAT] [--] [<namespace>]"],"description":"Lists commands","help":"The <info>list<\/info> command lists all commands:\n\n <info>php app\/console list<\/info>\n\nYou can also display the commands for a specific namespace:\n\n <info>php app\/console list test<\/info>\n\nYou can also output the information in other formats by using the <comment>--format<\/comment> option:\n\n <info>php app\/console list --format=xml<\/info>\n\nIt's also possible to get raw list of commands (useful for embedding command runner):\n\n <info>php app\/console list --raw<\/info>","definition":{"arguments":{"namespace":{"name":"namespace","is_required":false,"is_array":false,"description":"The namespace name","default":null}},"options":{"xml":{"name":"--xml","shortcut":"","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"To output list as XML","default":false},"raw":{"name":"--raw","shortcut":"","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"To output raw command list","default":false},"format":{"name":"--format","shortcut":"","accept_value":true,"is_value_required":true,"is_multiple":false,"description":"To output list in other formats","default":"txt"}}}}],"namespaces":[{"id":"_global","commands":["help","list"]}]} diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_1.md b/core/vendor/symfony/console/Tests/Fixtures/application_1.md similarity index 95% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_1.md rename to core/vendor/symfony/console/Tests/Fixtures/application_1.md index e3804162df345d2b597218bf91494f8286f2cb08..c389061389238fab26a6d25fe3b5169136a975a5 100644 --- a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_1.md +++ b/core/vendor/symfony/console/Tests/Fixtures/application_1.md @@ -8,8 +8,9 @@ help ---- * Description: Displays help for a command -* Usage: `help [--xml] [--format="..."] [--raw] [command_name]` -* Aliases: <none> +* Usage: + + * `help [--xml] [--format FORMAT] [--raw] [--] [<command_name>]` The <info>help</info> command displays help for a given command: @@ -137,8 +138,9 @@ list ---- * Description: Lists commands -* Usage: `list [--xml] [--raw] [--format="..."] [namespace]` -* Aliases: <none> +* Usage: + + * `list [--xml] [--raw] [--format FORMAT] [--] [<namespace>]` The <info>list</info> command lists all commands: diff --git a/core/vendor/symfony/console/Tests/Fixtures/application_1.txt b/core/vendor/symfony/console/Tests/Fixtures/application_1.txt new file mode 100644 index 0000000000000000000000000000000000000000..c4cf8f2164cf467fe0492d4767e9fb10b722f3cd --- /dev/null +++ b/core/vendor/symfony/console/Tests/Fixtures/application_1.txt @@ -0,0 +1,17 @@ +<info>Console Tool</info> + +<comment>Usage:</comment> + command [options] [arguments] + +<comment>Options:</comment> + <info>-h, --help</info> Display this help message + <info>-q, --quiet</info> Do not output any message + <info>-V, --version</info> Display this application version + <info> --ansi</info> Force ANSI output + <info> --no-ansi</info> Disable ANSI output + <info>-n, --no-interaction</info> Do not ask any interactive question + <info>-v|vv|vvv, --verbose</info> Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug + +<comment>Available commands:</comment> + <info>help</info> Displays help for a command + <info>list</info> Lists commands diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_1.xml b/core/vendor/symfony/console/Tests/Fixtures/application_1.xml similarity index 95% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_1.xml rename to core/vendor/symfony/console/Tests/Fixtures/application_1.xml index 176310886f1d5b797f93f25165efa7e84a0add17..ed84905a06865ddc3cf3f90d9b6b42e695305276 100644 --- a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_1.xml +++ b/core/vendor/symfony/console/Tests/Fixtures/application_1.xml @@ -2,7 +2,9 @@ <symfony> <commands> <command id="help" name="help"> - <usage>help [--xml] [--format="..."] [--raw] [command_name]</usage> + <usages> + <usage>help [--xml] [--format FORMAT] [--raw] [--] [<command_name>]</usage> + </usages> <description>Displays help for a command</description> <help>The <info>help</info> command displays help for a given command: @@ -13,7 +15,6 @@ <info>php app/console help --format=xml list</info> To display the list of available commands, please use the <info>list</info> command.</help> - <aliases/> <arguments> <argument name="command_name" is_required="0" is_array="0"> <description>The command name</description> @@ -59,7 +60,9 @@ </options> </command> <command id="list" name="list"> - <usage>list [--xml] [--raw] [--format="..."] [namespace]</usage> + <usages> + <usage>list [--xml] [--raw] [--format FORMAT] [--] [<namespace>]</usage> + </usages> <description>Lists commands</description> <help>The <info>list</info> command lists all commands: @@ -76,7 +79,6 @@ It's also possible to get raw list of commands (useful for embedding command runner): <info>php app/console list --raw</info></help> - <aliases/> <arguments> <argument name="namespace" is_required="0" is_array="0"> <description>The namespace name</description> diff --git a/core/vendor/symfony/console/Tests/Fixtures/application_2.json b/core/vendor/symfony/console/Tests/Fixtures/application_2.json new file mode 100644 index 0000000000000000000000000000000000000000..241d4813b98b4840bf42d45a371fe450bc335858 --- /dev/null +++ b/core/vendor/symfony/console/Tests/Fixtures/application_2.json @@ -0,0 +1 @@ +{"commands":[{"name":"help","usage":["help [--xml] [--format FORMAT] [--raw] [--] [<command_name>]"],"description":"Displays help for a command","help":"The <info>help<\/info> command displays help for a given command:\n\n <info>php app\/console help list<\/info>\n\nYou can also output the help in other formats by using the <comment>--format<\/comment> option:\n\n <info>php app\/console help --format=xml list<\/info>\n\nTo display the list of available commands, please use the <info>list<\/info> command.","definition":{"arguments":{"command_name":{"name":"command_name","is_required":false,"is_array":false,"description":"The command name","default":"help"}},"options":{"xml":{"name":"--xml","shortcut":"","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"To output help as XML","default":false},"format":{"name":"--format","shortcut":"","accept_value":true,"is_value_required":true,"is_multiple":false,"description":"To output help in other formats","default":"txt"},"raw":{"name":"--raw","shortcut":"","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"To output raw command help","default":false},"help":{"name":"--help","shortcut":"-h","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"Display this help message","default":false},"quiet":{"name":"--quiet","shortcut":"-q","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"Do not output any message","default":false},"verbose":{"name":"--verbose","shortcut":"-v|-vv|-vvv","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug","default":false},"version":{"name":"--version","shortcut":"-V","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"Display this application version","default":false},"ansi":{"name":"--ansi","shortcut":"","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"Force ANSI output","default":false},"no-ansi":{"name":"--no-ansi","shortcut":"","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"Disable ANSI output","default":false},"no-interaction":{"name":"--no-interaction","shortcut":"-n","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"Do not ask any interactive question","default":false}}}},{"name":"list","usage":["list [--xml] [--raw] [--format FORMAT] [--] [<namespace>]"],"description":"Lists commands","help":"The <info>list<\/info> command lists all commands:\n\n <info>php app\/console list<\/info>\n\nYou can also display the commands for a specific namespace:\n\n <info>php app\/console list test<\/info>\n\nYou can also output the information in other formats by using the <comment>--format<\/comment> option:\n\n <info>php app\/console list --format=xml<\/info>\n\nIt's also possible to get raw list of commands (useful for embedding command runner):\n\n <info>php app\/console list --raw<\/info>","definition":{"arguments":{"namespace":{"name":"namespace","is_required":false,"is_array":false,"description":"The namespace name","default":null}},"options":{"xml":{"name":"--xml","shortcut":"","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"To output list as XML","default":false},"raw":{"name":"--raw","shortcut":"","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"To output raw command list","default":false},"format":{"name":"--format","shortcut":"","accept_value":true,"is_value_required":true,"is_multiple":false,"description":"To output list in other formats","default":"txt"}}}},{"name":"descriptor:command1","usage":["descriptor:command1", "alias1", "alias2"],"description":"command 1 description","help":"command 1 help","definition":{"arguments":[],"options":{"help":{"name":"--help","shortcut":"-h","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"Display this help message","default":false},"quiet":{"name":"--quiet","shortcut":"-q","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"Do not output any message","default":false},"verbose":{"name":"--verbose","shortcut":"-v|-vv|-vvv","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug","default":false},"version":{"name":"--version","shortcut":"-V","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"Display this application version","default":false},"ansi":{"name":"--ansi","shortcut":"","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"Force ANSI output","default":false},"no-ansi":{"name":"--no-ansi","shortcut":"","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"Disable ANSI output","default":false},"no-interaction":{"name":"--no-interaction","shortcut":"-n","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"Do not ask any interactive question","default":false}}}},{"name":"descriptor:command2","usage":["descriptor:command2 [-o|--option_name] [--] <argument_name>", "descriptor:command2 -o|--option_name <argument_name>", "descriptor:command2 <argument_name>"],"description":"command 2 description","help":"command 2 help","definition":{"arguments":{"argument_name":{"name":"argument_name","is_required":true,"is_array":false,"description":"","default":null}},"options":{"option_name":{"name":"--option_name","shortcut":"-o","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"","default":false},"help":{"name":"--help","shortcut":"-h","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"Display this help message","default":false},"quiet":{"name":"--quiet","shortcut":"-q","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"Do not output any message","default":false},"verbose":{"name":"--verbose","shortcut":"-v|-vv|-vvv","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug","default":false},"version":{"name":"--version","shortcut":"-V","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"Display this application version","default":false},"ansi":{"name":"--ansi","shortcut":"","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"Force ANSI output","default":false},"no-ansi":{"name":"--no-ansi","shortcut":"","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"Disable ANSI output","default":false},"no-interaction":{"name":"--no-interaction","shortcut":"-n","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"Do not ask any interactive question","default":false}}}}],"namespaces":[{"id":"_global","commands":["alias1","alias2","help","list"]},{"id":"descriptor","commands":["descriptor:command1","descriptor:command2"]}]} \ No newline at end of file diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_2.md b/core/vendor/symfony/console/Tests/Fixtures/application_2.md similarity index 94% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_2.md rename to core/vendor/symfony/console/Tests/Fixtures/application_2.md index 7492886ea3a00b2824df9fb31068a17af4bf16a8..8e0bfd35025302a22e6b044f32ba369fb21de44d 100644 --- a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_2.md +++ b/core/vendor/symfony/console/Tests/Fixtures/application_2.md @@ -15,8 +15,9 @@ help ---- * Description: Displays help for a command -* Usage: `help [--xml] [--format="..."] [--raw] [command_name]` -* Aliases: <none> +* Usage: + + * `help [--xml] [--format FORMAT] [--raw] [--] [<command_name>]` The <info>help</info> command displays help for a given command: @@ -144,8 +145,9 @@ list ---- * Description: Lists commands -* Usage: `list [--xml] [--raw] [--format="..."] [namespace]` -* Aliases: <none> +* Usage: + + * `list [--xml] [--raw] [--format FORMAT] [--] [<namespace>]` The <info>list</info> command lists all commands: @@ -209,8 +211,11 @@ descriptor:command1 ------------------- * Description: command 1 description -* Usage: `descriptor:command1` -* Aliases: `alias1`, `alias2` +* Usage: + + * `descriptor:command1` + * `alias1` + * `alias2` command 1 help @@ -290,8 +295,11 @@ descriptor:command2 ------------------- * Description: command 2 description -* Usage: `descriptor:command2 [-o|--option_name] argument_name` -* Aliases: <none> +* Usage: + + * `descriptor:command2 [-o|--option_name] [--] <argument_name>` + * `descriptor:command2 -o|--option_name <argument_name>` + * `descriptor:command2 <argument_name>` command 2 help diff --git a/core/vendor/symfony/console/Tests/Fixtures/application_2.txt b/core/vendor/symfony/console/Tests/Fixtures/application_2.txt new file mode 100644 index 0000000000000000000000000000000000000000..292aa829d809d47097f6bd9ae30cfc0bb282c3ba --- /dev/null +++ b/core/vendor/symfony/console/Tests/Fixtures/application_2.txt @@ -0,0 +1,22 @@ +<info>My Symfony application</info> version <comment>v1.0</comment> + +<comment>Usage:</comment> + command [options] [arguments] + +<comment>Options:</comment> + <info>-h, --help</info> Display this help message + <info>-q, --quiet</info> Do not output any message + <info>-V, --version</info> Display this application version + <info> --ansi</info> Force ANSI output + <info> --no-ansi</info> Disable ANSI output + <info>-n, --no-interaction</info> Do not ask any interactive question + <info>-v|vv|vvv, --verbose</info> Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug + +<comment>Available commands:</comment> + <info>alias1</info> command 1 description + <info>alias2</info> command 1 description + <info>help</info> Displays help for a command + <info>list</info> Lists commands + <comment>descriptor</comment> + <info>descriptor:command1</info> command 1 description + <info>descriptor:command2</info> command 2 description diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_2.xml b/core/vendor/symfony/console/Tests/Fixtures/application_2.xml similarity index 92% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_2.xml rename to core/vendor/symfony/console/Tests/Fixtures/application_2.xml index a7d65b4f86ce64c11c15dec59f07fedb5befe903..18e5db1f64a5e977e97fc6f31fcfd6bd80e2da7d 100644 --- a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_2.xml +++ b/core/vendor/symfony/console/Tests/Fixtures/application_2.xml @@ -2,7 +2,9 @@ <symfony name="My Symfony application" version="v1.0"> <commands> <command id="help" name="help"> - <usage>help [--xml] [--format="..."] [--raw] [command_name]</usage> + <usages> + <usage>help [--xml] [--format FORMAT] [--raw] [--] [<command_name>]</usage> + </usages> <description>Displays help for a command</description> <help>The <info>help</info> command displays help for a given command: @@ -13,7 +15,6 @@ <info>php app/console help --format=xml list</info> To display the list of available commands, please use the <info>list</info> command.</help> - <aliases/> <arguments> <argument name="command_name" is_required="0" is_array="0"> <description>The command name</description> @@ -59,7 +60,9 @@ </options> </command> <command id="list" name="list"> - <usage>list [--xml] [--raw] [--format="..."] [namespace]</usage> + <usages> + <usage>list [--xml] [--raw] [--format FORMAT] [--] [<namespace>]</usage> + </usages> <description>Lists commands</description> <help>The <info>list</info> command lists all commands: @@ -76,7 +79,6 @@ It's also possible to get raw list of commands (useful for embedding command runner): <info>php app/console list --raw</info></help> - <aliases/> <arguments> <argument name="namespace" is_required="0" is_array="0"> <description>The namespace name</description> @@ -99,13 +101,13 @@ </options> </command> <command id="descriptor:command1" name="descriptor:command1"> - <usage>descriptor:command1</usage> + <usages> + <usage>descriptor:command1</usage> + <usage>alias1</usage> + <usage>alias2</usage> + </usages> <description>command 1 description</description> <help>command 1 help</help> - <aliases> - <alias>alias1</alias> - <alias>alias2</alias> - </aliases> <arguments/> <options> <option name="--help" shortcut="-h" accept_value="0" is_value_required="0" is_multiple="0"> @@ -132,10 +134,13 @@ </options> </command> <command id="descriptor:command2" name="descriptor:command2"> - <usage>descriptor:command2 [-o|--option_name] argument_name</usage> + <usages> + <usage>descriptor:command2 [-o|--option_name] [--] <argument_name></usage> + <usage>descriptor:command2 -o|--option_name <argument_name></usage> + <usage>descriptor:command2 <argument_name></usage> + </usages> <description>command 2 description</description> <help>command 2 help</help> - <aliases/> <arguments> <argument name="argument_name" is_required="1" is_array="0"> <description></description> diff --git a/core/vendor/symfony/console/Tests/Fixtures/application_astext1.txt b/core/vendor/symfony/console/Tests/Fixtures/application_astext1.txt new file mode 100644 index 0000000000000000000000000000000000000000..19dacb23bf7bc7a039f1eab472b960d1a85886d6 --- /dev/null +++ b/core/vendor/symfony/console/Tests/Fixtures/application_astext1.txt @@ -0,0 +1,20 @@ +<info>Console Tool</info> + +<comment>Usage:</comment> + command [options] [arguments] + +<comment>Options:</comment> + <info>-h, --help</info> Display this help message + <info>-q, --quiet</info> Do not output any message + <info>-V, --version</info> Display this application version + <info> --ansi</info> Force ANSI output + <info> --no-ansi</info> Disable ANSI output + <info>-n, --no-interaction</info> Do not ask any interactive question + <info>-v|vv|vvv, --verbose</info> Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug + +<comment>Available commands:</comment> + <info>afoobar</info> The foo:bar command + <info>help</info> Displays help for a command + <info>list</info> Lists commands + <comment>foo</comment> + <info>foo:bar</info> The foo:bar command diff --git a/core/vendor/symfony/console/Tests/Fixtures/application_astext2.txt b/core/vendor/symfony/console/Tests/Fixtures/application_astext2.txt new file mode 100644 index 0000000000000000000000000000000000000000..c99ccdda7a6c6388dffc7e3a8fb9c3d6ca88f32a --- /dev/null +++ b/core/vendor/symfony/console/Tests/Fixtures/application_astext2.txt @@ -0,0 +1,16 @@ +<info>Console Tool</info> + +<comment>Usage:</comment> + command [options] [arguments] + +<comment>Options:</comment> + <info>-h, --help</info> Display this help message + <info>-q, --quiet</info> Do not output any message + <info>-V, --version</info> Display this application version + <info> --ansi</info> Force ANSI output + <info> --no-ansi</info> Disable ANSI output + <info>-n, --no-interaction</info> Do not ask any interactive question + <info>-v|vv|vvv, --verbose</info> Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug + +<comment>Available commands for the "foo" namespace:</comment> + <info>foo:bar</info> The foo:bar command diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_asxml1.txt b/core/vendor/symfony/console/Tests/Fixtures/application_asxml1.txt similarity index 94% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_asxml1.txt rename to core/vendor/symfony/console/Tests/Fixtures/application_asxml1.txt index d9567819a17f1c97e2334a84c326741eadfbbdfe..edc9d3f894ac27b9bb1262ca38804920653ddd8e 100644 --- a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_asxml1.txt +++ b/core/vendor/symfony/console/Tests/Fixtures/application_asxml1.txt @@ -2,7 +2,9 @@ <symfony> <commands> <command id="help" name="help"> - <usage>help [--xml] [--format="..."] [--raw] [command_name]</usage> + <usages> + <usage>help [--xml] [--format FORMAT] [--raw] [--] [<command_name>]</usage> + </usages> <description>Displays help for a command</description> <help>The <info>help</info> command displays help for a given command: @@ -13,7 +15,6 @@ <info>php app/console help --format=xml list</info> To display the list of available commands, please use the <info>list</info> command.</help> - <aliases /> <arguments> <argument name="command_name" is_required="0" is_array="0"> <description>The command name</description> @@ -59,7 +60,9 @@ </options> </command> <command id="list" name="list"> - <usage>list [--xml] [--raw] [--format="..."] [namespace]</usage> + <usages> + <usage>list [--xml] [--raw] [--format FORMAT] [--] [<namespace>]</usage> + </usages> <description>Lists commands</description> <help>The <info>list</info> command lists all commands: @@ -76,7 +79,6 @@ It's also possible to get raw list of commands (useful for embedding command runner): <info>php app/console list --raw</info></help> - <aliases/> <arguments> <argument name="namespace" is_required="0" is_array="0"> <description>The namespace name</description> @@ -99,12 +101,12 @@ </options> </command> <command id="foo:bar" name="foo:bar"> - <usage>foo:bar</usage> + <usages> + <usage>foo:bar</usage> + <usage>afoobar</usage> + </usages> <description>The foo:bar command</description> <help/> - <aliases> - <alias>afoobar</alias> - </aliases> <arguments/> <options> <option name="--help" shortcut="-h" accept_value="0" is_value_required="0" is_multiple="0"> diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_asxml2.txt b/core/vendor/symfony/console/Tests/Fixtures/application_asxml2.txt similarity index 94% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_asxml2.txt rename to core/vendor/symfony/console/Tests/Fixtures/application_asxml2.txt index 0b30b201f2ff7ced74eec8f940003a2653005fbb..8fa3b699eba030dbc47e38a2d74ca130d7720dcd 100644 --- a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_asxml2.txt +++ b/core/vendor/symfony/console/Tests/Fixtures/application_asxml2.txt @@ -2,12 +2,12 @@ <symfony> <commands namespace="foo"> <command id="foo:bar" name="foo:bar"> - <usage>foo:bar</usage> + <usages> + <usage>foo:bar</usage> + <usage>afoobar</usage> + </usages> <description>The foo:bar command</description> <help/> - <aliases> - <alias>afoobar</alias> - </aliases> <arguments/> <options> <option name="--help" shortcut="-h" accept_value="0" is_value_required="0" is_multiple="0"> diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_gethelp.txt b/core/vendor/symfony/console/Tests/Fixtures/application_gethelp.txt similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_gethelp.txt rename to core/vendor/symfony/console/Tests/Fixtures/application_gethelp.txt diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_renderexception1.txt b/core/vendor/symfony/console/Tests/Fixtures/application_renderexception1.txt similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_renderexception1.txt rename to core/vendor/symfony/console/Tests/Fixtures/application_renderexception1.txt diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_renderexception2.txt b/core/vendor/symfony/console/Tests/Fixtures/application_renderexception2.txt similarity index 73% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_renderexception2.txt rename to core/vendor/symfony/console/Tests/Fixtures/application_renderexception2.txt index c758129bee967c2f7f3a684055debd9ce9873fdc..3d9d363b698976f56dd76db4cb9d52425ae1e606 100644 --- a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_renderexception2.txt +++ b/core/vendor/symfony/console/Tests/Fixtures/application_renderexception2.txt @@ -6,6 +6,6 @@ -list [--xml] [--raw] [--format="..."] [namespace] +list [--xml] [--raw] [--format FORMAT] [--] [<namespace>] diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_renderexception3.txt b/core/vendor/symfony/console/Tests/Fixtures/application_renderexception3.txt similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_renderexception3.txt rename to core/vendor/symfony/console/Tests/Fixtures/application_renderexception3.txt diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_renderexception3decorated.txt b/core/vendor/symfony/console/Tests/Fixtures/application_renderexception3decorated.txt similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_renderexception3decorated.txt rename to core/vendor/symfony/console/Tests/Fixtures/application_renderexception3decorated.txt diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_renderexception4.txt b/core/vendor/symfony/console/Tests/Fixtures/application_renderexception4.txt similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_renderexception4.txt rename to core/vendor/symfony/console/Tests/Fixtures/application_renderexception4.txt diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_renderexception_doublewidth1.txt b/core/vendor/symfony/console/Tests/Fixtures/application_renderexception_doublewidth1.txt similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_renderexception_doublewidth1.txt rename to core/vendor/symfony/console/Tests/Fixtures/application_renderexception_doublewidth1.txt diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_renderexception_doublewidth1decorated.txt b/core/vendor/symfony/console/Tests/Fixtures/application_renderexception_doublewidth1decorated.txt similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_renderexception_doublewidth1decorated.txt rename to core/vendor/symfony/console/Tests/Fixtures/application_renderexception_doublewidth1decorated.txt diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_renderexception_doublewidth2.txt b/core/vendor/symfony/console/Tests/Fixtures/application_renderexception_doublewidth2.txt similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_renderexception_doublewidth2.txt rename to core/vendor/symfony/console/Tests/Fixtures/application_renderexception_doublewidth2.txt diff --git a/core/vendor/symfony/console/Tests/Fixtures/application_run1.txt b/core/vendor/symfony/console/Tests/Fixtures/application_run1.txt new file mode 100644 index 0000000000000000000000000000000000000000..0dc2730983f4bc214a66dcfcdfac6ebdc898c5c4 --- /dev/null +++ b/core/vendor/symfony/console/Tests/Fixtures/application_run1.txt @@ -0,0 +1,17 @@ +Console Tool + +Usage: + command [options] [arguments] + +Options: + -h, --help Display this help message + -q, --quiet Do not output any message + -V, --version Display this application version + --ansi Force ANSI output + --no-ansi Disable ANSI output + -n, --no-interaction Do not ask any interactive question + -v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug + +Available commands: + help Displays help for a command + list Lists commands diff --git a/core/vendor/symfony/console/Tests/Fixtures/application_run2.txt b/core/vendor/symfony/console/Tests/Fixtures/application_run2.txt new file mode 100644 index 0000000000000000000000000000000000000000..4f7699751772902dbd6a4986edeb6d77a01c32ad --- /dev/null +++ b/core/vendor/symfony/console/Tests/Fixtures/application_run2.txt @@ -0,0 +1,29 @@ +Usage: + help [options] [--] [<command_name>] + +Arguments: + command The command to execute + command_name The command name [default: "help"] + +Options: + --xml To output help as XML + --format=FORMAT To output help in other formats [default: "txt"] + --raw To output raw command help + -h, --help Display this help message + -q, --quiet Do not output any message + -V, --version Display this application version + --ansi Force ANSI output + --no-ansi Disable ANSI output + -n, --no-interaction Do not ask any interactive question + -v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug + +Help: + The help command displays help for a given command: + + php app/console help list + + You can also output the help in other formats by using the --format option: + + php app/console help --format=xml list + + To display the list of available commands, please use the list command. diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_run3.txt b/core/vendor/symfony/console/Tests/Fixtures/application_run3.txt similarity index 64% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_run3.txt rename to core/vendor/symfony/console/Tests/Fixtures/application_run3.txt index 01397755054e49e432b5d4c6e35cc8f18306ea6d..748982475360f2be18656c5a21f8932c9f51c365 100644 --- a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_run3.txt +++ b/core/vendor/symfony/console/Tests/Fixtures/application_run3.txt @@ -1,13 +1,13 @@ Usage: - list [--xml] [--raw] [--format="..."] [namespace] + list [options] [--] [<namespace>] Arguments: - namespace The namespace name + namespace The namespace name Options: - --xml To output list as XML - --raw To output raw command list - --format To output list in other formats (default: "txt") + --xml To output list as XML + --raw To output raw command list + --format=FORMAT To output list in other formats [default: "txt"] Help: The list command lists all commands: diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_run4.txt b/core/vendor/symfony/console/Tests/Fixtures/application_run4.txt similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/application_run4.txt rename to core/vendor/symfony/console/Tests/Fixtures/application_run4.txt diff --git a/core/vendor/symfony/console/Tests/Fixtures/command_1.json b/core/vendor/symfony/console/Tests/Fixtures/command_1.json new file mode 100644 index 0000000000000000000000000000000000000000..20f310b457eb07735b69b0adfd93a0c252eadacf --- /dev/null +++ b/core/vendor/symfony/console/Tests/Fixtures/command_1.json @@ -0,0 +1 @@ +{"name":"descriptor:command1","usage":["descriptor:command1", "alias1", "alias2"],"description":"command 1 description","help":"command 1 help","definition":{"arguments":[],"options":[]}} diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/command_1.md b/core/vendor/symfony/console/Tests/Fixtures/command_1.md similarity index 60% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/command_1.md rename to core/vendor/symfony/console/Tests/Fixtures/command_1.md index 2cef9a2d781ed18940687f1f3b852fb490a6e1ce..34ed3ea7709b3f4901390d71f1904ceb3249102a 100644 --- a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/command_1.md +++ b/core/vendor/symfony/console/Tests/Fixtures/command_1.md @@ -2,7 +2,10 @@ descriptor:command1 ------------------- * Description: command 1 description -* Usage: `descriptor:command1` -* Aliases: `alias1`, `alias2` +* Usage: + + * `descriptor:command1` + * `alias1` + * `alias2` command 1 help diff --git a/core/vendor/symfony/console/Tests/Fixtures/command_1.txt b/core/vendor/symfony/console/Tests/Fixtures/command_1.txt new file mode 100644 index 0000000000000000000000000000000000000000..28e14a057a75a59c77a011b8cb58ee471bccc1a6 --- /dev/null +++ b/core/vendor/symfony/console/Tests/Fixtures/command_1.txt @@ -0,0 +1,7 @@ +<comment>Usage:</comment> + descriptor:command1 + alias1 + alias2 + +<comment>Help:</comment> + command 1 help diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/command_1.xml b/core/vendor/symfony/console/Tests/Fixtures/command_1.xml similarity index 65% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/command_1.xml rename to core/vendor/symfony/console/Tests/Fixtures/command_1.xml index dcfa6fa5044e763ff230bec430147118b4593d4c..838b9bd91f837b06fd844d649f848d0f6f7df538 100644 --- a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/command_1.xml +++ b/core/vendor/symfony/console/Tests/Fixtures/command_1.xml @@ -1,12 +1,12 @@ <?xml version="1.0" encoding="UTF-8"?> <command id="descriptor:command1" name="descriptor:command1"> - <usage>descriptor:command1</usage> + <usages> + <usage>descriptor:command1</usage> + <usage>alias1</usage> + <usage>alias2</usage> + </usages> <description>command 1 description</description> <help>command 1 help</help> - <aliases> - <alias>alias1</alias> - <alias>alias2</alias> - </aliases> <arguments/> <options/> </command> diff --git a/core/vendor/symfony/console/Tests/Fixtures/command_2.json b/core/vendor/symfony/console/Tests/Fixtures/command_2.json new file mode 100644 index 0000000000000000000000000000000000000000..38edd1e2098db4a045bfe43ced88766e574a070b --- /dev/null +++ b/core/vendor/symfony/console/Tests/Fixtures/command_2.json @@ -0,0 +1 @@ +{"name":"descriptor:command2","usage":["descriptor:command2 [-o|--option_name] [--] <argument_name>", "descriptor:command2 -o|--option_name <argument_name>", "descriptor:command2 <argument_name>"],"description":"command 2 description","help":"command 2 help","definition":{"arguments":{"argument_name":{"name":"argument_name","is_required":true,"is_array":false,"description":"","default":null}},"options":{"option_name":{"name":"--option_name","shortcut":"-o","accept_value":false,"is_value_required":false,"is_multiple":false,"description":"","default":false}}}} diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/command_2.md b/core/vendor/symfony/console/Tests/Fixtures/command_2.md similarity index 69% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/command_2.md rename to core/vendor/symfony/console/Tests/Fixtures/command_2.md index 5257c0d3f2cfc4a88709a47f3b7eb8c68d4b4efe..6f538b640794718c12b6f626fb5fec352f9471a8 100644 --- a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/command_2.md +++ b/core/vendor/symfony/console/Tests/Fixtures/command_2.md @@ -2,8 +2,11 @@ descriptor:command2 ------------------- * Description: command 2 description -* Usage: `descriptor:command2 [-o|--option_name] argument_name` -* Aliases: <none> +* Usage: + + * `descriptor:command2 [-o|--option_name] [--] <argument_name>` + * `descriptor:command2 -o|--option_name <argument_name>` + * `descriptor:command2 <argument_name>` command 2 help diff --git a/core/vendor/symfony/console/Tests/Fixtures/command_2.txt b/core/vendor/symfony/console/Tests/Fixtures/command_2.txt new file mode 100644 index 0000000000000000000000000000000000000000..72f7ce05869d2333b892f7b4ea7af810f1d0af69 --- /dev/null +++ b/core/vendor/symfony/console/Tests/Fixtures/command_2.txt @@ -0,0 +1,13 @@ +<comment>Usage:</comment> + descriptor:command2 [options] [--] <argument_name> + descriptor:command2 -o|--option_name <argument_name> + descriptor:command2 <argument_name> + +<comment>Arguments:</comment> + <info>argument_name</info> + +<comment>Options:</comment> + <info>-o, --option_name</info> + +<comment>Help:</comment> + command 2 help diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/command_2.xml b/core/vendor/symfony/console/Tests/Fixtures/command_2.xml similarity index 68% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/command_2.xml rename to core/vendor/symfony/console/Tests/Fixtures/command_2.xml index c411c36c3d285201a0d036569988622d33995b28..67364caa4ede3b3df9af073ee479b45a769a4bbe 100644 --- a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/command_2.xml +++ b/core/vendor/symfony/console/Tests/Fixtures/command_2.xml @@ -1,9 +1,12 @@ <?xml version="1.0" encoding="UTF-8"?> <command id="descriptor:command2" name="descriptor:command2"> - <usage>descriptor:command2 [-o|--option_name] argument_name</usage> + <usages> + <usage>descriptor:command2 [-o|--option_name] [--] <argument_name></usage> + <usage>descriptor:command2 -o|--option_name <argument_name></usage> + <usage>descriptor:command2 <argument_name></usage> + </usages> <description>command 2 description</description> <help>command 2 help</help> - <aliases/> <arguments> <argument name="argument_name" is_required="1" is_array="0"> <description></description> diff --git a/core/vendor/symfony/console/Tests/Fixtures/command_astext.txt b/core/vendor/symfony/console/Tests/Fixtures/command_astext.txt new file mode 100644 index 0000000000000000000000000000000000000000..7e206388078db02778f248ff5b0996c44b7d0d20 --- /dev/null +++ b/core/vendor/symfony/console/Tests/Fixtures/command_astext.txt @@ -0,0 +1,18 @@ +<comment>Usage:</comment> + namespace:name + name + +<comment>Arguments:</comment> + <info>command</info> The command to execute + +<comment>Options:</comment> + <info>-h, --help</info> Display this help message + <info>-q, --quiet</info> Do not output any message + <info>-V, --version</info> Display this application version + <info> --ansi</info> Force ANSI output + <info> --no-ansi</info> Disable ANSI output + <info>-n, --no-interaction</info> Do not ask any interactive question + <info>-v|vv|vvv, --verbose</info> Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug + +<comment>Help:</comment> + help diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/command_asxml.txt b/core/vendor/symfony/console/Tests/Fixtures/command_asxml.txt similarity index 95% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/command_asxml.txt rename to core/vendor/symfony/console/Tests/Fixtures/command_asxml.txt index 57542faad5b8f3008a027abeed805ee33860c125..5e776238aa0a1cd01a09b7f7d271389badded26d 100644 --- a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/command_asxml.txt +++ b/core/vendor/symfony/console/Tests/Fixtures/command_asxml.txt @@ -1,11 +1,11 @@ <?xml version="1.0" encoding="UTF-8"?> <command id="namespace:name" name="namespace:name"> - <usage>namespace:name</usage> + <usages> + <usage>namespace:name</usage> + <usage>name</usage> + </usages> <description>description</description> <help>help</help> - <aliases> - <alias>name</alias> - </aliases> <arguments> <argument name="command" is_required="1" is_array="0"> <description>The command to execute</description> diff --git a/core/vendor/symfony/console/Tests/Fixtures/definition_astext.txt b/core/vendor/symfony/console/Tests/Fixtures/definition_astext.txt new file mode 100644 index 0000000000000000000000000000000000000000..0431c072ab2206158c175f27a87dd694ad449d41 --- /dev/null +++ b/core/vendor/symfony/console/Tests/Fixtures/definition_astext.txt @@ -0,0 +1,11 @@ +<comment>Arguments:</comment> + <info>foo</info> The foo argument + <info>baz</info> The baz argument<comment> [default: true]</comment> + <info>bar</info> The bar argument<comment> [default: ["http://foo.com/"]]</comment> + +<comment>Options:</comment> + <info>-f, --foo=FOO</info> The foo option + <info> --baz[=BAZ]</info> The baz option<comment> [default: false]</comment> + <info>-b, --bar[=BAR]</info> The bar option<comment> [default: "bar"]</comment> + <info> --qux[=QUX]</info> The qux option<comment> [default: ["http://foo.com/","bar"]]</comment><comment> (multiple values allowed)</comment> + <info> --qux2[=QUX2]</info> The qux2 option<comment> [default: {"foo":"bar"}]</comment><comment> (multiple values allowed)</comment> \ No newline at end of file diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/definition_asxml.txt b/core/vendor/symfony/console/Tests/Fixtures/definition_asxml.txt similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/definition_asxml.txt rename to core/vendor/symfony/console/Tests/Fixtures/definition_asxml.txt diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_argument_1.json b/core/vendor/symfony/console/Tests/Fixtures/input_argument_1.json similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_argument_1.json rename to core/vendor/symfony/console/Tests/Fixtures/input_argument_1.json diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_argument_1.md b/core/vendor/symfony/console/Tests/Fixtures/input_argument_1.md similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_argument_1.md rename to core/vendor/symfony/console/Tests/Fixtures/input_argument_1.md diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_argument_1.txt b/core/vendor/symfony/console/Tests/Fixtures/input_argument_1.txt new file mode 100644 index 0000000000000000000000000000000000000000..55035183f67f095be7457244d8be246c23a5c07e --- /dev/null +++ b/core/vendor/symfony/console/Tests/Fixtures/input_argument_1.txt @@ -0,0 +1 @@ + <info>argument_name</info> diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_argument_1.xml b/core/vendor/symfony/console/Tests/Fixtures/input_argument_1.xml similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_argument_1.xml rename to core/vendor/symfony/console/Tests/Fixtures/input_argument_1.xml diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_argument_2.json b/core/vendor/symfony/console/Tests/Fixtures/input_argument_2.json similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_argument_2.json rename to core/vendor/symfony/console/Tests/Fixtures/input_argument_2.json diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_argument_2.md b/core/vendor/symfony/console/Tests/Fixtures/input_argument_2.md similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_argument_2.md rename to core/vendor/symfony/console/Tests/Fixtures/input_argument_2.md diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_argument_2.txt b/core/vendor/symfony/console/Tests/Fixtures/input_argument_2.txt new file mode 100644 index 0000000000000000000000000000000000000000..e713660743f750408509e9370329944f4c8f462b --- /dev/null +++ b/core/vendor/symfony/console/Tests/Fixtures/input_argument_2.txt @@ -0,0 +1 @@ + <info>argument_name</info> argument description diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_argument_2.xml b/core/vendor/symfony/console/Tests/Fixtures/input_argument_2.xml similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_argument_2.xml rename to core/vendor/symfony/console/Tests/Fixtures/input_argument_2.xml diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_argument_3.json b/core/vendor/symfony/console/Tests/Fixtures/input_argument_3.json similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_argument_3.json rename to core/vendor/symfony/console/Tests/Fixtures/input_argument_3.json diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_argument_3.md b/core/vendor/symfony/console/Tests/Fixtures/input_argument_3.md similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_argument_3.md rename to core/vendor/symfony/console/Tests/Fixtures/input_argument_3.md diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_argument_3.txt b/core/vendor/symfony/console/Tests/Fixtures/input_argument_3.txt new file mode 100644 index 0000000000000000000000000000000000000000..6b76639e001283fb566aad8bb32fc46be189ab58 --- /dev/null +++ b/core/vendor/symfony/console/Tests/Fixtures/input_argument_3.txt @@ -0,0 +1 @@ + <info>argument_name</info> argument description<comment> [default: "default_value"]</comment> diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_argument_3.xml b/core/vendor/symfony/console/Tests/Fixtures/input_argument_3.xml similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_argument_3.xml rename to core/vendor/symfony/console/Tests/Fixtures/input_argument_3.xml diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_argument_4.json b/core/vendor/symfony/console/Tests/Fixtures/input_argument_4.json new file mode 100644 index 0000000000000000000000000000000000000000..8067a4d1b127942f97099ba6f99497141b7bd46f --- /dev/null +++ b/core/vendor/symfony/console/Tests/Fixtures/input_argument_4.json @@ -0,0 +1 @@ +{"name":"argument_name","is_required":true,"is_array":false,"description":"multiline argument description","default":null} diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_argument_4.md b/core/vendor/symfony/console/Tests/Fixtures/input_argument_4.md new file mode 100644 index 0000000000000000000000000000000000000000..f026ab37672bfa86acbbda2e55c84f0f8fd0eee6 --- /dev/null +++ b/core/vendor/symfony/console/Tests/Fixtures/input_argument_4.md @@ -0,0 +1,8 @@ +**argument_name:** + +* Name: argument_name +* Is required: yes +* Is array: no +* Description: multiline + argument description +* Default: `NULL` diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_argument_4.txt b/core/vendor/symfony/console/Tests/Fixtures/input_argument_4.txt new file mode 100644 index 0000000000000000000000000000000000000000..aa74e8ceb250703ad976e076730a18f3e13aae57 --- /dev/null +++ b/core/vendor/symfony/console/Tests/Fixtures/input_argument_4.txt @@ -0,0 +1,2 @@ + <info>argument_name</info> multiline + argument description diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_argument_4.xml b/core/vendor/symfony/console/Tests/Fixtures/input_argument_4.xml new file mode 100644 index 0000000000000000000000000000000000000000..5ca135ec2cb488e54b8b9f8c92131c1c941645ed --- /dev/null +++ b/core/vendor/symfony/console/Tests/Fixtures/input_argument_4.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<argument name="argument_name" is_required="1" is_array="0"> + <description>multiline +argument description</description> + <defaults/> +</argument> diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_definition_1.json b/core/vendor/symfony/console/Tests/Fixtures/input_definition_1.json similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_definition_1.json rename to core/vendor/symfony/console/Tests/Fixtures/input_definition_1.json diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_definition_1.md b/core/vendor/symfony/console/Tests/Fixtures/input_definition_1.md similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_definition_1.md rename to core/vendor/symfony/console/Tests/Fixtures/input_definition_1.md diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_definition_1.txt b/core/vendor/symfony/console/Tests/Fixtures/input_definition_1.txt similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_definition_1.txt rename to core/vendor/symfony/console/Tests/Fixtures/input_definition_1.txt diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_definition_1.xml b/core/vendor/symfony/console/Tests/Fixtures/input_definition_1.xml similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_definition_1.xml rename to core/vendor/symfony/console/Tests/Fixtures/input_definition_1.xml diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_definition_2.json b/core/vendor/symfony/console/Tests/Fixtures/input_definition_2.json similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_definition_2.json rename to core/vendor/symfony/console/Tests/Fixtures/input_definition_2.json diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_definition_2.md b/core/vendor/symfony/console/Tests/Fixtures/input_definition_2.md similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_definition_2.md rename to core/vendor/symfony/console/Tests/Fixtures/input_definition_2.md diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_definition_2.txt b/core/vendor/symfony/console/Tests/Fixtures/input_definition_2.txt similarity index 50% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_definition_2.txt rename to core/vendor/symfony/console/Tests/Fixtures/input_definition_2.txt index 0db9f66263a71e6c24e2ecae22b38b28c75b9044..73b0f308a90ede39f56054d2fdba704b44408002 100644 --- a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_definition_2.txt +++ b/core/vendor/symfony/console/Tests/Fixtures/input_definition_2.txt @@ -1,2 +1,2 @@ <comment>Arguments:</comment> - <info>argument_name </info> + <info>argument_name</info> diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_definition_2.xml b/core/vendor/symfony/console/Tests/Fixtures/input_definition_2.xml similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_definition_2.xml rename to core/vendor/symfony/console/Tests/Fixtures/input_definition_2.xml diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_definition_3.json b/core/vendor/symfony/console/Tests/Fixtures/input_definition_3.json similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_definition_3.json rename to core/vendor/symfony/console/Tests/Fixtures/input_definition_3.json diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_definition_3.md b/core/vendor/symfony/console/Tests/Fixtures/input_definition_3.md similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_definition_3.md rename to core/vendor/symfony/console/Tests/Fixtures/input_definition_3.md diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_definition_3.txt b/core/vendor/symfony/console/Tests/Fixtures/input_definition_3.txt new file mode 100644 index 0000000000000000000000000000000000000000..c02766fd3c113746eb5319be9a974487d49836a5 --- /dev/null +++ b/core/vendor/symfony/console/Tests/Fixtures/input_definition_3.txt @@ -0,0 +1,2 @@ +<comment>Options:</comment> + <info>-o, --option_name</info> diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_definition_3.xml b/core/vendor/symfony/console/Tests/Fixtures/input_definition_3.xml similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_definition_3.xml rename to core/vendor/symfony/console/Tests/Fixtures/input_definition_3.xml diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_definition_4.json b/core/vendor/symfony/console/Tests/Fixtures/input_definition_4.json similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_definition_4.json rename to core/vendor/symfony/console/Tests/Fixtures/input_definition_4.json diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_definition_4.md b/core/vendor/symfony/console/Tests/Fixtures/input_definition_4.md similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_definition_4.md rename to core/vendor/symfony/console/Tests/Fixtures/input_definition_4.md diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_definition_4.txt b/core/vendor/symfony/console/Tests/Fixtures/input_definition_4.txt new file mode 100644 index 0000000000000000000000000000000000000000..63aa81d2d1643e38886d76b071e29c53d11e74c2 --- /dev/null +++ b/core/vendor/symfony/console/Tests/Fixtures/input_definition_4.txt @@ -0,0 +1,5 @@ +<comment>Arguments:</comment> + <info>argument_name</info> + +<comment>Options:</comment> + <info>-o, --option_name</info> diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_definition_4.xml b/core/vendor/symfony/console/Tests/Fixtures/input_definition_4.xml similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_definition_4.xml rename to core/vendor/symfony/console/Tests/Fixtures/input_definition_4.xml diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_option_1.json b/core/vendor/symfony/console/Tests/Fixtures/input_option_1.json similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_option_1.json rename to core/vendor/symfony/console/Tests/Fixtures/input_option_1.json diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_option_1.md b/core/vendor/symfony/console/Tests/Fixtures/input_option_1.md similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_option_1.md rename to core/vendor/symfony/console/Tests/Fixtures/input_option_1.md diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_option_1.txt b/core/vendor/symfony/console/Tests/Fixtures/input_option_1.txt new file mode 100644 index 0000000000000000000000000000000000000000..3a5e4eede487b1803bba97e66dd42ff7928abd5d --- /dev/null +++ b/core/vendor/symfony/console/Tests/Fixtures/input_option_1.txt @@ -0,0 +1 @@ + <info>-o, --option_name</info> diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_option_1.xml b/core/vendor/symfony/console/Tests/Fixtures/input_option_1.xml similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_option_1.xml rename to core/vendor/symfony/console/Tests/Fixtures/input_option_1.xml diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_option_2.json b/core/vendor/symfony/console/Tests/Fixtures/input_option_2.json similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_option_2.json rename to core/vendor/symfony/console/Tests/Fixtures/input_option_2.json diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_option_2.md b/core/vendor/symfony/console/Tests/Fixtures/input_option_2.md similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_option_2.md rename to core/vendor/symfony/console/Tests/Fixtures/input_option_2.md diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_option_2.txt b/core/vendor/symfony/console/Tests/Fixtures/input_option_2.txt new file mode 100644 index 0000000000000000000000000000000000000000..1009eff162e6b6fe0e26c0db1862de5699c03112 --- /dev/null +++ b/core/vendor/symfony/console/Tests/Fixtures/input_option_2.txt @@ -0,0 +1 @@ + <info>-o, --option_name[=OPTION_NAME]</info> option description<comment> [default: "default_value"]</comment> diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_option_2.xml b/core/vendor/symfony/console/Tests/Fixtures/input_option_2.xml similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_option_2.xml rename to core/vendor/symfony/console/Tests/Fixtures/input_option_2.xml diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_option_3.json b/core/vendor/symfony/console/Tests/Fixtures/input_option_3.json similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_option_3.json rename to core/vendor/symfony/console/Tests/Fixtures/input_option_3.json diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_option_3.md b/core/vendor/symfony/console/Tests/Fixtures/input_option_3.md similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_option_3.md rename to core/vendor/symfony/console/Tests/Fixtures/input_option_3.md diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_option_3.txt b/core/vendor/symfony/console/Tests/Fixtures/input_option_3.txt new file mode 100644 index 0000000000000000000000000000000000000000..947bb6527bb9b43b60b82facd13c70cf7f2a22dc --- /dev/null +++ b/core/vendor/symfony/console/Tests/Fixtures/input_option_3.txt @@ -0,0 +1 @@ + <info>-o, --option_name=OPTION_NAME</info> option description diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_option_3.xml b/core/vendor/symfony/console/Tests/Fixtures/input_option_3.xml similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_option_3.xml rename to core/vendor/symfony/console/Tests/Fixtures/input_option_3.xml diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_option_4.json b/core/vendor/symfony/console/Tests/Fixtures/input_option_4.json similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_option_4.json rename to core/vendor/symfony/console/Tests/Fixtures/input_option_4.json diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_option_4.md b/core/vendor/symfony/console/Tests/Fixtures/input_option_4.md similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_option_4.md rename to core/vendor/symfony/console/Tests/Fixtures/input_option_4.md diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_option_4.txt b/core/vendor/symfony/console/Tests/Fixtures/input_option_4.txt new file mode 100644 index 0000000000000000000000000000000000000000..27edf77b4b81a1f968b1d5bc8ba0aa4881a4fc52 --- /dev/null +++ b/core/vendor/symfony/console/Tests/Fixtures/input_option_4.txt @@ -0,0 +1 @@ + <info>-o, --option_name[=OPTION_NAME]</info> option description<comment> (multiple values allowed)</comment> diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_option_4.xml b/core/vendor/symfony/console/Tests/Fixtures/input_option_4.xml similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Fixtures/input_option_4.xml rename to core/vendor/symfony/console/Tests/Fixtures/input_option_4.xml diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_option_5.json b/core/vendor/symfony/console/Tests/Fixtures/input_option_5.json new file mode 100644 index 0000000000000000000000000000000000000000..35a1405fa436d98e7911534b9a13ed6526f9d487 --- /dev/null +++ b/core/vendor/symfony/console/Tests/Fixtures/input_option_5.json @@ -0,0 +1 @@ +{"name":"--option_name","shortcut":"-o","accept_value":true,"is_value_required":true,"is_multiple":false,"description":"multiline option description","default":null} diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_option_5.md b/core/vendor/symfony/console/Tests/Fixtures/input_option_5.md new file mode 100644 index 0000000000000000000000000000000000000000..82f51cad30ddfa024a7c500ce7ae610ab94a7e48 --- /dev/null +++ b/core/vendor/symfony/console/Tests/Fixtures/input_option_5.md @@ -0,0 +1,10 @@ +**option_name:** + +* Name: `--option_name` +* Shortcut: `-o` +* Accept value: yes +* Is value required: yes +* Is multiple: no +* Description: multiline + option description +* Default: `NULL` diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_option_5.txt b/core/vendor/symfony/console/Tests/Fixtures/input_option_5.txt new file mode 100644 index 0000000000000000000000000000000000000000..4368883cc721731a6aad67129b5b6cd99d448f96 --- /dev/null +++ b/core/vendor/symfony/console/Tests/Fixtures/input_option_5.txt @@ -0,0 +1,2 @@ + <info>-o, --option_name=OPTION_NAME</info> multiline + option description diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_option_5.xml b/core/vendor/symfony/console/Tests/Fixtures/input_option_5.xml new file mode 100644 index 0000000000000000000000000000000000000000..90040ccd029873ecfed7e6d7b03483aa40707ba3 --- /dev/null +++ b/core/vendor/symfony/console/Tests/Fixtures/input_option_5.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<option name="--option_name" shortcut="-o" accept_value="1" is_value_required="1" is_multiple="0"> + <description>multiline +option description</description> + <defaults/> +</option> diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Formatter/OutputFormatterStyleStackTest.php b/core/vendor/symfony/console/Tests/Formatter/OutputFormatterStyleStackTest.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Formatter/OutputFormatterStyleStackTest.php rename to core/vendor/symfony/console/Tests/Formatter/OutputFormatterStyleStackTest.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Formatter/OutputFormatterStyleTest.php b/core/vendor/symfony/console/Tests/Formatter/OutputFormatterStyleTest.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Formatter/OutputFormatterStyleTest.php rename to core/vendor/symfony/console/Tests/Formatter/OutputFormatterStyleTest.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Formatter/OutputFormatterTest.php b/core/vendor/symfony/console/Tests/Formatter/OutputFormatterTest.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Formatter/OutputFormatterTest.php rename to core/vendor/symfony/console/Tests/Formatter/OutputFormatterTest.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Helper/FormatterHelperTest.php b/core/vendor/symfony/console/Tests/Helper/FormatterHelperTest.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Helper/FormatterHelperTest.php rename to core/vendor/symfony/console/Tests/Helper/FormatterHelperTest.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Helper/HelperSetTest.php b/core/vendor/symfony/console/Tests/Helper/HelperSetTest.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Helper/HelperSetTest.php rename to core/vendor/symfony/console/Tests/Helper/HelperSetTest.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Helper/LegacyDialogHelperTest.php b/core/vendor/symfony/console/Tests/Helper/LegacyDialogHelperTest.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Helper/LegacyDialogHelperTest.php rename to core/vendor/symfony/console/Tests/Helper/LegacyDialogHelperTest.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Helper/LegacyProgressHelperTest.php b/core/vendor/symfony/console/Tests/Helper/LegacyProgressHelperTest.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Helper/LegacyProgressHelperTest.php rename to core/vendor/symfony/console/Tests/Helper/LegacyProgressHelperTest.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Helper/LegacyTableHelperTest.php b/core/vendor/symfony/console/Tests/Helper/LegacyTableHelperTest.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Helper/LegacyTableHelperTest.php rename to core/vendor/symfony/console/Tests/Helper/LegacyTableHelperTest.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Helper/ProcessHelperTest.php b/core/vendor/symfony/console/Tests/Helper/ProcessHelperTest.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Helper/ProcessHelperTest.php rename to core/vendor/symfony/console/Tests/Helper/ProcessHelperTest.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Helper/ProgressBarTest.php b/core/vendor/symfony/console/Tests/Helper/ProgressBarTest.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Helper/ProgressBarTest.php rename to core/vendor/symfony/console/Tests/Helper/ProgressBarTest.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Helper/QuestionHelperTest.php b/core/vendor/symfony/console/Tests/Helper/QuestionHelperTest.php similarity index 78% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Helper/QuestionHelperTest.php rename to core/vendor/symfony/console/Tests/Helper/QuestionHelperTest.php index 0ab08493710166f52e72673aed5cbfd0af96a683..ccd889b0aa24c575af838d798a4f6a3e0d843a03 100644 --- a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Helper/QuestionHelperTest.php +++ b/core/vendor/symfony/console/Tests/Helper/QuestionHelperTest.php @@ -143,27 +143,39 @@ public function testAskHiddenResponse() $this->assertEquals('8AM', $dialog->ask($this->createInputInterfaceMock(), $this->createOutputInterface(), $question)); } - public function testAskConfirmation() + /** + * @dataProvider getAskConfirmationData + */ + public function testAskConfirmation($question, $expected, $default = true) { $dialog = new QuestionHelper(); - $dialog->setInputStream($this->getInputStream("\n\n")); - $question = new ConfirmationQuestion('Do you like French fries?'); - $this->assertTrue($dialog->ask($this->createInputInterfaceMock(), $this->createOutputInterface(), $question)); - $question = new ConfirmationQuestion('Do you like French fries?', false); - $this->assertFalse($dialog->ask($this->createInputInterfaceMock(), $this->createOutputInterface(), $question)); + $dialog->setInputStream($this->getInputStream($question."\n")); + $question = new ConfirmationQuestion('Do you like French fries?', $default); + $this->assertEquals($expected, $dialog->ask($this->createInputInterfaceMock(), $this->createOutputInterface(), $question), 'confirmation question should '.($expected ? 'pass' : 'cancel')); + } + + public function getAskConfirmationData() + { + return array( + array('', true), + array('', false, false), + array('y', true), + array('yes', true), + array('n', false), + array('no', false), + ); + } - $dialog->setInputStream($this->getInputStream("y\nyes\n")); - $question = new ConfirmationQuestion('Do you like French fries?', false); + public function testAskConfirmationWithCustomTrueAnswer() + { + $dialog = new QuestionHelper(); + + $dialog->setInputStream($this->getInputStream("j\ny\n")); + $question = new ConfirmationQuestion('Do you like French fries?', false, '/^(j|y)/i'); $this->assertTrue($dialog->ask($this->createInputInterfaceMock(), $this->createOutputInterface(), $question)); - $question = new ConfirmationQuestion('Do you like French fries?', false); + $question = new ConfirmationQuestion('Do you like French fries?', false, '/^(j|y)/i'); $this->assertTrue($dialog->ask($this->createInputInterfaceMock(), $this->createOutputInterface(), $question)); - - $dialog->setInputStream($this->getInputStream("n\nno\n")); - $question = new ConfirmationQuestion('Do you like French fries?', true); - $this->assertFalse($dialog->ask($this->createInputInterfaceMock(), $this->createOutputInterface(), $question)); - $question = new ConfirmationQuestion('Do you like French fries?', true); - $this->assertFalse($dialog->ask($this->createInputInterfaceMock(), $this->createOutputInterface(), $question)); } public function testAskAndValidate() @@ -198,6 +210,60 @@ public function testAskAndValidate() } } + /** + * @dataProvider answerProvider + */ + public function testSelectChoiceFromChoiceList($providedAnswer, $expectedValue) + { + $possibleChoices = array( + 'env_1' => 'My environment 1', + 'env_2' => 'My environment', + 'env_3' => 'My environment', + ); + + $dialog = new QuestionHelper(); + $dialog->setInputStream($this->getInputStream($providedAnswer."\n")); + $helperSet = new HelperSet(array(new FormatterHelper())); + $dialog->setHelperSet($helperSet); + + $question = new ChoiceQuestion('Please select the environment to load', $possibleChoices); + $answer = $dialog->ask($this->createInputInterfaceMock(), $this->createOutputInterface(), $question); + + $this->assertSame($expectedValue, $answer); + } + + public function testAmbiguousChoiceFromChoicelist() + { + $possibleChoices = array( + 'env_1' => 'My environment 1', + 'env_2' => 'My environment', + 'env_3' => 'My environment', + ); + + $dialog = new QuestionHelper(); + $dialog->setInputStream($this->getInputStream("My environment\n")); + $helperSet = new HelperSet(array(new FormatterHelper())); + $dialog->setHelperSet($helperSet); + + $question = new ChoiceQuestion('Please select the environment to load', $possibleChoices); + + try { + $dialog->ask($this->createInputInterfaceMock(), $this->createOutputInterface(), $question); + } catch (\InvalidArgumentException $e) { + $this->assertEquals('The provided answer is ambiguous. Value should be one of env_2 or env_3.', $e->getMessage()); + } + } + + public function answerProvider() + { + return array( + array('env_1', 'env_1'), + array('env_2', 'env_2'), + array('env_3', 'env_3'), + array('My environment 1', 'env_1'), + ); + } + public function testNoInteraction() { $dialog = new QuestionHelper(); diff --git a/core/vendor/symfony/console/Tests/Helper/TableStyleTest.php b/core/vendor/symfony/console/Tests/Helper/TableStyleTest.php new file mode 100644 index 0000000000000000000000000000000000000000..587d8414e6e201939dd9c8c393c634e2ebfab33f --- /dev/null +++ b/core/vendor/symfony/console/Tests/Helper/TableStyleTest.php @@ -0,0 +1,27 @@ +<?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\Helper; + +use Symfony\Component\Console\Helper\TableStyle; + +class TableStyleTest extends \PHPUnit_Framework_TestCase +{ + /** + * @expectedException \InvalidArgumentException + * @expectedExceptionMessage Invalid padding type. Expected one of (STR_PAD_LEFT, STR_PAD_RIGHT, STR_PAD_BOTH). + */ + public function testSetPadTypeWithInvalidType() + { + $style = new TableStyle(); + $style->setPadType('TEST'); + } +} diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Helper/TableTest.php b/core/vendor/symfony/console/Tests/Helper/TableTest.php similarity index 57% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Helper/TableTest.php rename to core/vendor/symfony/console/Tests/Helper/TableTest.php index 18a2ab6bcffbb79d4edbdcca4deda69fafb18266..3db51f45b0ab9c4e80c2a8eb91eabdd0f0058f90 100644 --- a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Helper/TableTest.php +++ b/core/vendor/symfony/console/Tests/Helper/TableTest.php @@ -14,6 +14,7 @@ use Symfony\Component\Console\Helper\Table; use Symfony\Component\Console\Helper\TableStyle; use Symfony\Component\Console\Helper\TableSeparator; +use Symfony\Component\Console\Helper\TableCell; use Symfony\Component\Console\Output\StreamOutput; class TableTest extends \PHPUnit_Framework_TestCase @@ -250,6 +251,214 @@ public function testRenderProvider() | 9971-5-0210-0 | A Tale of Two Cities | Charles Dickens | +----------------------------------+----------------------+-----------------+ +TABLE + ), + 'Cell with colspan' => array( + array('ISBN', 'Title', 'Author'), + array( + array('99921-58-10-7', 'Divine Comedy', 'Dante Alighieri'), + new TableSeparator(), + array(new TableCell('Divine Comedy(Dante Alighieri)', array('colspan' => 3))), + new TableSeparator(), + array( + new TableCell('Arduino: A Quick-Start Guide', array('colspan' => 2)), + 'Mark Schmidt', + ), + new TableSeparator(), + array( + '9971-5-0210-0', + new TableCell("A Tale of \nTwo Cities", array('colspan' => 2)), + ), + ), + 'default', +<<<TABLE ++----------------+---------------+-----------------+ +| ISBN | Title | Author | ++----------------+---------------+-----------------+ +| 99921-58-10-7 | Divine Comedy | Dante Alighieri | ++----------------+---------------+-----------------+ +| Divine Comedy(Dante Alighieri) | ++----------------+---------------+-----------------+ +| Arduino: A Quick-Start Guide | Mark Schmidt | ++----------------+---------------+-----------------+ +| 9971-5-0210-0 | A Tale of | +| | Two Cities | ++----------------+---------------+-----------------+ + +TABLE + ), + 'Cell with rowspan' => array( + array('ISBN', 'Title', 'Author'), + array( + array( + new TableCell('9971-5-0210-0', array('rowspan' => 3)), + 'Divine Comedy', + 'Dante Alighieri', + ), + array('A Tale of Two Cities', 'Charles Dickens'), + array("The Lord of \nthe Rings", "J. R. \nR. Tolkien"), + new TableSeparator(), + array('80-902734-1-6', new TableCell("And Then \nThere \nWere None", array('rowspan' => 3)), 'Agatha Christie'), + array('80-902734-1-7', 'Test'), + ), + 'default', +<<<TABLE ++---------------+----------------------+-----------------+ +| ISBN | Title | Author | ++---------------+----------------------+-----------------+ +| 9971-5-0210-0 | Divine Comedy | Dante Alighieri | +| | A Tale of Two Cities | Charles Dickens | +| | The Lord of | J. R. | +| | the Rings | R. Tolkien | ++---------------+----------------------+-----------------+ +| 80-902734-1-6 | And Then | Agatha Christie | +| 80-902734-1-7 | There | Test | +| | Were None | | ++---------------+----------------------+-----------------+ + +TABLE + ), + 'Cell with rowspan and colspan' => array( + array('ISBN', 'Title', 'Author'), + array( + array( + new TableCell('9971-5-0210-0', array('rowspan' => 2, 'colspan' => 2)), + 'Dante Alighieri', + ), + array('Charles Dickens'), + new TableSeparator(), + array( + 'Dante Alighieri', + new TableCell('9971-5-0210-0', array('rowspan' => 3, 'colspan' => 2)), + ), + array('J. R. R. Tolkien'), + array('J. R. R'), + ), + 'default', +<<<TABLE ++------------------+--------+-----------------+ +| ISBN | Title | Author | ++------------------+--------+-----------------+ +| 9971-5-0210-0 | Dante Alighieri | +| | Charles Dickens | ++------------------+--------+-----------------+ +| Dante Alighieri | 9971-5-0210-0 | +| J. R. R. Tolkien | | +| J. R. R | | ++------------------+--------+-----------------+ + +TABLE + ), + 'Cell with rowspan and colspan contains new line break' => array( + array('ISBN', 'Title', 'Author'), + array( + array( + new TableCell("9971\n-5-\n021\n0-0", array('rowspan' => 2, 'colspan' => 2)), + 'Dante Alighieri', + ), + array('Charles Dickens'), + new TableSeparator(), + array( + 'Dante Alighieri', + new TableCell("9971\n-5-\n021\n0-0", array('rowspan' => 2, 'colspan' => 2)), + ), + array('Charles Dickens'), + new TableSeparator(), + array( + new TableCell("9971\n-5-\n021\n0-0", array('rowspan' => 2, 'colspan' => 2)), + new TableCell("Dante \nAlighieri", array('rowspan' => 2, 'colspan' => 1)), + ), + ), + 'default', +<<<TABLE ++-----------------+-------+-----------------+ +| ISBN | Title | Author | ++-----------------+-------+-----------------+ +| 9971 | Dante Alighieri | +| -5- | Charles Dickens | +| 021 | | +| 0-0 | | ++-----------------+-------+-----------------+ +| Dante Alighieri | 9971 | +| Charles Dickens | -5- | +| | 021 | +| | 0-0 | ++-----------------+-------+-----------------+ +| 9971 | Dante | +| -5- | Alighieri | +| 021 | | +| 0-0 | | ++-----------------+-------+-----------------+ + +TABLE + ), + 'Cell with rowspan and colspan without using TableSeparator' => array( + array('ISBN', 'Title', 'Author'), + array( + array( + new TableCell("9971\n-5-\n021\n0-0", array('rowspan' => 2, 'colspan' => 2)), + 'Dante Alighieri', + ), + array('Charles Dickens'), + array( + 'Dante Alighieri', + new TableCell("9971\n-5-\n021\n0-0", array('rowspan' => 2, 'colspan' => 2)), + ), + array('Charles Dickens'), + ), + 'default', +<<<TABLE ++-----------------+-------+-----------------+ +| ISBN | Title | Author | ++-----------------+-------+-----------------+ +| 9971 | Dante Alighieri | +| -5- | Charles Dickens | +| 021 | | +| 0-0 | | +| Dante Alighieri | 9971 | +| Charles Dickens | -5- | +| | 021 | +| | 0-0 | ++-----------------+-------+-----------------+ + +TABLE + ), + 'Cell with rowspan and colspan with separator inside a rowspan' => array( + array('ISBN', 'Author'), + array( + array( + new TableCell("9971-5-0210-0", array('rowspan' => 3, 'colspan' => 1)), + 'Dante Alighieri', + ), + array(new TableSeparator()), + array('Charles Dickens'), + ), + 'default', +<<<TABLE ++---------------+-----------------+ +| ISBN | Author | ++---------------+-----------------+ +| 9971-5-0210-0 | Dante Alighieri | +| |-----------------| +| | Charles Dickens | ++---------------+-----------------+ + +TABLE + ), + 'Multiple header lines' => array( + array( + array(new TableCell('Main title', array('colspan' => 3))), + array('ISBN', 'Title', 'Author'), + ), + array(), + 'default', +<<<TABLE ++------+-------+--------+ +| Main title | ++------+-------+--------+ +| ISBN | Title | Author | ++------+-------+--------+ + TABLE ), ); diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Input/ArgvInputTest.php b/core/vendor/symfony/console/Tests/Input/ArgvInputTest.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Input/ArgvInputTest.php rename to core/vendor/symfony/console/Tests/Input/ArgvInputTest.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Input/ArrayInputTest.php b/core/vendor/symfony/console/Tests/Input/ArrayInputTest.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Input/ArrayInputTest.php rename to core/vendor/symfony/console/Tests/Input/ArrayInputTest.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Input/InputArgumentTest.php b/core/vendor/symfony/console/Tests/Input/InputArgumentTest.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Input/InputArgumentTest.php rename to core/vendor/symfony/console/Tests/Input/InputArgumentTest.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Input/InputDefinitionTest.php b/core/vendor/symfony/console/Tests/Input/InputDefinitionTest.php similarity index 89% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Input/InputDefinitionTest.php rename to core/vendor/symfony/console/Tests/Input/InputDefinitionTest.php index ce0654de8a16f5be0b477f7485ea24a3d11451b8..74d755f54e2f59792cff4b908e455f1ef2dd9a97 100644 --- a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Input/InputDefinitionTest.php +++ b/core/vendor/symfony/console/Tests/Input/InputDefinitionTest.php @@ -352,25 +352,35 @@ public function testGetOptionDefaults() $this->assertSame($defaults, $definition->getOptionDefaults(), '->getOptionDefaults() returns the default values for all options'); } - public function testGetSynopsis() - { - $definition = new InputDefinition(array(new InputOption('foo'))); - $this->assertEquals('[--foo]', $definition->getSynopsis(), '->getSynopsis() returns a synopsis of arguments and options'); - $definition = new InputDefinition(array(new InputOption('foo', 'f'))); - $this->assertEquals('[-f|--foo]', $definition->getSynopsis(), '->getSynopsis() returns a synopsis of arguments and options'); - $definition = new InputDefinition(array(new InputOption('foo', 'f', InputOption::VALUE_REQUIRED))); - $this->assertEquals('[-f|--foo="..."]', $definition->getSynopsis(), '->getSynopsis() returns a synopsis of arguments and options'); - $definition = new InputDefinition(array(new InputOption('foo', 'f', InputOption::VALUE_OPTIONAL))); - $this->assertEquals('[-f|--foo[="..."]]', $definition->getSynopsis(), '->getSynopsis() returns a synopsis of arguments and options'); - - $definition = new InputDefinition(array(new InputArgument('foo'))); - $this->assertEquals('[foo]', $definition->getSynopsis(), '->getSynopsis() returns a synopsis of arguments and options'); - $definition = new InputDefinition(array(new InputArgument('foo', InputArgument::REQUIRED))); - $this->assertEquals('foo', $definition->getSynopsis(), '->getSynopsis() returns a synopsis of arguments and options'); - $definition = new InputDefinition(array(new InputArgument('foo', InputArgument::IS_ARRAY))); - $this->assertEquals('[foo1] ... [fooN]', $definition->getSynopsis(), '->getSynopsis() returns a synopsis of arguments and options'); - $definition = new InputDefinition(array(new InputArgument('foo', InputArgument::REQUIRED | InputArgument::IS_ARRAY))); - $this->assertEquals('foo1 ... [fooN]', $definition->getSynopsis(), '->getSynopsis() returns a synopsis of arguments and options'); + /** + * @dataProvider getGetSynopsisData + */ + public function testGetSynopsis(InputDefinition $definition, $expectedSynopsis, $message = null) + { + $this->assertEquals($expectedSynopsis, $definition->getSynopsis(), $message ? '->getSynopsis() '.$message : ''); + } + + public function getGetSynopsisData() + { + return array( + array(new InputDefinition(array(new InputOption('foo'))), '[--foo]', 'puts optional options in square brackets'), + array(new InputDefinition(array(new InputOption('foo', 'f'))), '[-f|--foo]', 'separates shortcut with a pipe'), + array(new InputDefinition(array(new InputOption('foo', 'f', InputOption::VALUE_REQUIRED))), '[-f|--foo FOO]', 'uses shortcut as value placeholder'), + array(new InputDefinition(array(new InputOption('foo', 'f', InputOption::VALUE_OPTIONAL))), '[-f|--foo [FOO]]', 'puts optional values in square brackets'), + + array(new InputDefinition(array(new InputArgument('foo', InputArgument::REQUIRED))), '<foo>', 'puts arguments in angle brackets'), + array(new InputDefinition(array(new InputArgument('foo'))), '[<foo>]', 'puts optional arguments in square brackets'), + array(new InputDefinition(array(new InputArgument('foo', InputArgument::IS_ARRAY))), '[<foo>]...', 'uses an ellipsis for array arguments'), + array(new InputDefinition(array(new InputArgument('foo', InputArgument::REQUIRED | InputArgument::IS_ARRAY))), '<foo> (<foo>)...', 'uses parenthesis and ellipsis for required array arguments'), + + array(new InputDefinition(array(new InputOption('foo'), new InputArgument('foo', InputArgument::REQUIRED))), '[--foo] [--] <foo>', 'puts [--] between options and arguments'), + ); + } + + public function testGetShortSynopsis() + { + $definition = new InputDefinition(array(new InputOption('foo'), new InputOption('bar'), new InputArgument('cat'))); + $this->assertEquals('[options] [--] [<cat>]', $definition->getSynopsis(true), '->getSynopsis(true) groups options in [options]'); } /** @@ -390,6 +400,7 @@ public function testLegacyAsText() new InputOption('qux', '', InputOption::VALUE_OPTIONAL | InputOption::VALUE_IS_ARRAY, 'The qux option', array('http://foo.com/', 'bar')), new InputOption('qux2', '', InputOption::VALUE_OPTIONAL | InputOption::VALUE_IS_ARRAY, 'The qux2 option', array('foo' => 'bar')), )); + $this->assertStringEqualsFile(self::$fixtures.'/definition_astext.txt', $definition->asText(), '->asText() returns a textual representation of the InputDefinition'); } diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Input/InputOptionTest.php b/core/vendor/symfony/console/Tests/Input/InputOptionTest.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Input/InputOptionTest.php rename to core/vendor/symfony/console/Tests/Input/InputOptionTest.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Input/InputTest.php b/core/vendor/symfony/console/Tests/Input/InputTest.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Input/InputTest.php rename to core/vendor/symfony/console/Tests/Input/InputTest.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Input/StringInputTest.php b/core/vendor/symfony/console/Tests/Input/StringInputTest.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Input/StringInputTest.php rename to core/vendor/symfony/console/Tests/Input/StringInputTest.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Logger/ConsoleLoggerTest.php b/core/vendor/symfony/console/Tests/Logger/ConsoleLoggerTest.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Logger/ConsoleLoggerTest.php rename to core/vendor/symfony/console/Tests/Logger/ConsoleLoggerTest.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Output/ConsoleOutputTest.php b/core/vendor/symfony/console/Tests/Output/ConsoleOutputTest.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Output/ConsoleOutputTest.php rename to core/vendor/symfony/console/Tests/Output/ConsoleOutputTest.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Output/NullOutputTest.php b/core/vendor/symfony/console/Tests/Output/NullOutputTest.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Output/NullOutputTest.php rename to core/vendor/symfony/console/Tests/Output/NullOutputTest.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Output/OutputTest.php b/core/vendor/symfony/console/Tests/Output/OutputTest.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Output/OutputTest.php rename to core/vendor/symfony/console/Tests/Output/OutputTest.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Output/StreamOutputTest.php b/core/vendor/symfony/console/Tests/Output/StreamOutputTest.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Output/StreamOutputTest.php rename to core/vendor/symfony/console/Tests/Output/StreamOutputTest.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Tester/ApplicationTesterTest.php b/core/vendor/symfony/console/Tests/Tester/ApplicationTesterTest.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Tester/ApplicationTesterTest.php rename to core/vendor/symfony/console/Tests/Tester/ApplicationTesterTest.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Tests/Tester/CommandTesterTest.php b/core/vendor/symfony/console/Tests/Tester/CommandTesterTest.php similarity index 100% rename from core/vendor/symfony/console/Symfony/Component/Console/Tests/Tester/CommandTesterTest.php rename to core/vendor/symfony/console/Tests/Tester/CommandTesterTest.php diff --git a/core/vendor/symfony/console/Symfony/Component/Console/composer.json b/core/vendor/symfony/console/composer.json similarity index 84% rename from core/vendor/symfony/console/Symfony/Component/Console/composer.json rename to core/vendor/symfony/console/composer.json index 2efbd2cbb9a94f53c8ae6238134741f8280cefd4..16b7b8124527549efd2565423bc88db0c798d863 100644 --- a/core/vendor/symfony/console/Symfony/Component/Console/composer.json +++ b/core/vendor/symfony/console/composer.json @@ -16,7 +16,7 @@ } ], "require": { - "php": ">=5.3.3" + "php": ">=5.3.9" }, "require-dev": { "symfony/phpunit-bridge": "~2.7", @@ -30,13 +30,12 @@ "psr/log": "For using the console logger" }, "autoload": { - "psr-0": { "Symfony\\Component\\Console\\": "" } + "psr-4": { "Symfony\\Component\\Console\\": "" } }, - "target-dir": "Symfony/Component/Console", "minimum-stability": "dev", "extra": { "branch-alias": { - "dev-master": "2.6-dev" + "dev-master": "2.7-dev" } } } diff --git a/core/vendor/symfony/console/Symfony/Component/Console/phpunit.xml.dist b/core/vendor/symfony/console/phpunit.xml.dist similarity index 99% rename from core/vendor/symfony/console/Symfony/Component/Console/phpunit.xml.dist rename to core/vendor/symfony/console/phpunit.xml.dist index 729c433aa69e829115be8f982643c6db5eb6ee27..ae0dcbeaba41caed478a06c712549b110e68039a 100644 --- a/core/vendor/symfony/console/Symfony/Component/Console/phpunit.xml.dist +++ b/core/vendor/symfony/console/phpunit.xml.dist @@ -9,6 +9,7 @@ <php> <ini name="error_reporting" value="-1" /> </php> + <testsuites> <testsuite name="Symfony Console Component Test Suite"> <directory>./Tests/</directory> diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/CHANGELOG.md b/core/vendor/symfony/css-selector/CHANGELOG.md similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/CHANGELOG.md rename to core/vendor/symfony/css-selector/CHANGELOG.md diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/CssSelector.php b/core/vendor/symfony/css-selector/CssSelector.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/CssSelector.php rename to core/vendor/symfony/css-selector/CssSelector.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Exception/ExceptionInterface.php b/core/vendor/symfony/css-selector/Exception/ExceptionInterface.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Exception/ExceptionInterface.php rename to core/vendor/symfony/css-selector/Exception/ExceptionInterface.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Exception/ExpressionErrorException.php b/core/vendor/symfony/css-selector/Exception/ExpressionErrorException.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Exception/ExpressionErrorException.php rename to core/vendor/symfony/css-selector/Exception/ExpressionErrorException.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Exception/InternalErrorException.php b/core/vendor/symfony/css-selector/Exception/InternalErrorException.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Exception/InternalErrorException.php rename to core/vendor/symfony/css-selector/Exception/InternalErrorException.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Exception/ParseException.php b/core/vendor/symfony/css-selector/Exception/ParseException.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Exception/ParseException.php rename to core/vendor/symfony/css-selector/Exception/ParseException.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Exception/SyntaxErrorException.php b/core/vendor/symfony/css-selector/Exception/SyntaxErrorException.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Exception/SyntaxErrorException.php rename to core/vendor/symfony/css-selector/Exception/SyntaxErrorException.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/LICENSE b/core/vendor/symfony/css-selector/LICENSE similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/LICENSE rename to core/vendor/symfony/css-selector/LICENSE diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Node/AbstractNode.php b/core/vendor/symfony/css-selector/Node/AbstractNode.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Node/AbstractNode.php rename to core/vendor/symfony/css-selector/Node/AbstractNode.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Node/AttributeNode.php b/core/vendor/symfony/css-selector/Node/AttributeNode.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Node/AttributeNode.php rename to core/vendor/symfony/css-selector/Node/AttributeNode.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Node/ClassNode.php b/core/vendor/symfony/css-selector/Node/ClassNode.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Node/ClassNode.php rename to core/vendor/symfony/css-selector/Node/ClassNode.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Node/CombinedSelectorNode.php b/core/vendor/symfony/css-selector/Node/CombinedSelectorNode.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Node/CombinedSelectorNode.php rename to core/vendor/symfony/css-selector/Node/CombinedSelectorNode.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Node/ElementNode.php b/core/vendor/symfony/css-selector/Node/ElementNode.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Node/ElementNode.php rename to core/vendor/symfony/css-selector/Node/ElementNode.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Node/FunctionNode.php b/core/vendor/symfony/css-selector/Node/FunctionNode.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Node/FunctionNode.php rename to core/vendor/symfony/css-selector/Node/FunctionNode.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Node/HashNode.php b/core/vendor/symfony/css-selector/Node/HashNode.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Node/HashNode.php rename to core/vendor/symfony/css-selector/Node/HashNode.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Node/NegationNode.php b/core/vendor/symfony/css-selector/Node/NegationNode.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Node/NegationNode.php rename to core/vendor/symfony/css-selector/Node/NegationNode.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Node/NodeInterface.php b/core/vendor/symfony/css-selector/Node/NodeInterface.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Node/NodeInterface.php rename to core/vendor/symfony/css-selector/Node/NodeInterface.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Node/PseudoNode.php b/core/vendor/symfony/css-selector/Node/PseudoNode.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Node/PseudoNode.php rename to core/vendor/symfony/css-selector/Node/PseudoNode.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Node/SelectorNode.php b/core/vendor/symfony/css-selector/Node/SelectorNode.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Node/SelectorNode.php rename to core/vendor/symfony/css-selector/Node/SelectorNode.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Node/Specificity.php b/core/vendor/symfony/css-selector/Node/Specificity.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Node/Specificity.php rename to core/vendor/symfony/css-selector/Node/Specificity.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Handler/CommentHandler.php b/core/vendor/symfony/css-selector/Parser/Handler/CommentHandler.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Handler/CommentHandler.php rename to core/vendor/symfony/css-selector/Parser/Handler/CommentHandler.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Handler/HandlerInterface.php b/core/vendor/symfony/css-selector/Parser/Handler/HandlerInterface.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Handler/HandlerInterface.php rename to core/vendor/symfony/css-selector/Parser/Handler/HandlerInterface.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Handler/HashHandler.php b/core/vendor/symfony/css-selector/Parser/Handler/HashHandler.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Handler/HashHandler.php rename to core/vendor/symfony/css-selector/Parser/Handler/HashHandler.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Handler/IdentifierHandler.php b/core/vendor/symfony/css-selector/Parser/Handler/IdentifierHandler.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Handler/IdentifierHandler.php rename to core/vendor/symfony/css-selector/Parser/Handler/IdentifierHandler.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Handler/NumberHandler.php b/core/vendor/symfony/css-selector/Parser/Handler/NumberHandler.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Handler/NumberHandler.php rename to core/vendor/symfony/css-selector/Parser/Handler/NumberHandler.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Handler/StringHandler.php b/core/vendor/symfony/css-selector/Parser/Handler/StringHandler.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Handler/StringHandler.php rename to core/vendor/symfony/css-selector/Parser/Handler/StringHandler.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Handler/WhitespaceHandler.php b/core/vendor/symfony/css-selector/Parser/Handler/WhitespaceHandler.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Handler/WhitespaceHandler.php rename to core/vendor/symfony/css-selector/Parser/Handler/WhitespaceHandler.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Parser.php b/core/vendor/symfony/css-selector/Parser/Parser.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Parser.php rename to core/vendor/symfony/css-selector/Parser/Parser.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/ParserInterface.php b/core/vendor/symfony/css-selector/Parser/ParserInterface.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/ParserInterface.php rename to core/vendor/symfony/css-selector/Parser/ParserInterface.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Reader.php b/core/vendor/symfony/css-selector/Parser/Reader.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Reader.php rename to core/vendor/symfony/css-selector/Parser/Reader.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Shortcut/ClassParser.php b/core/vendor/symfony/css-selector/Parser/Shortcut/ClassParser.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Shortcut/ClassParser.php rename to core/vendor/symfony/css-selector/Parser/Shortcut/ClassParser.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Shortcut/ElementParser.php b/core/vendor/symfony/css-selector/Parser/Shortcut/ElementParser.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Shortcut/ElementParser.php rename to core/vendor/symfony/css-selector/Parser/Shortcut/ElementParser.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Shortcut/EmptyStringParser.php b/core/vendor/symfony/css-selector/Parser/Shortcut/EmptyStringParser.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Shortcut/EmptyStringParser.php rename to core/vendor/symfony/css-selector/Parser/Shortcut/EmptyStringParser.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Shortcut/HashParser.php b/core/vendor/symfony/css-selector/Parser/Shortcut/HashParser.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Shortcut/HashParser.php rename to core/vendor/symfony/css-selector/Parser/Shortcut/HashParser.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Token.php b/core/vendor/symfony/css-selector/Parser/Token.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Token.php rename to core/vendor/symfony/css-selector/Parser/Token.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/TokenStream.php b/core/vendor/symfony/css-selector/Parser/TokenStream.php similarity index 98% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/TokenStream.php rename to core/vendor/symfony/css-selector/Parser/TokenStream.php index 8184b832b3c2529aee32f8eed002eb0fe095a279..c0525d7a833642e279016d779d12c2ba4dc9a32f 100644 --- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/TokenStream.php +++ b/core/vendor/symfony/css-selector/Parser/TokenStream.php @@ -100,7 +100,7 @@ public function getNext() throw new InternalErrorException('Unexpected token stream end.'); } - return $this->tokens[$this->cursor ++]; + return $this->tokens[$this->cursor++]; } /** diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Tokenizer/Tokenizer.php b/core/vendor/symfony/css-selector/Parser/Tokenizer/Tokenizer.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Tokenizer/Tokenizer.php rename to core/vendor/symfony/css-selector/Parser/Tokenizer/Tokenizer.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Tokenizer/TokenizerEscaping.php b/core/vendor/symfony/css-selector/Parser/Tokenizer/TokenizerEscaping.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Tokenizer/TokenizerEscaping.php rename to core/vendor/symfony/css-selector/Parser/Tokenizer/TokenizerEscaping.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Tokenizer/TokenizerPatterns.php b/core/vendor/symfony/css-selector/Parser/Tokenizer/TokenizerPatterns.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Parser/Tokenizer/TokenizerPatterns.php rename to core/vendor/symfony/css-selector/Parser/Tokenizer/TokenizerPatterns.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/README.md b/core/vendor/symfony/css-selector/README.md similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/README.md rename to core/vendor/symfony/css-selector/README.md diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/.gitignore b/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/.gitignore deleted file mode 100644 index c49a5d8df5c6548379f00c77fe572a7217bce218..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -vendor/ -composer.lock -phpunit.xml diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/CssSelectorTest.php b/core/vendor/symfony/css-selector/Tests/CssSelectorTest.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/CssSelectorTest.php rename to core/vendor/symfony/css-selector/Tests/CssSelectorTest.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Node/AbstractNodeTest.php b/core/vendor/symfony/css-selector/Tests/Node/AbstractNodeTest.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Node/AbstractNodeTest.php rename to core/vendor/symfony/css-selector/Tests/Node/AbstractNodeTest.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Node/AttributeNodeTest.php b/core/vendor/symfony/css-selector/Tests/Node/AttributeNodeTest.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Node/AttributeNodeTest.php rename to core/vendor/symfony/css-selector/Tests/Node/AttributeNodeTest.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Node/ClassNodeTest.php b/core/vendor/symfony/css-selector/Tests/Node/ClassNodeTest.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Node/ClassNodeTest.php rename to core/vendor/symfony/css-selector/Tests/Node/ClassNodeTest.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Node/CombinedSelectorNodeTest.php b/core/vendor/symfony/css-selector/Tests/Node/CombinedSelectorNodeTest.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Node/CombinedSelectorNodeTest.php rename to core/vendor/symfony/css-selector/Tests/Node/CombinedSelectorNodeTest.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Node/ElementNodeTest.php b/core/vendor/symfony/css-selector/Tests/Node/ElementNodeTest.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Node/ElementNodeTest.php rename to core/vendor/symfony/css-selector/Tests/Node/ElementNodeTest.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Node/FunctionNodeTest.php b/core/vendor/symfony/css-selector/Tests/Node/FunctionNodeTest.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Node/FunctionNodeTest.php rename to core/vendor/symfony/css-selector/Tests/Node/FunctionNodeTest.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Node/HashNodeTest.php b/core/vendor/symfony/css-selector/Tests/Node/HashNodeTest.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Node/HashNodeTest.php rename to core/vendor/symfony/css-selector/Tests/Node/HashNodeTest.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Node/NegationNodeTest.php b/core/vendor/symfony/css-selector/Tests/Node/NegationNodeTest.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Node/NegationNodeTest.php rename to core/vendor/symfony/css-selector/Tests/Node/NegationNodeTest.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Node/PseudoNodeTest.php b/core/vendor/symfony/css-selector/Tests/Node/PseudoNodeTest.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Node/PseudoNodeTest.php rename to core/vendor/symfony/css-selector/Tests/Node/PseudoNodeTest.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Node/SelectorNodeTest.php b/core/vendor/symfony/css-selector/Tests/Node/SelectorNodeTest.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Node/SelectorNodeTest.php rename to core/vendor/symfony/css-selector/Tests/Node/SelectorNodeTest.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Node/SpecificityTest.php b/core/vendor/symfony/css-selector/Tests/Node/SpecificityTest.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Node/SpecificityTest.php rename to core/vendor/symfony/css-selector/Tests/Node/SpecificityTest.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/Handler/AbstractHandlerTest.php b/core/vendor/symfony/css-selector/Tests/Parser/Handler/AbstractHandlerTest.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/Handler/AbstractHandlerTest.php rename to core/vendor/symfony/css-selector/Tests/Parser/Handler/AbstractHandlerTest.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/Handler/CommentHandlerTest.php b/core/vendor/symfony/css-selector/Tests/Parser/Handler/CommentHandlerTest.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/Handler/CommentHandlerTest.php rename to core/vendor/symfony/css-selector/Tests/Parser/Handler/CommentHandlerTest.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/Handler/HashHandlerTest.php b/core/vendor/symfony/css-selector/Tests/Parser/Handler/HashHandlerTest.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/Handler/HashHandlerTest.php rename to core/vendor/symfony/css-selector/Tests/Parser/Handler/HashHandlerTest.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/Handler/IdentifierHandlerTest.php b/core/vendor/symfony/css-selector/Tests/Parser/Handler/IdentifierHandlerTest.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/Handler/IdentifierHandlerTest.php rename to core/vendor/symfony/css-selector/Tests/Parser/Handler/IdentifierHandlerTest.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/Handler/NumberHandlerTest.php b/core/vendor/symfony/css-selector/Tests/Parser/Handler/NumberHandlerTest.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/Handler/NumberHandlerTest.php rename to core/vendor/symfony/css-selector/Tests/Parser/Handler/NumberHandlerTest.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/Handler/StringHandlerTest.php b/core/vendor/symfony/css-selector/Tests/Parser/Handler/StringHandlerTest.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/Handler/StringHandlerTest.php rename to core/vendor/symfony/css-selector/Tests/Parser/Handler/StringHandlerTest.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/Handler/WhitespaceHandlerTest.php b/core/vendor/symfony/css-selector/Tests/Parser/Handler/WhitespaceHandlerTest.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/Handler/WhitespaceHandlerTest.php rename to core/vendor/symfony/css-selector/Tests/Parser/Handler/WhitespaceHandlerTest.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/ParserTest.php b/core/vendor/symfony/css-selector/Tests/Parser/ParserTest.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/ParserTest.php rename to core/vendor/symfony/css-selector/Tests/Parser/ParserTest.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/ReaderTest.php b/core/vendor/symfony/css-selector/Tests/Parser/ReaderTest.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/ReaderTest.php rename to core/vendor/symfony/css-selector/Tests/Parser/ReaderTest.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/Shortcut/ClassParserTest.php b/core/vendor/symfony/css-selector/Tests/Parser/Shortcut/ClassParserTest.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/Shortcut/ClassParserTest.php rename to core/vendor/symfony/css-selector/Tests/Parser/Shortcut/ClassParserTest.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/Shortcut/ElementParserTest.php b/core/vendor/symfony/css-selector/Tests/Parser/Shortcut/ElementParserTest.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/Shortcut/ElementParserTest.php rename to core/vendor/symfony/css-selector/Tests/Parser/Shortcut/ElementParserTest.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/Shortcut/EmptyStringParserTest.php b/core/vendor/symfony/css-selector/Tests/Parser/Shortcut/EmptyStringParserTest.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/Shortcut/EmptyStringParserTest.php rename to core/vendor/symfony/css-selector/Tests/Parser/Shortcut/EmptyStringParserTest.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/Shortcut/HashParserTest.php b/core/vendor/symfony/css-selector/Tests/Parser/Shortcut/HashParserTest.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/Shortcut/HashParserTest.php rename to core/vendor/symfony/css-selector/Tests/Parser/Shortcut/HashParserTest.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/TokenStreamTest.php b/core/vendor/symfony/css-selector/Tests/Parser/TokenStreamTest.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/Parser/TokenStreamTest.php rename to core/vendor/symfony/css-selector/Tests/Parser/TokenStreamTest.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/XPath/Fixtures/ids.html b/core/vendor/symfony/css-selector/Tests/XPath/Fixtures/ids.html similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/XPath/Fixtures/ids.html rename to core/vendor/symfony/css-selector/Tests/XPath/Fixtures/ids.html diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/XPath/Fixtures/lang.xml b/core/vendor/symfony/css-selector/Tests/XPath/Fixtures/lang.xml similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/XPath/Fixtures/lang.xml rename to core/vendor/symfony/css-selector/Tests/XPath/Fixtures/lang.xml diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/XPath/Fixtures/shakespear.html b/core/vendor/symfony/css-selector/Tests/XPath/Fixtures/shakespear.html similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/XPath/Fixtures/shakespear.html rename to core/vendor/symfony/css-selector/Tests/XPath/Fixtures/shakespear.html diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/XPath/TranslatorTest.php b/core/vendor/symfony/css-selector/Tests/XPath/TranslatorTest.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/Tests/XPath/TranslatorTest.php rename to core/vendor/symfony/css-selector/Tests/XPath/TranslatorTest.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/XPath/Extension/AbstractExtension.php b/core/vendor/symfony/css-selector/XPath/Extension/AbstractExtension.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/XPath/Extension/AbstractExtension.php rename to core/vendor/symfony/css-selector/XPath/Extension/AbstractExtension.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/XPath/Extension/AttributeMatchingExtension.php b/core/vendor/symfony/css-selector/XPath/Extension/AttributeMatchingExtension.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/XPath/Extension/AttributeMatchingExtension.php rename to core/vendor/symfony/css-selector/XPath/Extension/AttributeMatchingExtension.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/XPath/Extension/CombinationExtension.php b/core/vendor/symfony/css-selector/XPath/Extension/CombinationExtension.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/XPath/Extension/CombinationExtension.php rename to core/vendor/symfony/css-selector/XPath/Extension/CombinationExtension.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/XPath/Extension/ExtensionInterface.php b/core/vendor/symfony/css-selector/XPath/Extension/ExtensionInterface.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/XPath/Extension/ExtensionInterface.php rename to core/vendor/symfony/css-selector/XPath/Extension/ExtensionInterface.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/XPath/Extension/FunctionExtension.php b/core/vendor/symfony/css-selector/XPath/Extension/FunctionExtension.php similarity index 99% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/XPath/Extension/FunctionExtension.php rename to core/vendor/symfony/css-selector/XPath/Extension/FunctionExtension.php index 0086240c81fd4828319d1310c9e43fdb18121677..41ece8a42208cb418bf96aba86f193e243e0b25a 100644 --- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/XPath/Extension/FunctionExtension.php +++ b/core/vendor/symfony/css-selector/XPath/Extension/FunctionExtension.php @@ -84,7 +84,7 @@ public function translateNthChild(XPathExpr $xpath, FunctionNode $function, $las if ($last) { $expr = 'last() - '.$expr; - $b--; + --$b; } if (0 !== $b) { diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/XPath/Extension/HtmlExtension.php b/core/vendor/symfony/css-selector/XPath/Extension/HtmlExtension.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/XPath/Extension/HtmlExtension.php rename to core/vendor/symfony/css-selector/XPath/Extension/HtmlExtension.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/XPath/Extension/NodeExtension.php b/core/vendor/symfony/css-selector/XPath/Extension/NodeExtension.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/XPath/Extension/NodeExtension.php rename to core/vendor/symfony/css-selector/XPath/Extension/NodeExtension.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/XPath/Extension/PseudoClassExtension.php b/core/vendor/symfony/css-selector/XPath/Extension/PseudoClassExtension.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/XPath/Extension/PseudoClassExtension.php rename to core/vendor/symfony/css-selector/XPath/Extension/PseudoClassExtension.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/XPath/Translator.php b/core/vendor/symfony/css-selector/XPath/Translator.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/XPath/Translator.php rename to core/vendor/symfony/css-selector/XPath/Translator.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/XPath/TranslatorInterface.php b/core/vendor/symfony/css-selector/XPath/TranslatorInterface.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/XPath/TranslatorInterface.php rename to core/vendor/symfony/css-selector/XPath/TranslatorInterface.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/XPath/XPathExpr.php b/core/vendor/symfony/css-selector/XPath/XPathExpr.php similarity index 100% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/XPath/XPathExpr.php rename to core/vendor/symfony/css-selector/XPath/XPathExpr.php diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/composer.json b/core/vendor/symfony/css-selector/composer.json similarity index 71% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/composer.json rename to core/vendor/symfony/css-selector/composer.json index 831b8eb45efa97ec196d6e6a1835629cf27d730c..c7aebf7098550603d78c6987840a95ddc807651f 100644 --- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/composer.json +++ b/core/vendor/symfony/css-selector/composer.json @@ -3,7 +3,7 @@ "type": "library", "description": "Symfony CssSelector Component", "keywords": [], - "homepage": "http://symfony.com", + "homepage": "https://symfony.com", "license": "MIT", "authors": [ { @@ -16,23 +16,22 @@ }, { "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" + "homepage": "https://symfony.com/contributors" } ], "require": { - "php": ">=5.3.3" + "php": ">=5.3.9" }, "require-dev": { "symfony/phpunit-bridge": "~2.7" }, "autoload": { - "psr-0": { "Symfony\\Component\\CssSelector\\": "" } + "psr-4": { "Symfony\\Component\\CssSelector\\": "" } }, - "target-dir": "Symfony/Component/CssSelector", "minimum-stability": "dev", "extra": { "branch-alias": { - "dev-master": "2.6-dev" + "dev-master": "2.7-dev" } } } diff --git a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/phpunit.xml.dist b/core/vendor/symfony/css-selector/phpunit.xml.dist similarity index 99% rename from core/vendor/symfony/css-selector/Symfony/Component/CssSelector/phpunit.xml.dist rename to core/vendor/symfony/css-selector/phpunit.xml.dist index bc57cfcdfa8d8b0dcb16f7986ca4f075e7ee101b..14a320c873c115384af40a0e2c9cb511806c31a3 100644 --- a/core/vendor/symfony/css-selector/Symfony/Component/CssSelector/phpunit.xml.dist +++ b/core/vendor/symfony/css-selector/phpunit.xml.dist @@ -9,6 +9,7 @@ <php> <ini name="error_reporting" value="-1" /> </php> + <testsuites> <testsuite name="Symfony CssSelector Component Test Suite"> <directory>./Tests/</directory> diff --git a/core/vendor/symfony/debug/Symfony/Component/Debug/ErrorHandler.php b/core/vendor/symfony/debug/Symfony/Component/Debug/ErrorHandler.php index 48e4a2d69e73723e02f276d300bb01af05e8e114..eed05c191f19812f1c0290f1daab8298ee0d8bc1 100644 --- a/core/vendor/symfony/debug/Symfony/Component/Debug/ErrorHandler.php +++ b/core/vendor/symfony/debug/Symfony/Component/Debug/ErrorHandler.php @@ -14,6 +14,7 @@ use Psr\Log\LogLevel; use Psr\Log\LoggerInterface; use Symfony\Component\Debug\Exception\ContextErrorException; +use Symfony\Component\Debug\Exception\FatalBaseException; use Symfony\Component\Debug\Exception\FatalErrorException; use Symfony\Component\Debug\Exception\OutOfMemoryException; use Symfony\Component\Debug\FatalErrorHandler\UndefinedFunctionFatalErrorHandler; @@ -101,7 +102,7 @@ class ErrorHandler private static $stackedErrorLevels = array(); /** - * Same init value as thrownErrors + * Same init value as thrownErrors. * * @deprecated since 2.6, to be removed in 3.0. */ @@ -240,7 +241,7 @@ public function setExceptionHandler($handler) } /** - * Sets the error levels that are to be thrown. + * Sets the PHP error levels that throw an exception when a PHP error occurs. * * @param int $levels A bit field of E_* constants for thrown errors * @param bool $replace Replace or amend the previous value @@ -263,7 +264,7 @@ public function throwAt($levels, $replace = false) } /** - * Sets the error levels that are logged or thrown with their local scope. + * Sets the PHP error levels for which local variables are preserved. * * @param int $levels A bit field of E_* constants for scoped errors * @param bool $replace Replace or amend the previous value @@ -282,7 +283,7 @@ public function scopeAt($levels, $replace = false) } /** - * Sets the error levels that are logged with their stack trace. + * Sets the PHP error levels for which the stack trace is preserved. * * @param int $levels A bit field of E_* constants for traced errors * @param bool $replace Replace or amend the previous value @@ -356,69 +357,71 @@ public function handleError($type, $message, $file, $line, array $context) $throw = $this->thrownErrors & $type & $level; $type &= $level | $this->screamedErrors; - if ($type && ($log || $throw)) { - if (PHP_VERSION_ID < 50400 && isset($context['GLOBALS']) && ($this->scopedErrors & $type)) { - $e = $context; // Whatever the signature of the method, - unset($e['GLOBALS'], $context); // $context is always a reference in 5.3 - $context = $e; - } + if (!$type || (!$log && !$throw)) { + return $type && $log; + } - if ($throw) { - if (($this->scopedErrors & $type) && class_exists('Symfony\Component\Debug\Exception\ContextErrorException')) { - // Checking for class existence is a work around for https://bugs.php.net/42098 - $throw = new ContextErrorException($this->levels[$type].': '.$message, 0, $type, $file, $line, $context); - } else { - $throw = new \ErrorException($this->levels[$type].': '.$message, 0, $type, $file, $line); - } + if (PHP_VERSION_ID < 50400 && isset($context['GLOBALS']) && ($this->scopedErrors & $type)) { + $e = $context; // Whatever the signature of the method, + unset($e['GLOBALS'], $context); // $context is always a reference in 5.3 + $context = $e; + } - if (PHP_VERSION_ID <= 50407 && (PHP_VERSION_ID >= 50400 || PHP_VERSION_ID <= 50317)) { - // Exceptions thrown from error handlers are sometimes not caught by the exception - // handler and shutdown handlers are bypassed before 5.4.8/5.3.18. - // We temporarily re-enable display_errors to prevent any blank page related to this bug. + if ($throw) { + if (($this->scopedErrors & $type) && class_exists('Symfony\Component\Debug\Exception\ContextErrorException')) { + // Checking for class existence is a work around for https://bugs.php.net/42098 + $throw = new ContextErrorException($this->levels[$type].': '.$message, 0, $type, $file, $line, $context); + } else { + $throw = new \ErrorException($this->levels[$type].': '.$message, 0, $type, $file, $line); + } - $throw->errorHandlerCanary = new ErrorHandlerCanary(); - } + if (PHP_VERSION_ID <= 50407 && (PHP_VERSION_ID >= 50400 || PHP_VERSION_ID <= 50317)) { + // Exceptions thrown from error handlers are sometimes not caught by the exception + // handler and shutdown handlers are bypassed before 5.4.8/5.3.18. + // We temporarily re-enable display_errors to prevent any blank page related to this bug. - throw $throw; + $throw->errorHandlerCanary = new ErrorHandlerCanary(); } - // For duplicated errors, log the trace only once - $e = md5("{$type}/{$line}/{$file}\x00{$message}", true); - $trace = true; + throw $throw; + } - if (!($this->tracedErrors & $type) || isset($this->loggedTraces[$e])) { - $trace = false; - } else { - $this->loggedTraces[$e] = 1; - } + // For duplicated errors, log the trace only once + $e = md5("{$type}/{$line}/{$file}\x00{$message}", true); + $trace = true; - $e = compact('type', 'file', 'line', 'level'); + if (!($this->tracedErrors & $type) || isset($this->loggedTraces[$e])) { + $trace = false; + } else { + $this->loggedTraces[$e] = 1; + } + + $e = compact('type', 'file', 'line', 'level'); - if ($type & $level) { - if ($this->scopedErrors & $type) { - $e['context'] = $context; - if ($trace) { - $e['stack'] = debug_backtrace(true); // Provide object - } - } elseif ($trace) { - $e['stack'] = debug_backtrace(PHP_VERSION_ID >= 50306 ? DEBUG_BACKTRACE_IGNORE_ARGS : false); + if ($type & $level) { + if ($this->scopedErrors & $type) { + $e['scope_vars'] = $context; + if ($trace) { + $e['stack'] = debug_backtrace(true); // Provide object } + } elseif ($trace) { + $e['stack'] = debug_backtrace(PHP_VERSION_ID >= 50306 ? DEBUG_BACKTRACE_IGNORE_ARGS : false); } + } - if ($this->isRecursive) { - $log = 0; - } elseif (self::$stackedErrorLevels) { - self::$stackedErrors[] = array($this->loggers[$type], $message, $e); - } else { - try { - $this->isRecursive = true; - $this->loggers[$type][0]->log($this->loggers[$type][1], $message, $e); - $this->isRecursive = false; - } catch (\Exception $e) { - $this->isRecursive = false; - - throw $e; - } + if ($this->isRecursive) { + $log = 0; + } elseif (self::$stackedErrorLevels) { + self::$stackedErrors[] = array($this->loggers[$type], $message, $e); + } else { + try { + $this->isRecursive = true; + $this->loggers[$type][0]->log(($type & $level) ? $this->loggers[$type][1] : LogLevel::DEBUG, $message, $e); + $this->isRecursive = false; + } catch (\Exception $e) { + $this->isRecursive = false; + + throw $e; } } @@ -428,23 +431,34 @@ public function handleError($type, $message, $file, $line, array $context) /** * Handles an exception by logging then forwarding it to an other handler. * - * @param \Exception $exception An exception to handle - * @param array $error An array as returned by error_get_last() + * @param \Exception|\BaseException $exception An exception to handle + * @param array $error An array as returned by error_get_last() * * @internal */ - public function handleException(\Exception $exception, array $error = null) + public function handleException($exception, array $error = null) { - $level = error_reporting(); - if ($this->loggedErrors & E_ERROR & ($level | $this->screamedErrors)) { + if (!$exception instanceof \Exception) { + $exception = new FatalBaseException($exception); + } + $type = $exception instanceof FatalErrorException ? $exception->getSeverity() : E_ERROR; + + if ($this->loggedErrors & $type) { $e = array( - 'type' => E_ERROR, + 'type' => $type, 'file' => $exception->getFile(), 'line' => $exception->getLine(), - 'level' => $level, + 'level' => error_reporting(), 'stack' => $exception->getTrace(), ); - if ($exception instanceof FatalErrorException) { + if ($exception instanceof FatalBaseException) { + $error = array( + 'type' => $type, + 'message' => $message = $exception->getMessage(), + 'file' => $e['file'], + 'line' => $e['line'], + ); + } elseif ($exception instanceof FatalErrorException) { $message = 'Fatal '.$exception->getMessage(); } elseif ($exception instanceof \ErrorException) { $message = 'Uncaught '.$exception->getMessage(); @@ -474,6 +488,9 @@ public function handleException(\Exception $exception, array $error = null) } catch (\Exception $handlerException) { $this->exceptionHandler = null; $this->handleException($handlerException); + } catch (\BaseException $handlerException) { + $this->exceptionHandler = null; + $this->handleException($handlerException); } } @@ -487,40 +504,44 @@ public function handleException(\Exception $exception, array $error = null) public static function handleFatalError(array $error = null) { self::$reservedMemory = ''; + $handler = set_error_handler('var_dump', 0); $handler = is_array($handler) ? $handler[0] : null; restore_error_handler(); - if ($handler instanceof self) { - if (null === $error) { - $error = error_get_last(); - } - try { - while (self::$stackedErrorLevels) { - static::unstackErrors(); - } - } catch (\Exception $exception) { - // Handled below - } + if (!$handler instanceof self) { + return; + } - if ($error && ($error['type'] & (E_PARSE | E_ERROR | E_CORE_ERROR | E_COMPILE_ERROR))) { - // Let's not throw anymore but keep logging - $handler->throwAt(0, true); + if (null === $error) { + $error = error_get_last(); + } - if (0 === strpos($error['message'], 'Allowed memory') || 0 === strpos($error['message'], 'Out of memory')) { - $exception = new OutOfMemoryException($handler->levels[$error['type']].': '.$error['message'], 0, $error['type'], $error['file'], $error['line'], 2, false); - } else { - $exception = new FatalErrorException($handler->levels[$error['type']].': '.$error['message'], 0, $error['type'], $error['file'], $error['line'], 2, true); - } - } elseif (!isset($exception)) { - return; + try { + while (self::$stackedErrorLevels) { + static::unstackErrors(); } + } catch (\Exception $exception) { + // Handled below + } - try { - $handler->handleException($exception, $error); - } catch (FatalErrorException $e) { - // Ignore this re-throw + if ($error && ($error['type'] & (E_PARSE | E_ERROR | E_CORE_ERROR | E_COMPILE_ERROR))) { + // Let's not throw anymore but keep logging + $handler->throwAt(0, true); + + if (0 === strpos($error['message'], 'Allowed memory') || 0 === strpos($error['message'], 'Out of memory')) { + $exception = new OutOfMemoryException($handler->levels[$error['type']].': '.$error['message'], 0, $error['type'], $error['file'], $error['line'], 2, false); + } else { + $exception = new FatalErrorException($handler->levels[$error['type']].': '.$error['message'], 0, $error['type'], $error['file'], $error['line'], 2, true); } + } elseif (!isset($exception)) { + return; + } + + try { + $handler->handleException($exception, $error); + } catch (FatalErrorException $e) { + // Ignore this re-throw } } @@ -541,7 +562,7 @@ public static function stackErrors() } /** - * Unstacks stacked errors and forwards to the logger + * Unstacks stacked errors and forwards to the logger. */ public static function unstackErrors() { @@ -660,7 +681,7 @@ public function handleFatal() } /** - * Private class used to work around https://bugs.php.net/54275 + * Private class used to work around https://bugs.php.net/54275. * * @author Nicolas Grekas <p@tchwork.com> * diff --git a/core/vendor/symfony/debug/Symfony/Component/Debug/Exception/FatalBaseException.php b/core/vendor/symfony/debug/Symfony/Component/Debug/Exception/FatalBaseException.php new file mode 100644 index 0000000000000000000000000000000000000000..769d30ccb13d26a7018b89159bc4650a5cfb01ec --- /dev/null +++ b/core/vendor/symfony/debug/Symfony/Component/Debug/Exception/FatalBaseException.php @@ -0,0 +1,44 @@ +<?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\Debug\Exception; + +/** + * Base Fatal Error Exception. + * + * @author Nicolas Grekas <p@tchwork.com> + */ +class FatalBaseException extends FatalErrorException +{ + public function __construct(\BaseException $e) + { + if ($e instanceof \ParseException) { + $message = 'Parse error: '.$e->getMessage(); + $severity = E_PARSE; + } elseif ($e instanceof \TypeException) { + $message = 'Type error: '.$e->getMessage(); + $severity = E_RECOVERABLE_ERROR; + } else { + $message = 'Fatal error: '.$e->getMessage(); + $severity = E_ERROR; + } + + \ErrorException::__construct( + $message, + $e->getCode(), + $severity, + $e->getFile(), + $e->getLine() + ); + + $this->setTrace($e->getTrace()); + } +} diff --git a/core/vendor/symfony/debug/Symfony/Component/Debug/ExceptionHandler.php b/core/vendor/symfony/debug/Symfony/Component/Debug/ExceptionHandler.php index 662502146a94fa21cd68ec162e62b9a134648cf6..bc66741bc8751c6ac53cfcc8fb27dfcfaaab46e8 100644 --- a/core/vendor/symfony/debug/Symfony/Component/Debug/ExceptionHandler.php +++ b/core/vendor/symfony/debug/Symfony/Component/Debug/ExceptionHandler.php @@ -371,7 +371,7 @@ private function formatClass($class) { $parts = explode('\\', $class); - return sprintf("<abbr title=\"%s\">%s</abbr>", $class, array_pop($parts)); + return sprintf('<abbr title="%s">%s</abbr>', $class, array_pop($parts)); } private function formatPath($path, $line) @@ -380,7 +380,7 @@ private function formatPath($path, $line) $file = preg_match('#[^/\\\\]*$#', $path, $file) ? $file[0] : $path; if ($linkFormat = $this->fileLinkFormat) { - $link = str_replace(array('%f', '%l'), array($path, $line), $linkFormat); + $link = strtr($this->escapeHtml($linkFormat), array('%f' => $path, '%l' => (int) $line)); return sprintf(' in <a href="%s" title="Go to source">%s line %d</a>', $link, $file, $line); } @@ -422,7 +422,7 @@ private function formatArgs(array $args) } /** - * Returns an UTF-8 and HTML encoded string + * Returns an UTF-8 and HTML encoded string. */ protected static function utf8Htmlize($str) { @@ -441,7 +441,7 @@ protected static function utf8Htmlize($str) } /** - * HTML-encodes a string + * HTML-encodes a string. */ private function escapeHtml($str) { diff --git a/core/vendor/symfony/debug/Symfony/Component/Debug/FatalErrorHandler/ClassNotFoundFatalErrorHandler.php b/core/vendor/symfony/debug/Symfony/Component/Debug/FatalErrorHandler/ClassNotFoundFatalErrorHandler.php index c75f17edff344c71587459cbd6c27513975439d7..abfe90d79262a871adfc0a7e2398ce7596dab6b5 100644 --- a/core/vendor/symfony/debug/Symfony/Component/Debug/FatalErrorHandler/ClassNotFoundFatalErrorHandler.php +++ b/core/vendor/symfony/debug/Symfony/Component/Debug/FatalErrorHandler/ClassNotFoundFatalErrorHandler.php @@ -77,7 +77,7 @@ public function handleError(array $error, FatalErrorException $exception) /** * Tries to guess the full namespace for a given class name. * - * By default, it looks for PSR-0 classes registered via a Symfony or a Composer + * By default, it looks for PSR-0 and PSR-4 classes registered via a Symfony or a Composer * autoloader (that should cover all common cases). * * @param string $class A class name (without its namespace) @@ -101,7 +101,7 @@ private function getClassCandidates($class) if ($function[0] instanceof DebugClassLoader) { $function = $function[0]->getClassLoader(); - // Since 2.5, returning an object from DebugClassLoader::getClassLoader() is @deprecated + // @deprecated since version 2.5. Returning an object from DebugClassLoader::getClassLoader() is deprecated. if (is_object($function)) { $function = array($function); } @@ -118,6 +118,13 @@ private function getClassCandidates($class) } } } + if ($function[0] instanceof ComposerClassLoader) { + foreach ($function[0]->getPrefixesPsr4() as $prefix => $paths) { + foreach ($paths as $path) { + $classes = array_merge($classes, $this->findClassInPath($path, $class, $prefix)); + } + } + } } return array_unique($classes); @@ -132,13 +139,13 @@ private function getClassCandidates($class) */ private function findClassInPath($path, $class, $prefix) { - if (!$path = realpath($path)) { + if (!$path = realpath($path.'/'.strtr($prefix, '\\_', '//')) ?: realpath($path.'/'.dirname(strtr($prefix, '\\_', '//'))) ?: realpath($path)) { return array(); } $classes = array(); $filename = $class.'.php'; - foreach (new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($path), \RecursiveIteratorIterator::LEAVES_ONLY) as $file) { + foreach (new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($path, \RecursiveDirectoryIterator::SKIP_DOTS), \RecursiveIteratorIterator::LEAVES_ONLY) as $file) { if ($filename == $file->getFileName() && $class = $this->convertFileToClass($path, $file->getPathName(), $prefix)) { $classes[] = $class; } @@ -160,13 +167,21 @@ private function convertFileToClass($path, $file, $prefix) // namespaced class $namespacedClass = str_replace(array($path.DIRECTORY_SEPARATOR, '.php', '/'), array('', '', '\\'), $file), // namespaced class (with target dir) - $namespacedClassTargetDir = $prefix.str_replace(array($path.DIRECTORY_SEPARATOR, '.php', '/'), array('', '', '\\'), $file), + $prefix.$namespacedClass, + // namespaced class (with target dir and separator) + $prefix.'\\'.$namespacedClass, // PEAR class str_replace('\\', '_', $namespacedClass), // PEAR class (with target dir) - str_replace('\\', '_', $namespacedClassTargetDir), + str_replace('\\', '_', $prefix.$namespacedClass), + // PEAR class (with target dir and separator) + str_replace('\\', '_', $prefix.'\\'.$namespacedClass), ); + if ($prefix) { + $candidates = array_filter($candidates, function ($candidate) use ($prefix) {return 0 === strpos($candidate, $prefix);}); + } + // We cannot use the autoloader here as most of them use require; but if the class // is not found, the new autoloader call will require the file again leading to a // "cannot redeclare class" error. diff --git a/core/vendor/symfony/debug/Symfony/Component/Debug/Tests/DebugClassLoaderTest.php b/core/vendor/symfony/debug/Symfony/Component/Debug/Tests/DebugClassLoaderTest.php index 1d6f6b4715bd206612a2c1bb15b8f3850c1793d2..169f4210ed58ea4f5cd2f1acb4863b48d8a6767f 100644 --- a/core/vendor/symfony/debug/Symfony/Component/Debug/Tests/DebugClassLoaderTest.php +++ b/core/vendor/symfony/debug/Symfony/Component/Debug/Tests/DebugClassLoaderTest.php @@ -61,6 +61,10 @@ public function testIdempotence() public function testUnsilencing() { + if (PHP_VERSION_ID >= 70000) { + $this->markTestSkipped('PHP7 throws exceptions, unsilencing is not required anymore.'); + } + ob_start(); $this->iniSet('log_errors', 0); @@ -100,9 +104,14 @@ class ChildTestingStacking extends TestingStacking { function foo($bar) {} } // if an exception is thrown, the test passed restore_error_handler(); restore_exception_handler(); - $this->assertEquals(E_STRICT, $exception->getSeverity()); $this->assertStringStartsWith(__FILE__, $exception->getFile()); - $this->assertRegexp('/^Runtime Notice: Declaration/', $exception->getMessage()); + if (PHP_VERSION_ID < 70000) { + $this->assertRegexp('/^Runtime Notice: Declaration/', $exception->getMessage()); + $this->assertEquals(E_STRICT, $exception->getSeverity()); + } else { + $this->assertRegexp('/^Warning: Declaration/', $exception->getMessage()); + $this->assertEquals(E_WARNING, $exception->getSeverity()); + } } catch (\Exception $exception) { restore_error_handler(); restore_exception_handler(); diff --git a/core/vendor/symfony/debug/Symfony/Component/Debug/Tests/ErrorHandlerTest.php b/core/vendor/symfony/debug/Symfony/Component/Debug/Tests/ErrorHandlerTest.php index 0f52680370984b1a036b6151e9b118b31bf3ba7c..1b3f7b41ed92d54376ed56650a774f8c4dcfdfb9 100644 --- a/core/vendor/symfony/debug/Symfony/Component/Debug/Tests/ErrorHandlerTest.php +++ b/core/vendor/symfony/debug/Symfony/Component/Debug/Tests/ErrorHandlerTest.php @@ -336,7 +336,7 @@ public function testHandleFatalError() $logArgCheck = function ($level, $message, $context) use ($that) { $that->assertEquals('Fatal Parse Error: foo', $message); $that->assertArrayHasKey('type', $context); - $that->assertEquals($context['type'], E_ERROR); + $that->assertEquals($context['type'], E_PARSE); }; $logger @@ -345,7 +345,7 @@ public function testHandleFatalError() ->will($this->returnCallback($logArgCheck)) ; - $handler->setDefaultLogger($logger, E_ERROR); + $handler->setDefaultLogger($logger, E_PARSE); $handler->handleFatalError($error); diff --git a/core/vendor/symfony/debug/Symfony/Component/Debug/Tests/Exception/FlattenExceptionTest.php b/core/vendor/symfony/debug/Symfony/Component/Debug/Tests/Exception/FlattenExceptionTest.php index 923c47ffa0738d2dd877dd9fff949e2960873af2..99eaf497d5b4d58fca5e5d00ee5c4eb56fe1f409 100644 --- a/core/vendor/symfony/debug/Symfony/Component/Debug/Tests/Exception/FlattenExceptionTest.php +++ b/core/vendor/symfony/debug/Symfony/Component/Debug/Tests/Exception/FlattenExceptionTest.php @@ -189,9 +189,9 @@ public function testRecursionInArguments() public function testTooBigArray() { $a = array(); - for ($i = 0; $i < 20; $i++) { - for ($j = 0; $j < 50; $j++) { - for ($k = 0; $k < 10; $k++) { + for ($i = 0; $i < 20; ++$i) { + for ($j = 0; $j < 50; ++$j) { + for ($k = 0; $k < 10; ++$k) { $a[$i][$j][$k] = 'value'; } } diff --git a/core/vendor/symfony/debug/Symfony/Component/Debug/Tests/FatalErrorHandler/ClassNotFoundFatalErrorHandlerTest.php b/core/vendor/symfony/debug/Symfony/Component/Debug/Tests/FatalErrorHandler/ClassNotFoundFatalErrorHandlerTest.php index 06b22a83c8de3268e07e8a4ff065eb6d47aadf47..6ac3374d8e2c789a103071f0f90975508e620cda 100644 --- a/core/vendor/symfony/debug/Symfony/Component/Debug/Tests/FatalErrorHandler/ClassNotFoundFatalErrorHandlerTest.php +++ b/core/vendor/symfony/debug/Symfony/Component/Debug/Tests/FatalErrorHandler/ClassNotFoundFatalErrorHandlerTest.php @@ -15,18 +15,52 @@ use Symfony\Component\ClassLoader\UniversalClassLoader as SymfonyUniversalClassLoader; use Symfony\Component\Debug\Exception\FatalErrorException; use Symfony\Component\Debug\FatalErrorHandler\ClassNotFoundFatalErrorHandler; +use Symfony\Component\Debug\DebugClassLoader; +use Composer\Autoload\ClassLoader as ComposerClassLoader; class ClassNotFoundFatalErrorHandlerTest extends \PHPUnit_Framework_TestCase { + public static function setUpBeforeClass() + { + foreach (spl_autoload_functions() as $function) { + if (!is_array($function)) { + continue; + } + + // get class loaders wrapped by DebugClassLoader + if ($function[0] instanceof DebugClassLoader) { + $function = $function[0]->getClassLoader(); + } + + if ($function[0] instanceof ComposerClassLoader) { + $function[0]->add('Symfony_Component_Debug_Tests_Fixtures', dirname(dirname(dirname(dirname(dirname(__DIR__)))))); + break; + } + } + } + /** * @dataProvider provideClassNotFoundData */ - public function testHandleClassNotFound($error, $translatedMessage) + public function testHandleClassNotFound($error, $translatedMessage, $autoloader = null) { + if ($autoloader) { + // Unregister all autoloaders to ensure the custom provided + // autoloader is the only one to be used during the test run. + $autoloaders = spl_autoload_functions(); + array_map('spl_autoload_unregister', $autoloaders); + spl_autoload_register($autoloader); + } + $handler = new ClassNotFoundFatalErrorHandler(); $exception = $handler->handleError($error, new FatalErrorException('', 0, $error['type'], $error['file'], $error['line'])); + if ($autoloader) { + spl_autoload_unregister($autoloader); + array_map('spl_autoload_register', $autoloaders); + } + $this->assertInstanceof('Symfony\Component\Debug\Exception\ClassNotFoundException', $exception); $this->assertSame($translatedMessage, $exception->getMessage()); $this->assertSame($error['type'], $exception->getSeverity()); @@ -35,35 +69,37 @@ public function testHandleClassNotFound($error, $translatedMessage) } /** - * @dataProvider provideLegacyClassNotFoundData * @group legacy */ - public function testLegacyHandleClassNotFound($error, $translatedMessage, $autoloader) + public function testLegacyHandleClassNotFound() { $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED); - // Unregister all autoloaders to ensure the custom provided - // autoloader is the only one to be used during the test run. - $autoloaders = spl_autoload_functions(); - array_map('spl_autoload_unregister', $autoloaders); - spl_autoload_register($autoloader); - - $handler = new ClassNotFoundFatalErrorHandler(); - - $exception = $handler->handleError($error, new FatalErrorException('', 0, $error['type'], $error['file'], $error['line'])); - - spl_autoload_unregister($autoloader); - array_map('spl_autoload_register', $autoloaders); + $prefixes = array('Symfony\Component\Debug\Exception\\' => realpath(__DIR__.'/../../Exception')); + $symfonyUniversalClassLoader = new SymfonyUniversalClassLoader(); + $symfonyUniversalClassLoader->registerPrefixes($prefixes); - $this->assertInstanceof('Symfony\Component\Debug\Exception\ClassNotFoundException', $exception); - $this->assertSame($translatedMessage, $exception->getMessage()); - $this->assertSame($error['type'], $exception->getSeverity()); - $this->assertSame($error['file'], $exception->getFile()); - $this->assertSame($error['line'], $exception->getLine()); + $this->testHandleClassNotFound( + array( + 'type' => 1, + 'line' => 12, + 'file' => 'foo.php', + 'message' => 'Class \'Foo\\Bar\\UndefinedFunctionException\' not found', + ), + "Attempted to load class \"UndefinedFunctionException\" from namespace \"Foo\Bar\".\nDid you forget a \"use\" statement for \"Symfony\Component\Debug\Exception\UndefinedFunctionException\"?", + array($symfonyUniversalClassLoader, 'loadClass') + ); } public function provideClassNotFoundData() { + $prefixes = array('Symfony\Component\Debug\Exception\\' => realpath(__DIR__.'/../../Exception')); + + $symfonyAutoloader = new SymfonyClassLoader(); + $symfonyAutoloader->addPrefixes($prefixes); + + $debugClassLoader = new DebugClassLoader(array($symfonyAutoloader, 'loadClass')); + return array( array( array( @@ -110,20 +146,6 @@ public function provideClassNotFoundData() ), "Attempted to load class \"UndefinedFunctionException\" from namespace \"Foo\Bar\".\nDid you forget a \"use\" statement for \"Symfony\Component\Debug\Exception\UndefinedFunctionException\"?", ), - ); - } - - public function provideLegacyClassNotFoundData() - { - $prefixes = array('Symfony\Component\Debug\Exception\\' => realpath(__DIR__.'/../../Exception')); - - $symfonyAutoloader = new SymfonyClassLoader(); - $symfonyAutoloader->addPrefixes($prefixes); - - $symfonyUniversalClassLoader = new SymfonyUniversalClassLoader(); - $symfonyUniversalClassLoader->registerPrefixes($prefixes); - - return array( array( array( 'type' => 1, @@ -142,7 +164,7 @@ public function provideLegacyClassNotFoundData() 'message' => 'Class \'Foo\\Bar\\UndefinedFunctionException\' not found', ), "Attempted to load class \"UndefinedFunctionException\" from namespace \"Foo\Bar\".\nDid you forget a \"use\" statement for \"Symfony\Component\Debug\Exception\UndefinedFunctionException\"?", - array($symfonyUniversalClassLoader, 'loadClass'), + array($debugClassLoader, 'loadClass'), ), array( array( @@ -159,11 +181,11 @@ function ($className) { /* do nothing here */ }, public function testCannotRedeclareClass() { - if (!file_exists(__DIR__.'/../FIXTURES/REQUIREDTWICE.PHP')) { + if (!file_exists(__DIR__.'/../FIXTURES2/REQUIREDTWICE.PHP')) { $this->markTestSkipped('Can only be run on case insensitive filesystems'); } - require_once __DIR__.'/../FIXTURES/REQUIREDTWICE.PHP'; + require_once __DIR__.'/../FIXTURES2/REQUIREDTWICE.PHP'; $error = array( 'type' => 1, diff --git a/core/vendor/symfony/debug/Symfony/Component/Debug/Tests/Fixtures/RequiredTwice.php b/core/vendor/symfony/debug/Symfony/Component/Debug/Tests/Fixtures/RequiredTwice.php deleted file mode 100644 index 3c42d67b8a94d8d41086ff1df37033f98cc50e6a..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/debug/Symfony/Component/Debug/Tests/Fixtures/RequiredTwice.php +++ /dev/null @@ -1,7 +0,0 @@ -<?php - -namespace Symfony\Component\Debug\Tests\Fixtures; - -class RequiredTwice -{ -} diff --git a/core/vendor/symfony/debug/Symfony/Component/Debug/Tests/Fixtures2/RequiredTwice.php b/core/vendor/symfony/debug/Symfony/Component/Debug/Tests/Fixtures2/RequiredTwice.php new file mode 100644 index 0000000000000000000000000000000000000000..604bc37ff1f04b83951836c9b1c293efd6dc4952 --- /dev/null +++ b/core/vendor/symfony/debug/Symfony/Component/Debug/Tests/Fixtures2/RequiredTwice.php @@ -0,0 +1,7 @@ +<?php + +namespace Symfony\Component\Debug\Tests\Fixtures2; + +class RequiredTwice +{ +} diff --git a/core/vendor/symfony/debug/Symfony/Component/Debug/composer.json b/core/vendor/symfony/debug/Symfony/Component/Debug/composer.json index a7a3871df7ba097a13e1ca85b7d5ea4c1a3edc2f..2d101813a53ef7751d7b6ea286688f5f1db15582 100644 --- a/core/vendor/symfony/debug/Symfony/Component/Debug/composer.json +++ b/core/vendor/symfony/debug/Symfony/Component/Debug/composer.json @@ -3,7 +3,7 @@ "type": "library", "description": "Symfony Debug Component", "keywords": [], - "homepage": "http://symfony.com", + "homepage": "https://symfony.com", "license": "MIT", "authors": [ { @@ -12,7 +12,7 @@ }, { "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" + "homepage": "https://symfony.com/contributors" } ], "require": { diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Alias.php b/core/vendor/symfony/dependency-injection/Alias.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Alias.php rename to core/vendor/symfony/dependency-injection/Alias.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/CHANGELOG.md b/core/vendor/symfony/dependency-injection/CHANGELOG.md similarity index 95% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/CHANGELOG.md rename to core/vendor/symfony/dependency-injection/CHANGELOG.md index b78e440974b2cf0dbaf42d6a5ace1b16674f33f5..427294319e57a80968386bc3b3a0426cd41bc755 100644 --- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/CHANGELOG.md +++ b/core/vendor/symfony/dependency-injection/CHANGELOG.md @@ -1,6 +1,11 @@ CHANGELOG ========= +2.7.0 +----- + + * deprecated synchronized services + 2.6.0 ----- diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/AnalyzeServiceReferencesPass.php b/core/vendor/symfony/dependency-injection/Compiler/AnalyzeServiceReferencesPass.php similarity index 96% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/AnalyzeServiceReferencesPass.php rename to core/vendor/symfony/dependency-injection/Compiler/AnalyzeServiceReferencesPass.php index c5ecb2d5040b5cedf08c922580696fc2ec4e6e46..5120eb6215c1ae11abe007b742265f2ad59ae48d 100644 --- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/AnalyzeServiceReferencesPass.php +++ b/core/vendor/symfony/dependency-injection/Compiler/AnalyzeServiceReferencesPass.php @@ -71,8 +71,8 @@ public function process(ContainerBuilder $container) $this->currentDefinition = $definition; $this->processArguments($definition->getArguments()); - if ($definition->getFactoryService()) { - $this->processArguments(array(new Reference($definition->getFactoryService()))); + if ($definition->getFactoryService(false)) { + $this->processArguments(array(new Reference($definition->getFactoryService(false)))); } if (is_array($definition->getFactory())) { $this->processArguments($definition->getFactory()); @@ -118,8 +118,8 @@ private function processArguments(array $arguments) if (is_array($argument->getFactory())) { $this->processArguments($argument->getFactory()); } - if ($argument->getFactoryService()) { - $this->processArguments(array(new Reference($argument->getFactoryService()))); + if ($argument->getFactoryService(false)) { + $this->processArguments(array(new Reference($argument->getFactoryService(false)))); } } } diff --git a/core/vendor/symfony/dependency-injection/Compiler/AutoAliasServicePass.php b/core/vendor/symfony/dependency-injection/Compiler/AutoAliasServicePass.php new file mode 100644 index 0000000000000000000000000000000000000000..c1f05e03ec02c9dd602a89c22b4d7157d2973843 --- /dev/null +++ b/core/vendor/symfony/dependency-injection/Compiler/AutoAliasServicePass.php @@ -0,0 +1,41 @@ +<?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\DependencyInjection\Compiler; + +use Symfony\Component\DependencyInjection\Alias; +use Symfony\Component\DependencyInjection\ContainerBuilder; +use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException; + +/** + * Sets a service to be an alias of another one, given a format pattern. + */ +class AutoAliasServicePass implements CompilerPassInterface +{ + /** + * {@inheritdoc} + */ + public function process(ContainerBuilder $container) + { + foreach ($container->findTaggedServiceIds('auto_alias') as $serviceId => $tags) { + foreach ($tags as $tag) { + if (!isset($tag['format'])) { + throw new InvalidArgumentException(sprintf('Missing tag information "format" on auto_alias service "%s".', $serviceId)); + } + + $aliasId = $container->getParameterBag()->resolveValue($tag['format']); + if ($container->hasDefinition($aliasId) || $container->hasAlias($aliasId)) { + $container->setAlias($serviceId, new Alias($aliasId)); + } + } + } + } +} diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/CheckCircularReferencesPass.php b/core/vendor/symfony/dependency-injection/Compiler/CheckCircularReferencesPass.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/CheckCircularReferencesPass.php rename to core/vendor/symfony/dependency-injection/Compiler/CheckCircularReferencesPass.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/CheckDefinitionValidityPass.php b/core/vendor/symfony/dependency-injection/Compiler/CheckDefinitionValidityPass.php similarity index 95% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/CheckDefinitionValidityPass.php rename to core/vendor/symfony/dependency-injection/Compiler/CheckDefinitionValidityPass.php index ce89f24e183e3b5d6fab47e8fdcb0f9e193619ba..219e66313d13b6c98d93efe7d20dbba146633030 100644 --- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/CheckDefinitionValidityPass.php +++ b/core/vendor/symfony/dependency-injection/Compiler/CheckDefinitionValidityPass.php @@ -50,13 +50,13 @@ public function process(ContainerBuilder $container) throw new RuntimeException(sprintf('A synthetic service ("%s") cannot be of scope "prototype".', $id)); } - if ($definition->getFactory() && ($definition->getFactoryClass() || $definition->getFactoryService() || $definition->getFactoryMethod())) { + if ($definition->getFactory() && ($definition->getFactoryClass(false) || $definition->getFactoryService(false) || $definition->getFactoryMethod(false))) { throw new RuntimeException(sprintf('A service ("%s") can use either the old or the new factory syntax, not both.', $id)); } // non-synthetic, non-abstract service has class if (!$definition->isAbstract() && !$definition->isSynthetic() && !$definition->getClass()) { - if ($definition->getFactory() || $definition->getFactoryClass() || $definition->getFactoryService()) { + if ($definition->getFactory() || $definition->getFactoryClass(false) || $definition->getFactoryService(false)) { throw new RuntimeException(sprintf('Please add the class to service "%s" even if it is constructed by a factory since we might need to add method calls based on compile-time checks.', $id)); } diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/CheckExceptionOnInvalidReferenceBehaviorPass.php b/core/vendor/symfony/dependency-injection/Compiler/CheckExceptionOnInvalidReferenceBehaviorPass.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/CheckExceptionOnInvalidReferenceBehaviorPass.php rename to core/vendor/symfony/dependency-injection/Compiler/CheckExceptionOnInvalidReferenceBehaviorPass.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/CheckReferenceValidityPass.php b/core/vendor/symfony/dependency-injection/Compiler/CheckReferenceValidityPass.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/CheckReferenceValidityPass.php rename to core/vendor/symfony/dependency-injection/Compiler/CheckReferenceValidityPass.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/Compiler.php b/core/vendor/symfony/dependency-injection/Compiler/Compiler.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/Compiler.php rename to core/vendor/symfony/dependency-injection/Compiler/Compiler.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/CompilerPassInterface.php b/core/vendor/symfony/dependency-injection/Compiler/CompilerPassInterface.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/CompilerPassInterface.php rename to core/vendor/symfony/dependency-injection/Compiler/CompilerPassInterface.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/DecoratorServicePass.php b/core/vendor/symfony/dependency-injection/Compiler/DecoratorServicePass.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/DecoratorServicePass.php rename to core/vendor/symfony/dependency-injection/Compiler/DecoratorServicePass.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/InlineServiceDefinitionsPass.php b/core/vendor/symfony/dependency-injection/Compiler/InlineServiceDefinitionsPass.php similarity index 92% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/InlineServiceDefinitionsPass.php rename to core/vendor/symfony/dependency-injection/Compiler/InlineServiceDefinitionsPass.php index d9a656f78777a657f80cddeaf811fd16abdedf94..026700d2263d64fd3a8bb351e9817aeba136f037 100644 --- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/InlineServiceDefinitionsPass.php +++ b/core/vendor/symfony/dependency-injection/Compiler/InlineServiceDefinitionsPass.php @@ -62,6 +62,12 @@ public function process(ContainerBuilder $container) $definition->setProperties( $this->inlineArguments($container, $definition->getProperties()) ); + + $configurator = $this->inlineArguments($container, array($definition->getConfigurator())); + $definition->setConfigurator($configurator[0]); + + $factory = $this->inlineArguments($container, array($definition->getFactory())); + $definition->setFactory($factory[0]); } } @@ -142,7 +148,7 @@ private function isInlineableDefinition(ContainerBuilder $container, $id, Defini return false; } - if (count($ids) > 1 && $definition->getFactoryService()) { + if (count($ids) > 1 && $definition->getFactoryService(false)) { return false; } diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/LoggingFormatter.php b/core/vendor/symfony/dependency-injection/Compiler/LoggingFormatter.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/LoggingFormatter.php rename to core/vendor/symfony/dependency-injection/Compiler/LoggingFormatter.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/MergeExtensionConfigurationPass.php b/core/vendor/symfony/dependency-injection/Compiler/MergeExtensionConfigurationPass.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/MergeExtensionConfigurationPass.php rename to core/vendor/symfony/dependency-injection/Compiler/MergeExtensionConfigurationPass.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/PassConfig.php b/core/vendor/symfony/dependency-injection/Compiler/PassConfig.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/PassConfig.php rename to core/vendor/symfony/dependency-injection/Compiler/PassConfig.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/RemoveAbstractDefinitionsPass.php b/core/vendor/symfony/dependency-injection/Compiler/RemoveAbstractDefinitionsPass.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/RemoveAbstractDefinitionsPass.php rename to core/vendor/symfony/dependency-injection/Compiler/RemoveAbstractDefinitionsPass.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/RemovePrivateAliasesPass.php b/core/vendor/symfony/dependency-injection/Compiler/RemovePrivateAliasesPass.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/RemovePrivateAliasesPass.php rename to core/vendor/symfony/dependency-injection/Compiler/RemovePrivateAliasesPass.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/RemoveUnusedDefinitionsPass.php b/core/vendor/symfony/dependency-injection/Compiler/RemoveUnusedDefinitionsPass.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/RemoveUnusedDefinitionsPass.php rename to core/vendor/symfony/dependency-injection/Compiler/RemoveUnusedDefinitionsPass.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/RepeatablePassInterface.php b/core/vendor/symfony/dependency-injection/Compiler/RepeatablePassInterface.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/RepeatablePassInterface.php rename to core/vendor/symfony/dependency-injection/Compiler/RepeatablePassInterface.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/RepeatedPass.php b/core/vendor/symfony/dependency-injection/Compiler/RepeatedPass.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/RepeatedPass.php rename to core/vendor/symfony/dependency-injection/Compiler/RepeatedPass.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/ReplaceAliasByActualDefinitionPass.php b/core/vendor/symfony/dependency-injection/Compiler/ReplaceAliasByActualDefinitionPass.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/ReplaceAliasByActualDefinitionPass.php rename to core/vendor/symfony/dependency-injection/Compiler/ReplaceAliasByActualDefinitionPass.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/ResolveDefinitionTemplatesPass.php b/core/vendor/symfony/dependency-injection/Compiler/ResolveDefinitionTemplatesPass.php similarity index 90% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/ResolveDefinitionTemplatesPass.php rename to core/vendor/symfony/dependency-injection/Compiler/ResolveDefinitionTemplatesPass.php index c1db3e04d6bbc4c11a556372e2ac042fd5c7d8c6..0efc6b500b5d44f1a384ad543f8b641d4d517358 100644 --- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/ResolveDefinitionTemplatesPass.php +++ b/core/vendor/symfony/dependency-injection/Compiler/ResolveDefinitionTemplatesPass.php @@ -39,7 +39,7 @@ public function process(ContainerBuilder $container) $this->compiler = $container->getCompiler(); $this->formatter = $this->compiler->getLoggingFormatter(); - foreach (array_keys($container->getDefinitions()) as $id) { + foreach ($container->getDefinitions() as $id => $definition) { // yes, we are specifically fetching the definition from the // container to ensure we are not operating on stale data $definition = $container->getDefinition($id); @@ -81,9 +81,15 @@ private function resolveDefinition($id, DefinitionDecorator $definition) $def->setArguments($parentDef->getArguments()); $def->setMethodCalls($parentDef->getMethodCalls()); $def->setProperties($parentDef->getProperties()); - $def->setFactoryClass($parentDef->getFactoryClass()); - $def->setFactoryMethod($parentDef->getFactoryMethod()); - $def->setFactoryService($parentDef->getFactoryService()); + if ($parentDef->getFactoryClass(false)) { + $def->setFactoryClass($parentDef->getFactoryClass(false)); + } + if ($parentDef->getFactoryMethod(false)) { + $def->setFactoryMethod($parentDef->getFactoryMethod(false)); + } + if ($parentDef->getFactoryService(false)) { + $def->setFactoryService($parentDef->getFactoryService(false)); + } $def->setFactory($parentDef->getFactory()); $def->setConfigurator($parentDef->getConfigurator()); $def->setFile($parentDef->getFile()); @@ -96,13 +102,13 @@ private function resolveDefinition($id, DefinitionDecorator $definition) $def->setClass($definition->getClass()); } if (isset($changes['factory_class'])) { - $def->setFactoryClass($definition->getFactoryClass()); + $def->setFactoryClass($definition->getFactoryClass(false)); } if (isset($changes['factory_method'])) { - $def->setFactoryMethod($definition->getFactoryMethod()); + $def->setFactoryMethod($definition->getFactoryMethod(false)); } if (isset($changes['factory_service'])) { - $def->setFactoryService($definition->getFactoryService()); + $def->setFactoryService($definition->getFactoryService(false)); } if (isset($changes['factory'])) { $def->setFactory($definition->getFactory()); diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/ResolveInvalidReferencesPass.php b/core/vendor/symfony/dependency-injection/Compiler/ResolveInvalidReferencesPass.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/ResolveInvalidReferencesPass.php rename to core/vendor/symfony/dependency-injection/Compiler/ResolveInvalidReferencesPass.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/ResolveParameterPlaceHoldersPass.php b/core/vendor/symfony/dependency-injection/Compiler/ResolveParameterPlaceHoldersPass.php similarity index 92% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/ResolveParameterPlaceHoldersPass.php rename to core/vendor/symfony/dependency-injection/Compiler/ResolveParameterPlaceHoldersPass.php index 35d46cf83d224b69d409180dc834de6792e66d4c..0a789676c96f485ccf573865b5a5a65209a84809 100644 --- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/ResolveParameterPlaceHoldersPass.php +++ b/core/vendor/symfony/dependency-injection/Compiler/ResolveParameterPlaceHoldersPass.php @@ -37,7 +37,9 @@ public function process(ContainerBuilder $container) $definition->setClass($parameterBag->resolveValue($definition->getClass())); $definition->setFile($parameterBag->resolveValue($definition->getFile())); $definition->setArguments($parameterBag->resolveValue($definition->getArguments())); - $definition->setFactoryClass($parameterBag->resolveValue($definition->getFactoryClass())); + if ($definition->getFactoryClass(false)) { + $definition->setFactoryClass($parameterBag->resolveValue($definition->getFactoryClass())); + } $factory = $definition->getFactory(); diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/ResolveReferencesToAliasesPass.php b/core/vendor/symfony/dependency-injection/Compiler/ResolveReferencesToAliasesPass.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/ResolveReferencesToAliasesPass.php rename to core/vendor/symfony/dependency-injection/Compiler/ResolveReferencesToAliasesPass.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/ServiceReferenceGraph.php b/core/vendor/symfony/dependency-injection/Compiler/ServiceReferenceGraph.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/ServiceReferenceGraph.php rename to core/vendor/symfony/dependency-injection/Compiler/ServiceReferenceGraph.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/ServiceReferenceGraphEdge.php b/core/vendor/symfony/dependency-injection/Compiler/ServiceReferenceGraphEdge.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/ServiceReferenceGraphEdge.php rename to core/vendor/symfony/dependency-injection/Compiler/ServiceReferenceGraphEdge.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/ServiceReferenceGraphNode.php b/core/vendor/symfony/dependency-injection/Compiler/ServiceReferenceGraphNode.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/ServiceReferenceGraphNode.php rename to core/vendor/symfony/dependency-injection/Compiler/ServiceReferenceGraphNode.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Container.php b/core/vendor/symfony/dependency-injection/Container.php similarity index 87% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Container.php rename to core/vendor/symfony/dependency-injection/Container.php index a969db3036c6f16d600546beba99cca18ad223d1..f0db5de6bc4e64fd8676f4c6e030b066890c196d 100644 --- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Container.php +++ b/core/vendor/symfony/dependency-injection/Container.php @@ -76,6 +76,8 @@ class Container implements IntrospectableContainerInterface protected $scopeStacks = array(); protected $loading = array(); + private $underscoreMap = array('_' => '', '.' => '_', '\\' => '_'); + /** * Constructor. * @@ -86,8 +88,6 @@ class Container implements IntrospectableContainerInterface public function __construct(ParameterBagInterface $parameterBag = null) { $this->parameterBag = $parameterBag ?: new ParameterBag(); - - $this->set('service_container', $this); } /** @@ -213,7 +213,7 @@ public function set($id, $service, $scope = self::SCOPE_CONTAINER) $this->services[$id] = $service; - if (method_exists($this, $method = 'synchronize'.strtr($id, array('_' => '', '.' => '_', '\\' => '_')).'Service')) { + if (method_exists($this, $method = 'synchronize'.strtr($id, $this->underscoreMap).'Service')) { $this->$method(); } @@ -237,17 +237,20 @@ public function set($id, $service, $scope = self::SCOPE_CONTAINER) */ public function has($id) { - $id = strtolower($id); - - if ('service_container' === $id) { - return true; + for ($i = 2;;) { + if ('service_container' === $id + || isset($this->aliases[$id]) + || isset($this->services[$id]) + || array_key_exists($id, $this->services) + ) { + return true; + } + if (--$i && $id !== $lcId = strtolower($id)) { + $id = $lcId; + } else { + return method_exists($this, 'get'.strtr($id, $this->underscoreMap).'Service'); + } } - - return isset($this->services[$id]) - || array_key_exists($id, $this->services) - || isset($this->aliases[$id]) - || method_exists($this, 'get'.strtr($id, array('_' => '', '.' => '_', '\\' => '_')).'Service') - ; } /** @@ -261,7 +264,6 @@ public function has($id) * * @return object The associated service * - * @throws InvalidArgumentException if the service is not defined * @throws ServiceCircularReferenceException When a circular reference is detected * @throws ServiceNotFoundException When the service is not defined * @throws \Exception if an exception has been thrown when the service has been resolved @@ -276,10 +278,7 @@ public function get($id, $invalidBehavior = self::EXCEPTION_ON_INVALID_REFERENCE // available services. Service IDs are case insensitive, however since // this method can be called thousands of times during a request, avoid // calling strtolower() unless necessary. - foreach (array(false, true) as $strtolower) { - if ($strtolower) { - $id = strtolower($id); - } + for ($i = 2;;) { if ('service_container' === $id) { return $this; } @@ -290,57 +289,60 @@ public function get($id, $invalidBehavior = self::EXCEPTION_ON_INVALID_REFERENCE if (isset($this->services[$id]) || array_key_exists($id, $this->services)) { return $this->services[$id]; } - } - if (isset($this->loading[$id])) { - throw new ServiceCircularReferenceException($id, array_keys($this->loading)); - } + if (isset($this->loading[$id])) { + throw new ServiceCircularReferenceException($id, array_keys($this->loading)); + } - if (isset($this->methodMap[$id])) { - $method = $this->methodMap[$id]; - } elseif (method_exists($this, $method = 'get'.strtr($id, array('_' => '', '.' => '_', '\\' => '_')).'Service')) { - // $method is set to the right value, proceed - } else { - if (self::EXCEPTION_ON_INVALID_REFERENCE === $invalidBehavior) { - if (!$id) { - throw new ServiceNotFoundException($id); - } + if (isset($this->methodMap[$id])) { + $method = $this->methodMap[$id]; + } elseif (--$i && $id !== $lcId = strtolower($id)) { + $id = $lcId; + continue; + } elseif (method_exists($this, $method = 'get'.strtr($id, $this->underscoreMap).'Service')) { + // $method is set to the right value, proceed + } else { + if (self::EXCEPTION_ON_INVALID_REFERENCE === $invalidBehavior) { + if (!$id) { + throw new ServiceNotFoundException($id); + } - $alternatives = array(); - foreach (array_keys($this->services) as $key) { - $lev = levenshtein($id, $key); - if ($lev <= strlen($id) / 3 || false !== strpos($key, $id)) { - $alternatives[] = $key; + $alternatives = array(); + foreach ($this->services as $key => $associatedService) { + $lev = levenshtein($id, $key); + if ($lev <= strlen($id) / 3 || false !== strpos($key, $id)) { + $alternatives[] = $key; + } } + + throw new ServiceNotFoundException($id, null, null, $alternatives); } - throw new ServiceNotFoundException($id, null, null, $alternatives); + return; } - return; - } + $this->loading[$id] = true; - $this->loading[$id] = true; + try { + $service = $this->$method(); + } catch (\Exception $e) { + unset($this->loading[$id]); - try { - $service = $this->$method(); - } catch (\Exception $e) { - unset($this->loading[$id]); + if (array_key_exists($id, $this->services)) { + unset($this->services[$id]); + } - if (array_key_exists($id, $this->services)) { - unset($this->services[$id]); - } + if ($e instanceof InactiveScopeException && self::EXCEPTION_ON_INVALID_REFERENCE !== $invalidBehavior) { + return; + } - if ($e instanceof InactiveScopeException && self::EXCEPTION_ON_INVALID_REFERENCE !== $invalidBehavior) { - return; + throw $e; } - throw $e; - } - - unset($this->loading[$id]); + unset($this->loading[$id]); - return $service; + return $service; + } } /** diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ContainerAware.php b/core/vendor/symfony/dependency-injection/ContainerAware.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ContainerAware.php rename to core/vendor/symfony/dependency-injection/ContainerAware.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ContainerAwareInterface.php b/core/vendor/symfony/dependency-injection/ContainerAwareInterface.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ContainerAwareInterface.php rename to core/vendor/symfony/dependency-injection/ContainerAwareInterface.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ContainerAwareTrait.php b/core/vendor/symfony/dependency-injection/ContainerAwareTrait.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ContainerAwareTrait.php rename to core/vendor/symfony/dependency-injection/ContainerAwareTrait.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ContainerBuilder.php b/core/vendor/symfony/dependency-injection/ContainerBuilder.php similarity index 96% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ContainerBuilder.php rename to core/vendor/symfony/dependency-injection/ContainerBuilder.php index 5857195a2a57a4d616429e5841bfd03bf9b3e3be..b7104a06e74682913b6a94663b431d77ea4f290f 100644 --- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ContainerBuilder.php +++ b/core/vendor/symfony/dependency-injection/ContainerBuilder.php @@ -412,7 +412,7 @@ public function set($id, $service, $scope = self::SCOPE_CONTAINER) parent::set($id, $service, $scope); - if (isset($this->obsoleteDefinitions[$id]) && $this->obsoleteDefinitions[$id]->isSynchronized()) { + if (isset($this->obsoleteDefinitions[$id]) && $this->obsoleteDefinitions[$id]->isSynchronized(false)) { $this->synchronize($id); } } @@ -470,7 +470,7 @@ public function get($id, $invalidBehavior = ContainerInterface::EXCEPTION_ON_INV return $service; } - if (!$this->hasDefinition($id) && isset($this->aliasDefinitions[$id])) { + if (!array_key_exists($id, $this->definitions) && isset($this->aliasDefinitions[$id])) { return $this->get($this->aliasDefinitions[$id]); } @@ -684,7 +684,7 @@ public function setAlias($alias, $id) throw new InvalidArgumentException('$id must be a string, or an Alias object.'); } - if ($alias === strtolower($id)) { + if ($alias === (string) $id) { throw new InvalidArgumentException(sprintf('An alias can not reference itself, got a circular reference on "%s".', $alias)); } @@ -746,7 +746,7 @@ public function getAlias($id) { $id = strtolower($id); - if (!$this->hasAlias($id)) { + if (!isset($this->aliasDefinitions[$id])) { throw new InvalidArgumentException(sprintf('The service alias "%s" does not exist.', $id)); } @@ -768,7 +768,7 @@ public function getAlias($id) */ public function register($id, $class = null) { - return $this->setDefinition(strtolower($id), new Definition($class)); + return $this->setDefinition($id, new Definition($class)); } /** @@ -864,7 +864,7 @@ public function getDefinition($id) { $id = strtolower($id); - if (!$this->hasDefinition($id)) { + if (!array_key_exists($id, $this->definitions)) { throw new InvalidArgumentException(sprintf('The service definition "%s" does not exist.', $id)); } @@ -886,8 +886,10 @@ public function getDefinition($id) */ public function findDefinition($id) { - while ($this->hasAlias($id)) { - $id = (string) $this->getAlias($id); + $id = strtolower($id); + + while (isset($this->aliasDefinitions[$id])) { + $id = (string) $this->aliasDefinitions[$id]; } return $this->getDefinition($id); @@ -948,16 +950,16 @@ public function createService(Definition $definition, $id, $tryProxy = true) } $service = call_user_func_array($factory, $arguments); - } elseif (null !== $definition->getFactoryMethod()) { - if (null !== $definition->getFactoryClass()) { - $factory = $parameterBag->resolveValue($definition->getFactoryClass()); - } elseif (null !== $definition->getFactoryService()) { - $factory = $this->get($parameterBag->resolveValue($definition->getFactoryService())); + } elseif (null !== $definition->getFactoryMethod(false)) { + if (null !== $definition->getFactoryClass(false)) { + $factory = $parameterBag->resolveValue($definition->getFactoryClass(false)); + } elseif (null !== $definition->getFactoryService(false)) { + $factory = $this->get($parameterBag->resolveValue($definition->getFactoryService(false))); } else { throw new RuntimeException(sprintf('Cannot create service "%s" from factory method without a factory service or factory class.', $id)); } - $service = call_user_func_array(array($factory, $definition->getFactoryMethod()), $arguments); + $service = call_user_func_array(array($factory, $definition->getFactoryMethod(false)), $arguments); } else { $r = new \ReflectionClass($parameterBag->resolveValue($definition->getClass())); @@ -1119,9 +1121,15 @@ private function getProxyInstantiator() * service by calling all methods referencing it. * * @param string $id A service id + * + * @deprecated since version 2.7, will be removed in 3.0. */ private function synchronize($id) { + if ('request' !== $id) { + trigger_error('The '.__METHOD__.' method is deprecated in version 2.7 and will be removed in version 3.0.', E_USER_DEPRECATED); + } + foreach ($this->definitions as $definitionId => $definition) { // only check initialized services if (!$this->initialized($definitionId)) { diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ContainerInterface.php b/core/vendor/symfony/dependency-injection/ContainerInterface.php similarity index 97% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ContainerInterface.php rename to core/vendor/symfony/dependency-injection/ContainerInterface.php index 0f32089dcc93f9fc561ab4dfebc75c8d0a119b6d..19e800b3144da1572d3042e197b508e11ddb44a9 100644 --- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ContainerInterface.php +++ b/core/vendor/symfony/dependency-injection/ContainerInterface.php @@ -50,7 +50,6 @@ public function set($id, $service, $scope = self::SCOPE_CONTAINER); * * @return object The associated service * - * @throws InvalidArgumentException if the service is not defined * @throws ServiceCircularReferenceException When a circular reference is detected * @throws ServiceNotFoundException When the service is not defined * diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Definition.php b/core/vendor/symfony/dependency-injection/Definition.php similarity index 87% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Definition.php rename to core/vendor/symfony/dependency-injection/Definition.php index bdc75e04173cbcca3f298a7cda3bfa335973de01..9d02be4f6907f9e5cb31c4252bb009439c707955 100644 --- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Definition.php +++ b/core/vendor/symfony/dependency-injection/Definition.php @@ -94,10 +94,12 @@ public function getFactory() * @return Definition The current instance * * @api - * @deprecated Deprecated since version 2.6, to be removed in 3.0. + * @deprecated since version 2.6, to be removed in 3.0. */ public function setFactoryClass($factoryClass) { + trigger_error(sprintf('%s(%s) is deprecated since version 2.6 and will be removed in 3.0. Use Definition::setFactory() instead.', __METHOD__, $factoryClass), E_USER_DEPRECATED); + $this->factoryClass = $factoryClass; return $this; @@ -109,10 +111,14 @@ public function setFactoryClass($factoryClass) * @return string|null The factory class name * * @api - * @deprecated Deprecated since version 2.6, to be removed in 3.0. + * @deprecated since version 2.6, to be removed in 3.0. */ - public function getFactoryClass() + public function getFactoryClass($triggerDeprecationError = true) { + if ($triggerDeprecationError) { + trigger_error('The '.__METHOD__.' method is deprecated since version 2.6 and will be removed in 3.0.', E_USER_DEPRECATED); + } + return $this->factoryClass; } @@ -124,10 +130,12 @@ public function getFactoryClass() * @return Definition The current instance * * @api - * @deprecated Deprecated since version 2.6, to be removed in 3.0. + * @deprecated since version 2.6, to be removed in 3.0. */ public function setFactoryMethod($factoryMethod) { + trigger_error(sprintf('%s(%s) is deprecated since version 2.6 and will be removed in 3.0. Use Definition::setFactory() instead.', __METHOD__, $factoryMethod), E_USER_DEPRECATED); + $this->factoryMethod = $factoryMethod; return $this; @@ -174,10 +182,14 @@ public function getDecoratedService() * @return string|null The factory method name * * @api - * @deprecated Deprecated since version 2.6, to be removed in 3.0. + * @deprecated since version 2.6, to be removed in 3.0. */ - public function getFactoryMethod() + public function getFactoryMethod($triggerDeprecationError = true) { + if ($triggerDeprecationError) { + trigger_error('The '.__METHOD__.' method is deprecated since version 2.6 and will be removed in 3.0.', E_USER_DEPRECATED); + } + return $this->factoryMethod; } @@ -189,10 +201,12 @@ public function getFactoryMethod() * @return Definition The current instance * * @api - * @deprecated Deprecated since version 2.6, to be removed in 3.0. + * @deprecated since version 2.6, to be removed in 3.0. */ public function setFactoryService($factoryService) { + trigger_error(sprintf('%s(%s) is deprecated since version 2.6 and will be removed in 3.0. Use Definition::setFactory() instead.', __METHOD__, $factoryService), E_USER_DEPRECATED); + $this->factoryService = $factoryService; return $this; @@ -204,10 +218,14 @@ public function setFactoryService($factoryService) * @return string|null The factory service id * * @api - * @deprecated Deprecated since version 2.6, to be removed in 3.0. + * @deprecated since version 2.6, to be removed in 3.0. */ - public function getFactoryService() + public function getFactoryService($triggerDeprecationError = true) { + if ($triggerDeprecationError) { + trigger_error('The '.__METHOD__.' method is deprecated since version 2.6 and will be removed in 3.0.', E_USER_DEPRECATED); + } + return $this->factoryService; } @@ -643,9 +661,15 @@ public function isPublic() * @return Definition The current instance * * @api + * + * @deprecated since version 2.7, will be removed in 3.0. */ - public function setSynchronized($boolean) + public function setSynchronized($boolean, $triggerDeprecationError = true) { + if ($triggerDeprecationError) { + trigger_error('The '.__METHOD__.' method is deprecated since version 2.7 and will be removed in 3.0.', E_USER_DEPRECATED); + } + $this->synchronized = (bool) $boolean; return $this; @@ -657,9 +681,15 @@ public function setSynchronized($boolean) * @return bool * * @api + * + * @deprecated since version 2.7, will be removed in 3.0. */ - public function isSynchronized() + public function isSynchronized($triggerDeprecationError = true) { + if ($triggerDeprecationError) { + trigger_error('The '.__METHOD__.' method is deprecated since version 2.7 and will be removed in 3.0.', E_USER_DEPRECATED); + } + return $this->synchronized; } diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/DefinitionDecorator.php b/core/vendor/symfony/dependency-injection/DefinitionDecorator.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/DefinitionDecorator.php rename to core/vendor/symfony/dependency-injection/DefinitionDecorator.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Dumper/Dumper.php b/core/vendor/symfony/dependency-injection/Dumper/Dumper.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Dumper/Dumper.php rename to core/vendor/symfony/dependency-injection/Dumper/Dumper.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Dumper/DumperInterface.php b/core/vendor/symfony/dependency-injection/Dumper/DumperInterface.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Dumper/DumperInterface.php rename to core/vendor/symfony/dependency-injection/Dumper/DumperInterface.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Dumper/GraphvizDumper.php b/core/vendor/symfony/dependency-injection/Dumper/GraphvizDumper.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Dumper/GraphvizDumper.php rename to core/vendor/symfony/dependency-injection/Dumper/GraphvizDumper.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php b/core/vendor/symfony/dependency-injection/Dumper/PhpDumper.php similarity index 96% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php rename to core/vendor/symfony/dependency-injection/Dumper/PhpDumper.php index 6a75df81e15cbffa08e3e25ff0f7f5a3afb4e002..75c955ab3681d7c66b23aeb7c1f22fbd3ad24fb7 100644 --- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php +++ b/core/vendor/symfony/dependency-injection/Dumper/PhpDumper.php @@ -560,7 +560,7 @@ private function addService($id, $definition) if ($definition->isSynthetic()) { $return[] = '@throws RuntimeException always since this service is expected to be injected dynamically'; } elseif ($class = $definition->getClass()) { - $return[] = sprintf('@return %s A %s instance.', 0 === strpos($class, '%') ? 'object' : "\\".$class, $class); + $return[] = sprintf('@return %s A %s instance.', 0 === strpos($class, '%') ? 'object' : '\\'.$class, $class); } elseif ($definition->getFactory()) { $factory = $definition->getFactory(); if (is_string($factory)) { @@ -572,10 +572,10 @@ private function addService($id, $definition) $return[] = sprintf('@return object An instance returned by %s::%s().', $factory[0]->getClass(), $factory[1]); } } - } elseif ($definition->getFactoryClass()) { - $return[] = sprintf('@return object An instance returned by %s::%s().', $definition->getFactoryClass(), $definition->getFactoryMethod()); - } elseif ($definition->getFactoryService()) { - $return[] = sprintf('@return object An instance returned by %s::%s().', $definition->getFactoryService(), $definition->getFactoryMethod()); + } elseif ($definition->getFactoryClass(false)) { + $return[] = sprintf('@return object An instance returned by %s::%s().', $definition->getFactoryClass(false), $definition->getFactoryMethod(false)); + } elseif ($definition->getFactoryService(false)) { + $return[] = sprintf('@return object An instance returned by %s::%s().', $definition->getFactoryService(false), $definition->getFactoryMethod(false)); } $scope = $definition->getScope(); @@ -695,13 +695,19 @@ private function addServices() * @param Definition $definition A Definition instance * * @return string|null + * + * @deprecated since version 2.7, will be removed in 3.0. */ private function addServiceSynchronizer($id, Definition $definition) { - if (!$definition->isSynchronized()) { + if (!$definition->isSynchronized(false)) { return; } + if ('request' !== $id) { + trigger_error('Synchronized services were deprecated in version 2.7 and won\'t work anymore in 3.0.', E_USER_DEPRECATED); + } + $code = ''; foreach ($this->container->getDefinitions() as $definitionId => $definition) { foreach ($definition->getMethodCalls() as $call) { @@ -768,20 +774,20 @@ private function addNewInstance($id, Definition $definition, $return, $instantia } return sprintf(" $return{$instantiation}\\%s(%s);\n", $callable, $arguments ? implode(', ', $arguments) : ''); - } elseif (null !== $definition->getFactoryMethod()) { - if (null !== $definition->getFactoryClass()) { - $class = $this->dumpValue($definition->getFactoryClass()); + } elseif (null !== $definition->getFactoryMethod(false)) { + if (null !== $definition->getFactoryClass(false)) { + $class = $this->dumpValue($definition->getFactoryClass(false)); // If the class is a string we can optimize call_user_func away if (strpos($class, "'") === 0) { - return sprintf(" $return{$instantiation}%s::%s(%s);\n", $this->dumpLiteralClass($class), $definition->getFactoryMethod(), $arguments ? implode(', ', $arguments) : ''); + return sprintf(" $return{$instantiation}%s::%s(%s);\n", $this->dumpLiteralClass($class), $definition->getFactoryMethod(false), $arguments ? implode(', ', $arguments) : ''); } - return sprintf(" $return{$instantiation}call_user_func(array(%s, '%s')%s);\n", $this->dumpValue($definition->getFactoryClass()), $definition->getFactoryMethod(), $arguments ? ', '.implode(', ', $arguments) : ''); + return sprintf(" $return{$instantiation}call_user_func(array(%s, '%s')%s);\n", $this->dumpValue($definition->getFactoryClass(false)), $definition->getFactoryMethod(false), $arguments ? ', '.implode(', ', $arguments) : ''); } - if (null !== $definition->getFactoryService()) { - return sprintf(" $return{$instantiation}%s->%s(%s);\n", $this->getServiceCall($definition->getFactoryService()), $definition->getFactoryMethod(), implode(', ', $arguments)); + if (null !== $definition->getFactoryService(false)) { + return sprintf(" $return{$instantiation}%s->%s(%s);\n", $this->getServiceCall($definition->getFactoryService(false)), $definition->getFactoryMethod(false), implode(', ', $arguments)); } throw new RuntimeException(sprintf('Factory method requires a factory service or factory class in service definition for %s', $id)); @@ -898,9 +904,6 @@ public function __construct() \$this->services = \$this->scopedServices = \$this->scopeStacks = array(); - - \$this->set('service_container', \$this); - EOF; $code .= "\n"; @@ -1328,19 +1331,19 @@ private function dumpValue($value, $interpolate = true) throw new RuntimeException('Cannot dump definition because of invalid factory'); } - if (null !== $value->getFactoryMethod()) { - if (null !== $value->getFactoryClass()) { - return sprintf("call_user_func(array(%s, '%s')%s)", $this->dumpValue($value->getFactoryClass()), $value->getFactoryMethod(), count($arguments) > 0 ? ', '.implode(', ', $arguments) : ''); - } elseif (null !== $value->getFactoryService()) { - $service = $this->dumpValue($value->getFactoryService()); + if (null !== $value->getFactoryMethod(false)) { + if (null !== $value->getFactoryClass(false)) { + return sprintf("call_user_func(array(%s, '%s')%s)", $this->dumpValue($value->getFactoryClass(false)), $value->getFactoryMethod(false), count($arguments) > 0 ? ', '.implode(', ', $arguments) : ''); + } elseif (null !== $value->getFactoryService(false)) { + $service = $this->dumpValue($value->getFactoryService(false)); - return sprintf('%s->%s(%s)', 0 === strpos($service, '$') ? sprintf('$this->get(%s)', $service) : $this->getServiceCall($value->getFactoryService()), $value->getFactoryMethod(), implode(', ', $arguments)); + return sprintf('%s->%s(%s)', 0 === strpos($service, '$') ? sprintf('$this->get(%s)', $service) : $this->getServiceCall($value->getFactoryService(false)), $value->getFactoryMethod(false), implode(', ', $arguments)); } else { throw new RuntimeException('Cannot dump definitions which have factory method without factory service or factory class.'); } } - return sprintf("new \\%s(%s)", substr(str_replace('\\\\', '\\', $class), 1, -1), implode(', ', $arguments)); + return sprintf('new \\%s(%s)', substr(str_replace('\\\\', '\\', $class), 1, -1), implode(', ', $arguments)); } elseif ($value instanceof Variable) { return '$'.$value; } elseif ($value instanceof Reference) { @@ -1404,12 +1407,15 @@ public function dumpParameter($name) } /** - * @deprecated Deprecated since 2.6.2, to be removed in 3.0. Use Symfony\Component\DependencyInjection\ContainerBuilder::addExpressionLanguageProvider instead. + * @deprecated since version 2.6.2, to be removed in 3.0. + * Use \Symfony\Component\DependencyInjection\ContainerBuilder::addExpressionLanguageProvider instead. * * @param ExpressionFunctionProviderInterface $provider */ public function addExpressionLanguageProvider(ExpressionFunctionProviderInterface $provider) { + trigger_error('The '.__METHOD__.' method is deprecated since version 2.6.2 and will be removed in 3.0. Use the Symfony\Component\DependencyInjection\ContainerBuilder::addExpressionLanguageProvider method instead.', E_USER_DEPRECATED); + $this->expressionLanguageProviders[] = $provider; } diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Dumper/XmlDumper.php b/core/vendor/symfony/dependency-injection/Dumper/XmlDumper.php similarity index 93% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Dumper/XmlDumper.php rename to core/vendor/symfony/dependency-injection/Dumper/XmlDumper.php index 5fed552ea98cdc8bcbd0b2bd9e3ec631ba81c8fb..40486c4595543961d53d86d5160128550a59f678 100644 --- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Dumper/XmlDumper.php +++ b/core/vendor/symfony/dependency-injection/Dumper/XmlDumper.php @@ -117,14 +117,14 @@ private function addService($definition, $id, \DOMElement $parent) if ($definition->getClass()) { $service->setAttribute('class', $definition->getClass()); } - if ($definition->getFactoryMethod()) { - $service->setAttribute('factory-method', $definition->getFactoryMethod()); + if ($definition->getFactoryMethod(false)) { + $service->setAttribute('factory-method', $definition->getFactoryMethod(false)); } - if ($definition->getFactoryClass()) { - $service->setAttribute('factory-class', $definition->getFactoryClass()); + if ($definition->getFactoryClass(false)) { + $service->setAttribute('factory-class', $definition->getFactoryClass(false)); } - if ($definition->getFactoryService()) { - $service->setAttribute('factory-service', $definition->getFactoryService()); + if ($definition->getFactoryService(false)) { + $service->setAttribute('factory-service', $definition->getFactoryService(false)); } if (ContainerInterface::SCOPE_CONTAINER !== $scope = $definition->getScope()) { $service->setAttribute('scope', $scope); @@ -135,7 +135,7 @@ private function addService($definition, $id, \DOMElement $parent) if ($definition->isSynthetic()) { $service->setAttribute('synthetic', 'true'); } - if ($definition->isSynchronized()) { + if ($definition->isSynchronized(false)) { $service->setAttribute('synchronized', 'true'); } if ($definition->isLazy()) { @@ -178,7 +178,11 @@ private function addService($definition, $id, \DOMElement $parent) if ($callable = $definition->getFactory()) { $factory = $this->document->createElement('factory'); - if (is_array($callable)) { + + if (is_array($callable) && $callable[0] instanceof Definition) { + $this->addService($callable[0], null, $factory); + $factory->setAttribute('method', $callable[1]); + } elseif (is_array($callable)) { $factory->setAttribute($callable[0] instanceof Reference ? 'service' : 'class', $callable[0]); $factory->setAttribute('method', $callable[1]); } else { @@ -189,7 +193,11 @@ private function addService($definition, $id, \DOMElement $parent) if ($callable = $definition->getConfigurator()) { $configurator = $this->document->createElement('configurator'); - if (is_array($callable)) { + + if (is_array($callable) && $callable[0] instanceof Definition) { + $this->addService($callable[0], null, $configurator); + $configurator->setAttribute('method', $callable[1]); + } elseif (is_array($callable)) { $configurator->setAttribute($callable[0] instanceof Reference ? 'service' : 'class', $callable[0]); $configurator->setAttribute('method', $callable[1]); } else { diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Dumper/YamlDumper.php b/core/vendor/symfony/dependency-injection/Dumper/YamlDumper.php similarity index 93% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Dumper/YamlDumper.php rename to core/vendor/symfony/dependency-injection/Dumper/YamlDumper.php index 66ecfd870946da51412c91e35a201152a3b66e30..832929cd049c0ea3ab144b55dc1e822cf2bee335 100644 --- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Dumper/YamlDumper.php +++ b/core/vendor/symfony/dependency-injection/Dumper/YamlDumper.php @@ -18,7 +18,6 @@ use Symfony\Component\DependencyInjection\Parameter; use Symfony\Component\DependencyInjection\Reference; use Symfony\Component\DependencyInjection\Exception\RuntimeException; -use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\ExpressionLanguage\Expression; /** @@ -32,20 +31,6 @@ class YamlDumper extends Dumper { private $dumper; - /** - * Constructor. - * - * @param ContainerBuilder $container The service container to dump - * - * @api - */ - public function __construct(ContainerBuilder $container) - { - parent::__construct($container); - - $this->dumper = new YmlDumper(); - } - /** * Dumps the service container as an YAML string. * @@ -57,6 +42,14 @@ public function __construct(ContainerBuilder $container) */ public function dump(array $options = array()) { + if (!class_exists('Symfony\Component\Yaml\Dumper')) { + throw new RuntimeException('Unable to dump the container as the Symfony Yaml Component is not installed.'); + } + + if (null === $this->dumper) { + $this->dumper = new YmlDumper(); + } + return $this->addParameters()."\n".$this->addServices(); } @@ -103,24 +96,24 @@ private function addService($id, $definition) $code .= sprintf(" synthetic: true\n"); } - if ($definition->isSynchronized()) { + if ($definition->isSynchronized(false)) { $code .= sprintf(" synchronized: true\n"); } - if ($definition->getFactoryClass()) { - $code .= sprintf(" factory_class: %s\n", $definition->getFactoryClass()); + if ($definition->getFactoryClass(false)) { + $code .= sprintf(" factory_class: %s\n", $definition->getFactoryClass(false)); } if ($definition->isLazy()) { $code .= sprintf(" lazy: true\n"); } - if ($definition->getFactoryMethod()) { - $code .= sprintf(" factory_method: %s\n", $definition->getFactoryMethod()); + if ($definition->getFactoryMethod(false)) { + $code .= sprintf(" factory_method: %s\n", $definition->getFactoryMethod(false)); } - if ($definition->getFactoryService()) { - $code .= sprintf(" factory_service: %s\n", $definition->getFactoryService()); + if ($definition->getFactoryService(false)) { + $code .= sprintf(" factory_service: %s\n", $definition->getFactoryService(false)); } if ($definition->getArguments()) { diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Exception/BadMethodCallException.php b/core/vendor/symfony/dependency-injection/Exception/BadMethodCallException.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Exception/BadMethodCallException.php rename to core/vendor/symfony/dependency-injection/Exception/BadMethodCallException.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Exception/ExceptionInterface.php b/core/vendor/symfony/dependency-injection/Exception/ExceptionInterface.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Exception/ExceptionInterface.php rename to core/vendor/symfony/dependency-injection/Exception/ExceptionInterface.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Exception/InactiveScopeException.php b/core/vendor/symfony/dependency-injection/Exception/InactiveScopeException.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Exception/InactiveScopeException.php rename to core/vendor/symfony/dependency-injection/Exception/InactiveScopeException.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Exception/InvalidArgumentException.php b/core/vendor/symfony/dependency-injection/Exception/InvalidArgumentException.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Exception/InvalidArgumentException.php rename to core/vendor/symfony/dependency-injection/Exception/InvalidArgumentException.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Exception/LogicException.php b/core/vendor/symfony/dependency-injection/Exception/LogicException.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Exception/LogicException.php rename to core/vendor/symfony/dependency-injection/Exception/LogicException.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Exception/OutOfBoundsException.php b/core/vendor/symfony/dependency-injection/Exception/OutOfBoundsException.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Exception/OutOfBoundsException.php rename to core/vendor/symfony/dependency-injection/Exception/OutOfBoundsException.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Exception/ParameterCircularReferenceException.php b/core/vendor/symfony/dependency-injection/Exception/ParameterCircularReferenceException.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Exception/ParameterCircularReferenceException.php rename to core/vendor/symfony/dependency-injection/Exception/ParameterCircularReferenceException.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Exception/ParameterNotFoundException.php b/core/vendor/symfony/dependency-injection/Exception/ParameterNotFoundException.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Exception/ParameterNotFoundException.php rename to core/vendor/symfony/dependency-injection/Exception/ParameterNotFoundException.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Exception/RuntimeException.php b/core/vendor/symfony/dependency-injection/Exception/RuntimeException.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Exception/RuntimeException.php rename to core/vendor/symfony/dependency-injection/Exception/RuntimeException.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Exception/ScopeCrossingInjectionException.php b/core/vendor/symfony/dependency-injection/Exception/ScopeCrossingInjectionException.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Exception/ScopeCrossingInjectionException.php rename to core/vendor/symfony/dependency-injection/Exception/ScopeCrossingInjectionException.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Exception/ScopeWideningInjectionException.php b/core/vendor/symfony/dependency-injection/Exception/ScopeWideningInjectionException.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Exception/ScopeWideningInjectionException.php rename to core/vendor/symfony/dependency-injection/Exception/ScopeWideningInjectionException.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Exception/ServiceCircularReferenceException.php b/core/vendor/symfony/dependency-injection/Exception/ServiceCircularReferenceException.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Exception/ServiceCircularReferenceException.php rename to core/vendor/symfony/dependency-injection/Exception/ServiceCircularReferenceException.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Exception/ServiceNotFoundException.php b/core/vendor/symfony/dependency-injection/Exception/ServiceNotFoundException.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Exception/ServiceNotFoundException.php rename to core/vendor/symfony/dependency-injection/Exception/ServiceNotFoundException.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ExpressionLanguage.php b/core/vendor/symfony/dependency-injection/ExpressionLanguage.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ExpressionLanguage.php rename to core/vendor/symfony/dependency-injection/ExpressionLanguage.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ExpressionLanguageProvider.php b/core/vendor/symfony/dependency-injection/ExpressionLanguageProvider.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ExpressionLanguageProvider.php rename to core/vendor/symfony/dependency-injection/ExpressionLanguageProvider.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Extension/ConfigurationExtensionInterface.php b/core/vendor/symfony/dependency-injection/Extension/ConfigurationExtensionInterface.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Extension/ConfigurationExtensionInterface.php rename to core/vendor/symfony/dependency-injection/Extension/ConfigurationExtensionInterface.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Extension/Extension.php b/core/vendor/symfony/dependency-injection/Extension/Extension.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Extension/Extension.php rename to core/vendor/symfony/dependency-injection/Extension/Extension.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Extension/ExtensionInterface.php b/core/vendor/symfony/dependency-injection/Extension/ExtensionInterface.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Extension/ExtensionInterface.php rename to core/vendor/symfony/dependency-injection/Extension/ExtensionInterface.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Extension/PrependExtensionInterface.php b/core/vendor/symfony/dependency-injection/Extension/PrependExtensionInterface.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Extension/PrependExtensionInterface.php rename to core/vendor/symfony/dependency-injection/Extension/PrependExtensionInterface.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/IntrospectableContainerInterface.php b/core/vendor/symfony/dependency-injection/IntrospectableContainerInterface.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/IntrospectableContainerInterface.php rename to core/vendor/symfony/dependency-injection/IntrospectableContainerInterface.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/LICENSE b/core/vendor/symfony/dependency-injection/LICENSE similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/LICENSE rename to core/vendor/symfony/dependency-injection/LICENSE diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/LazyProxy/Instantiator/InstantiatorInterface.php b/core/vendor/symfony/dependency-injection/LazyProxy/Instantiator/InstantiatorInterface.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/LazyProxy/Instantiator/InstantiatorInterface.php rename to core/vendor/symfony/dependency-injection/LazyProxy/Instantiator/InstantiatorInterface.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/LazyProxy/Instantiator/RealServiceInstantiator.php b/core/vendor/symfony/dependency-injection/LazyProxy/Instantiator/RealServiceInstantiator.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/LazyProxy/Instantiator/RealServiceInstantiator.php rename to core/vendor/symfony/dependency-injection/LazyProxy/Instantiator/RealServiceInstantiator.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/LazyProxy/PhpDumper/DumperInterface.php b/core/vendor/symfony/dependency-injection/LazyProxy/PhpDumper/DumperInterface.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/LazyProxy/PhpDumper/DumperInterface.php rename to core/vendor/symfony/dependency-injection/LazyProxy/PhpDumper/DumperInterface.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/LazyProxy/PhpDumper/NullDumper.php b/core/vendor/symfony/dependency-injection/LazyProxy/PhpDumper/NullDumper.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/LazyProxy/PhpDumper/NullDumper.php rename to core/vendor/symfony/dependency-injection/LazyProxy/PhpDumper/NullDumper.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Loader/ClosureLoader.php b/core/vendor/symfony/dependency-injection/Loader/ClosureLoader.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Loader/ClosureLoader.php rename to core/vendor/symfony/dependency-injection/Loader/ClosureLoader.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Loader/FileLoader.php b/core/vendor/symfony/dependency-injection/Loader/FileLoader.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Loader/FileLoader.php rename to core/vendor/symfony/dependency-injection/Loader/FileLoader.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Loader/IniFileLoader.php b/core/vendor/symfony/dependency-injection/Loader/IniFileLoader.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Loader/IniFileLoader.php rename to core/vendor/symfony/dependency-injection/Loader/IniFileLoader.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Loader/PhpFileLoader.php b/core/vendor/symfony/dependency-injection/Loader/PhpFileLoader.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Loader/PhpFileLoader.php rename to core/vendor/symfony/dependency-injection/Loader/PhpFileLoader.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Loader/XmlFileLoader.php b/core/vendor/symfony/dependency-injection/Loader/XmlFileLoader.php similarity index 92% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Loader/XmlFileLoader.php rename to core/vendor/symfony/dependency-injection/Loader/XmlFileLoader.php index 514f4f396f1a9cf6bdb5fe975cb9e300e5d11125..f81d8d6931974665c627e98d77bda25067215a94 100644 --- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Loader/XmlFileLoader.php +++ b/core/vendor/symfony/dependency-injection/Loader/XmlFileLoader.php @@ -116,25 +116,27 @@ private function parseDefinitions(\DOMDocument $xml, $file) } foreach ($services as $service) { - $this->parseDefinition((string) $service->getAttribute('id'), $service, $file); + if (null !== $definition = $this->parseDefinition($service, $file)) { + $this->container->setDefinition((string) $service->getAttribute('id'), $definition); + } } } /** * Parses an individual Definition. * - * @param string $id * @param \DOMElement $service - * @param string $file + * + * @return Definition|null */ - private function parseDefinition($id, \DOMElement $service, $file) + private function parseDefinition(\DOMElement $service) { if ($alias = $service->getAttribute('alias')) { $public = true; if ($publicAttr = $service->getAttribute('public')) { $public = XmlUtils::phpize($publicAttr); } - $this->container->setAlias($id, new Alias($alias, $public)); + $this->container->setAlias((string) $service->getAttribute('id'), new Alias($alias, $public)); return; } @@ -145,13 +147,17 @@ private function parseDefinition($id, \DOMElement $service, $file) $definition = new Definition(); } - foreach (array('class', 'scope', 'public', 'factory-class', 'factory-method', 'factory-service', 'synthetic', 'synchronized', 'lazy', 'abstract') as $key) { + foreach (array('class', 'scope', 'public', 'factory-class', 'factory-method', 'factory-service', 'synthetic', 'lazy', 'abstract') as $key) { if ($value = $service->getAttribute($key)) { $method = 'set'.str_replace('-', '', $key); $definition->$method(XmlUtils::phpize($value)); } } + if ($value = $service->getAttribute('synchronized')) { + $definition->setSynchronized(XmlUtils::phpize($value), 'request' !== (string) $service->getAttribute('id')); + } + if ($files = $this->getChildren($service, 'file')) { $definition->setFile($files[0]->nodeValue); } @@ -164,7 +170,11 @@ private function parseDefinition($id, \DOMElement $service, $file) if ($function = $factory->getAttribute('function')) { $definition->setFactory($function); } else { - if ($childService = $factory->getAttribute('service')) { + $factoryService = $this->getChildren($factory, 'service'); + + if (isset($factoryService[0])) { + $class = $this->parseDefinition($factoryService[0]); + } elseif ($childService = $factory->getAttribute('service')) { $class = new Reference($childService, ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE, false); } else { $class = $factory->getAttribute('class'); @@ -179,7 +189,11 @@ private function parseDefinition($id, \DOMElement $service, $file) if ($function = $configurator->getAttribute('function')) { $definition->setConfigurator($function); } else { - if ($childService = $configurator->getAttribute('service')) { + $configuratorService = $this->getChildren($configurator, 'service'); + + if (isset($configuratorService[0])) { + $class = $this->parseDefinition($configuratorService[0]); + } elseif ($childService = $configurator->getAttribute('service')) { $class = new Reference($childService, ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE, false); } else { $class = $configurator->getAttribute('class'); @@ -215,7 +229,7 @@ private function parseDefinition($id, \DOMElement $service, $file) $definition->setDecoratedService($value, $renameId); } - $this->container->setDefinition($id, $definition); + return $definition; } /** @@ -291,7 +305,9 @@ private function processAnonymousServices(\DOMDocument $xml, $file) // we could not use the constant false here, because of XML parsing $domElement->setAttribute('public', 'false'); - $this->parseDefinition($id, $domElement, $file); + if (null !== $definition = $this->parseDefinition($domElement, $file)) { + $this->container->setDefinition($id, $definition); + } if (true === $wild) { $tmpDomElement = new \DOMElement('_services', null, self::NS); diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Loader/YamlFileLoader.php b/core/vendor/symfony/dependency-injection/Loader/YamlFileLoader.php similarity index 93% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Loader/YamlFileLoader.php rename to core/vendor/symfony/dependency-injection/Loader/YamlFileLoader.php index 85f6ee69625354a1fb3c169d3a57f40cb6018fd4..ae9613a612742c889b6a7ab8936a14865bddd91c 100644 --- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Loader/YamlFileLoader.php +++ b/core/vendor/symfony/dependency-injection/Loader/YamlFileLoader.php @@ -17,6 +17,7 @@ use Symfony\Component\DependencyInjection\Definition; use Symfony\Component\DependencyInjection\Reference; use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException; +use Symfony\Component\DependencyInjection\Exception\RuntimeException; use Symfony\Component\Config\Resource\FileResource; use Symfony\Component\Yaml\Parser as YamlParser; use Symfony\Component\ExpressionLanguage\Expression; @@ -74,7 +75,7 @@ public function load($resource, $type = null) */ public function supports($resource, $type = null) { - return is_string($resource) && 'yml' === pathinfo($resource, PATHINFO_EXTENSION); + return is_string($resource) && in_array(pathinfo($resource, PATHINFO_EXTENSION), array('yml', 'yaml'), true); } /** @@ -171,7 +172,7 @@ private function parseDefinition($id, $service, $file) } if (isset($service['synchronized'])) { - $definition->setSynchronized($service['synchronized']); + $definition->setSynchronized($service['synchronized'], 'request' !== $id); } if (isset($service['lazy'])) { @@ -237,8 +238,15 @@ private function parseDefinition($id, $service, $file) } foreach ($service['calls'] as $call) { - $args = isset($call[1]) ? $this->resolveServices($call[1]) : array(); - $definition->addMethodCall($call[0], $args); + if (isset($call['method'])) { + $method = $call['method']; + $args = isset($call['arguments']) ? $this->resolveServices($call['arguments']) : array(); + } else { + $method = $call[0]; + $args = isset($call[1]) ? $this->resolveServices($call[1]) : array(); + } + + $definition->addMethodCall($method, $args); } } @@ -288,6 +296,10 @@ private function parseDefinition($id, $service, $file) */ protected function loadFile($file) { + if (!class_exists('Symfony\Component\Yaml\Parser')) { + throw new RuntimeException('Unable to load YAML config files as the Symfony Yaml Component is not installed.'); + } + if (!stream_is_local($file)) { throw new InvalidArgumentException(sprintf('This is not a local file "%s".', $file)); } @@ -323,7 +335,7 @@ private function validate($content, $file) throw new InvalidArgumentException(sprintf('The service file "%s" is not valid. It should contain an array. Check your YAML syntax.', $file)); } - foreach (array_keys($content) as $namespace) { + foreach ($content as $namespace => $data) { if (in_array($namespace, array('imports', 'parameters', 'services'))) { continue; } diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Loader/schema/dic/services/services-1.0.xsd b/core/vendor/symfony/dependency-injection/Loader/schema/dic/services/services-1.0.xsd similarity index 98% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Loader/schema/dic/services/services-1.0.xsd rename to core/vendor/symfony/dependency-injection/Loader/schema/dic/services/services-1.0.xsd index 966f4de07fe4302520b2f67f295645ffb96a47e7..ac2cba7a80ce0681f78cc99c35e530e82d1eba12 100644 --- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Loader/schema/dic/services/services-1.0.xsd +++ b/core/vendor/symfony/dependency-injection/Loader/schema/dic/services/services-1.0.xsd @@ -65,6 +65,9 @@ </xsd:complexType> <xsd:complexType name="callable"> + <xsd:choice minOccurs="0" maxOccurs="1"> + <xsd:element name="service" type="service" minOccurs="0" maxOccurs="1" /> + </xsd:choice> <xsd:attribute name="id" type="xsd:string" /> <xsd:attribute name="service" type="xsd:string" /> <xsd:attribute name="class" type="xsd:string" /> diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Parameter.php b/core/vendor/symfony/dependency-injection/Parameter.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Parameter.php rename to core/vendor/symfony/dependency-injection/Parameter.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ParameterBag/FrozenParameterBag.php b/core/vendor/symfony/dependency-injection/ParameterBag/FrozenParameterBag.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ParameterBag/FrozenParameterBag.php rename to core/vendor/symfony/dependency-injection/ParameterBag/FrozenParameterBag.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ParameterBag/ParameterBag.php b/core/vendor/symfony/dependency-injection/ParameterBag/ParameterBag.php similarity index 99% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ParameterBag/ParameterBag.php rename to core/vendor/symfony/dependency-injection/ParameterBag/ParameterBag.php index 593479313b9e47f706a7e3a39467f552986844da..e4f4da19d1d851b6a577d36208573dbedbb0de64 100644 --- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ParameterBag/ParameterBag.php +++ b/core/vendor/symfony/dependency-injection/ParameterBag/ParameterBag.php @@ -96,7 +96,7 @@ public function get($name) } $alternatives = array(); - foreach (array_keys($this->parameters) as $key) { + foreach ($this->parameters as $key => $parameterValue) { $lev = levenshtein($name, $key); if ($lev <= strlen($name) / 3 || false !== strpos($key, $name)) { $alternatives[] = $key; diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ParameterBag/ParameterBagInterface.php b/core/vendor/symfony/dependency-injection/ParameterBag/ParameterBagInterface.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ParameterBag/ParameterBagInterface.php rename to core/vendor/symfony/dependency-injection/ParameterBag/ParameterBagInterface.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/README.md b/core/vendor/symfony/dependency-injection/README.md similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/README.md rename to core/vendor/symfony/dependency-injection/README.md diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Reference.php b/core/vendor/symfony/dependency-injection/Reference.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Reference.php rename to core/vendor/symfony/dependency-injection/Reference.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Scope.php b/core/vendor/symfony/dependency-injection/Scope.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Scope.php rename to core/vendor/symfony/dependency-injection/Scope.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ScopeInterface.php b/core/vendor/symfony/dependency-injection/ScopeInterface.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ScopeInterface.php rename to core/vendor/symfony/dependency-injection/ScopeInterface.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/SimpleXMLElement.php b/core/vendor/symfony/dependency-injection/SimpleXMLElement.php similarity index 94% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/SimpleXMLElement.php rename to core/vendor/symfony/dependency-injection/SimpleXMLElement.php index 2e20b6cf31b7332f4293a04607211ae7058fc011..1b318fd9e4231bb11b237dcafea89e909e94c5cf 100644 --- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/SimpleXMLElement.php +++ b/core/vendor/symfony/dependency-injection/SimpleXMLElement.php @@ -11,6 +11,8 @@ namespace Symfony\Component\DependencyInjection; +trigger_error('The '.__NAMESPACE__.'\SimpleXMLElement method is deprecated since version 2.5 and will be removed in 3.0.', E_USER_DEPRECATED); + use Symfony\Component\Config\Util\XmlUtils; use Symfony\Component\ExpressionLanguage\Expression; @@ -19,7 +21,7 @@ * * @author Fabien Potencier <fabien@symfony.com> * - * @deprecated Deprecated since version 2.5, to be removed in 3.0. + * @deprecated since version 2.5, to be removed in 3.0. */ class SimpleXMLElement extends \SimpleXMLElement { diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/.gitignore b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/.gitignore deleted file mode 100644 index c49a5d8df5c6548379f00c77fe572a7217bce218..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -vendor/ -composer.lock -phpunit.xml diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/ProjectWithXsdExtensionInPhar.phar b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/ProjectWithXsdExtensionInPhar.phar deleted file mode 100644 index 402e17b2f2146572088215a07892fcb219fc3b43..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/ProjectWithXsdExtensionInPhar.phar +++ /dev/null @@ -1,32 +0,0 @@ -<?php require_once "phar://ProjectWithXsdExtensionInPhar.phar/ProjectWithXsdExtensionInPhar.php"; __HALT_COMPILER(); ?> -£����������"���ProjectWithXsdExtensionInPhar.phar����!���ProjectWithXsdExtensionInPhar.php~��ÿakM~��õ ÷¯¶���������schema/project-1.0.xsd¸��ÿakM¸��Qp£´¶������<?php - -class ProjectWithXsdExtensionInPhar extends ProjectExtension -{ - public function getXsdValidationBasePath() - { - return __DIR__.'/schema'; - } - - public function getNamespace() - { - return 'http://www.example.com/schema/projectwithxsdinphar'; - } - - public function getAlias() - { - return 'projectwithxsdinphar'; - } -}<?xml version="1.0" encoding="UTF-8" ?> - -<xsd:schema xmlns="http://www.example.com/schema/projectwithxsdinphar" - xmlns:xsd="http://www.w3.org/2001/XMLSchema" - targetNamespace="http://www.example.com/schema/projectwithxsdinphar" - elementFormDefault="qualified"> - - <xsd:element name="bar" type="bar" /> - - <xsd:complexType name="bar"> - <xsd:attribute name="foo" type="xsd:string" /> - </xsd:complexType> -</xsd:schema>W¬î©]ʯ¦`¡5,,)E°àYÃ���GBMB \ No newline at end of file diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/TaggedContainerInterface.php b/core/vendor/symfony/dependency-injection/TaggedContainerInterface.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/TaggedContainerInterface.php rename to core/vendor/symfony/dependency-injection/TaggedContainerInterface.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/AnalyzeServiceReferencesPassTest.php b/core/vendor/symfony/dependency-injection/Tests/Compiler/AnalyzeServiceReferencesPassTest.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/AnalyzeServiceReferencesPassTest.php rename to core/vendor/symfony/dependency-injection/Tests/Compiler/AnalyzeServiceReferencesPassTest.php diff --git a/core/vendor/symfony/dependency-injection/Tests/Compiler/AutoAliasServicePassTest.php b/core/vendor/symfony/dependency-injection/Tests/Compiler/AutoAliasServicePassTest.php new file mode 100644 index 0000000000000000000000000000000000000000..368ec3c5cd46aff6de3000ceb543814162b661bd --- /dev/null +++ b/core/vendor/symfony/dependency-injection/Tests/Compiler/AutoAliasServicePassTest.php @@ -0,0 +1,103 @@ +<?php + +namespace Symfony\Component\DependencyInjection\Tests\Compiler; + +use Symfony\Component\DependencyInjection\Compiler\AutoAliasServicePass; +use Symfony\Component\DependencyInjection\ContainerBuilder; + +class AutoAliasServicePassTest extends \PHPUnit_Framework_TestCase +{ + /** + * @expectedException \Symfony\Component\DependencyInjection\Exception\ParameterNotFoundException + */ + public function testProcessWithMissingParameter() + { + $container = new ContainerBuilder(); + + $container->register('example') + ->addTag('auto_alias', array('format' => '%non_existing%.example')); + + $pass = new AutoAliasServicePass(); + $pass->process($container); + } + + /** + * @expectedException \Symfony\Component\DependencyInjection\Exception\InvalidArgumentException + */ + public function testProcessWithMissingFormat() + { + $container = new ContainerBuilder(); + + $container->register('example') + ->addTag('auto_alias', array()); + $container->setParameter('existing', 'mysql'); + + $pass = new AutoAliasServicePass(); + $pass->process($container); + } + + public function testProcessWithNonExistingAlias() + { + $container = new ContainerBuilder(); + + $container->register('example', 'Symfony\Component\DependencyInjection\Tests\Compiler\ServiceClassDefault') + ->addTag('auto_alias', array('format' => '%existing%.example')); + $container->setParameter('existing', 'mysql'); + + $pass = new AutoAliasServicePass(); + $pass->process($container); + + $this->assertEquals('Symfony\Component\DependencyInjection\Tests\Compiler\ServiceClassDefault', $container->getDefinition('example')->getClass()); + $this->assertInstanceOf('Symfony\Component\DependencyInjection\Tests\Compiler\ServiceClassDefault', $container->get('example')); + } + + public function testProcessWithExistingAlias() + { + $container = new ContainerBuilder(); + + $container->register('example', 'Symfony\Component\DependencyInjection\Tests\Compiler\ServiceClassDefault') + ->addTag('auto_alias', array('format' => '%existing%.example')); + + $container->register('mysql.example', 'Symfony\Component\DependencyInjection\Tests\Compiler\ServiceClassMysql'); + $container->setParameter('existing', 'mysql'); + + $pass = new AutoAliasServicePass(); + $pass->process($container); + + $this->assertTrue($container->hasAlias('example')); + $this->assertEquals('mysql.example', $container->getAlias('example')); + $this->assertInstanceOf('Symfony\Component\DependencyInjection\Tests\Compiler\ServiceClassMysql', $container->get('example')); + } + + public function testProcessWithManualAlias() + { + $container = new ContainerBuilder(); + + $container->register('example', 'Symfony\Component\DependencyInjection\Tests\Compiler\ServiceClassDefault') + ->addTag('auto_alias', array('format' => '%existing%.example')); + + $container->register('mysql.example', 'Symfony\Component\DependencyInjection\Tests\Compiler\ServiceClassMysql'); + $container->register('mariadb.example', 'Symfony\Component\DependencyInjection\Tests\Compiler\ServiceClassMariadb'); + $container->setAlias('example', 'mariadb.example'); + $container->setParameter('existing', 'mysql'); + + $pass = new AutoAliasServicePass(); + $pass->process($container); + + $this->assertTrue($container->hasAlias('example')); + $this->assertEquals('mariadb.example', $container->getAlias('example')); + $this->assertInstanceOf('Symfony\Component\DependencyInjection\Tests\Compiler\ServiceClassMariaDb', $container->get('example')); + } +} + +class ServiceClassDefault +{ +} + +class ServiceClassMysql extends ServiceClassDefault +{ +} + +class ServiceClassMariaDb extends ServiceClassMysql +{ +} diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/CheckCircularReferencesPassTest.php b/core/vendor/symfony/dependency-injection/Tests/Compiler/CheckCircularReferencesPassTest.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/CheckCircularReferencesPassTest.php rename to core/vendor/symfony/dependency-injection/Tests/Compiler/CheckCircularReferencesPassTest.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/CheckDefinitionValidityPassTest.php b/core/vendor/symfony/dependency-injection/Tests/Compiler/CheckDefinitionValidityPassTest.php similarity index 95% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/CheckDefinitionValidityPassTest.php rename to core/vendor/symfony/dependency-injection/Tests/Compiler/CheckDefinitionValidityPassTest.php index ed04a8b18ce5a66a752908910884d94eb397dcb7..09ae3c413a75a065b8f9a22f56444629ae79d3a6 100644 --- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/CheckDefinitionValidityPassTest.php +++ b/core/vendor/symfony/dependency-injection/Tests/Compiler/CheckDefinitionValidityPassTest.php @@ -52,9 +52,12 @@ public function testProcessDetectsNonSyntheticNonAbstractDefinitionWithoutClass( /** * @expectedException \Symfony\Component\DependencyInjection\Exception\RuntimeException + * @group legacy */ - public function testProcessDetectsBothFactorySyntaxesUsed() + public function testLegacyProcessDetectsBothFactorySyntaxesUsed() { + $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED); + $container = new ContainerBuilder(); $container->register('a')->setFactory(array('a', 'b'))->setFactoryClass('a'); diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/CheckExceptionOnInvalidReferenceBehaviorPassTest.php b/core/vendor/symfony/dependency-injection/Tests/Compiler/CheckExceptionOnInvalidReferenceBehaviorPassTest.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/CheckExceptionOnInvalidReferenceBehaviorPassTest.php rename to core/vendor/symfony/dependency-injection/Tests/Compiler/CheckExceptionOnInvalidReferenceBehaviorPassTest.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/CheckReferenceValidityPassTest.php b/core/vendor/symfony/dependency-injection/Tests/Compiler/CheckReferenceValidityPassTest.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/CheckReferenceValidityPassTest.php rename to core/vendor/symfony/dependency-injection/Tests/Compiler/CheckReferenceValidityPassTest.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/DecoratorServicePassTest.php b/core/vendor/symfony/dependency-injection/Tests/Compiler/DecoratorServicePassTest.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/DecoratorServicePassTest.php rename to core/vendor/symfony/dependency-injection/Tests/Compiler/DecoratorServicePassTest.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/InlineServiceDefinitionsPassTest.php b/core/vendor/symfony/dependency-injection/Tests/Compiler/InlineServiceDefinitionsPassTest.php similarity index 87% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/InlineServiceDefinitionsPassTest.php rename to core/vendor/symfony/dependency-injection/Tests/Compiler/InlineServiceDefinitionsPassTest.php index baefa1d0fff92f62af65ca08b108dfda6ebe34a8..590ca4cfae2f9b0dd158f765630e1add2c054590 100644 --- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/InlineServiceDefinitionsPassTest.php +++ b/core/vendor/symfony/dependency-injection/Tests/Compiler/InlineServiceDefinitionsPassTest.php @@ -237,40 +237,6 @@ public function testProcessDoesNotInlineWhenServiceReferencesItself() $this->assertSame($ref, $calls[0][1][0]); } - public function testProcessDoesNotInlineFactories() - { - $container = new ContainerBuilder(); - $container - ->register('foo.factory') - ->setPublic(false) - ; - $container - ->register('foo') - ->setFactory(array(new Reference('foo.factory'), 'getFoo')) - ; - $this->process($container); - - $factory = $container->getDefinition('foo')->getFactory(); - $this->assertInstanceOf('Symfony\Component\DependencyInjection\Reference', $factory[0]); - } - - public function testProcessDoesNotInlineConfigurators() - { - $container = new ContainerBuilder(); - $container - ->register('foo.configurator') - ->setPublic(false) - ; - $container - ->register('foo') - ->setConfigurator(array(new Reference('foo.configurator'), 'getFoo')) - ; - $this->process($container); - - $configurator = $container->getDefinition('foo')->getConfigurator(); - $this->assertInstanceOf('Symfony\Component\DependencyInjection\Reference', $configurator[0]); - } - protected function process(ContainerBuilder $container) { $repeatedPass = new RepeatedPass(array(new AnalyzeServiceReferencesPass(), new InlineServiceDefinitionsPass())); diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/IntegrationTest.php b/core/vendor/symfony/dependency-injection/Tests/Compiler/IntegrationTest.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/IntegrationTest.php rename to core/vendor/symfony/dependency-injection/Tests/Compiler/IntegrationTest.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/LegacyResolveParameterPlaceHoldersPassTest.php b/core/vendor/symfony/dependency-injection/Tests/Compiler/LegacyResolveParameterPlaceHoldersPassTest.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/LegacyResolveParameterPlaceHoldersPassTest.php rename to core/vendor/symfony/dependency-injection/Tests/Compiler/LegacyResolveParameterPlaceHoldersPassTest.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/MergeExtensionConfigurationPassTest.php b/core/vendor/symfony/dependency-injection/Tests/Compiler/MergeExtensionConfigurationPassTest.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/MergeExtensionConfigurationPassTest.php rename to core/vendor/symfony/dependency-injection/Tests/Compiler/MergeExtensionConfigurationPassTest.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/RemoveUnusedDefinitionsPassTest.php b/core/vendor/symfony/dependency-injection/Tests/Compiler/RemoveUnusedDefinitionsPassTest.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/RemoveUnusedDefinitionsPassTest.php rename to core/vendor/symfony/dependency-injection/Tests/Compiler/RemoveUnusedDefinitionsPassTest.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/ReplaceAliasByActualDefinitionPassTest.php b/core/vendor/symfony/dependency-injection/Tests/Compiler/ReplaceAliasByActualDefinitionPassTest.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/ReplaceAliasByActualDefinitionPassTest.php rename to core/vendor/symfony/dependency-injection/Tests/Compiler/ReplaceAliasByActualDefinitionPassTest.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/ResolveDefinitionTemplatesPassTest.php b/core/vendor/symfony/dependency-injection/Tests/Compiler/ResolveDefinitionTemplatesPassTest.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/ResolveDefinitionTemplatesPassTest.php rename to core/vendor/symfony/dependency-injection/Tests/Compiler/ResolveDefinitionTemplatesPassTest.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/ResolveInvalidReferencesPassTest.php b/core/vendor/symfony/dependency-injection/Tests/Compiler/ResolveInvalidReferencesPassTest.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/ResolveInvalidReferencesPassTest.php rename to core/vendor/symfony/dependency-injection/Tests/Compiler/ResolveInvalidReferencesPassTest.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/ResolveParameterPlaceHoldersPassTest.php b/core/vendor/symfony/dependency-injection/Tests/Compiler/ResolveParameterPlaceHoldersPassTest.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/ResolveParameterPlaceHoldersPassTest.php rename to core/vendor/symfony/dependency-injection/Tests/Compiler/ResolveParameterPlaceHoldersPassTest.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/ResolveReferencesToAliasesPassTest.php b/core/vendor/symfony/dependency-injection/Tests/Compiler/ResolveReferencesToAliasesPassTest.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Compiler/ResolveReferencesToAliasesPassTest.php rename to core/vendor/symfony/dependency-injection/Tests/Compiler/ResolveReferencesToAliasesPassTest.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/ContainerBuilderTest.php b/core/vendor/symfony/dependency-injection/Tests/ContainerBuilderTest.php similarity index 97% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/ContainerBuilderTest.php rename to core/vendor/symfony/dependency-injection/Tests/ContainerBuilderTest.php index 51c59d272d525a24d90fd56ab8ba9b2182cd8ea8..5f6fdd1d1715c7823523dc669b5b6ea384f4568e 100644 --- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/ContainerBuilderTest.php +++ b/core/vendor/symfony/dependency-injection/Tests/ContainerBuilderTest.php @@ -190,6 +190,13 @@ public function testAliases() $this->assertTrue($builder->has('bar'), '->setAlias() defines a new service'); $this->assertTrue($builder->get('bar') === $builder->get('foo'), '->setAlias() creates a service that is an alias to another one'); + try { + $builder->setAlias('foobar', 'foobar'); + $this->fail('->setAlias() throws an InvalidArgumentException if the alias references itself'); + } catch (\InvalidArgumentException $e) { + $this->assertEquals('An alias can not reference itself, got a circular reference on "foobar".', $e->getMessage(), '->setAlias() throws an InvalidArgumentException if the alias references itself'); + } + try { $builder->getAlias('foobar'); $this->fail('->getAlias() throws an InvalidArgumentException if the alias does not exist'); @@ -331,7 +338,14 @@ public function testCreateServiceFactory() $this->assertTrue($builder->get('qux')->called, '->createService() calls the factory method to create the service instance'); $this->assertTrue($builder->get('bar')->called, '->createService() uses anonymous service as factory'); $this->assertTrue($builder->get('baz')->called, '->createService() uses another service as factory'); + } + + public function testLegacyCreateServiceFactory() + { + $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED); + $builder = new ContainerBuilder(); + $builder->register('bar', 'Bar\FooClass'); $builder ->register('foo1', 'Bar\FooClass') ->setFactoryClass('%foo_class%') @@ -347,8 +361,10 @@ public function testCreateServiceFactory() /** * @covers Symfony\Component\DependencyInjection\ContainerBuilder::createService */ - public function testCreateServiceFactoryService() + public function testLegacyCreateServiceFactoryService() { + $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED); + $builder = new ContainerBuilder(); $builder->register('foo_service', 'Bar\FooClass'); $builder @@ -711,8 +727,13 @@ public function testNoExceptionWhenSetSyntheticServiceOnAFrozenContainer() $this->assertEquals($a, $container->get('a')); } - public function testSetOnSynchronizedService() + /** + * @group legacy + */ + public function testLegacySetOnSynchronizedService() { + $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED); + $container = new ContainerBuilder(); $container->register('baz', 'BazClass') ->setSynchronized(true) @@ -728,8 +749,13 @@ public function testSetOnSynchronizedService() $this->assertSame($baz, $container->get('bar')->getBaz()); } - public function testSynchronizedServiceWithScopes() + /** + * @group legacy + */ + public function testLegacySynchronizedServiceWithScopes() { + $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED); + $container = new ContainerBuilder(); $container->addScope(new Scope('foo')); $container->register('baz', 'BazClass') diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/ContainerTest.php b/core/vendor/symfony/dependency-injection/Tests/ContainerTest.php similarity index 99% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/ContainerTest.php rename to core/vendor/symfony/dependency-injection/Tests/ContainerTest.php index 2ce50ee5f982b0f23e86956593ff1501d7f17445..dd8358e929962ed42706e60b5c599caf31474e72 100644 --- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/ContainerTest.php +++ b/core/vendor/symfony/dependency-injection/Tests/ContainerTest.php @@ -322,7 +322,7 @@ public function testEnterLeaveCurrentScope() $container->enterScope('foo'); $scoped2 = $container->get('scoped'); - $scoped3 = $container->get('scoped'); + $scoped3 = $container->get('SCOPED'); $scopedFoo2 = $container->get('scoped_foo'); $container->leaveScope('foo'); diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/CrossCheckTest.php b/core/vendor/symfony/dependency-injection/Tests/CrossCheckTest.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/CrossCheckTest.php rename to core/vendor/symfony/dependency-injection/Tests/CrossCheckTest.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/DefinitionDecoratorTest.php b/core/vendor/symfony/dependency-injection/Tests/DefinitionDecoratorTest.php similarity index 83% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/DefinitionDecoratorTest.php rename to core/vendor/symfony/dependency-injection/Tests/DefinitionDecoratorTest.php index cea67408f0ddb11f15f5b4871b7a5efbd47f93b9..f9006540a561e273b10913893734f534ee4816ac 100644 --- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/DefinitionDecoratorTest.php +++ b/core/vendor/symfony/dependency-injection/Tests/DefinitionDecoratorTest.php @@ -44,11 +44,36 @@ public function getPropertyTests() return array( array('class', 'class'), array('factory', 'factory'), + array('configurator', 'configurator'), + array('file', 'file'), + ); + } + + /** + * @dataProvider provideLegacyPropertyTests + * @group legacy + */ + public function testLegacySetProperty($property, $changeKey) + { + $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED); + + $def = new DefinitionDecorator('foo'); + + $getter = 'get'.ucfirst($property); + $setter = 'set'.ucfirst($property); + + $this->assertNull($def->$getter()); + $this->assertSame($def, $def->$setter('foo')); + $this->assertEquals('foo', $def->$getter()); + $this->assertEquals(array($changeKey => true), $def->getChanges()); + } + + public function provideLegacyPropertyTests() + { + return array( array('factoryClass', 'factory_class'), array('factoryMethod', 'factory_method'), array('factoryService', 'factory_service'), - array('configurator', 'configurator'), - array('file', 'file'), ); } diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/DefinitionTest.php b/core/vendor/symfony/dependency-injection/Tests/DefinitionTest.php similarity index 99% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/DefinitionTest.php rename to core/vendor/symfony/dependency-injection/Tests/DefinitionTest.php index 583d49f1e95f5feee22f6515469de8ebc0c4fbd9..b6539f3b74003f4b41cadcbbc448b823b4772d40 100644 --- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/DefinitionTest.php +++ b/core/vendor/symfony/dependency-injection/Tests/DefinitionTest.php @@ -166,9 +166,12 @@ public function testSetIsSynthetic() /** * @covers Symfony\Component\DependencyInjection\Definition::setSynchronized * @covers Symfony\Component\DependencyInjection\Definition::isSynchronized + * @group legacy */ - public function testSetIsSynchronized() + public function testLegacySetIsSynchronized() { + $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED); + $def = new Definition('stdClass'); $this->assertFalse($def->isSynchronized(), '->isSynchronized() returns false by default'); $this->assertSame($def, $def->setSynchronized(true), '->setSynchronized() implements a fluent interface'); diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Dumper/GraphvizDumperTest.php b/core/vendor/symfony/dependency-injection/Tests/Dumper/GraphvizDumperTest.php similarity index 89% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Dumper/GraphvizDumperTest.php rename to core/vendor/symfony/dependency-injection/Tests/Dumper/GraphvizDumperTest.php index 79689d78dc4f1cbc7405045389f6ec6f2e525050..ba5e12cd5076bc3c5061120142892c7e0d793fe0 100644 --- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Dumper/GraphvizDumperTest.php +++ b/core/vendor/symfony/dependency-injection/Tests/Dumper/GraphvizDumperTest.php @@ -23,6 +23,18 @@ public static function setUpBeforeClass() self::$fixturesPath = __DIR__.'/../Fixtures/'; } + /** + * @group legacy + */ + public function testLegacyDump() + { + $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED); + + $container = include self::$fixturesPath.'/containers/legacy-container9.php'; + $dumper = new GraphvizDumper($container); + $this->assertEquals(str_replace('%path%', __DIR__, file_get_contents(self::$fixturesPath.'/graphviz/legacy-services9.dot')), $dumper->dump(), '->dump() dumps services'); + } + public function testDump() { $dumper = new GraphvizDumper($container = new ContainerBuilder()); diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Dumper/PhpDumperTest.php b/core/vendor/symfony/dependency-injection/Tests/Dumper/PhpDumperTest.php similarity index 94% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Dumper/PhpDumperTest.php rename to core/vendor/symfony/dependency-injection/Tests/Dumper/PhpDumperTest.php index f6b5dadaf9d3864efe2fe2b5389155df7866a4ea..7fa0c17a13b7683f1fc9d21e064cf1f9068a8d18 100644 --- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Dumper/PhpDumperTest.php +++ b/core/vendor/symfony/dependency-injection/Tests/Dumper/PhpDumperTest.php @@ -124,6 +124,18 @@ public function testAddService() } } + /** + * @group legacy + */ + public function testLegacySynchronizedServices() + { + $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED); + + $container = include self::$fixturesPath.'/containers/container20.php'; + $dumper = new PhpDumper($container); + $this->assertEquals(str_replace('%path%', str_replace('\\', '\\\\', self::$fixturesPath.DIRECTORY_SEPARATOR.'includes'.DIRECTORY_SEPARATOR), file_get_contents(self::$fixturesPath.'/php/services20.php')), $dumper->dump(), '->dump() dumps services'); + } + public function testServicesWithAnonymousFactories() { $container = include self::$fixturesPath.'/containers/container19.php'; diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Dumper/XmlDumperTest.php b/core/vendor/symfony/dependency-injection/Tests/Dumper/XmlDumperTest.php similarity index 73% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Dumper/XmlDumperTest.php rename to core/vendor/symfony/dependency-injection/Tests/Dumper/XmlDumperTest.php index 76cbb60da39384a717c437dfa50353e341898145..9ee103630a12784de21399379bd64e8b17b2aae3 100644 --- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Dumper/XmlDumperTest.php +++ b/core/vendor/symfony/dependency-injection/Tests/Dumper/XmlDumperTest.php @@ -44,10 +44,34 @@ public function testAddParameters() $this->assertXmlStringEqualsXmlFile(self::$fixturesPath.'/xml/services8.xml', $dumper->dump(), '->dump() dumps parameters'); } + /** + * @group legacy + */ + public function testLegacyAddService() + { + $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED); + + $container = include self::$fixturesPath.'/containers/legacy-container9.php'; + $dumper = new XmlDumper($container); + + $this->assertEquals(str_replace('%path%', self::$fixturesPath.DIRECTORY_SEPARATOR.'includes'.DIRECTORY_SEPARATOR, file_get_contents(self::$fixturesPath.'/xml/legacy-services9.xml')), $dumper->dump(), '->dump() dumps services'); + + $dumper = new XmlDumper($container = new ContainerBuilder()); + $container->register('foo', 'FooClass')->addArgument(new \stdClass()); + try { + $dumper->dump(); + $this->fail('->dump() throws a RuntimeException if the container to be dumped has reference to objects or resources'); + } catch (\Exception $e) { + $this->assertInstanceOf('\RuntimeException', $e, '->dump() throws a RuntimeException if the container to be dumped has reference to objects or resources'); + $this->assertEquals('Unable to dump a service container if a parameter is an object or a resource.', $e->getMessage(), '->dump() throws a RuntimeException if the container to be dumped has reference to objects or resources'); + } + } + public function testAddService() { $container = include self::$fixturesPath.'/containers/container9.php'; $dumper = new XmlDumper($container); + $this->assertEquals(str_replace('%path%', self::$fixturesPath.DIRECTORY_SEPARATOR.'includes'.DIRECTORY_SEPARATOR, file_get_contents(self::$fixturesPath.'/xml/services9.xml')), $dumper->dump(), '->dump() dumps services'); $dumper = new XmlDumper($container = new ContainerBuilder()); @@ -65,21 +89,21 @@ public function testDumpAnonymousServices() { $container = include self::$fixturesPath.'/containers/container11.php'; $dumper = new XmlDumper($container); - $this->assertEquals("<?xml version=\"1.0\" encoding=\"utf-8\"?> -<container xmlns=\"http://symfony.com/schema/dic/services\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd\"> + $this->assertEquals('<?xml version="1.0" encoding="utf-8"?> +<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd"> <services> - <service id=\"foo\" class=\"FooClass\"> - <argument type=\"service\"> - <service class=\"BarClass\"> - <argument type=\"service\"> - <service class=\"BazClass\"/> + <service id="foo" class="FooClass"> + <argument type="service"> + <service class="BarClass"> + <argument type="service"> + <service class="BazClass"/> </argument> </service> </argument> </service> </services> </container> -", $dumper->dump()); +', $dumper->dump()); } public function testDumpEntities() @@ -151,4 +175,12 @@ public function provideCompiledContainerData() array('container14'), ); } + + public function testDumpInlinedServices() + { + $container = include self::$fixturesPath.'/containers/container21.php'; + $dumper = new XmlDumper($container); + + $this->assertEquals(file_get_contents(self::$fixturesPath.'/xml/services21.xml'), $dumper->dump()); + } } diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Dumper/YamlDumperTest.php b/core/vendor/symfony/dependency-injection/Tests/Dumper/YamlDumperTest.php similarity index 65% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Dumper/YamlDumperTest.php rename to core/vendor/symfony/dependency-injection/Tests/Dumper/YamlDumperTest.php index f9747a7c2fae963dd3a8a780046fbda018359081..c22c7eb40e24fbe818aa7c220aa80cafa4ebaf11 100644 --- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Dumper/YamlDumperTest.php +++ b/core/vendor/symfony/dependency-injection/Tests/Dumper/YamlDumperTest.php @@ -40,6 +40,29 @@ public function testAddParameters() $this->assertStringEqualsFile(self::$fixturesPath.'/yaml/services8.yml', $dumper->dump(), '->dump() dumps parameters'); } + /** + * @group legacy + */ + public function testLegacyAddService() + { + $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED); + + $container = include self::$fixturesPath.'/containers/legacy-container9.php'; + $dumper = new YamlDumper($container); + + $this->assertEquals(str_replace('%path%', self::$fixturesPath.DIRECTORY_SEPARATOR.'includes'.DIRECTORY_SEPARATOR, file_get_contents(self::$fixturesPath.'/yaml/legacy-services9.yml')), $dumper->dump(), '->dump() dumps services'); + + $dumper = new YamlDumper($container = new ContainerBuilder()); + $container->register('foo', 'FooClass')->addArgument(new \stdClass()); + try { + $dumper->dump(); + $this->fail('->dump() throws a RuntimeException if the container to be dumped has reference to objects or resources'); + } catch (\Exception $e) { + $this->assertInstanceOf('\RuntimeException', $e, '->dump() throws a RuntimeException if the container to be dumped has reference to objects or resources'); + $this->assertEquals('Unable to dump a service container if a parameter is an object or a resource.', $e->getMessage(), '->dump() throws a RuntimeException if the container to be dumped has reference to objects or resources'); + } + } + public function testAddService() { $container = include self::$fixturesPath.'/containers/container9.php'; diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Extension/ExtensionTest.php b/core/vendor/symfony/dependency-injection/Tests/Extension/ExtensionTest.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Extension/ExtensionTest.php rename to core/vendor/symfony/dependency-injection/Tests/Extension/ExtensionTest.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container10.php b/core/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container10.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container10.php rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container10.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container11.php b/core/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container11.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container11.php rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container11.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container12.php b/core/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container12.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container12.php rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container12.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container13.php b/core/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container13.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container13.php rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container13.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container14.php b/core/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container14.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container14.php rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container14.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container15.php b/core/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container15.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container15.php rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container15.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container16.php b/core/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container16.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container16.php rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container16.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container17.php b/core/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container17.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container17.php rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container17.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container18.php b/core/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container18.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container18.php rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container18.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container19.php b/core/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container19.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container19.php rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container19.php diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container20.php b/core/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container20.php new file mode 100644 index 0000000000000000000000000000000000000000..a40a0e8a6c10f3947509ac80e5914c7d03ddb3ba --- /dev/null +++ b/core/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container20.php @@ -0,0 +1,19 @@ +<?php + +require_once __DIR__.'/../includes/classes.php'; + +use Symfony\Component\DependencyInjection\ContainerInterface; +use Symfony\Component\DependencyInjection\ContainerBuilder; +use Symfony\Component\DependencyInjection\Reference; + +$container = new ContainerBuilder(); +$container + ->register('request', 'Request') + ->setSynchronized(true) +; +$container + ->register('depends_on_request', 'stdClass') + ->addMethodCall('setRequest', array(new Reference('request', ContainerInterface::NULL_ON_INVALID_REFERENCE, false))) +; + +return $container; diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container21.php b/core/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container21.php new file mode 100644 index 0000000000000000000000000000000000000000..d0467386140a98c44ae9e7e6f078811c9e0f7515 --- /dev/null +++ b/core/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container21.php @@ -0,0 +1,20 @@ +<?php + +use Symfony\Component\DependencyInjection\ContainerBuilder; +use Symfony\Component\DependencyInjection\Definition; + +$container = new ContainerBuilder(); + +$bar = new Definition('Bar'); +$bar->setConfigurator(array(new Definition('Baz'), 'configureBar')); + +$fooFactory = new Definition('FooFactory'); +$fooFactory->setFactory(array(new Definition('Foobar'), 'createFooFactory')); + +$container + ->register('foo', 'Foo') + ->setFactory(array($fooFactory, 'createFoo')) + ->setConfigurator(array($bar, 'configureFoo')) +; + +return $container; diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container8.php b/core/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container8.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container8.php rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container8.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container9.php b/core/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container9.php similarity index 50% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container9.php rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container9.php index 11f34dc203b233c026e6176a4844868d0d810ec7..e97a2dda69ccb99073d86cb30f8e8565fa153269 100644 --- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/containers/container9.php +++ b/core/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container9.php @@ -9,33 +9,31 @@ use Symfony\Component\ExpressionLanguage\Expression; $container = new ContainerBuilder(); -$container-> - register('foo', 'Bar\FooClass')-> - addTag('foo', array('foo' => 'foo'))-> - addTag('foo', array('bar' => 'bar', 'baz' => 'baz'))-> - setFactoryClass('Bar\\FooClass')-> - setFactoryMethod('getInstance')-> - setArguments(array('foo', new Reference('foo.baz'), array('%foo%' => 'foo is %foo%', 'foobar' => '%foo%'), true, new Reference('service_container')))-> - setProperties(array('foo' => 'bar', 'moo' => new Reference('foo.baz'), 'qux' => array('%foo%' => 'foo is %foo%', 'foobar' => '%foo%')))-> - addMethodCall('setBar', array(new Reference('bar')))-> - addMethodCall('initialize')-> - setConfigurator('sc_configure') -; -$container-> - register('bar', 'Bar\FooClass')-> - setArguments(array('foo', new Reference('foo.baz'), new Parameter('foo_bar')))-> - setScope('container')-> - setConfigurator(array(new Reference('foo.baz'), 'configure')) -; -$container-> - register('foo.baz', '%baz_class%')-> - setFactoryClass('%baz_class%')-> - setFactoryMethod('getInstance')-> - setConfigurator(array('%baz_class%', 'configureStatic1')) -; -$container-> - register('foo_bar', '%foo_class%')-> - setScope('prototype') +$container + ->register('foo', 'Bar\FooClass') + ->addTag('foo', array('foo' => 'foo')) + ->addTag('foo', array('bar' => 'bar', 'baz' => 'baz')) + ->setFactory(array('Bar\\FooClass', 'getInstance')) + ->setArguments(array('foo', new Reference('foo.baz'), array('%foo%' => 'foo is %foo%', 'foobar' => '%foo%'), true, new Reference('service_container'))) + ->setProperties(array('foo' => 'bar', 'moo' => new Reference('foo.baz'), 'qux' => array('%foo%' => 'foo is %foo%', 'foobar' => '%foo%'))) + ->addMethodCall('setBar', array(new Reference('bar'))) + ->addMethodCall('initialize') + ->setConfigurator('sc_configure') +; +$container + ->register('foo.baz', '%baz_class%') + ->setFactory(array('%baz_class%', 'getInstance')) + ->setConfigurator(array('%baz_class%', 'configureStatic1')) +; +$container + ->register('bar', 'Bar\FooClass') + ->setArguments(array('foo', new Reference('foo.baz'), new Parameter('foo_bar'))) + ->setScope('container') + ->setConfigurator(array(new Reference('foo.baz'), 'configure')) +; +$container + ->register('foo_bar', '%foo_class%') + ->setScope('prototype') ; $container->getParameterBag()->clear(); $container->getParameterBag()->add(array( @@ -45,21 +43,15 @@ )); $container->setAlias('alias_for_foo', 'foo'); $container->setAlias('alias_for_alias', 'alias_for_foo'); -$container-> - register('method_call1', 'Bar\FooClass')-> - setFile(realpath(__DIR__.'/../includes/foo.php'))-> - addMethodCall('setBar', array(new Reference('foo')))-> - addMethodCall('setBar', array(new Reference('foo2', ContainerInterface::NULL_ON_INVALID_REFERENCE)))-> - addMethodCall('setBar', array(new Reference('foo3', ContainerInterface::IGNORE_ON_INVALID_REFERENCE)))-> - addMethodCall('setBar', array(new Reference('foobaz', ContainerInterface::IGNORE_ON_INVALID_REFERENCE)))-> - addMethodCall('setBar', array(new Expression('service("foo").foo() ~ (container.hasparameter("foo") ? parameter("foo") : "default")'))) -; -$container-> - register('factory_service', 'Bar')-> - setFactoryService('foo.baz')-> - setFactoryMethod('getInstance') +$container + ->register('method_call1', 'Bar\FooClass') + ->setFile(realpath(__DIR__.'/../includes/foo.php')) + ->addMethodCall('setBar', array(new Reference('foo'))) + ->addMethodCall('setBar', array(new Reference('foo2', ContainerInterface::NULL_ON_INVALID_REFERENCE))) + ->addMethodCall('setBar', array(new Reference('foo3', ContainerInterface::IGNORE_ON_INVALID_REFERENCE))) + ->addMethodCall('setBar', array(new Reference('foobaz', ContainerInterface::IGNORE_ON_INVALID_REFERENCE))) + ->addMethodCall('setBar', array(new Expression('service("foo").foo() ~ (container.hasparameter("foo") ? parameter("foo") : "default")'))) ; - $container ->register('foo_with_inline', 'Foo') ->addMethodCall('setBar', array(new Reference('inlined'))) @@ -77,11 +69,6 @@ $container ->register('request', 'Request') ->setSynthetic(true) - ->setSynchronized(true) -; -$container - ->register('depends_on_request', 'stdClass') - ->addMethodCall('setRequest', array(new Reference('request', ContainerInterface::NULL_ON_INVALID_REFERENCE, false))) ; $container ->register('configurator_service', 'ConfClass') @@ -109,6 +96,10 @@ ->setScope('container') ->setPublic(false) ; +$container + ->register('factory_service', 'Bar') + ->setFactory(array(new Reference('foo.baz'), 'getInstance')) +; $container ->register('new_factory_service', 'FooBarBaz') ->setProperty('foo', 'bar') diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/containers/legacy-container9.php b/core/vendor/symfony/dependency-injection/Tests/Fixtures/containers/legacy-container9.php new file mode 100644 index 0000000000000000000000000000000000000000..9f4210c9d5b7fea144d0d77a0fc41d32c11d83a8 --- /dev/null +++ b/core/vendor/symfony/dependency-injection/Tests/Fixtures/containers/legacy-container9.php @@ -0,0 +1,39 @@ +<?php + +require_once __DIR__.'/../includes/classes.php'; + +use Symfony\Component\DependencyInjection\ContainerBuilder; +use Symfony\Component\DependencyInjection\Reference; +use Symfony\Component\ExpressionLanguage\Expression; + +$container = new ContainerBuilder(); +$container-> + register('foo', 'Bar\FooClass')-> + addTag('foo', array('foo' => 'foo'))-> + addTag('foo', array('bar' => 'bar'))-> + setFactoryClass('Bar\\FooClass')-> + setFactoryMethod('getInstance')-> + setArguments(array('foo', new Reference('foo.baz'), array('%foo%' => 'foo is %foo%', 'foobar' => '%foo%'), true, new Reference('service_container')))-> + setProperties(array('foo' => 'bar', 'moo' => new Reference('foo.baz'), 'qux' => array('%foo%' => 'foo is %foo%', 'foobar' => '%foo%')))-> + addMethodCall('setBar', array(new Reference('bar')))-> + addMethodCall('initialize')-> + setConfigurator('sc_configure') +; +$container-> + register('foo.baz', '%baz_class%')-> + setFactoryClass('%baz_class%')-> + setFactoryMethod('getInstance')-> + setConfigurator(array('%baz_class%', 'configureStatic1')) +; +$container-> + register('factory_service', 'Bar')-> + setFactoryService('foo.baz')-> + setFactoryMethod('getInstance') +; +$container->getParameterBag()->clear(); +$container->getParameterBag()->add(array( + 'baz_class' => 'BazClass', + 'foo' => 'bar', +)); + +return $container; diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/graphviz/legacy-services9.dot b/core/vendor/symfony/dependency-injection/Tests/Fixtures/graphviz/legacy-services9.dot new file mode 100644 index 0000000000000000000000000000000000000000..4e8dfb977495e53f1ff9d732a735c1bdc5ce060e --- /dev/null +++ b/core/vendor/symfony/dependency-injection/Tests/Fixtures/graphviz/legacy-services9.dot @@ -0,0 +1,15 @@ +digraph sc { + ratio="compress" + node [fontsize="11" fontname="Arial" shape="record"]; + edge [fontsize="9" fontname="Arial" color="grey" arrowhead="open" arrowsize="0.5"]; + + node_foo [label="foo\nBar\\FooClass\n", shape=record, fillcolor="#eeeeee", style="filled"]; + node_foo_baz [label="foo.baz\nBazClass\n", shape=record, fillcolor="#eeeeee", style="filled"]; + node_factory_service [label="factory_service\nBar\n", shape=record, fillcolor="#eeeeee", style="filled"]; + node_service_container [label="service_container\nSymfony\\Component\\DependencyInjection\\ContainerBuilder\n", shape=record, fillcolor="#9999ff", style="filled"]; + node_bar [label="bar\n\n", shape=record, fillcolor="#ff9999", style="filled"]; + node_foo -> node_foo_baz [label="" style="filled"]; + node_foo -> node_service_container [label="" style="filled"]; + node_foo -> node_foo_baz [label="" style="dashed"]; + node_foo -> node_bar [label="setBar()" style="dashed"]; +} diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/graphviz/services1.dot b/core/vendor/symfony/dependency-injection/Tests/Fixtures/graphviz/services1.dot similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/graphviz/services1.dot rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/graphviz/services1.dot diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/graphviz/services10-1.dot b/core/vendor/symfony/dependency-injection/Tests/Fixtures/graphviz/services10-1.dot similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/graphviz/services10-1.dot rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/graphviz/services10-1.dot diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/graphviz/services10.dot b/core/vendor/symfony/dependency-injection/Tests/Fixtures/graphviz/services10.dot similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/graphviz/services10.dot rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/graphviz/services10.dot diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/graphviz/services13.dot b/core/vendor/symfony/dependency-injection/Tests/Fixtures/graphviz/services13.dot similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/graphviz/services13.dot rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/graphviz/services13.dot diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/graphviz/services14.dot b/core/vendor/symfony/dependency-injection/Tests/Fixtures/graphviz/services14.dot similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/graphviz/services14.dot rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/graphviz/services14.dot diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/graphviz/services17.dot b/core/vendor/symfony/dependency-injection/Tests/Fixtures/graphviz/services17.dot similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/graphviz/services17.dot rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/graphviz/services17.dot diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/graphviz/services18.dot b/core/vendor/symfony/dependency-injection/Tests/Fixtures/graphviz/services18.dot similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/graphviz/services18.dot rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/graphviz/services18.dot diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/graphviz/services9.dot b/core/vendor/symfony/dependency-injection/Tests/Fixtures/graphviz/services9.dot similarity index 94% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/graphviz/services9.dot rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/graphviz/services9.dot index e233d62594d0b6dc90dfc044494a267d631ba8d6..b3b424e2e73c733356023c1a0a7ba6037217db06 100644 --- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/graphviz/services9.dot +++ b/core/vendor/symfony/dependency-injection/Tests/Fixtures/graphviz/services9.dot @@ -4,22 +4,21 @@ digraph sc { edge [fontsize="9" fontname="Arial" color="grey" arrowhead="open" arrowsize="0.5"]; node_foo [label="foo (alias_for_foo)\nBar\\FooClass\n", shape=record, fillcolor="#eeeeee", style="filled"]; - node_bar [label="bar\nBar\\FooClass\n", shape=record, fillcolor="#eeeeee", style="filled"]; node_foo_baz [label="foo.baz\nBazClass\n", shape=record, fillcolor="#eeeeee", style="filled"]; + node_bar [label="bar\nBar\\FooClass\n", shape=record, fillcolor="#eeeeee", style="filled"]; node_foo_bar [label="foo_bar\nBar\\FooClass\n", shape=record, fillcolor="#eeeeee", style="dotted"]; node_method_call1 [label="method_call1\nBar\\FooClass\n", shape=record, fillcolor="#eeeeee", style="filled"]; - node_factory_service [label="factory_service\nBar\n", shape=record, fillcolor="#eeeeee", style="filled"]; node_foo_with_inline [label="foo_with_inline\nFoo\n", shape=record, fillcolor="#eeeeee", style="filled"]; node_inlined [label="inlined\nBar\n", shape=record, fillcolor="#eeeeee", style="filled"]; node_baz [label="baz\nBaz\n", shape=record, fillcolor="#eeeeee", style="filled"]; node_request [label="request\nRequest\n", shape=record, fillcolor="#eeeeee", style="filled"]; - node_depends_on_request [label="depends_on_request\nstdClass\n", shape=record, fillcolor="#eeeeee", style="filled"]; node_configurator_service [label="configurator_service\nConfClass\n", shape=record, fillcolor="#eeeeee", style="filled"]; node_configured_service [label="configured_service\nstdClass\n", shape=record, fillcolor="#eeeeee", style="filled"]; node_decorated [label="decorated\nstdClass\n", shape=record, fillcolor="#eeeeee", style="filled"]; node_decorator_service [label="decorator_service\nstdClass\n", shape=record, fillcolor="#eeeeee", style="filled"]; node_decorator_service_with_name [label="decorator_service_with_name\nstdClass\n", shape=record, fillcolor="#eeeeee", style="filled"]; node_new_factory [label="new_factory\nFactoryClass\n", shape=record, fillcolor="#eeeeee", style="filled"]; + node_factory_service [label="factory_service\nBar\n", shape=record, fillcolor="#eeeeee", style="filled"]; node_new_factory_service [label="new_factory_service\nFooBarBaz\n", shape=record, fillcolor="#eeeeee", style="filled"]; node_service_from_static_method [label="service_from_static_method\nBar\\FooClass\n", shape=record, fillcolor="#eeeeee", style="filled"]; node_service_container [label="service_container\nSymfony\\Component\\DependencyInjection\\ContainerBuilder\n", shape=record, fillcolor="#9999ff", style="filled"]; @@ -38,6 +37,5 @@ digraph sc { node_foo_with_inline -> node_inlined [label="setBar()" style="dashed"]; node_inlined -> node_baz [label="setBaz()" style="dashed"]; node_baz -> node_foo_with_inline [label="setFoo()" style="dashed"]; - node_depends_on_request -> node_request [label="setRequest()" style="dashed"]; node_configurator_service -> node_baz [label="setFoo()" style="dashed"]; } diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/ProjectExtension.php b/core/vendor/symfony/dependency-injection/Tests/Fixtures/includes/ProjectExtension.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/ProjectExtension.php rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/includes/ProjectExtension.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/ProjectWithXsdExtension.php b/core/vendor/symfony/dependency-injection/Tests/Fixtures/includes/ProjectWithXsdExtension.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/ProjectWithXsdExtension.php rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/includes/ProjectWithXsdExtension.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/classes.php b/core/vendor/symfony/dependency-injection/Tests/Fixtures/includes/classes.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/classes.php rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/includes/classes.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/createphar.php b/core/vendor/symfony/dependency-injection/Tests/Fixtures/includes/createphar.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/createphar.php rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/includes/createphar.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/foo.php b/core/vendor/symfony/dependency-injection/Tests/Fixtures/includes/foo.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/foo.php rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/includes/foo.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/schema/project-1.0.xsd b/core/vendor/symfony/dependency-injection/Tests/Fixtures/includes/schema/project-1.0.xsd similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/includes/schema/project-1.0.xsd rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/includes/schema/project-1.0.xsd diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/ini/nonvalid.ini b/core/vendor/symfony/dependency-injection/Tests/Fixtures/ini/nonvalid.ini similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/ini/nonvalid.ini rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/ini/nonvalid.ini diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/ini/parameters.ini b/core/vendor/symfony/dependency-injection/Tests/Fixtures/ini/parameters.ini similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/ini/parameters.ini rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/ini/parameters.ini diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/ini/parameters1.ini b/core/vendor/symfony/dependency-injection/Tests/Fixtures/ini/parameters1.ini similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/ini/parameters1.ini rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/ini/parameters1.ini diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/ini/parameters2.ini b/core/vendor/symfony/dependency-injection/Tests/Fixtures/ini/parameters2.ini similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/ini/parameters2.ini rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/ini/parameters2.ini diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/php/services1-1.php b/core/vendor/symfony/dependency-injection/Tests/Fixtures/php/services1-1.php new file mode 100644 index 0000000000000000000000000000000000000000..f15771172ef194a763d724392bd9ef0b87777832 --- /dev/null +++ b/core/vendor/symfony/dependency-injection/Tests/Fixtures/php/services1-1.php @@ -0,0 +1,30 @@ +<?php +namespace Symfony\Component\DependencyInjection\Dump; + +use Symfony\Component\DependencyInjection\ContainerInterface; +use Symfony\Component\DependencyInjection\Container; +use Symfony\Component\DependencyInjection\Exception\InactiveScopeException; +use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException; +use Symfony\Component\DependencyInjection\Exception\LogicException; +use Symfony\Component\DependencyInjection\Exception\RuntimeException; +use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag; + +/** + * Container. + * + * This class has been auto-generated + * by the Symfony Dependency Injection Component. + */ +class Container extends AbstractContainer +{ + private $parameters; + private $targetDirs = array(); + + /** + * Constructor. + */ + public function __construct() + { + parent::__construct(); + } +} diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services1.php b/core/vendor/symfony/dependency-injection/Tests/Fixtures/php/services1.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services1.php rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/php/services1.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services10.php b/core/vendor/symfony/dependency-injection/Tests/Fixtures/php/services10.php similarity index 98% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services10.php rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/php/services10.php index a9a1fffff7b8344ecb8738a0ec6b9a63133c9c90..b9b8d5b38620ba1e067b7dfaeeb354a715a54de3 100644 --- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services10.php +++ b/core/vendor/symfony/dependency-injection/Tests/Fixtures/php/services10.php @@ -29,9 +29,6 @@ public function __construct() $this->services = $this->scopedServices = $this->scopeStacks = array(); - - $this->set('service_container', $this); - $this->scopes = array(); $this->scopeChildren = array(); $this->methodMap = array( diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services12.php b/core/vendor/symfony/dependency-injection/Tests/Fixtures/php/services12.php similarity index 98% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services12.php rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/php/services12.php index 6e7823e0901f9071f441d8a7168edc8a305ae93f..a53f3a3e8176fbed2a0a0db191e1da3984ae2a65 100644 --- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services12.php +++ b/core/vendor/symfony/dependency-injection/Tests/Fixtures/php/services12.php @@ -33,9 +33,6 @@ public function __construct() $this->services = $this->scopedServices = $this->scopeStacks = array(); - - $this->set('service_container', $this); - $this->scopes = array(); $this->scopeChildren = array(); $this->methodMap = array( diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services19.php b/core/vendor/symfony/dependency-injection/Tests/Fixtures/php/services19.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services19.php rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/php/services19.php diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/php/services20.php b/core/vendor/symfony/dependency-injection/Tests/Fixtures/php/services20.php new file mode 100644 index 0000000000000000000000000000000000000000..83f6dc7ed3c2450965eac428cdc4e81036b9933f --- /dev/null +++ b/core/vendor/symfony/dependency-injection/Tests/Fixtures/php/services20.php @@ -0,0 +1,73 @@ +<?php + +use Symfony\Component\DependencyInjection\ContainerInterface; +use Symfony\Component\DependencyInjection\Container; +use Symfony\Component\DependencyInjection\Exception\InactiveScopeException; +use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException; +use Symfony\Component\DependencyInjection\Exception\LogicException; +use Symfony\Component\DependencyInjection\Exception\RuntimeException; +use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag; + +/** + * ProjectServiceContainer. + * + * This class has been auto-generated + * by the Symfony Dependency Injection Component. + */ +class ProjectServiceContainer extends Container +{ + private $parameters; + private $targetDirs = array(); + + /** + * Constructor. + */ + public function __construct() + { + parent::__construct(); + $this->methodMap = array( + 'depends_on_request' => 'getDependsOnRequestService', + 'request' => 'getRequestService', + ); + } + + /** + * Gets the 'depends_on_request' service. + * + * This service is shared. + * This method always returns the same instance of the service. + * + * @return \stdClass A stdClass instance. + */ + protected function getDependsOnRequestService() + { + $this->services['depends_on_request'] = $instance = new \stdClass(); + + $instance->setRequest($this->get('request', ContainerInterface::NULL_ON_INVALID_REFERENCE)); + + return $instance; + } + + /** + * Gets the 'request' service. + * + * This service is shared. + * This method always returns the same instance of the service. + * + * @return \Request A Request instance. + */ + protected function getRequestService() + { + return $this->services['request'] = new \Request(); + } + + /** + * Updates the 'request' service. + */ + protected function synchronizeRequestService() + { + if ($this->initialized('depends_on_request')) { + $this->get('depends_on_request')->setRequest($this->get('request', ContainerInterface::NULL_ON_INVALID_REFERENCE)); + } + } +} diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services8.php b/core/vendor/symfony/dependency-injection/Tests/Fixtures/php/services8.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services8.php rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/php/services8.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services9.php b/core/vendor/symfony/dependency-injection/Tests/Fixtures/php/services9.php similarity index 92% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services9.php rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/php/services9.php index 958ecfbdebcc3624750b89774bc19f1b35890a56..5977c1c6e7a710c6a2a30f451d5b309b288cc27b 100644 --- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services9.php +++ b/core/vendor/symfony/dependency-injection/Tests/Fixtures/php/services9.php @@ -33,7 +33,6 @@ public function __construct() 'decorated' => 'getDecoratedService', 'decorator_service' => 'getDecoratorServiceService', 'decorator_service_with_name' => 'getDecoratorServiceWithNameService', - 'depends_on_request' => 'getDependsOnRequestService', 'factory_service' => 'getFactoryServiceService', 'foo' => 'getFooService', 'foo.baz' => 'getFoo_BazService', @@ -144,23 +143,6 @@ protected function getDecoratorServiceWithNameService() return $this->services['decorator_service_with_name'] = new \stdClass(); } - /** - * Gets the 'depends_on_request' service. - * - * This service is shared. - * This method always returns the same instance of the service. - * - * @return \stdClass A stdClass instance. - */ - protected function getDependsOnRequestService() - { - $this->services['depends_on_request'] = $instance = new \stdClass(); - - $instance->setRequest($this->get('request', ContainerInterface::NULL_ON_INVALID_REFERENCE)); - - return $instance; - } - /** * Gets the 'factory_service' service. * @@ -314,16 +296,6 @@ protected function getServiceFromStaticMethodService() return $this->services['service_from_static_method'] = \Bar\FooClass::getInstance(); } - /** - * Updates the 'request' service. - */ - protected function synchronizeRequestService() - { - if ($this->initialized('depends_on_request')) { - $this->get('depends_on_request')->setRequest($this->get('request', ContainerInterface::NULL_ON_INVALID_REFERENCE)); - } - } - /** * Gets the 'configurator_service' service. * diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services9_compiled.php b/core/vendor/symfony/dependency-injection/Tests/Fixtures/php/services9_compiled.php similarity index 79% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services9_compiled.php rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/php/services9_compiled.php index 5cab356704cb1283ff5dfceee7d3937597030963..8c1e71f437a83165f94e2205a60890528e6bdb71 100644 --- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services9_compiled.php +++ b/core/vendor/symfony/dependency-injection/Tests/Fixtures/php/services9_compiled.php @@ -29,26 +29,20 @@ public function __construct() $this->services = $this->scopedServices = $this->scopeStacks = array(); - - $this->set('service_container', $this); - $this->scopes = array(); $this->scopeChildren = array(); $this->methodMap = array( 'bar' => 'getBarService', 'baz' => 'getBazService', - 'configurator_service' => 'getConfiguratorServiceService', 'configured_service' => 'getConfiguredServiceService', 'decorator_service' => 'getDecoratorServiceService', 'decorator_service_with_name' => 'getDecoratorServiceWithNameService', - 'depends_on_request' => 'getDependsOnRequestService', 'factory_service' => 'getFactoryServiceService', 'foo' => 'getFooService', 'foo.baz' => 'getFoo_BazService', 'foo_bar' => 'getFooBarService', 'foo_with_inline' => 'getFooWithInlineService', 'method_call1' => 'getMethodCall1Service', - 'new_factory' => 'getNewFactoryService', 'new_factory_service' => 'getNewFactoryServiceService', 'request' => 'getRequestService', 'service_from_static_method' => 'getServiceFromStaticMethodService', @@ -114,9 +108,12 @@ protected function getBazService() */ protected function getConfiguredServiceService() { + $a = new \ConfClass(); + $a->setFoo($this->get('baz')); + $this->services['configured_service'] = $instance = new \stdClass(); - $this->get('configurator_service')->configureStdClass($instance); + $a->configureStdClass($instance); return $instance; } @@ -147,23 +144,6 @@ protected function getDecoratorServiceWithNameService() return $this->services['decorator_service_with_name'] = new \stdClass(); } - /** - * Gets the 'depends_on_request' service. - * - * This service is shared. - * This method always returns the same instance of the service. - * - * @return \stdClass A stdClass instance. - */ - protected function getDependsOnRequestService() - { - $this->services['depends_on_request'] = $instance = new \stdClass(); - - $instance->setRequest($this->get('request', ContainerInterface::NULL_ON_INVALID_REFERENCE)); - - return $instance; - } - /** * Gets the 'factory_service' service. * @@ -281,7 +261,10 @@ protected function getMethodCall1Service() */ protected function getNewFactoryServiceService() { - $this->services['new_factory_service'] = $instance = $this->get('new_factory')->getInstance(); + $a = new \FactoryClass(); + $a->foo = 'bar'; + + $this->services['new_factory_service'] = $instance = $a->getInstance(); $instance->foo = 'bar'; @@ -314,58 +297,6 @@ protected function getServiceFromStaticMethodService() return $this->services['service_from_static_method'] = \Bar\FooClass::getInstance(); } - /** - * Updates the 'request' service. - */ - protected function synchronizeRequestService() - { - if ($this->initialized('depends_on_request')) { - $this->get('depends_on_request')->setRequest($this->get('request', ContainerInterface::NULL_ON_INVALID_REFERENCE)); - } - } - - /** - * Gets the 'configurator_service' service. - * - * This service is shared. - * This method always returns the same instance of the service. - * - * This service is private. - * If you want to be able to request this service from the container directly, - * make it public, otherwise you might end up with broken code. - * - * @return \ConfClass A ConfClass instance. - */ - protected function getConfiguratorServiceService() - { - $this->services['configurator_service'] = $instance = new \ConfClass(); - - $instance->setFoo($this->get('baz')); - - return $instance; - } - - /** - * Gets the 'new_factory' service. - * - * This service is shared. - * This method always returns the same instance of the service. - * - * This service is private. - * If you want to be able to request this service from the container directly, - * make it public, otherwise you might end up with broken code. - * - * @return \FactoryClass A FactoryClass instance. - */ - protected function getNewFactoryService() - { - $this->services['new_factory'] = $instance = new \FactoryClass(); - - $instance->foo = 'bar'; - - return $instance; - } - /** * {@inheritdoc} */ diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/simple.php b/core/vendor/symfony/dependency-injection/Tests/Fixtures/php/simple.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/simple.php rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/php/simple.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extension1/services.xml b/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extension1/services.xml similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extension1/services.xml rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extension1/services.xml diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extension2/services.xml b/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extension2/services.xml similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extension2/services.xml rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extension2/services.xml diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extensions/services1.xml b/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extensions/services1.xml similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extensions/services1.xml rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extensions/services1.xml diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extensions/services2.xml b/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extensions/services2.xml similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extensions/services2.xml rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extensions/services2.xml diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extensions/services3.xml b/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extensions/services3.xml similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extensions/services3.xml rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extensions/services3.xml diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extensions/services4.xml b/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extensions/services4.xml similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extensions/services4.xml rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extensions/services4.xml diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extensions/services5.xml b/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extensions/services5.xml similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extensions/services5.xml rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extensions/services5.xml diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extensions/services6.xml b/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extensions/services6.xml similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extensions/services6.xml rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extensions/services6.xml diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extensions/services7.xml b/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extensions/services7.xml similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/extensions/services7.xml rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extensions/services7.xml diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/legacy-services6.xml b/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/legacy-services6.xml new file mode 100644 index 0000000000000000000000000000000000000000..17fe00f8fe93cc03e2ec357a52d1269f896af99e --- /dev/null +++ b/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/legacy-services6.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" ?> + +<container xmlns="http://symfony.com/schema/dic/services" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd"> + <services> + <service id="constructor" class="FooClass" factory-method="getInstance" /> + <service id="factory_service" factory-method="getInstance" factory-service="baz_factory" /> + </services> +</container> diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/legacy-services9.xml b/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/legacy-services9.xml new file mode 100644 index 0000000000000000000000000000000000000000..5692ba13ea2024afe4bbde7dc70475164bd5e840 --- /dev/null +++ b/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/legacy-services9.xml @@ -0,0 +1,36 @@ +<?xml version="1.0" encoding="utf-8"?> +<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd"> + <parameters> + <parameter key="baz_class">BazClass</parameter> + <parameter key="foo">bar</parameter> + </parameters> + <services> + <service id="foo" class="Bar\FooClass" factory-method="getInstance" factory-class="Bar\FooClass"> + <tag name="foo" foo="foo"/> + <tag name="foo" bar="bar"/> + <argument>foo</argument> + <argument type="service" id="foo.baz"/> + <argument type="collection"> + <argument key="%foo%">foo is %foo%</argument> + <argument key="foobar">%foo%</argument> + </argument> + <argument>true</argument> + <argument type="service" id="service_container"/> + <property name="foo">bar</property> + <property name="moo" type="service" id="foo.baz"/> + <property name="qux" type="collection"> + <property key="%foo%">foo is %foo%</property> + <property key="foobar">%foo%</property> + </property> + <call method="setBar"> + <argument type="service" id="bar"/> + </call> + <call method="initialize"/> + <configurator function="sc_configure"/> + </service> + <service id="foo.baz" class="%baz_class%" factory-method="getInstance" factory-class="%baz_class%"> + <configurator class="%baz_class%" method="configureStatic1"/> + </service> + <service id="factory_service" class="Bar" factory-method="getInstance" factory-service="foo.baz"/> + </services> +</container> diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/namespaces.xml b/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/namespaces.xml similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/namespaces.xml rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/namespaces.xml diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/nonvalid.xml b/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/nonvalid.xml similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/nonvalid.xml rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/nonvalid.xml diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services1.xml b/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services1.xml similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services1.xml rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services1.xml diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services10.xml b/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services10.xml similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services10.xml rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services10.xml diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services13.xml b/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services13.xml similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services13.xml rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services13.xml diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services14.xml b/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services14.xml similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services14.xml rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services14.xml diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services2.xml b/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services2.xml similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services2.xml rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services2.xml diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services20.xml b/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services20.xml new file mode 100644 index 0000000000000000000000000000000000000000..5d799fc944c804faee1063ede54b7bc221e7a449 --- /dev/null +++ b/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services20.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8"?> +<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd"> + <services> + <service id="request" class="Request" synthetic="true" synchronized="true"/> + <service id="depends_on_request" class="stdClass"> + <call method="setRequest"> + <argument type="service" id="request" on-invalid="null" strict="false"/> + </call> + </service> + </services> +</container> diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services21.xml b/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services21.xml new file mode 100644 index 0000000000000000000000000000000000000000..329bc3d72a25abd2b45b777069136e19c3731db2 --- /dev/null +++ b/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services21.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd"> + <services> + <service id="foo" class="Foo"> + <factory method="createFoo"> + <service class="FooFactory"> + <factory method="createFooFactory"> + <service class="Foobar"/> + </factory> + </service> + </factory> + <configurator method="configureFoo"> + <service class="Bar"> + <configurator method="configureBar"> + <service class="Baz"/> + </configurator> + </service> + </configurator> + </service> + </services> +</container> diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services3.xml b/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services3.xml similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services3.xml rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services3.xml diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services4.xml b/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services4.xml similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services4.xml rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services4.xml diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services4_bad_import.xml b/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services4_bad_import.xml similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services4_bad_import.xml rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services4_bad_import.xml diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services5.xml b/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services5.xml similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services5.xml rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services5.xml diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services6.xml b/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services6.xml similarity index 93% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services6.xml rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services6.xml index 121b5bfec66d4cff111ff511e709ed921590d014..3a68c6e39a33cfd5186ff3bb1cad669473835923 100644 --- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services6.xml +++ b/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services6.xml @@ -9,7 +9,6 @@ <service id="scope.container" class="FooClass" scope="container" /> <service id="scope.custom" class="FooClass" scope="custom" /> <service id="scope.prototype" class="FooClass" scope="prototype" /> - <service id="constructor" class="FooClass" factory-method="getInstance" /> <service id="file" class="FooClass"> <file>%path%/foo.php</file> </service> @@ -48,7 +47,6 @@ </service> <service id="alias_for_foo" alias="foo" /> <service id="another_alias_for_foo" alias="foo" public="false" /> - <service id="factory_service" factory-method="getInstance" factory-service="baz_factory" /> <service id="request" class="Request" synthetic="true" synchronized="true" lazy="true"/> <service id="decorator_service" decorates="decorated" /> <service id="decorator_service_with_name" decorates="decorated" decoration-inner-name="decorated.pif-pouf"/> diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services7.xml b/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services7.xml similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services7.xml rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services7.xml diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services8.xml b/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services8.xml similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services8.xml rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services8.xml diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services9.xml b/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services9.xml similarity index 87% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services9.xml rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services9.xml index 1416745a37abab127c50acbd36a78690efbd1c2e..c4ddc416b463650365abfa56488c5e99d6cf0386 100644 --- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/services9.xml +++ b/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services9.xml @@ -6,7 +6,7 @@ <parameter key="foo">bar</parameter> </parameters> <services> - <service id="foo" class="Bar\FooClass" factory-method="getInstance" factory-class="Bar\FooClass"> + <service id="foo" class="Bar\FooClass"> <tag name="foo" foo="foo"/> <tag name="foo" bar="bar" baz="baz"/> <argument>foo</argument> @@ -27,17 +27,19 @@ <argument type="service" id="bar"/> </call> <call method="initialize"/> + <factory class="Bar\FooClass" method="getInstance"/> <configurator function="sc_configure"/> </service> + <service id="foo.baz" class="%baz_class%"> + <factory class="%baz_class%" method="getInstance"/> + <configurator class="%baz_class%" method="configureStatic1"/> + </service> <service id="bar" class="Bar\FooClass"> <argument>foo</argument> <argument type="service" id="foo.baz"/> <argument>%foo_bar%</argument> <configurator service="foo.baz" method="configure"/> </service> - <service id="foo.baz" class="%baz_class%" factory-method="getInstance" factory-class="%baz_class%"> - <configurator class="%baz_class%" method="configureStatic1"/> - </service> <service id="foo_bar" class="%foo_class%" scope="prototype"/> <service id="method_call1" class="Bar\FooClass"> <file>%path%foo.php</file> @@ -57,7 +59,6 @@ <argument type="expression">service("foo").foo() ~ (container.hasparameter("foo") ? parameter("foo") : "default")</argument> </call> </service> - <service id="factory_service" class="Bar" factory-method="getInstance" factory-service="foo.baz"/> <service id="foo_with_inline" class="Foo"> <call method="setBar"> <argument type="service" id="inlined"/> @@ -74,12 +75,7 @@ <argument type="service" id="foo_with_inline"/> </call> </service> - <service id="request" class="Request" synthetic="true" synchronized="true"/> - <service id="depends_on_request" class="stdClass"> - <call method="setRequest"> - <argument type="service" id="request" on-invalid="null" strict="false"/> - </call> - </service> + <service id="request" class="Request" synthetic="true"/> <service id="configurator_service" class="ConfClass" public="false"> <call method="setFoo"> <argument type="service" id="baz"/> @@ -94,6 +90,9 @@ <service id="new_factory" class="FactoryClass" public="false"> <property name="foo">bar</property> </service> + <service id="factory_service" class="Bar"> + <factory service="foo.baz" method="getInstance"/> + </service> <service id="new_factory_service" class="FooBarBaz"> <property name="foo">bar</property> <factory service="new_factory" method="getInstance"/> diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/withdoctype.xml b/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/withdoctype.xml similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/withdoctype.xml rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/withdoctype.xml diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/bad_calls.yml b/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/bad_calls.yml similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/bad_calls.yml rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/bad_calls.yml diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/bad_import.yml b/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/bad_import.yml similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/bad_import.yml rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/bad_import.yml diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/bad_imports.yml b/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/bad_imports.yml similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/bad_imports.yml rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/bad_imports.yml diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/bad_parameters.yml b/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/bad_parameters.yml similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/bad_parameters.yml rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/bad_parameters.yml diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/bad_service.yml b/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/bad_service.yml similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/bad_service.yml rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/bad_service.yml diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/bad_services.yml b/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/bad_services.yml similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/bad_services.yml rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/bad_services.yml diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/badtag1.yml b/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/badtag1.yml similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/badtag1.yml rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/badtag1.yml diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/badtag2.yml b/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/badtag2.yml similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/badtag2.yml rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/badtag2.yml diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/badtag3.yml b/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/badtag3.yml similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/badtag3.yml rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/badtag3.yml diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/badtag4.yml b/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/badtag4.yml similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/badtag4.yml rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/badtag4.yml diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/legacy-services6.yml b/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/legacy-services6.yml new file mode 100644 index 0000000000000000000000000000000000000000..d6ca937a5ede2720ed6d97d7aa2bcf5280f58656 --- /dev/null +++ b/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/legacy-services6.yml @@ -0,0 +1,3 @@ +services: + constructor: { class: FooClass, factory_method: getInstance } + factory_service: { class: BazClass, factory_method: getInstance, factory_service: baz_factory } diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/legacy-services9.yml b/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/legacy-services9.yml new file mode 100644 index 0000000000000000000000000000000000000000..64d17262aa307ce5ec62cc31afc424ca92b99f33 --- /dev/null +++ b/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/legacy-services9.yml @@ -0,0 +1,28 @@ +parameters: + baz_class: BazClass + foo: bar + +services: + foo: + class: Bar\FooClass + tags: + - { name: foo, foo: foo } + - { name: foo, bar: bar } + factory_class: Bar\FooClass + factory_method: getInstance + arguments: [foo, '@foo.baz', { '%foo%': 'foo is %foo%', foobar: '%foo%' }, true, '@service_container'] + properties: { foo: bar, moo: '@foo.baz', qux: { '%foo%': 'foo is %foo%', foobar: '%foo%' } } + calls: + - [setBar, ['@bar']] + - [initialize, { }] + + configurator: sc_configure + foo.baz: + class: %baz_class% + factory_class: %baz_class% + factory_method: getInstance + configurator: ['%baz_class%', configureStatic1] + factory_service: + class: Bar + factory_method: getInstance + factory_service: foo.baz diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/nonvalid1.yml b/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/nonvalid1.yml similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/nonvalid1.yml rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/nonvalid1.yml diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/nonvalid2.yml b/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/nonvalid2.yml similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/nonvalid2.yml rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/nonvalid2.yml diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services1.yml b/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services1.yml similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services1.yml rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services1.yml diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services10.yml b/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services10.yml similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services10.yml rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services10.yml diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services11.yml b/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services11.yml similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services11.yml rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services11.yml diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services13.yml b/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services13.yml similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services13.yml rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services13.yml diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services14.yml b/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services14.yml similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services14.yml rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services14.yml diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services2.yml b/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services2.yml similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services2.yml rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services2.yml diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services20.yml b/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services20.yml new file mode 100644 index 0000000000000000000000000000000000000000..847f656886d5d7633e6504123d9ae6a43dc7eb47 --- /dev/null +++ b/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services20.yml @@ -0,0 +1,9 @@ +services: + request: + class: Request + synthetic: true + synchronized: true + depends_on_request: + class: stdClass + calls: + - [setRequest, ['@?request']] diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services21.yml b/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services21.yml new file mode 100644 index 0000000000000000000000000000000000000000..da717a8bb2967495f8f9595d785c33dce66c3eae --- /dev/null +++ b/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services21.yml @@ -0,0 +1,15 @@ +services: + manager: + class: UserManager + arguments: + - true + calls: + - method: setLogger + arguments: + - @logger + - method: setClass + arguments: + - User + tags: + - name: manager + alias: user diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services3.yml b/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services3.yml similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services3.yml rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services3.yml diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services4.yml b/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services4.yml similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services4.yml rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services4.yml diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services4_bad_import.yml b/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services4_bad_import.yml similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services4_bad_import.yml rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services4_bad_import.yml diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services6.yml b/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services6.yml similarity index 89% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services6.yml rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services6.yml index 398604a553148ffefb6c7b739efbf73daceb8851..8820b274ee20df91db55c794c472d0940f1ced4a 100644 --- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services6.yml +++ b/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services6.yml @@ -4,7 +4,6 @@ services: scope.container: { class: FooClass, scope: container } scope.custom: { class: FooClass, scope: custom } scope.prototype: { class: FooClass, scope: prototype } - constructor: { class: FooClass, factory_method: getInstance } file: { class: FooClass, file: %path%/foo.php } arguments: { class: FooClass, arguments: [foo, @foo, [true, false]] } configurator1: { class: FooClass, configurator: sc_configure } @@ -24,7 +23,6 @@ services: another_alias_for_foo: alias: foo public: false - factory_service: { class: BazClass, factory_method: getInstance, factory_service: baz_factory } request: class: Request synthetic: true diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services7.yml b/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services7.yml similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services7.yml rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services7.yml diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services8.yml b/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services8.yml similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services8.yml rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services8.yml diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services9.yml b/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services9.yml similarity index 87% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services9.yml rename to core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services9.yml index 1d3b8042979fff9a037a4e490a1c74f8a207d262..fdab85fc7e058c0ffb89cdd3692b8738f604ee59 100644 --- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/yaml/services9.yml +++ b/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services9.yml @@ -9,24 +9,22 @@ services: tags: - { name: foo, foo: foo } - { name: foo, bar: bar, baz: baz } - factory_class: Bar\FooClass - factory_method: getInstance arguments: [foo, '@foo.baz', { '%foo%': 'foo is %foo%', foobar: '%foo%' }, true, '@service_container'] properties: { foo: bar, moo: '@foo.baz', qux: { '%foo%': 'foo is %foo%', foobar: '%foo%' } } calls: - [setBar, ['@bar']] - [initialize, { }] + factory: [Bar\FooClass, getInstance] configurator: sc_configure + foo.baz: + class: %baz_class% + factory: ['%baz_class%', getInstance] + configurator: ['%baz_class%', configureStatic1] bar: class: Bar\FooClass arguments: [foo, '@foo.baz', '%foo_bar%'] configurator: ['@foo.baz', configure] - foo.baz: - class: %baz_class% - factory_class: %baz_class% - factory_method: getInstance - configurator: ['%baz_class%', configureStatic1] foo_bar: class: %foo_class% scope: prototype @@ -40,10 +38,6 @@ services: - [setBar, ['@?foobaz']] - [setBar, ['@=service("foo").foo() ~ (container.hasparameter("foo") ? parameter("foo") : "default")']] - factory_service: - class: Bar - factory_method: getInstance - factory_service: foo.baz foo_with_inline: class: Foo calls: @@ -64,12 +58,6 @@ services: request: class: Request synthetic: true - synchronized: true - depends_on_request: - class: stdClass - calls: - - [setRequest, ['@?request']] - configurator_service: class: ConfClass public: false @@ -92,6 +80,9 @@ services: class: FactoryClass public: false properties: { foo: bar } + factory_service: + class: Bar + factory: ['@foo.baz', getInstance] new_factory_service: class: FooBarBaz properties: { foo: bar } diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/LazyProxy/Instantiator/RealServiceInstantiatorTest.php b/core/vendor/symfony/dependency-injection/Tests/LazyProxy/Instantiator/RealServiceInstantiatorTest.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/LazyProxy/Instantiator/RealServiceInstantiatorTest.php rename to core/vendor/symfony/dependency-injection/Tests/LazyProxy/Instantiator/RealServiceInstantiatorTest.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/LazyProxy/PhpDumper/NullDumperTest.php b/core/vendor/symfony/dependency-injection/Tests/LazyProxy/PhpDumper/NullDumperTest.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/LazyProxy/PhpDumper/NullDumperTest.php rename to core/vendor/symfony/dependency-injection/Tests/LazyProxy/PhpDumper/NullDumperTest.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/LegacyContainerBuilderTest.php b/core/vendor/symfony/dependency-injection/Tests/LegacyContainerBuilderTest.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/LegacyContainerBuilderTest.php rename to core/vendor/symfony/dependency-injection/Tests/LegacyContainerBuilderTest.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/LegacyDefinitionTest.php b/core/vendor/symfony/dependency-injection/Tests/LegacyDefinitionTest.php similarity index 93% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/LegacyDefinitionTest.php rename to core/vendor/symfony/dependency-injection/Tests/LegacyDefinitionTest.php index b85d81f48153d53d35a7ecc584c0ff01c2102d58..437b77b31b05c02187fde7b77a2756f3194b6313 100644 --- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/LegacyDefinitionTest.php +++ b/core/vendor/symfony/dependency-injection/Tests/LegacyDefinitionTest.php @@ -18,6 +18,11 @@ */ class LegacyDefinitionTest extends \PHPUnit_Framework_TestCase { + protected function setUp() + { + $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED); + } + public function testSetGetFactoryClass() { $def = new Definition('stdClass'); diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Loader/ClosureLoaderTest.php b/core/vendor/symfony/dependency-injection/Tests/Loader/ClosureLoaderTest.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Loader/ClosureLoaderTest.php rename to core/vendor/symfony/dependency-injection/Tests/Loader/ClosureLoaderTest.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Loader/IniFileLoaderTest.php b/core/vendor/symfony/dependency-injection/Tests/Loader/IniFileLoaderTest.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Loader/IniFileLoaderTest.php rename to core/vendor/symfony/dependency-injection/Tests/Loader/IniFileLoaderTest.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Loader/PhpFileLoaderTest.php b/core/vendor/symfony/dependency-injection/Tests/Loader/PhpFileLoaderTest.php similarity index 96% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Loader/PhpFileLoaderTest.php rename to core/vendor/symfony/dependency-injection/Tests/Loader/PhpFileLoaderTest.php index 505f710cbeb1ac31cdfe9f3400d5e10c1f8dd962..5ae097ca7d1e9135a03623c30d379819ab17e230 100644 --- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Loader/PhpFileLoaderTest.php +++ b/core/vendor/symfony/dependency-injection/Tests/Loader/PhpFileLoaderTest.php @@ -12,7 +12,6 @@ namespace Symfony\Component\DependencyInjection\Tests\Loader; use Symfony\Component\DependencyInjection\ContainerBuilder; -use Symfony\Component\Config\Loader\Loader; use Symfony\Component\DependencyInjection\Loader\PhpFileLoader; use Symfony\Component\Config\FileLocator; diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Loader/XmlFileLoaderTest.php b/core/vendor/symfony/dependency-injection/Tests/Loader/XmlFileLoaderTest.php similarity index 92% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Loader/XmlFileLoaderTest.php rename to core/vendor/symfony/dependency-injection/Tests/Loader/XmlFileLoaderTest.php index ab1cb3221a2d0c382932315966bc365633fb9184..501d680fcc41ea974c6bc1ceb8050850089d821b 100644 --- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Loader/XmlFileLoaderTest.php +++ b/core/vendor/symfony/dependency-injection/Tests/Loader/XmlFileLoaderTest.php @@ -14,7 +14,6 @@ use Symfony\Component\DependencyInjection\ContainerInterface; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\Reference; -use Symfony\Component\Config\Loader\Loader; use Symfony\Component\DependencyInjection\Loader\XmlFileLoader; use Symfony\Component\DependencyInjection\Loader\YamlFileLoader; use Symfony\Component\DependencyInjection\Loader\IniFileLoader; @@ -191,6 +190,24 @@ public function testLoadAnonymousServices() $this->assertEquals('BazClass', $inner->getClass(), '->load() uses the same configuration as for the anonymous ones'); } + /** + * @group legacy + */ + public function testLegacyLoadServices() + { + $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED); + + $container = new ContainerBuilder(); + $loader = new XmlFileLoader($container, new FileLocator(self::$fixturesPath.'/xml')); + $loader->load('legacy-services6.xml'); + $services = $container->getDefinitions(); + $this->assertEquals('FooClass', $services['constructor']->getClass()); + $this->assertEquals('getInstance', $services['constructor']->getFactoryMethod()); + $this->assertNull($services['factory_service']->getClass()); + $this->assertEquals('baz_factory', $services['factory_service']->getFactoryService()); + $this->assertEquals('getInstance', $services['factory_service']->getFactoryMethod()); + } + public function testLoadServices() { $container = new ContainerBuilder(); @@ -203,7 +220,6 @@ public function testLoadServices() $this->assertEquals('container', $services['scope.container']->getScope()); $this->assertEquals('custom', $services['scope.custom']->getScope()); $this->assertEquals('prototype', $services['scope.prototype']->getScope()); - $this->assertEquals('getInstance', $services['constructor']->getFactoryMethod(), '->load() parses the factory-method attribute'); $this->assertEquals('%path%/foo.php', $services['file']->getFile(), '->load() parses the file tag'); $this->assertEquals(array('foo', new Reference('foo'), array(true, false)), $services['arguments']->getArguments(), '->load() parses the argument tags'); $this->assertEquals('sc_configure', $services['configurator1']->getConfigurator(), '->load() parses the configurator tag'); @@ -211,15 +227,12 @@ public function testLoadServices() $this->assertEquals(array('BazClass', 'configureStatic'), $services['configurator3']->getConfigurator(), '->load() parses the configurator tag'); $this->assertEquals(array(array('setBar', array()), array('setBar', array(new Expression('service("foo").foo() ~ (container.hasparameter("foo") ? parameter("foo") : "default")')))), $services['method_call1']->getMethodCalls(), '->load() parses the method_call tag'); $this->assertEquals(array(array('setBar', array('foo', new Reference('foo'), array(true, false)))), $services['method_call2']->getMethodCalls(), '->load() parses the method_call tag'); - $this->assertNull($services['factory_service']->getClass()); - $this->assertEquals('getInstance', $services['factory_service']->getFactoryMethod()); - $this->assertEquals('baz_factory', $services['factory_service']->getFactoryService()); $this->assertEquals('factory', $services['new_factory1']->getFactory(), '->load() parses the factory tag'); $this->assertEquals(array(new Reference('baz', ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE, false), 'getClass'), $services['new_factory2']->getFactory(), '->load() parses the factory tag'); $this->assertEquals(array('BazClass', 'getInstance'), $services['new_factory3']->getFactory(), '->load() parses the factory tag'); $this->assertTrue($services['request']->isSynthetic(), '->load() parses the synthetic flag'); - $this->assertTrue($services['request']->isSynchronized(), '->load() parses the synchronized flag'); + $this->assertTrue($services['request']->isSynchronized(false), '->load() parses the synchronized flag'); $this->assertTrue($services['request']->isLazy(), '->load() parses the lazy flag'); $aliases = $container->getAliases(); @@ -453,4 +466,33 @@ public function testLoadIndexedArguments() $this->assertEquals(array('index_0' => 'app'), $container->findDefinition('logger')->getArguments()); } + + public function testLoadInlinedServices() + { + $container = new ContainerBuilder(); + $loader = new XmlFileLoader($container, new FileLocator(self::$fixturesPath.'/xml')); + $loader->load('services21.xml'); + + $foo = $container->getDefinition('foo'); + + $fooFactory = $foo->getFactory(); + $this->assertInstanceOf('Symfony\Component\DependencyInjection\Definition', $fooFactory[0]); + $this->assertSame('FooFactory', $fooFactory[0]->getClass()); + $this->assertSame('createFoo', $fooFactory[1]); + + $fooFactoryFactory = $fooFactory[0]->getFactory(); + $this->assertInstanceOf('Symfony\Component\DependencyInjection\Definition', $fooFactoryFactory[0]); + $this->assertSame('Foobar', $fooFactoryFactory[0]->getClass()); + $this->assertSame('createFooFactory', $fooFactoryFactory[1]); + + $fooConfigurator = $foo->getConfigurator(); + $this->assertInstanceOf('Symfony\Component\DependencyInjection\Definition', $fooConfigurator[0]); + $this->assertSame('Bar', $fooConfigurator[0]->getClass()); + $this->assertSame('configureFoo', $fooConfigurator[1]); + + $barConfigurator = $fooConfigurator[0]->getConfigurator(); + $this->assertInstanceOf('Symfony\Component\DependencyInjection\Definition', $barConfigurator[0]); + $this->assertSame('Baz', $barConfigurator[0]->getClass()); + $this->assertSame('configureBar', $barConfigurator[1]); + } } diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Loader/YamlFileLoaderTest.php b/core/vendor/symfony/dependency-injection/Tests/Loader/YamlFileLoaderTest.php similarity index 90% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Loader/YamlFileLoaderTest.php rename to core/vendor/symfony/dependency-injection/Tests/Loader/YamlFileLoaderTest.php index 3de0843dfbdfb050ed286c0d31de99f79ba38698..716aba558686662190ef1a23f7bdf308155cfcfa 100644 --- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Loader/YamlFileLoaderTest.php +++ b/core/vendor/symfony/dependency-injection/Tests/Loader/YamlFileLoaderTest.php @@ -13,7 +13,6 @@ use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\Reference; -use Symfony\Component\Config\Loader\Loader; use Symfony\Component\DependencyInjection\Loader\XmlFileLoader; use Symfony\Component\DependencyInjection\Loader\YamlFileLoader; use Symfony\Component\DependencyInjection\Loader\IniFileLoader; @@ -120,6 +119,24 @@ public function testLoadImports() $loader->load('services4_bad_import.yml'); } + /** + * @group legacy + */ + public function testLegacyLoadServices() + { + $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED); + + $container = new ContainerBuilder(); + $loader = new YamlFileLoader($container, new FileLocator(self::$fixturesPath.'/yaml')); + $loader->load('legacy-services6.yml'); + $services = $container->getDefinitions(); + $this->assertEquals('FooClass', $services['constructor']->getClass()); + $this->assertEquals('getInstance', $services['constructor']->getFactoryMethod()); + $this->assertEquals('BazClass', $services['factory_service']->getClass()); + $this->assertEquals('baz_factory', $services['factory_service']->getFactoryService()); + $this->assertEquals('getInstance', $services['factory_service']->getFactoryMethod()); + } + public function testLoadServices() { $container = new ContainerBuilder(); @@ -132,7 +149,6 @@ public function testLoadServices() $this->assertEquals('container', $services['scope.container']->getScope()); $this->assertEquals('custom', $services['scope.custom']->getScope()); $this->assertEquals('prototype', $services['scope.prototype']->getScope()); - $this->assertEquals('getInstance', $services['constructor']->getFactoryMethod(), '->load() parses the factory_method attribute'); $this->assertEquals('%path%/foo.php', $services['file']->getFile(), '->load() parses the file tag'); $this->assertEquals(array('foo', new Reference('foo'), array(true, false)), $services['arguments']->getArguments(), '->load() parses the argument tags'); $this->assertEquals('sc_configure', $services['configurator1']->getConfigurator(), '->load() parses the configurator tag'); @@ -140,13 +156,12 @@ public function testLoadServices() $this->assertEquals(array('BazClass', 'configureStatic'), $services['configurator3']->getConfigurator(), '->load() parses the configurator tag'); $this->assertEquals(array(array('setBar', array()), array('setBar', array()), array('setBar', array(new Expression('service("foo").foo() ~ (container.hasparameter("foo") ? parameter("foo") : "default")')))), $services['method_call1']->getMethodCalls(), '->load() parses the method_call tag'); $this->assertEquals(array(array('setBar', array('foo', new Reference('foo'), array(true, false)))), $services['method_call2']->getMethodCalls(), '->load() parses the method_call tag'); - $this->assertEquals('baz_factory', $services['factory_service']->getFactoryService()); $this->assertEquals('factory', $services['new_factory1']->getFactory(), '->load() parses the factory tag'); $this->assertEquals(array(new Reference('baz'), 'getClass'), $services['new_factory2']->getFactory(), '->load() parses the factory tag'); $this->assertEquals(array('BazClass', 'getInstance'), $services['new_factory3']->getFactory(), '->load() parses the factory tag'); $this->assertTrue($services['request']->isSynthetic(), '->load() parses the synthetic flag'); - $this->assertTrue($services['request']->isSynchronized(), '->load() parses the synchronized flag'); + $this->assertTrue($services['request']->isSynchronized(false), '->load() parses the synchronized flag'); $this->assertTrue($services['request']->isLazy(), '->load() parses the lazy flag'); $aliases = $container->getAliases(); @@ -206,6 +221,7 @@ public function testSupports() $loader = new YamlFileLoader(new ContainerBuilder(), new FileLocator()); $this->assertTrue($loader->supports('foo.yml'), '->supports() returns true if the resource is loadable'); + $this->assertTrue($loader->supports('foo.yaml'), '->supports() returns true if the resource is loadable'); $this->assertFalse($loader->supports('foo.foo'), '->supports() returns true if the resource is loadable'); } @@ -254,4 +270,16 @@ public function testTagWithAttributeArrayThrowsException() $this->assertStringStartsWith('A "tags" attribute must be of a scalar-type for service "foo_service", tag "foo", attribute "bar"', $e->getMessage(), '->load() throws an InvalidArgumentException if a tag-attribute is not a scalar'); } } + + public function testLoadYamlOnlyWithKeys() + { + $container = new ContainerBuilder(); + $loader = new YamlFileLoader($container, new FileLocator(self::$fixturesPath.'/yaml')); + $loader->load('services21.yml'); + + $definition = $container->getDefinition('manager'); + $this->assertEquals(array(array('setLogger', array(new Reference('logger'))), array('setClass', array('User'))), $definition->getMethodCalls()); + $this->assertEquals(array(true), $definition->getArguments()); + $this->assertEquals(array('manager' => array(array('alias' => 'user'))), $definition->getTags()); + } } diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/ParameterBag/FrozenParameterBagTest.php b/core/vendor/symfony/dependency-injection/Tests/ParameterBag/FrozenParameterBagTest.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/ParameterBag/FrozenParameterBagTest.php rename to core/vendor/symfony/dependency-injection/Tests/ParameterBag/FrozenParameterBagTest.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/ParameterBag/ParameterBagTest.php b/core/vendor/symfony/dependency-injection/Tests/ParameterBag/ParameterBagTest.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/ParameterBag/ParameterBagTest.php rename to core/vendor/symfony/dependency-injection/Tests/ParameterBag/ParameterBagTest.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/ParameterTest.php b/core/vendor/symfony/dependency-injection/Tests/ParameterTest.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/ParameterTest.php rename to core/vendor/symfony/dependency-injection/Tests/ParameterTest.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/ReferenceTest.php b/core/vendor/symfony/dependency-injection/Tests/ReferenceTest.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/ReferenceTest.php rename to core/vendor/symfony/dependency-injection/Tests/ReferenceTest.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Variable.php b/core/vendor/symfony/dependency-injection/Variable.php similarity index 100% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Variable.php rename to core/vendor/symfony/dependency-injection/Variable.php diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/composer.json b/core/vendor/symfony/dependency-injection/composer.json similarity index 76% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/composer.json rename to core/vendor/symfony/dependency-injection/composer.json index b550d877fbdcc587db69c249c5ae404d6b39eb31..bbfed43d4589977b96eecba1035d2eb30aea3463 100644 --- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/composer.json +++ b/core/vendor/symfony/dependency-injection/composer.json @@ -3,7 +3,7 @@ "type": "library", "description": "Symfony DependencyInjection Component", "keywords": [], - "homepage": "http://symfony.com", + "homepage": "https://symfony.com", "license": "MIT", "authors": [ { @@ -12,11 +12,11 @@ }, { "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" + "homepage": "https://symfony.com/contributors" } ], "require": { - "php": ">=5.3.3" + "php": ">=5.3.9" }, "require-dev": { "symfony/phpunit-bridge": "~2.7", @@ -33,13 +33,12 @@ "symfony/proxy-manager-bridge": "Generate service proxies to lazy load them" }, "autoload": { - "psr-0": { "Symfony\\Component\\DependencyInjection\\": "" } + "psr-4": { "Symfony\\Component\\DependencyInjection\\": "" } }, - "target-dir": "Symfony/Component/DependencyInjection", "minimum-stability": "dev", "extra": { "branch-alias": { - "dev-master": "2.6-dev" + "dev-master": "2.7-dev" } } } diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/phpunit.xml.dist b/core/vendor/symfony/dependency-injection/phpunit.xml.dist similarity index 99% rename from core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/phpunit.xml.dist rename to core/vendor/symfony/dependency-injection/phpunit.xml.dist index 17a217226da3d177f8acae20b4571e32f02d2888..86252d0456ba9aace41180276b4bf675a48329bb 100644 --- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/phpunit.xml.dist +++ b/core/vendor/symfony/dependency-injection/phpunit.xml.dist @@ -9,6 +9,7 @@ <php> <ini name="error_reporting" value="-1" /> </php> + <testsuites> <testsuite name="Symfony DependencyInjection Component Test Suite"> <directory>./Tests/</directory> diff --git a/core/vendor/symfony/dom-crawler/Symfony/Component/DomCrawler/FormFieldRegistry.php b/core/vendor/symfony/dom-crawler/Symfony/Component/DomCrawler/FormFieldRegistry.php index 6a38e866918592f5d0c826e1da311fd51a2213dd..edb2788910de20bf2aa2bb7098e230b09d5ea014 100644 --- a/core/vendor/symfony/dom-crawler/Symfony/Component/DomCrawler/FormFieldRegistry.php +++ b/core/vendor/symfony/dom-crawler/Symfony/Component/DomCrawler/FormFieldRegistry.php @@ -124,13 +124,15 @@ public function has($name) public function set($name, $value) { $target = &$this->get($name); - if (!is_array($value) || $target instanceof Field\ChoiceFormField) { + if ((!is_array($value) && $target instanceof Field\FormField) || $target instanceof Field\ChoiceFormField) { $target->setValue($value); - } else { + } elseif (is_array($value)) { $fields = self::create($name, $value); foreach ($fields->all() as $k => $v) { $this->set($k, $v); } + } else { + throw new \InvalidArgumentException(sprintf('Cannot set value on a compound field "%s".', $name)); } } diff --git a/core/vendor/symfony/dom-crawler/Symfony/Component/DomCrawler/Link.php b/core/vendor/symfony/dom-crawler/Symfony/Component/DomCrawler/Link.php index 8db686a9f763f2f80dfbc8a2e88971cc9c9e40b7..a81db36da8c0ac473d959785448e87e18f8db7bb 100644 --- a/core/vendor/symfony/dom-crawler/Symfony/Component/DomCrawler/Link.php +++ b/core/vendor/symfony/dom-crawler/Symfony/Component/DomCrawler/Link.php @@ -163,7 +163,7 @@ protected function canonicalizePath($path) if ('..' === $segment) { array_pop($output); } elseif ('.' !== $segment) { - array_push($output, $segment); + $output[] = $segment; } } diff --git a/core/vendor/symfony/dom-crawler/Symfony/Component/DomCrawler/Tests/FormTest.php b/core/vendor/symfony/dom-crawler/Symfony/Component/DomCrawler/Tests/FormTest.php index 03080bce0fed2a22d634d55c2e8140f4070b875a..e2c19047389069c568e37b4a0432b5cb5ab6540e 100644 --- a/core/vendor/symfony/dom-crawler/Symfony/Component/DomCrawler/Tests/FormTest.php +++ b/core/vendor/symfony/dom-crawler/Symfony/Component/DomCrawler/Tests/FormTest.php @@ -807,6 +807,31 @@ public function testFormRegistrySetValues() )); } + /** + * @expectedException \InvalidArgumentException + * @expectedExceptionMessage Cannot set value on a compound field "foo[bar]". + */ + public function testFormRegistrySetValueOnCompoundField() + { + $registry = new FormFieldRegistry(); + $registry->add($this->getFormFieldMock('foo[bar][baz]')); + + $registry->set('foo[bar]', 'fbb'); + } + + /** + * @expectedException InvalidArgumentException + * @expectedExceptionMessage Unreachable field "0" + */ + public function testFormRegistrySetArrayOnNotCompoundField() + { + + $registry = new FormFieldRegistry(); + $registry->add($this->getFormFieldMock('bar')); + + $registry->set('bar', array('baz')); + } + public function testDifferentFieldTypesWithSameName() { $dom = new \DOMDocument(); diff --git a/core/vendor/symfony/dom-crawler/Symfony/Component/DomCrawler/composer.json b/core/vendor/symfony/dom-crawler/Symfony/Component/DomCrawler/composer.json index 4d4aaae7f29091c0e5b5243154be076f6a256f94..c84959add7716e28c88a74e78da84b7ed58e6d1c 100644 --- a/core/vendor/symfony/dom-crawler/Symfony/Component/DomCrawler/composer.json +++ b/core/vendor/symfony/dom-crawler/Symfony/Component/DomCrawler/composer.json @@ -3,7 +3,7 @@ "type": "library", "description": "Symfony DomCrawler Component", "keywords": [], - "homepage": "http://symfony.com", + "homepage": "https://symfony.com", "license": "MIT", "authors": [ { @@ -12,7 +12,7 @@ }, { "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" + "homepage": "https://symfony.com/contributors" } ], "require": { diff --git a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/CHANGELOG.md b/core/vendor/symfony/event-dispatcher/CHANGELOG.md similarity index 100% rename from core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/CHANGELOG.md rename to core/vendor/symfony/event-dispatcher/CHANGELOG.md diff --git a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/ContainerAwareEventDispatcher.php b/core/vendor/symfony/event-dispatcher/ContainerAwareEventDispatcher.php similarity index 98% rename from core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/ContainerAwareEventDispatcher.php rename to core/vendor/symfony/event-dispatcher/ContainerAwareEventDispatcher.php index af0b6cef527c76064b6fb9745c9c45e1aa8deee6..76f0e387762a38da24688e2831ea6f450b837d97 100644 --- a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/ContainerAwareEventDispatcher.php +++ b/core/vendor/symfony/event-dispatcher/ContainerAwareEventDispatcher.php @@ -121,7 +121,7 @@ public function hasListeners($eventName = null) public function getListeners($eventName = null) { if (null === $eventName) { - foreach (array_keys($this->listenerIds) as $serviceEventName) { + foreach ($this->listenerIds as $serviceEventName => $args) { $this->lazyLoad($serviceEventName); } } else { diff --git a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Debug/TraceableEventDispatcher.php b/core/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php similarity index 90% rename from core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Debug/TraceableEventDispatcher.php rename to core/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php index 2119b81b3a91dce62cb3939c2645548a76fff9e5..7653ccfb7175ff8264b4ad2c9e8298d857a5b711 100644 --- a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Debug/TraceableEventDispatcher.php +++ b/core/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php @@ -31,6 +31,7 @@ class TraceableEventDispatcher implements TraceableEventDispatcherInterface private $called; private $dispatcher; + private $wrappedListeners; /** * Constructor. @@ -45,6 +46,7 @@ public function __construct(EventDispatcherInterface $dispatcher, Stopwatch $sto $this->stopwatch = $stopwatch; $this->logger = $logger; $this->called = array(); + $this->wrappedListeners = array(); } /** @@ -68,6 +70,16 @@ public function addSubscriber(EventSubscriberInterface $subscriber) */ public function removeListener($eventName, $listener) { + if (isset($this->wrappedListeners[$eventName])) { + foreach ($this->wrappedListeners[$eventName] as $index => $wrappedListener) { + if ($wrappedListener->getWrappedListener() === $listener) { + $listener = $wrappedListener; + unset($this->wrappedListeners[$eventName][$index]); + break; + } + } + } + return $this->dispatcher->removeListener($eventName, $listener); } @@ -146,7 +158,7 @@ public function getNotCalledListeners() $allListeners = $this->getListeners(); } catch (\Exception $e) { if (null !== $this->logger) { - $this->logger->info(sprintf('An exception was thrown while getting the uncalled listeners (%s)', $e->getMessage()), array('exception' => $e)); + $this->logger->info('An exception was thrown while getting the uncalled listeners.', array('exception' => $e)); } // unable to retrieve the uncalled listeners @@ -216,12 +228,15 @@ private function preProcess($eventName) $this->dispatcher->removeListener($eventName, $listener); $info = $this->getListenerInfo($listener, $eventName); $name = isset($info['class']) ? $info['class'] : $info['type']; - $this->dispatcher->addListener($eventName, new WrappedListener($listener, $name, $this->stopwatch, $this)); + $wrappedListener = new WrappedListener($listener, $name, $this->stopwatch, $this); + $this->wrappedListeners[$eventName][] = $wrappedListener; + $this->dispatcher->addListener($eventName, $wrappedListener); } } private function postProcess($eventName) { + unset($this->wrappedListeners[$eventName]); $skipped = false; foreach ($this->dispatcher->getListeners($eventName) as $listener) { if (!$listener instanceof WrappedListener) { // #12845: a new listener was added during dispatch. @@ -259,7 +274,7 @@ private function postProcess($eventName) } /** - * Returns information about the listener + * Returns information about the listener. * * @param object $listener The listener * @param string $eventName The event name diff --git a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Debug/TraceableEventDispatcherInterface.php b/core/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcherInterface.php similarity index 100% rename from core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Debug/TraceableEventDispatcherInterface.php rename to core/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcherInterface.php diff --git a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Debug/WrappedListener.php b/core/vendor/symfony/event-dispatcher/Debug/WrappedListener.php similarity index 100% rename from core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Debug/WrappedListener.php rename to core/vendor/symfony/event-dispatcher/Debug/WrappedListener.php diff --git a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/DependencyInjection/RegisterListenersPass.php b/core/vendor/symfony/event-dispatcher/DependencyInjection/RegisterListenersPass.php similarity index 100% rename from core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/DependencyInjection/RegisterListenersPass.php rename to core/vendor/symfony/event-dispatcher/DependencyInjection/RegisterListenersPass.php diff --git a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Event.php b/core/vendor/symfony/event-dispatcher/Event.php similarity index 81% rename from core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Event.php rename to core/vendor/symfony/event-dispatcher/Event.php index dc39b05d524e709daf31bc1487db4cf638871b68..e411ca81360ad140d0e1c7f08623f3e2cba04fa0 100644 --- a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Event.php +++ b/core/vendor/symfony/event-dispatcher/Event.php @@ -77,7 +77,7 @@ public function stopPropagation() * * @param EventDispatcherInterface $dispatcher * - * @deprecated Deprecated in 2.4, to be removed in 3.0. The event dispatcher is passed to the listener call. + * @deprecated since version 2.4, to be removed in 3.0. The event dispatcher is passed to the listener call. * * @api */ @@ -91,12 +91,14 @@ public function setDispatcher(EventDispatcherInterface $dispatcher) * * @return EventDispatcherInterface * - * @deprecated Deprecated in 2.4, to be removed in 3.0. The event dispatcher is passed to the listener call. + * @deprecated since version 2.4, to be removed in 3.0. The event dispatcher is passed to the listener call. * * @api */ public function getDispatcher() { + trigger_error('The '.__METHOD__.' method is deprecated since version 2.4 and will be removed in 3.0. The event dispatcher instance can be received in the listener call instead.', E_USER_DEPRECATED); + return $this->dispatcher; } @@ -105,12 +107,14 @@ public function getDispatcher() * * @return string * - * @deprecated Deprecated in 2.4, to be removed in 3.0. The event name is passed to the listener call. + * @deprecated since version 2.4, to be removed in 3.0. The event name is passed to the listener call. * * @api */ public function getName() { + trigger_error('The '.__METHOD__.' method is deprecated since version 2.4 and will be removed in 3.0. The event name can be received in the listener call instead.', E_USER_DEPRECATED); + return $this->name; } @@ -119,7 +123,7 @@ public function getName() * * @param string $name The event name. * - * @deprecated Deprecated in 2.4, to be removed in 3.0. The event name is passed to the listener call. + * @deprecated since version 2.4, to be removed in 3.0. The event name is passed to the listener call. * * @api */ diff --git a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/EventDispatcher.php b/core/vendor/symfony/event-dispatcher/EventDispatcher.php similarity index 98% rename from core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/EventDispatcher.php rename to core/vendor/symfony/event-dispatcher/EventDispatcher.php index 3b032fb081e34063a02b1a0adfc0cdeb299838ce..46c11100b34167cec63da4ff5a21b4f135ae94aa 100644 --- a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/EventDispatcher.php +++ b/core/vendor/symfony/event-dispatcher/EventDispatcher.php @@ -68,7 +68,7 @@ public function getListeners($eventName = null) return $this->sorted[$eventName]; } - foreach (array_keys($this->listeners) as $eventName) { + foreach ($this->listeners as $eventName => $eventListeners) { if (!isset($this->sorted[$eventName])) { $this->sortListeners($eventName); } diff --git a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/EventDispatcherInterface.php b/core/vendor/symfony/event-dispatcher/EventDispatcherInterface.php similarity index 96% rename from core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/EventDispatcherInterface.php rename to core/vendor/symfony/event-dispatcher/EventDispatcherInterface.php index efb7c5beca36be18c6056e4eb62b24d1d41c7d3b..9d9fc4d44c47973d2c201b8c5b16ffc0c9b6cb3a 100644 --- a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/EventDispatcherInterface.php +++ b/core/vendor/symfony/event-dispatcher/EventDispatcherInterface.php @@ -77,7 +77,7 @@ public function removeListener($eventName, $listener); public function removeSubscriber(EventSubscriberInterface $subscriber); /** - * Gets the listeners of a specific event or all listeners. + * Gets the listeners of a specific event or all listeners sorted by descending priority. * * @param string $eventName The name of the event * diff --git a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/EventSubscriberInterface.php b/core/vendor/symfony/event-dispatcher/EventSubscriberInterface.php similarity index 100% rename from core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/EventSubscriberInterface.php rename to core/vendor/symfony/event-dispatcher/EventSubscriberInterface.php diff --git a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/GenericEvent.php b/core/vendor/symfony/event-dispatcher/GenericEvent.php similarity index 97% rename from core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/GenericEvent.php rename to core/vendor/symfony/event-dispatcher/GenericEvent.php index a8955ca42fe7f3f3f0d10630acb89461c9d0028b..6458180a5aac3ac7f5e8243e1e71f00db3ae6f7a 100644 --- a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/GenericEvent.php +++ b/core/vendor/symfony/event-dispatcher/GenericEvent.php @@ -71,7 +71,7 @@ public function getArgument($key) return $this->arguments[$key]; } - throw new \InvalidArgumentException(sprintf('%s not found in %s', $key, $this->getName())); + throw new \InvalidArgumentException(sprintf('Argument "%s" not found.', $key)); } /** diff --git a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/ImmutableEventDispatcher.php b/core/vendor/symfony/event-dispatcher/ImmutableEventDispatcher.php similarity index 100% rename from core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/ImmutableEventDispatcher.php rename to core/vendor/symfony/event-dispatcher/ImmutableEventDispatcher.php diff --git a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/LICENSE b/core/vendor/symfony/event-dispatcher/LICENSE similarity index 100% rename from core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/LICENSE rename to core/vendor/symfony/event-dispatcher/LICENSE diff --git a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/README.md b/core/vendor/symfony/event-dispatcher/README.md similarity index 100% rename from core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/README.md rename to core/vendor/symfony/event-dispatcher/README.md diff --git a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/.gitignore b/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/.gitignore deleted file mode 100644 index c49a5d8df5c6548379f00c77fe572a7217bce218..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -vendor/ -composer.lock -phpunit.xml diff --git a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/AbstractEventDispatcherTest.php b/core/vendor/symfony/event-dispatcher/Tests/AbstractEventDispatcherTest.php similarity index 96% rename from core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/AbstractEventDispatcherTest.php rename to core/vendor/symfony/event-dispatcher/Tests/AbstractEventDispatcherTest.php index b9e4194960b6aaa7547569b80b78f4b79131c11e..5ff5be84d153592ee574aa4be02bd805c8e0d3f9 100644 --- a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/AbstractEventDispatcherTest.php +++ b/core/vendor/symfony/event-dispatcher/Tests/AbstractEventDispatcherTest.php @@ -118,10 +118,21 @@ public function testDispatch() $this->assertInstanceOf('Symfony\Component\EventDispatcher\Event', $this->dispatcher->dispatch(self::preFoo)); $event = new Event(); $return = $this->dispatcher->dispatch(self::preFoo, $event); - $this->assertEquals('pre.foo', $event->getName()); $this->assertSame($event, $return); } + /** + * @group legacy + */ + public function testLegacyDispatch() + { + $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED); + + $event = new Event(); + $return = $this->dispatcher->dispatch(self::preFoo, $event); + $this->assertEquals('pre.foo', $event->getName()); + } + public function testDispatchForClosure() { $invoked = 0; @@ -239,8 +250,13 @@ public function testRemoveSubscriberWithMultipleListeners() $this->assertFalse($this->dispatcher->hasListeners(self::preFoo)); } - public function testEventReceivesTheDispatcherInstance() + /** + * @group legacy + */ + public function testLegacyEventReceivesTheDispatcherInstance() { + $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED); + $dispatcher = null; $this->dispatcher->addListener('test', function ($event) use (&$dispatcher) { $dispatcher = $event->getDispatcher(); diff --git a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/ContainerAwareEventDispatcherTest.php b/core/vendor/symfony/event-dispatcher/Tests/ContainerAwareEventDispatcherTest.php similarity index 100% rename from core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/ContainerAwareEventDispatcherTest.php rename to core/vendor/symfony/event-dispatcher/Tests/ContainerAwareEventDispatcherTest.php diff --git a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/Debug/TraceableEventDispatcherTest.php b/core/vendor/symfony/event-dispatcher/Tests/Debug/TraceableEventDispatcherTest.php similarity index 91% rename from core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/Debug/TraceableEventDispatcherTest.php rename to core/vendor/symfony/event-dispatcher/Tests/Debug/TraceableEventDispatcherTest.php index 68b95236547aeb7f629d001a41a43f4367da172d..24e60024ff041dd4b73c669cc429672d41e36586 100644 --- a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/Debug/TraceableEventDispatcherTest.php +++ b/core/vendor/symfony/event-dispatcher/Tests/Debug/TraceableEventDispatcherTest.php @@ -12,6 +12,7 @@ namespace Symfony\Component\EventDispatcher\Tests\Debug; use Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher; +use Symfony\Component\EventDispatcher\EventDispatcherInterface; use Symfony\Component\EventDispatcher\EventSubscriberInterface; use Symfony\Component\EventDispatcher\EventDispatcher; use Symfony\Component\EventDispatcher\Event; @@ -174,6 +175,19 @@ public function testDispatchReusedEventNested() $dispatcher->dispatch('foo'); $this->assertTrue($nestedCall); } + + public function testListenerCanRemoveItselfWhenExecuted() + { + $eventDispatcher = new TraceableEventDispatcher(new EventDispatcher(), new Stopwatch()); + $listener1 = function ($event, $eventName, EventDispatcherInterface $dispatcher) use (&$listener1) { + $dispatcher->removeListener('foo', $listener1); + }; + $eventDispatcher->addListener('foo', $listener1); + $eventDispatcher->addListener('foo', function () {}); + $eventDispatcher->dispatch('foo'); + + $this->assertCount(1, $eventDispatcher->getListeners('foo'), 'expected listener1 to be removed'); + } } class EventSubscriber implements EventSubscriberInterface diff --git a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/DependencyInjection/RegisterListenersPassTest.php b/core/vendor/symfony/event-dispatcher/Tests/DependencyInjection/RegisterListenersPassTest.php similarity index 100% rename from core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/DependencyInjection/RegisterListenersPassTest.php rename to core/vendor/symfony/event-dispatcher/Tests/DependencyInjection/RegisterListenersPassTest.php diff --git a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/EventDispatcherTest.php b/core/vendor/symfony/event-dispatcher/Tests/EventDispatcherTest.php similarity index 100% rename from core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/EventDispatcherTest.php rename to core/vendor/symfony/event-dispatcher/Tests/EventDispatcherTest.php diff --git a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/EventTest.php b/core/vendor/symfony/event-dispatcher/Tests/EventTest.php similarity index 100% rename from core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/EventTest.php rename to core/vendor/symfony/event-dispatcher/Tests/EventTest.php diff --git a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/GenericEventTest.php b/core/vendor/symfony/event-dispatcher/Tests/GenericEventTest.php similarity index 100% rename from core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/GenericEventTest.php rename to core/vendor/symfony/event-dispatcher/Tests/GenericEventTest.php diff --git a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/ImmutableEventDispatcherTest.php b/core/vendor/symfony/event-dispatcher/Tests/ImmutableEventDispatcherTest.php similarity index 100% rename from core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/ImmutableEventDispatcherTest.php rename to core/vendor/symfony/event-dispatcher/Tests/ImmutableEventDispatcherTest.php diff --git a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/composer.json b/core/vendor/symfony/event-dispatcher/composer.json similarity index 75% rename from core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/composer.json rename to core/vendor/symfony/event-dispatcher/composer.json index a516d467030786eef69317fe49712b4569308b57..d7058629162500d30257da3427daa423b276251d 100644 --- a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/composer.json +++ b/core/vendor/symfony/event-dispatcher/composer.json @@ -3,7 +3,7 @@ "type": "library", "description": "Symfony EventDispatcher Component", "keywords": [], - "homepage": "http://symfony.com", + "homepage": "https://symfony.com", "license": "MIT", "authors": [ { @@ -12,11 +12,11 @@ }, { "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" + "homepage": "https://symfony.com/contributors" } ], "require": { - "php": ">=5.3.3" + "php": ">=5.3.9" }, "require-dev": { "symfony/phpunit-bridge": "~2.7", @@ -31,13 +31,12 @@ "symfony/http-kernel": "" }, "autoload": { - "psr-0": { "Symfony\\Component\\EventDispatcher\\": "" } + "psr-4": { "Symfony\\Component\\EventDispatcher\\": "" } }, - "target-dir": "Symfony/Component/EventDispatcher", "minimum-stability": "dev", "extra": { "branch-alias": { - "dev-master": "2.6-dev" + "dev-master": "2.7-dev" } } } diff --git a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/phpunit.xml.dist b/core/vendor/symfony/event-dispatcher/phpunit.xml.dist similarity index 99% rename from core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/phpunit.xml.dist rename to core/vendor/symfony/event-dispatcher/phpunit.xml.dist index b14fde575007da470d9fd7cecb4e90d03c7c80f8..ae0586e0b33def5c6c732216b6c56b00344e81c8 100644 --- a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/phpunit.xml.dist +++ b/core/vendor/symfony/event-dispatcher/phpunit.xml.dist @@ -9,6 +9,7 @@ <php> <ini name="error_reporting" value="-1" /> </php> + <testsuites> <testsuite name="Symfony EventDispatcher Component Test Suite"> <directory>./Tests/</directory> diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/AcceptHeader.php b/core/vendor/symfony/http-foundation/AcceptHeader.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/AcceptHeader.php rename to core/vendor/symfony/http-foundation/AcceptHeader.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/AcceptHeaderItem.php b/core/vendor/symfony/http-foundation/AcceptHeaderItem.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/AcceptHeaderItem.php rename to core/vendor/symfony/http-foundation/AcceptHeaderItem.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/ApacheRequest.php b/core/vendor/symfony/http-foundation/ApacheRequest.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/ApacheRequest.php rename to core/vendor/symfony/http-foundation/ApacheRequest.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/BinaryFileResponse.php b/core/vendor/symfony/http-foundation/BinaryFileResponse.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/BinaryFileResponse.php rename to core/vendor/symfony/http-foundation/BinaryFileResponse.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/CHANGELOG.md b/core/vendor/symfony/http-foundation/CHANGELOG.md similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/CHANGELOG.md rename to core/vendor/symfony/http-foundation/CHANGELOG.md diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Cookie.php b/core/vendor/symfony/http-foundation/Cookie.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Cookie.php rename to core/vendor/symfony/http-foundation/Cookie.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/ExpressionRequestMatcher.php b/core/vendor/symfony/http-foundation/ExpressionRequestMatcher.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/ExpressionRequestMatcher.php rename to core/vendor/symfony/http-foundation/ExpressionRequestMatcher.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/Exception/AccessDeniedException.php b/core/vendor/symfony/http-foundation/File/Exception/AccessDeniedException.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/Exception/AccessDeniedException.php rename to core/vendor/symfony/http-foundation/File/Exception/AccessDeniedException.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/Exception/FileException.php b/core/vendor/symfony/http-foundation/File/Exception/FileException.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/Exception/FileException.php rename to core/vendor/symfony/http-foundation/File/Exception/FileException.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/Exception/FileNotFoundException.php b/core/vendor/symfony/http-foundation/File/Exception/FileNotFoundException.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/Exception/FileNotFoundException.php rename to core/vendor/symfony/http-foundation/File/Exception/FileNotFoundException.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/Exception/UnexpectedTypeException.php b/core/vendor/symfony/http-foundation/File/Exception/UnexpectedTypeException.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/Exception/UnexpectedTypeException.php rename to core/vendor/symfony/http-foundation/File/Exception/UnexpectedTypeException.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/Exception/UploadException.php b/core/vendor/symfony/http-foundation/File/Exception/UploadException.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/Exception/UploadException.php rename to core/vendor/symfony/http-foundation/File/Exception/UploadException.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/File.php b/core/vendor/symfony/http-foundation/File/File.php similarity index 92% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/File.php rename to core/vendor/symfony/http-foundation/File/File.php index dc0e2f7656a922b1821ac7dae38d86903181ec90..b575c8592e3a3cb8e10174614716538b0ab8c797 100644 --- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/File.php +++ b/core/vendor/symfony/http-foundation/File/File.php @@ -87,20 +87,6 @@ public function getMimeType() return $guesser->guess($this->getPathname()); } - /** - * Returns the extension of the file. - * - * \SplFileInfo::getExtension() is not available before PHP 5.3.6 - * - * @return string The extension - * - * @api - */ - public function getExtension() - { - return pathinfo($this->getBasename(), PATHINFO_EXTENSION); - } - /** * Moves the file to a new location. * @@ -139,7 +125,7 @@ protected function getTargetFile($directory, $name = null) $target = rtrim($directory, '/\\').DIRECTORY_SEPARATOR.(null === $name ? $this->getBasename() : $this->getName($name)); - return new File($target, false); + return new self($target, false); } /** diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/MimeType/ExtensionGuesser.php b/core/vendor/symfony/http-foundation/File/MimeType/ExtensionGuesser.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/MimeType/ExtensionGuesser.php rename to core/vendor/symfony/http-foundation/File/MimeType/ExtensionGuesser.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/MimeType/ExtensionGuesserInterface.php b/core/vendor/symfony/http-foundation/File/MimeType/ExtensionGuesserInterface.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/MimeType/ExtensionGuesserInterface.php rename to core/vendor/symfony/http-foundation/File/MimeType/ExtensionGuesserInterface.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/MimeType/FileBinaryMimeTypeGuesser.php b/core/vendor/symfony/http-foundation/File/MimeType/FileBinaryMimeTypeGuesser.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/MimeType/FileBinaryMimeTypeGuesser.php rename to core/vendor/symfony/http-foundation/File/MimeType/FileBinaryMimeTypeGuesser.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/MimeType/FileinfoMimeTypeGuesser.php b/core/vendor/symfony/http-foundation/File/MimeType/FileinfoMimeTypeGuesser.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/MimeType/FileinfoMimeTypeGuesser.php rename to core/vendor/symfony/http-foundation/File/MimeType/FileinfoMimeTypeGuesser.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/MimeType/MimeTypeExtensionGuesser.php b/core/vendor/symfony/http-foundation/File/MimeType/MimeTypeExtensionGuesser.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/MimeType/MimeTypeExtensionGuesser.php rename to core/vendor/symfony/http-foundation/File/MimeType/MimeTypeExtensionGuesser.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/MimeType/MimeTypeGuesser.php b/core/vendor/symfony/http-foundation/File/MimeType/MimeTypeGuesser.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/MimeType/MimeTypeGuesser.php rename to core/vendor/symfony/http-foundation/File/MimeType/MimeTypeGuesser.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/MimeType/MimeTypeGuesserInterface.php b/core/vendor/symfony/http-foundation/File/MimeType/MimeTypeGuesserInterface.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/MimeType/MimeTypeGuesserInterface.php rename to core/vendor/symfony/http-foundation/File/MimeType/MimeTypeGuesserInterface.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/UploadedFile.php b/core/vendor/symfony/http-foundation/File/UploadedFile.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/File/UploadedFile.php rename to core/vendor/symfony/http-foundation/File/UploadedFile.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/FileBag.php b/core/vendor/symfony/http-foundation/FileBag.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/FileBag.php rename to core/vendor/symfony/http-foundation/FileBag.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/HeaderBag.php b/core/vendor/symfony/http-foundation/HeaderBag.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/HeaderBag.php rename to core/vendor/symfony/http-foundation/HeaderBag.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/IpUtils.php b/core/vendor/symfony/http-foundation/IpUtils.php similarity index 95% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/IpUtils.php rename to core/vendor/symfony/http-foundation/IpUtils.php index ea68e2ea8ba90de10e13bc92119cdd7f95514ae3..fb906b6812d23d06942ce36e9cd4a1410e67ab52 100644 --- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/IpUtils.php +++ b/core/vendor/symfony/http-foundation/IpUtils.php @@ -62,6 +62,10 @@ public static function checkIp($requestIp, $ips) public static function checkIp4($requestIp, $ip) { if (false !== strpos($ip, '/')) { + if ('0.0.0.0/0' === $ip) { + return true; + } + list($address, $netmask) = explode('/', $ip, 2); if ($netmask < 1 || $netmask > 32) { @@ -110,7 +114,7 @@ public static function checkIp6($requestIp, $ip) $bytesAddr = unpack('n*', inet_pton($address)); $bytesTest = unpack('n*', inet_pton($requestIp)); - for ($i = 1, $ceil = ceil($netmask / 16); $i <= $ceil; $i++) { + for ($i = 1, $ceil = ceil($netmask / 16); $i <= $ceil; ++$i) { $left = $netmask - 16 * ($i - 1); $left = ($left <= 16) ? $left : 16; $mask = ~(0xffff >> $left) & 0xffff; diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/JsonResponse.php b/core/vendor/symfony/http-foundation/JsonResponse.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/JsonResponse.php rename to core/vendor/symfony/http-foundation/JsonResponse.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/LICENSE b/core/vendor/symfony/http-foundation/LICENSE similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/LICENSE rename to core/vendor/symfony/http-foundation/LICENSE diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/ParameterBag.php b/core/vendor/symfony/http-foundation/ParameterBag.php similarity index 99% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/ParameterBag.php rename to core/vendor/symfony/http-foundation/ParameterBag.php index 348aab96853f1403b3f5fedd425c15dede775c08..6081f3f4a65f979bd40181d6c77ba12ab804c1b0 100644 --- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/ParameterBag.php +++ b/core/vendor/symfony/http-foundation/ParameterBag.php @@ -113,7 +113,7 @@ public function get($path, $default = null, $deep = false) $value = $this->parameters[$root]; $currentKey = null; - for ($i = $pos, $c = strlen($path); $i < $c; $i++) { + for ($i = $pos, $c = strlen($path); $i < $c; ++$i) { $char = $path[$i]; if ('[' === $char) { diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/README.md b/core/vendor/symfony/http-foundation/README.md similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/README.md rename to core/vendor/symfony/http-foundation/README.md diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/RedirectResponse.php b/core/vendor/symfony/http-foundation/RedirectResponse.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/RedirectResponse.php rename to core/vendor/symfony/http-foundation/RedirectResponse.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Request.php b/core/vendor/symfony/http-foundation/Request.php similarity index 94% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Request.php rename to core/vendor/symfony/http-foundation/Request.php index 93ec88e435b5f2a45438c70fa5ce9c63beb967dd..d78bc1fb5976416defec6de248e7dd57fc852b7c 100644 --- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Request.php +++ b/core/vendor/symfony/http-foundation/Request.php @@ -30,6 +30,7 @@ */ class Request { + const HEADER_FORWARDED = 'forwarded'; const HEADER_CLIENT_IP = 'client_ip'; const HEADER_CLIENT_HOST = 'client_host'; const HEADER_CLIENT_PROTO = 'client_proto'; @@ -46,6 +47,9 @@ class Request const METHOD_TRACE = 'TRACE'; const METHOD_CONNECT = 'CONNECT'; + /** + * @var string[] + */ protected static $trustedProxies = array(); /** @@ -62,10 +66,13 @@ class Request * Names for headers that can be trusted when * using trusted proxies. * - * The default names are non-standard, but widely used + * The FORWARDED header is the standard as of rfc7239. + * + * The other headers are non-standard, but widely used * by popular reverse proxies (like Apache mod_proxy or Amazon EC2). */ protected static $trustedHeaders = array( + self::HEADER_FORWARDED => 'FORWARDED', self::HEADER_CLIENT_IP => 'X_FORWARDED_FOR', self::HEADER_CLIENT_HOST => 'X_FORWARDED_HOST', self::HEADER_CLIENT_PROTO => 'X_FORWARDED_PROTO', @@ -587,7 +594,7 @@ public static function getTrustedProxies() public static function setTrustedHosts(array $hostPatterns) { self::$trustedHostPatterns = array_map(function ($hostPattern) { - return sprintf('{%s}i', str_replace('}', '\\}', $hostPattern)); + return sprintf('#%s#i', $hostPattern); }, $hostPatterns); // we need to reset trusted hosts on trusted host patterns change self::$trustedHosts = array(); @@ -823,24 +830,26 @@ public function setSession(SessionInterface $session) */ public function getClientIps() { + $clientIps = array(); $ip = $this->server->get('REMOTE_ADDR'); if (!$this->isFromTrustedProxy()) { return array($ip); } - if (!self::$trustedHeaders[self::HEADER_CLIENT_IP] || !$this->headers->has(self::$trustedHeaders[self::HEADER_CLIENT_IP])) { - return array($ip); + if (self::$trustedHeaders[self::HEADER_FORWARDED] && $this->headers->has(self::$trustedHeaders[self::HEADER_FORWARDED])) { + $forwardedHeader = $this->headers->get(self::$trustedHeaders[self::HEADER_FORWARDED]); + preg_match_all('{(for)=("?\[?)([a-z0-9\.:_\-/]*)}', $forwardedHeader, $matches); + $clientIps = $matches[3]; + } elseif (self::$trustedHeaders[self::HEADER_CLIENT_IP] && $this->headers->has(self::$trustedHeaders[self::HEADER_CLIENT_IP])) { + $clientIps = array_map('trim', explode(',', $this->headers->get(self::$trustedHeaders[self::HEADER_CLIENT_IP]))); } - $clientIps = array_map('trim', explode(',', $this->headers->get(self::$trustedHeaders[self::HEADER_CLIENT_IP]))); $clientIps[] = $ip; // Complete the IP chain with the IP the request actually came from - $ip = $clientIps[0]; // Fallback to this when the client IP falls into the range of trusted proxies - // Eliminate all IPs from the forwarded IP chain which are trusted proxies foreach ($clientIps as $key => $clientIp) { - // Remove port on IPv4 address (unfortunately, it does happen) + // Remove port (unfortunately, it does happen) if (preg_match('{((?:\d+\.){3}\d+)\:\d+}', $clientIp, $match)) { $clientIps[$key] = $clientIp = $match[1]; } @@ -1137,6 +1146,61 @@ public function getUriForPath($path) return $this->getSchemeAndHttpHost().$this->getBaseUrl().$path; } + /** + * Returns the path as relative reference from the current Request path. + * + * Only the URIs path component (no schema, host etc.) is relevant and must be given. + * Both paths must be absolute and not contain relative parts. + * Relative URLs from one resource to another are useful when generating self-contained downloadable document archives. + * Furthermore, they can be used to reduce the link size in documents. + * + * Example target paths, given a base path of "/a/b/c/d": + * - "/a/b/c/d" -> "" + * - "/a/b/c/" -> "./" + * - "/a/b/" -> "../" + * - "/a/b/c/other" -> "other" + * - "/a/x/y" -> "../../x/y" + * + * @param string $path The target path + * + * @return string The relative target path + */ + public function getRelativeUriForPath($path) + { + // be sure that we are dealing with an absolute path + if (!isset($path[0]) || '/' !== $path[0]) { + return $path; + } + + if ($path === $basePath = $this->getPathInfo()) { + return ''; + } + + $sourceDirs = explode('/', isset($basePath[0]) && '/' === $basePath[0] ? substr($basePath, 1) : $basePath); + $targetDirs = explode('/', isset($path[0]) && '/' === $path[0] ? substr($path, 1) : $path); + array_pop($sourceDirs); + $targetFile = array_pop($targetDirs); + + foreach ($sourceDirs as $i => $dir) { + if (isset($targetDirs[$i]) && $dir === $targetDirs[$i]) { + unset($sourceDirs[$i], $targetDirs[$i]); + } else { + break; + } + } + + $targetDirs[] = $targetFile; + $path = str_repeat('../', count($sourceDirs)).implode('/', $targetDirs); + + // A reference to the same base directory or an empty subdirectory must be prefixed with "./". + // This also applies to a segment with a colon character (e.g., "file:colon") that cannot be used + // as the first segment of a relative-path reference, as it would be mistaken for a scheme name + // (see http://tools.ietf.org/html/rfc3986#section-4.2). + return !isset($path[0]) || '/' === $path[0] + || false !== ($colonPos = strpos($path, ':')) && ($colonPos < ($slashPos = strpos($path, '/')) || false === $slashPos) + ? "./$path" : $path; + } + /** * Generates the normalized query string for the Request. * @@ -1580,8 +1644,8 @@ public function getLanguages() $languages = AcceptHeader::fromString($this->headers->get('Accept-Language'))->all(); $this->languages = array(); - foreach (array_keys($languages) as $lang) { - if (strstr($lang, '-')) { + foreach ($languages as $lang => $acceptHeaderItem) { + if (false !== strpos($lang, '-')) { $codes = explode('-', $lang); if ('i' === $codes[0]) { // Language not listed in ISO 639 that are not variants @@ -1591,7 +1655,7 @@ public function getLanguages() $lang = $codes[1]; } } else { - for ($i = 0, $max = count($codes); $i < $max; $i++) { + for ($i = 0, $max = count($codes); $i < $max; ++$i) { if ($i === 0) { $lang = strtolower($codes[0]); } else { @@ -1760,7 +1824,7 @@ protected function prepareBaseUrl() return $prefix; } - if ($baseUrl && false !== $prefix = $this->getUrlencodedPrefix($requestUri, dirname($baseUrl).'/')) { + if ($baseUrl && false !== $prefix = $this->getUrlencodedPrefix($requestUri, rtrim(dirname($baseUrl), '/').'/')) { // directory portion of $baseUrl matches return rtrim($prefix, '/'); } diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/RequestMatcher.php b/core/vendor/symfony/http-foundation/RequestMatcher.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/RequestMatcher.php rename to core/vendor/symfony/http-foundation/RequestMatcher.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/RequestMatcherInterface.php b/core/vendor/symfony/http-foundation/RequestMatcherInterface.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/RequestMatcherInterface.php rename to core/vendor/symfony/http-foundation/RequestMatcherInterface.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/RequestStack.php b/core/vendor/symfony/http-foundation/RequestStack.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/RequestStack.php rename to core/vendor/symfony/http-foundation/RequestStack.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Resources/stubs/SessionHandlerInterface.php b/core/vendor/symfony/http-foundation/Resources/stubs/SessionHandlerInterface.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Resources/stubs/SessionHandlerInterface.php rename to core/vendor/symfony/http-foundation/Resources/stubs/SessionHandlerInterface.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Response.php b/core/vendor/symfony/http-foundation/Response.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Response.php rename to core/vendor/symfony/http-foundation/Response.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/ResponseHeaderBag.php b/core/vendor/symfony/http-foundation/ResponseHeaderBag.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/ResponseHeaderBag.php rename to core/vendor/symfony/http-foundation/ResponseHeaderBag.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/ServerBag.php b/core/vendor/symfony/http-foundation/ServerBag.php similarity index 89% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/ServerBag.php rename to core/vendor/symfony/http-foundation/ServerBag.php index 6a4f2c2b167e0e608aec171b92ee821647d3c6f9..fa1cb2fc9f1349139ab618e569103e017b216522 100644 --- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/ServerBag.php +++ b/core/vendor/symfony/http-foundation/ServerBag.php @@ -75,6 +75,13 @@ public function getHeaders() // In some circumstances PHP_AUTH_DIGEST needs to be set $headers['PHP_AUTH_DIGEST'] = $authorizationHeader; $this->parameters['PHP_AUTH_DIGEST'] = $authorizationHeader; + } elseif (0 === stripos($authorizationHeader, 'bearer ')) { + /* + * XXX: Since there is no PHP_AUTH_BEARER in PHP predefined variables, + * I'll just set $headers['AUTHORIZATION'] here. + * http://php.net/manual/en/reserved.variables.server.php + */ + $headers['AUTHORIZATION'] = $authorizationHeader; } } } diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Attribute/AttributeBag.php b/core/vendor/symfony/http-foundation/Session/Attribute/AttributeBag.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Attribute/AttributeBag.php rename to core/vendor/symfony/http-foundation/Session/Attribute/AttributeBag.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Attribute/AttributeBagInterface.php b/core/vendor/symfony/http-foundation/Session/Attribute/AttributeBagInterface.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Attribute/AttributeBagInterface.php rename to core/vendor/symfony/http-foundation/Session/Attribute/AttributeBagInterface.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Attribute/NamespacedAttributeBag.php b/core/vendor/symfony/http-foundation/Session/Attribute/NamespacedAttributeBag.php similarity index 95% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Attribute/NamespacedAttributeBag.php rename to core/vendor/symfony/http-foundation/Session/Attribute/NamespacedAttributeBag.php index 562f4c31f98b2da5e998ba2406d4cd6c14fedb07..68cecf63d5ced561f28f2a3f87b8dcac3744a08f 100644 --- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Attribute/NamespacedAttributeBag.php +++ b/core/vendor/symfony/http-foundation/Session/Attribute/NamespacedAttributeBag.php @@ -43,6 +43,7 @@ public function __construct($storageKey = '_sf2_attributes', $namespaceCharacter */ public function has($name) { + // reference mismatch: if fixed, re-introduced in array_key_exists; keep as it is $attributes = $this->resolveAttributePath($name); $name = $this->resolveKey($name); @@ -58,6 +59,7 @@ public function has($name) */ public function get($name, $default = null) { + // reference mismatch: if fixed, re-introduced in array_key_exists; keep as it is $attributes = $this->resolveAttributePath($name); $name = $this->resolveKey($name); diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Flash/AutoExpireFlashBag.php b/core/vendor/symfony/http-foundation/Session/Flash/AutoExpireFlashBag.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Flash/AutoExpireFlashBag.php rename to core/vendor/symfony/http-foundation/Session/Flash/AutoExpireFlashBag.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Flash/FlashBag.php b/core/vendor/symfony/http-foundation/Session/Flash/FlashBag.php similarity index 94% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Flash/FlashBag.php rename to core/vendor/symfony/http-foundation/Session/Flash/FlashBag.php index ac412d7dc83cb9f91d8188a4de8f0214289c151c..bbe7561be7c7c26a3a8c64e12c0ec5a594938315 100644 --- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Flash/FlashBag.php +++ b/core/vendor/symfony/http-foundation/Session/Flash/FlashBag.php @@ -169,12 +169,14 @@ public function clear() /** * Returns an iterator for flashes. * - * @deprecated Will be removed in 3.0. + * @deprecated since version 2.4, to be removed in 3.0. * * @return \ArrayIterator An \ArrayIterator instance */ public function getIterator() { + trigger_error('The '.__METHOD__.' method is deprecated since version 2.4 and will be removed in 3.0.', E_USER_DEPRECATED); + return new \ArrayIterator($this->all()); } } diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Flash/FlashBagInterface.php b/core/vendor/symfony/http-foundation/Session/Flash/FlashBagInterface.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Flash/FlashBagInterface.php rename to core/vendor/symfony/http-foundation/Session/Flash/FlashBagInterface.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Session.php b/core/vendor/symfony/http-foundation/Session/Session.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Session.php rename to core/vendor/symfony/http-foundation/Session/Session.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/SessionBagInterface.php b/core/vendor/symfony/http-foundation/Session/SessionBagInterface.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/SessionBagInterface.php rename to core/vendor/symfony/http-foundation/Session/SessionBagInterface.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/SessionInterface.php b/core/vendor/symfony/http-foundation/Session/SessionInterface.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/SessionInterface.php rename to core/vendor/symfony/http-foundation/Session/SessionInterface.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/Handler/LegacyPdoSessionHandler.php b/core/vendor/symfony/http-foundation/Session/Storage/Handler/LegacyPdoSessionHandler.php similarity index 96% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/Handler/LegacyPdoSessionHandler.php rename to core/vendor/symfony/http-foundation/Session/Storage/Handler/LegacyPdoSessionHandler.php index fff83315aacbe92e6c3519626c44dc0a4a82ce16..fd0c58275df8e1ab729727ab584412aa5e8b17f3 100644 --- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/Handler/LegacyPdoSessionHandler.php +++ b/core/vendor/symfony/http-foundation/Session/Storage/Handler/LegacyPdoSessionHandler.php @@ -11,6 +11,8 @@ namespace Symfony\Component\HttpFoundation\Session\Storage\Handler; +trigger_error('The '.__NAMESPACE__.'\LegacyPdoSessionHandler class is deprecated since version 2.6 and will be removed in 3.0. Use the Symfony\Component\HttpFoundation\Session\Storage\Handler\PdoSessionHandler class instead.', E_USER_DEPRECATED); + /** * Session handler using a PDO connection to read and write data. * @@ -24,7 +26,7 @@ * @author Michael Williams <michael.williams@funsational.com> * @author Tobias Schultze <http://tobion.de> * - * @deprecated Deprecated since version 2.6, to be removed in 3.0. Use + * @deprecated since version 2.6, to be removed in 3.0. Use * {@link PdoSessionHandler} instead. */ class LegacyPdoSessionHandler implements \SessionHandlerInterface @@ -76,6 +78,7 @@ public function __construct(\PDO $pdo, array $dbOptions = array()) if (\PDO::ERRMODE_EXCEPTION !== $pdo->getAttribute(\PDO::ATTR_ERRMODE)) { throw new \InvalidArgumentException(sprintf('"%s" requires PDO error mode attribute be set to throw Exceptions (i.e. $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION))', __CLASS__)); } + $this->pdo = $pdo; $dbOptions = array_merge(array( 'db_id_col' => 'sess_id', diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/Handler/MemcacheSessionHandler.php b/core/vendor/symfony/http-foundation/Session/Storage/Handler/MemcacheSessionHandler.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/Handler/MemcacheSessionHandler.php rename to core/vendor/symfony/http-foundation/Session/Storage/Handler/MemcacheSessionHandler.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/Handler/MemcachedSessionHandler.php b/core/vendor/symfony/http-foundation/Session/Storage/Handler/MemcachedSessionHandler.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/Handler/MemcachedSessionHandler.php rename to core/vendor/symfony/http-foundation/Session/Storage/Handler/MemcachedSessionHandler.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/Handler/MongoDbSessionHandler.php b/core/vendor/symfony/http-foundation/Session/Storage/Handler/MongoDbSessionHandler.php similarity index 98% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/Handler/MongoDbSessionHandler.php rename to core/vendor/symfony/http-foundation/Session/Storage/Handler/MongoDbSessionHandler.php index c820cbce7800a112f9c13a0ecddee4c0d12d66fe..fa4ecfb0a40c89b51af99d928116c23189803a0d 100644 --- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/Handler/MongoDbSessionHandler.php +++ b/core/vendor/symfony/http-foundation/Session/Storage/Handler/MongoDbSessionHandler.php @@ -155,7 +155,7 @@ public function write($sessionId, $data) public function read($sessionId) { $dbData = $this->getCollection()->findOne(array( - $this->options['id_field'] => $sessionId, + $this->options['id_field'] => $sessionId, $this->options['expiry_field'] => array('$gte' => new \MongoDate()), )); diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/Handler/NativeFileSessionHandler.php b/core/vendor/symfony/http-foundation/Session/Storage/Handler/NativeFileSessionHandler.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/Handler/NativeFileSessionHandler.php rename to core/vendor/symfony/http-foundation/Session/Storage/Handler/NativeFileSessionHandler.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/Handler/NativeSessionHandler.php b/core/vendor/symfony/http-foundation/Session/Storage/Handler/NativeSessionHandler.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/Handler/NativeSessionHandler.php rename to core/vendor/symfony/http-foundation/Session/Storage/Handler/NativeSessionHandler.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/Handler/NullSessionHandler.php b/core/vendor/symfony/http-foundation/Session/Storage/Handler/NullSessionHandler.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/Handler/NullSessionHandler.php rename to core/vendor/symfony/http-foundation/Session/Storage/Handler/NullSessionHandler.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/Handler/PdoSessionHandler.php b/core/vendor/symfony/http-foundation/Session/Storage/Handler/PdoSessionHandler.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/Handler/PdoSessionHandler.php rename to core/vendor/symfony/http-foundation/Session/Storage/Handler/PdoSessionHandler.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/Handler/WriteCheckSessionHandler.php b/core/vendor/symfony/http-foundation/Session/Storage/Handler/WriteCheckSessionHandler.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/Handler/WriteCheckSessionHandler.php rename to core/vendor/symfony/http-foundation/Session/Storage/Handler/WriteCheckSessionHandler.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/MetadataBag.php b/core/vendor/symfony/http-foundation/Session/Storage/MetadataBag.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/MetadataBag.php rename to core/vendor/symfony/http-foundation/Session/Storage/MetadataBag.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/MockArraySessionStorage.php b/core/vendor/symfony/http-foundation/Session/Storage/MockArraySessionStorage.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/MockArraySessionStorage.php rename to core/vendor/symfony/http-foundation/Session/Storage/MockArraySessionStorage.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/MockFileSessionStorage.php b/core/vendor/symfony/http-foundation/Session/Storage/MockFileSessionStorage.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/MockFileSessionStorage.php rename to core/vendor/symfony/http-foundation/Session/Storage/MockFileSessionStorage.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/NativeSessionStorage.php b/core/vendor/symfony/http-foundation/Session/Storage/NativeSessionStorage.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/NativeSessionStorage.php rename to core/vendor/symfony/http-foundation/Session/Storage/NativeSessionStorage.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/PhpBridgeSessionStorage.php b/core/vendor/symfony/http-foundation/Session/Storage/PhpBridgeSessionStorage.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/PhpBridgeSessionStorage.php rename to core/vendor/symfony/http-foundation/Session/Storage/PhpBridgeSessionStorage.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/Proxy/AbstractProxy.php b/core/vendor/symfony/http-foundation/Session/Storage/Proxy/AbstractProxy.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/Proxy/AbstractProxy.php rename to core/vendor/symfony/http-foundation/Session/Storage/Proxy/AbstractProxy.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/Proxy/NativeProxy.php b/core/vendor/symfony/http-foundation/Session/Storage/Proxy/NativeProxy.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/Proxy/NativeProxy.php rename to core/vendor/symfony/http-foundation/Session/Storage/Proxy/NativeProxy.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/Proxy/SessionHandlerProxy.php b/core/vendor/symfony/http-foundation/Session/Storage/Proxy/SessionHandlerProxy.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/Proxy/SessionHandlerProxy.php rename to core/vendor/symfony/http-foundation/Session/Storage/Proxy/SessionHandlerProxy.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/SessionStorageInterface.php b/core/vendor/symfony/http-foundation/Session/Storage/SessionStorageInterface.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/SessionStorageInterface.php rename to core/vendor/symfony/http-foundation/Session/Storage/SessionStorageInterface.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/StreamedResponse.php b/core/vendor/symfony/http-foundation/StreamedResponse.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/StreamedResponse.php rename to core/vendor/symfony/http-foundation/StreamedResponse.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/.gitignore b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/.gitignore deleted file mode 100644 index c49a5d8df5c6548379f00c77fe572a7217bce218..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -vendor/ -composer.lock -phpunit.xml diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/AcceptHeaderItemTest.php b/core/vendor/symfony/http-foundation/Tests/AcceptHeaderItemTest.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/AcceptHeaderItemTest.php rename to core/vendor/symfony/http-foundation/Tests/AcceptHeaderItemTest.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/AcceptHeaderTest.php b/core/vendor/symfony/http-foundation/Tests/AcceptHeaderTest.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/AcceptHeaderTest.php rename to core/vendor/symfony/http-foundation/Tests/AcceptHeaderTest.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/ApacheRequestTest.php b/core/vendor/symfony/http-foundation/Tests/ApacheRequestTest.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/ApacheRequestTest.php rename to core/vendor/symfony/http-foundation/Tests/ApacheRequestTest.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/BinaryFileResponseTest.php b/core/vendor/symfony/http-foundation/Tests/BinaryFileResponseTest.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/BinaryFileResponseTest.php rename to core/vendor/symfony/http-foundation/Tests/BinaryFileResponseTest.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/CookieTest.php b/core/vendor/symfony/http-foundation/Tests/CookieTest.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/CookieTest.php rename to core/vendor/symfony/http-foundation/Tests/CookieTest.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/ExpressionRequestMatcherTest.php b/core/vendor/symfony/http-foundation/Tests/ExpressionRequestMatcherTest.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/ExpressionRequestMatcherTest.php rename to core/vendor/symfony/http-foundation/Tests/ExpressionRequestMatcherTest.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/File/FakeFile.php b/core/vendor/symfony/http-foundation/Tests/File/FakeFile.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/File/FakeFile.php rename to core/vendor/symfony/http-foundation/Tests/File/FakeFile.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/File/FileTest.php b/core/vendor/symfony/http-foundation/Tests/File/FileTest.php similarity index 96% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/File/FileTest.php rename to core/vendor/symfony/http-foundation/Tests/File/FileTest.php index 1f89c391d5ed0c671ddf5c9faf95af38d574d493..9e07d9e14bb2b8acc3ae7d243bd535acb658450a 100644 --- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/File/FileTest.php +++ b/core/vendor/symfony/http-foundation/Tests/File/FileTest.php @@ -148,12 +148,6 @@ public function testMoveToAnUnexistentDirectory() @rmdir($targetDir); } - public function testGetExtension() - { - $file = new File(__DIR__.'/Fixtures/test.gif'); - $this->assertEquals('gif', $file->getExtension()); - } - protected function createMockGuesser($path, $mimeType) { $guesser = $this->getMock('Symfony\Component\HttpFoundation\File\MimeType\MimeTypeGuesserInterface'); diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/File/Fixtures/.unknownextension b/core/vendor/symfony/http-foundation/Tests/File/Fixtures/.unknownextension similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/File/Fixtures/.unknownextension rename to core/vendor/symfony/http-foundation/Tests/File/Fixtures/.unknownextension diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/File/Fixtures/directory/.empty b/core/vendor/symfony/http-foundation/Tests/File/Fixtures/directory/.empty similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/File/Fixtures/directory/.empty rename to core/vendor/symfony/http-foundation/Tests/File/Fixtures/directory/.empty diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/File/Fixtures/test b/core/vendor/symfony/http-foundation/Tests/File/Fixtures/test similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/File/Fixtures/test rename to core/vendor/symfony/http-foundation/Tests/File/Fixtures/test diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/File/Fixtures/test.gif b/core/vendor/symfony/http-foundation/Tests/File/Fixtures/test.gif similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/File/Fixtures/test.gif rename to core/vendor/symfony/http-foundation/Tests/File/Fixtures/test.gif diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/File/MimeType/MimeTypeTest.php b/core/vendor/symfony/http-foundation/Tests/File/MimeType/MimeTypeTest.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/File/MimeType/MimeTypeTest.php rename to core/vendor/symfony/http-foundation/Tests/File/MimeType/MimeTypeTest.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/File/UploadedFileTest.php b/core/vendor/symfony/http-foundation/Tests/File/UploadedFileTest.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/File/UploadedFileTest.php rename to core/vendor/symfony/http-foundation/Tests/File/UploadedFileTest.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/FileBagTest.php b/core/vendor/symfony/http-foundation/Tests/FileBagTest.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/FileBagTest.php rename to core/vendor/symfony/http-foundation/Tests/FileBagTest.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/HeaderBagTest.php b/core/vendor/symfony/http-foundation/Tests/HeaderBagTest.php similarity index 99% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/HeaderBagTest.php rename to core/vendor/symfony/http-foundation/Tests/HeaderBagTest.php index 9b925d70f0380bfed1f611b05664517ea6898856..ada9ac0d1eaaeb6d8941f42310b5d2e5db27bdee 100644 --- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/HeaderBagTest.php +++ b/core/vendor/symfony/http-foundation/Tests/HeaderBagTest.php @@ -196,7 +196,7 @@ public function testGetIterator() $i = 0; foreach ($headerBag as $key => $val) { - $i++; + ++$i; $this->assertEquals(array($headers[$key]), $val); } diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/IpUtilsTest.php b/core/vendor/symfony/http-foundation/Tests/IpUtilsTest.php similarity index 94% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/IpUtilsTest.php rename to core/vendor/symfony/http-foundation/Tests/IpUtilsTest.php index 726ba6a34795e4dd6543da3f070058eb0c81ebf0..0002478246ab941b28e11d068c406d6377b04683 100644 --- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/IpUtilsTest.php +++ b/core/vendor/symfony/http-foundation/Tests/IpUtilsTest.php @@ -34,6 +34,9 @@ public function testIpv4Provider() array(true, '192.168.1.1', array('1.2.3.4/1', '192.168.1.0/24')), array(true, '192.168.1.1', array('192.168.1.0/24', '1.2.3.4/1')), array(false, '192.168.1.1', array('1.2.3.4/1', '4.3.2.1/1')), + array(true, '1.2.3.4', '0.0.0.0/0'), + array(false, '1.2.3.4', '256.256.256/0'), + array(false, '1.2.3.4', '192.168.1.0/0'), ); } diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/JsonResponseTest.php b/core/vendor/symfony/http-foundation/Tests/JsonResponseTest.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/JsonResponseTest.php rename to core/vendor/symfony/http-foundation/Tests/JsonResponseTest.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/ParameterBagTest.php b/core/vendor/symfony/http-foundation/Tests/ParameterBagTest.php similarity index 99% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/ParameterBagTest.php rename to core/vendor/symfony/http-foundation/Tests/ParameterBagTest.php index f19a8da2399f751beb1cf54371ae519851652453..16fedbf83afbcd141139f5a09f8bfd7e9c63c3a2 100644 --- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/ParameterBagTest.php +++ b/core/vendor/symfony/http-foundation/Tests/ParameterBagTest.php @@ -233,7 +233,7 @@ public function testGetIterator() $i = 0; foreach ($bag as $key => $val) { - $i++; + ++$i; $this->assertEquals($parameters[$key], $val); } diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/RedirectResponseTest.php b/core/vendor/symfony/http-foundation/Tests/RedirectResponseTest.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/RedirectResponseTest.php rename to core/vendor/symfony/http-foundation/Tests/RedirectResponseTest.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/RequestMatcherTest.php b/core/vendor/symfony/http-foundation/Tests/RequestMatcherTest.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/RequestMatcherTest.php rename to core/vendor/symfony/http-foundation/Tests/RequestMatcherTest.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/RequestStackTest.php b/core/vendor/symfony/http-foundation/Tests/RequestStackTest.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/RequestStackTest.php rename to core/vendor/symfony/http-foundation/Tests/RequestStackTest.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/RequestTest.php b/core/vendor/symfony/http-foundation/Tests/RequestTest.php similarity index 95% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/RequestTest.php rename to core/vendor/symfony/http-foundation/Tests/RequestTest.php index 04a9616b0d528b9f201c76cb94568c294c65694b..50cb448063b6c50efb9e4f55a274d563824bf74a 100644 --- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/RequestTest.php +++ b/core/vendor/symfony/http-foundation/Tests/RequestTest.php @@ -590,6 +590,26 @@ public function testGetUriForPath() $this->assertEquals('http://servername/some/path', $request->getUriForPath('/some/path')); } + /** + * @dataProvider getRelativeUriForPathData() + */ + public function testGetRelativeUriForPath($expected, $pathinfo, $path) + { + $this->assertEquals($expected, Request::create($pathinfo)->getRelativeUriForPath($path)); + } + + public function getRelativeUriForPathData() + { + return array( + array('me.png', '/foo', '/me.png'), + array('../me.png', '/foo/bar', '/me.png'), + array('me.png', '/foo/bar', '/foo/me.png'), + array('../baz/me.png', '/foo/bar/b', '/foo/baz/me.png'), + array('../../fooz/baz/me.png', '/foo/bar/b', '/fooz/baz/me.png'), + array('baz/me.png', '/foo/bar/b', 'baz/me.png'), + ); + } + /** * @covers Symfony\Component\HttpFoundation\Request::getUserInfo */ @@ -857,6 +877,31 @@ public function testGetClientIps($expected, $remoteAddr, $httpForwardedFor, $tru Request::setTrustedProxies(array()); } + /** + * @dataProvider testGetClientIpsForwardedProvider + */ + public function testGetClientIpsForwarded($expected, $remoteAddr, $httpForwarded, $trustedProxies) + { + $request = $this->getRequestInstanceForClientIpsForwardedTests($remoteAddr, $httpForwarded, $trustedProxies); + + $this->assertEquals($expected, $request->getClientIps()); + + Request::setTrustedProxies(array()); + } + + public function testGetClientIpsForwardedProvider() + { + // $expected $remoteAddr $httpForwarded $trustedProxies + return array( + array(array('127.0.0.1'), '127.0.0.1', 'for="_gazonk"', null), + array(array('_gazonk'), '127.0.0.1', 'for="_gazonk"', array('127.0.0.1')), + array(array('88.88.88.88'), '127.0.0.1', 'for="88.88.88.88:80"', array('127.0.0.1')), + array(array('192.0.2.60'), '::1', 'for=192.0.2.60;proto=http;by=203.0.113.43', array('::1')), + array(array('2620:0:1cfe:face:b00c::3', '192.0.2.43'), '::1', 'for=192.0.2.43, for=2620:0:1cfe:face:b00c::3', array('::1')), + array(array('2001:db8:cafe::17'), '::1', 'for="[2001:db8:cafe::17]:4711', array('::1')), + ); + } + public function testGetClientIpsProvider() { // $expected $remoteAddr $httpForwardedFor $trustedProxies @@ -1345,6 +1390,26 @@ public function testGetBaseUrl($uri, $server, $expectedBaseUrl, $expectedPathInf public function getBaseUrlData() { return array( + array( + '/fruit/strawberry/1234index.php/blah', + array( + 'SCRIPT_FILENAME' => 'E:/Sites/cc-new/public_html/fruit/index.php', + 'SCRIPT_NAME' => '/fruit/index.php', + 'PHP_SELF' => '/fruit/index.php', + ), + '/fruit', + '/strawberry/1234index.php/blah', + ), + array( + '/fruit/strawberry/1234index.php/blah', + array( + 'SCRIPT_FILENAME' => 'E:/Sites/cc-new/public_html/index.php', + 'SCRIPT_NAME' => '/index.php', + 'PHP_SELF' => '/index.php', + ), + '', + '/fruit/strawberry/1234index.php/blah', + ), array( '/foo%20bar/', array( @@ -1451,6 +1516,25 @@ private function getRequestInstanceForClientIpTests($remoteAddr, $httpForwardedF return $request; } + private function getRequestInstanceForClientIpsForwardedTests($remoteAddr, $httpForwarded, $trustedProxies) + { + $request = new Request(); + + $server = array('REMOTE_ADDR' => $remoteAddr); + + if (null !== $httpForwarded) { + $server['HTTP_FORWARDED'] = $httpForwarded; + } + + if ($trustedProxies) { + Request::setTrustedProxies($trustedProxies); + } + + $request->initialize(array(), array(), array(), array(), array(), $server); + + return $request; + } + public function testTrustedProxies() { $request = Request::create('http://example.com/'); @@ -1644,7 +1728,7 @@ public function testTrustedHosts() $this->assertEquals('evil.com', $request->getHost()); // add a trusted domain and all its subdomains - Request::setTrustedHosts(array('.*\.?trusted.com$')); + Request::setTrustedHosts(array('^([a-z]{9}\.)?trusted\.com$')); // untrusted host $request->headers->set('host', 'evil.com'); diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/ResponseHeaderBagTest.php b/core/vendor/symfony/http-foundation/Tests/ResponseHeaderBagTest.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/ResponseHeaderBagTest.php rename to core/vendor/symfony/http-foundation/Tests/ResponseHeaderBagTest.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/ResponseTest.php b/core/vendor/symfony/http-foundation/Tests/ResponseTest.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/ResponseTest.php rename to core/vendor/symfony/http-foundation/Tests/ResponseTest.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/ResponseTestCase.php b/core/vendor/symfony/http-foundation/Tests/ResponseTestCase.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/ResponseTestCase.php rename to core/vendor/symfony/http-foundation/Tests/ResponseTestCase.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/ServerBagTest.php b/core/vendor/symfony/http-foundation/Tests/ServerBagTest.php similarity index 93% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/ServerBagTest.php rename to core/vendor/symfony/http-foundation/Tests/ServerBagTest.php index 7bc8f02c30af465f776c2134ba28220325a0c0f2..20773c4d7a3b60a634bc25129ea0948005ec589f 100644 --- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/ServerBagTest.php +++ b/core/vendor/symfony/http-foundation/Tests/ServerBagTest.php @@ -141,4 +141,14 @@ public function testOAuthBearerAuth() 'AUTHORIZATION' => $headerContent, ), $bag->getHeaders()); } + + public function testOAuthBearerAuthWithRedirect() + { + $headerContent = 'Bearer L-yLEOr9zhmUYRkzN1jwwxwQ-PBNiKDc8dgfB4hTfvo'; + $bag = new ServerBag(array('REDIRECT_HTTP_AUTHORIZATION' => $headerContent)); + + $this->assertEquals(array( + 'AUTHORIZATION' => $headerContent, + ), $bag->getHeaders()); + } } diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Attribute/AttributeBagTest.php b/core/vendor/symfony/http-foundation/Tests/Session/Attribute/AttributeBagTest.php similarity index 99% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Attribute/AttributeBagTest.php rename to core/vendor/symfony/http-foundation/Tests/Session/Attribute/AttributeBagTest.php index d291590fd9e4a054725418c73c85de5be4859ed6..5515003b40739841ec71b190b4ec44b694b642ac 100644 --- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Attribute/AttributeBagTest.php +++ b/core/vendor/symfony/http-foundation/Tests/Session/Attribute/AttributeBagTest.php @@ -177,7 +177,7 @@ public function testGetIterator() $i = 0; foreach ($this->bag as $key => $val) { $this->assertEquals($this->array[$key], $val); - $i++; + ++$i; } $this->assertEquals(count($this->array), $i); diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Attribute/NamespacedAttributeBagTest.php b/core/vendor/symfony/http-foundation/Tests/Session/Attribute/NamespacedAttributeBagTest.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Attribute/NamespacedAttributeBagTest.php rename to core/vendor/symfony/http-foundation/Tests/Session/Attribute/NamespacedAttributeBagTest.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Flash/AutoExpireFlashBagTest.php b/core/vendor/symfony/http-foundation/Tests/Session/Flash/AutoExpireFlashBagTest.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Flash/AutoExpireFlashBagTest.php rename to core/vendor/symfony/http-foundation/Tests/Session/Flash/AutoExpireFlashBagTest.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Flash/FlashBagTest.php b/core/vendor/symfony/http-foundation/Tests/Session/Flash/FlashBagTest.php similarity index 96% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Flash/FlashBagTest.php rename to core/vendor/symfony/http-foundation/Tests/Session/Flash/FlashBagTest.php index 6b529ab41f5dec49efead790f939cb902701bf5a..25e963a7eb0f5e5a1089ceefe50aec3f1abe0faf 100644 --- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Flash/FlashBagTest.php +++ b/core/vendor/symfony/http-foundation/Tests/Session/Flash/FlashBagTest.php @@ -134,9 +134,12 @@ public function testPeekAll() /** * @covers Symfony\Component\HttpFoundation\Session\Flash\FlashBag::getIterator + * @group legacy */ - public function testGetIterator() + public function testLegacyGetIterator() { + $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED); + $flashes = array('hello' => 'world', 'beep' => 'boop', 'notice' => 'nope'); foreach ($flashes as $key => $val) { $this->bag->set($key, $val); @@ -145,7 +148,7 @@ public function testGetIterator() $i = 0; foreach ($this->bag as $key => $val) { $this->assertEquals(array($flashes[$key]), $val); - $i++; + ++$i; } $this->assertEquals(count($flashes), $i); diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/SessionTest.php b/core/vendor/symfony/http-foundation/Tests/Session/SessionTest.php similarity index 99% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/SessionTest.php rename to core/vendor/symfony/http-foundation/Tests/Session/SessionTest.php index 4e1667cf9e5be7cba78e7e44984d071915c45345..385df1e46a9583d84c1e3a9ab7398c8601f4fa74 100644 --- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/SessionTest.php +++ b/core/vendor/symfony/http-foundation/Tests/Session/SessionTest.php @@ -203,7 +203,7 @@ public function testGetIterator() $i = 0; foreach ($this->session as $key => $val) { $this->assertEquals($attributes[$key], $val); - $i++; + ++$i; } $this->assertEquals(count($attributes), $i); diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/LegacyPdoSessionHandlerTest.php b/core/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/LegacyPdoSessionHandlerTest.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/LegacyPdoSessionHandlerTest.php rename to core/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/LegacyPdoSessionHandlerTest.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/MemcacheSessionHandlerTest.php b/core/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/MemcacheSessionHandlerTest.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/MemcacheSessionHandlerTest.php rename to core/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/MemcacheSessionHandlerTest.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/MemcachedSessionHandlerTest.php b/core/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/MemcachedSessionHandlerTest.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/MemcachedSessionHandlerTest.php rename to core/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/MemcachedSessionHandlerTest.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/MongoDbSessionHandlerTest.php b/core/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/MongoDbSessionHandlerTest.php similarity index 99% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/MongoDbSessionHandlerTest.php rename to core/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/MongoDbSessionHandlerTest.php index 56e7eb23250f62aecfdbc14fbda7870d6cae1709..0bc012ac378dcbcf9d8af9897c69d4ed9dff6582 100644 --- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/MongoDbSessionHandlerTest.php +++ b/core/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/MongoDbSessionHandlerTest.php @@ -87,7 +87,7 @@ public function testRead() // defining the timeout before the actual method call // allows to test for "greater than" values in the $criteria - $testTimeout = time(); + $testTimeout = time() + 1; $collection->expects($this->once()) ->method('findOne') diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/NativeFileSessionHandlerTest.php b/core/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/NativeFileSessionHandlerTest.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/NativeFileSessionHandlerTest.php rename to core/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/NativeFileSessionHandlerTest.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/NativeSessionHandlerTest.php b/core/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/NativeSessionHandlerTest.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/NativeSessionHandlerTest.php rename to core/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/NativeSessionHandlerTest.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/NullSessionHandlerTest.php b/core/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/NullSessionHandlerTest.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/NullSessionHandlerTest.php rename to core/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/NullSessionHandlerTest.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/PdoSessionHandlerTest.php b/core/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/PdoSessionHandlerTest.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/PdoSessionHandlerTest.php rename to core/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/PdoSessionHandlerTest.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/WriteCheckSessionHandlerTest.php b/core/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/WriteCheckSessionHandlerTest.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/WriteCheckSessionHandlerTest.php rename to core/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/WriteCheckSessionHandlerTest.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/MetadataBagTest.php b/core/vendor/symfony/http-foundation/Tests/Session/Storage/MetadataBagTest.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/MetadataBagTest.php rename to core/vendor/symfony/http-foundation/Tests/Session/Storage/MetadataBagTest.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/MockArraySessionStorageTest.php b/core/vendor/symfony/http-foundation/Tests/Session/Storage/MockArraySessionStorageTest.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/MockArraySessionStorageTest.php rename to core/vendor/symfony/http-foundation/Tests/Session/Storage/MockArraySessionStorageTest.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/MockFileSessionStorageTest.php b/core/vendor/symfony/http-foundation/Tests/Session/Storage/MockFileSessionStorageTest.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/MockFileSessionStorageTest.php rename to core/vendor/symfony/http-foundation/Tests/Session/Storage/MockFileSessionStorageTest.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/NativeSessionStorageTest.php b/core/vendor/symfony/http-foundation/Tests/Session/Storage/NativeSessionStorageTest.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/NativeSessionStorageTest.php rename to core/vendor/symfony/http-foundation/Tests/Session/Storage/NativeSessionStorageTest.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/PhpBridgeSessionStorageTest.php b/core/vendor/symfony/http-foundation/Tests/Session/Storage/PhpBridgeSessionStorageTest.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/PhpBridgeSessionStorageTest.php rename to core/vendor/symfony/http-foundation/Tests/Session/Storage/PhpBridgeSessionStorageTest.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Proxy/AbstractProxyTest.php b/core/vendor/symfony/http-foundation/Tests/Session/Storage/Proxy/AbstractProxyTest.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Proxy/AbstractProxyTest.php rename to core/vendor/symfony/http-foundation/Tests/Session/Storage/Proxy/AbstractProxyTest.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Proxy/NativeProxyTest.php b/core/vendor/symfony/http-foundation/Tests/Session/Storage/Proxy/NativeProxyTest.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Proxy/NativeProxyTest.php rename to core/vendor/symfony/http-foundation/Tests/Session/Storage/Proxy/NativeProxyTest.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Proxy/SessionHandlerProxyTest.php b/core/vendor/symfony/http-foundation/Tests/Session/Storage/Proxy/SessionHandlerProxyTest.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Proxy/SessionHandlerProxyTest.php rename to core/vendor/symfony/http-foundation/Tests/Session/Storage/Proxy/SessionHandlerProxyTest.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/StreamedResponseTest.php b/core/vendor/symfony/http-foundation/Tests/StreamedResponseTest.php similarity index 100% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/StreamedResponseTest.php rename to core/vendor/symfony/http-foundation/Tests/StreamedResponseTest.php diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/composer.json b/core/vendor/symfony/http-foundation/composer.json similarity index 63% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/composer.json rename to core/vendor/symfony/http-foundation/composer.json index 388eda7355e1ffa180488d7b678dd45c9d73e6dd..80f4436aca5a27e4f77d592813fb1cb679bd455e 100644 --- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/composer.json +++ b/core/vendor/symfony/http-foundation/composer.json @@ -3,7 +3,7 @@ "type": "library", "description": "Symfony HttpFoundation Component", "keywords": [], - "homepage": "http://symfony.com", + "homepage": "https://symfony.com", "license": "MIT", "authors": [ { @@ -12,25 +12,24 @@ }, { "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" + "homepage": "https://symfony.com/contributors" } ], "require": { - "php": ">=5.3.3" + "php": ">=5.3.9" }, "require-dev": { "symfony/phpunit-bridge": "~2.7", "symfony/expression-language": "~2.4" }, "autoload": { - "psr-0": { "Symfony\\Component\\HttpFoundation\\": "" }, - "classmap": [ "Symfony/Component/HttpFoundation/Resources/stubs" ] + "psr-4": { "Symfony\\Component\\HttpFoundation\\": "" }, + "classmap": [ "Resources/stubs" ] }, - "target-dir": "Symfony/Component/HttpFoundation", "minimum-stability": "dev", "extra": { "branch-alias": { - "dev-master": "2.6-dev" + "dev-master": "2.7-dev" } } } diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/phpunit.xml.dist b/core/vendor/symfony/http-foundation/phpunit.xml.dist similarity index 99% rename from core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/phpunit.xml.dist rename to core/vendor/symfony/http-foundation/phpunit.xml.dist index b5b660a39433eadb5441c2231bc6df53f57b6a7f..9ffdb43a2d7445eb0562db274c81c6f566fb0d23 100644 --- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/phpunit.xml.dist +++ b/core/vendor/symfony/http-foundation/phpunit.xml.dist @@ -9,6 +9,7 @@ <php> <ini name="error_reporting" value="-1" /> </php> + <testsuites> <testsuite name="Symfony HttpFoundation Component Test Suite"> <directory>./Tests/</directory> diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Bundle/Bundle.php b/core/vendor/symfony/http-kernel/Bundle/Bundle.php similarity index 95% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Bundle/Bundle.php rename to core/vendor/symfony/http-kernel/Bundle/Bundle.php index 93048c408b0d13197427a768068d3b37364916f3..c58f0f03b74b15e6de8c40b401635bd2de5a7139 100644 --- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Bundle/Bundle.php +++ b/core/vendor/symfony/http-kernel/Bundle/Bundle.php @@ -76,6 +76,10 @@ public function getContainerExtension() if (class_exists($class)) { $extension = new $class(); + if (!$extension instanceof ExtensionInterface) { + throw new \LogicException(sprintf('Extension %s must implement Symfony\Component\DependencyInjection\Extension\ExtensionInterface.', $class)); + } + // check naming convention $basename = preg_replace('/Bundle$/', '', $this->getName()); $expectedAlias = Container::underscore($basename); diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Bundle/BundleInterface.php b/core/vendor/symfony/http-kernel/Bundle/BundleInterface.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Bundle/BundleInterface.php rename to core/vendor/symfony/http-kernel/Bundle/BundleInterface.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/CHANGELOG.md b/core/vendor/symfony/http-kernel/CHANGELOG.md similarity index 98% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/CHANGELOG.md rename to core/vendor/symfony/http-kernel/CHANGELOG.md index 39d35f3c6464258e94a700968976ff62088a9faf..ad27886ac8738a437bd0209747f730ea9c8f5f7f 100644 --- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/CHANGELOG.md +++ b/core/vendor/symfony/http-kernel/CHANGELOG.md @@ -1,6 +1,11 @@ CHANGELOG ========= +2.7.0 +----- + + * added the HTTP status code to profiles + 2.6.0 ----- diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/CacheClearer/CacheClearerInterface.php b/core/vendor/symfony/http-kernel/CacheClearer/CacheClearerInterface.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/CacheClearer/CacheClearerInterface.php rename to core/vendor/symfony/http-kernel/CacheClearer/CacheClearerInterface.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/CacheClearer/ChainCacheClearer.php b/core/vendor/symfony/http-kernel/CacheClearer/ChainCacheClearer.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/CacheClearer/ChainCacheClearer.php rename to core/vendor/symfony/http-kernel/CacheClearer/ChainCacheClearer.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/CacheWarmer/CacheWarmer.php b/core/vendor/symfony/http-kernel/CacheWarmer/CacheWarmer.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/CacheWarmer/CacheWarmer.php rename to core/vendor/symfony/http-kernel/CacheWarmer/CacheWarmer.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/CacheWarmer/CacheWarmerAggregate.php b/core/vendor/symfony/http-kernel/CacheWarmer/CacheWarmerAggregate.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/CacheWarmer/CacheWarmerAggregate.php rename to core/vendor/symfony/http-kernel/CacheWarmer/CacheWarmerAggregate.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/CacheWarmer/CacheWarmerInterface.php b/core/vendor/symfony/http-kernel/CacheWarmer/CacheWarmerInterface.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/CacheWarmer/CacheWarmerInterface.php rename to core/vendor/symfony/http-kernel/CacheWarmer/CacheWarmerInterface.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/CacheWarmer/WarmableInterface.php b/core/vendor/symfony/http-kernel/CacheWarmer/WarmableInterface.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/CacheWarmer/WarmableInterface.php rename to core/vendor/symfony/http-kernel/CacheWarmer/WarmableInterface.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Client.php b/core/vendor/symfony/http-kernel/Client.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Client.php rename to core/vendor/symfony/http-kernel/Client.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Config/EnvParametersResource.php b/core/vendor/symfony/http-kernel/Config/EnvParametersResource.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Config/EnvParametersResource.php rename to core/vendor/symfony/http-kernel/Config/EnvParametersResource.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Config/FileLocator.php b/core/vendor/symfony/http-kernel/Config/FileLocator.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Config/FileLocator.php rename to core/vendor/symfony/http-kernel/Config/FileLocator.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Controller/ControllerReference.php b/core/vendor/symfony/http-kernel/Controller/ControllerReference.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Controller/ControllerReference.php rename to core/vendor/symfony/http-kernel/Controller/ControllerReference.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Controller/ControllerResolver.php b/core/vendor/symfony/http-kernel/Controller/ControllerResolver.php similarity index 98% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Controller/ControllerResolver.php rename to core/vendor/symfony/http-kernel/Controller/ControllerResolver.php index b9bac023bd0d0cd755bde714acaf0993363cf956..94df05eee415f814ce51c819f8ca7e18acbc19f6 100644 --- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Controller/ControllerResolver.php +++ b/core/vendor/symfony/http-kernel/Controller/ControllerResolver.php @@ -51,7 +51,7 @@ public function getController(Request $request) { if (!$controller = $request->attributes->get('_controller')) { if (null !== $this->logger) { - $this->logger->warning('Unable to look for the controller as the "_controller" parameter is missing'); + $this->logger->warning('Unable to look for the controller as the "_controller" parameter is missing.'); } return false; diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Controller/ControllerResolverInterface.php b/core/vendor/symfony/http-kernel/Controller/ControllerResolverInterface.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Controller/ControllerResolverInterface.php rename to core/vendor/symfony/http-kernel/Controller/ControllerResolverInterface.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Controller/TraceableControllerResolver.php b/core/vendor/symfony/http-kernel/Controller/TraceableControllerResolver.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Controller/TraceableControllerResolver.php rename to core/vendor/symfony/http-kernel/Controller/TraceableControllerResolver.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/ConfigDataCollector.php b/core/vendor/symfony/http-kernel/DataCollector/ConfigDataCollector.php similarity index 82% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/ConfigDataCollector.php rename to core/vendor/symfony/http-kernel/DataCollector/ConfigDataCollector.php index f58027e218b3fb1cd96c1ddbcfe45fa2507843a5..853adcb300a2c65b4f9dade7c0e6584ae27f52da 100644 --- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/ConfigDataCollector.php +++ b/core/vendor/symfony/http-kernel/DataCollector/ConfigDataCollector.php @@ -23,9 +23,13 @@ */ class ConfigDataCollector extends DataCollector { + /** + * @var KernelInterface + */ private $kernel; private $name; private $version; + private $cacheVersionInfo = true; /** * Constructor. @@ -59,6 +63,7 @@ public function collect(Request $request, Response $response, \Exception $except 'app_version' => $this->version, 'token' => $response->headers->get('X-Debug-Token'), 'symfony_version' => Kernel::VERSION, + 'symfony_state' => 'unknown', 'name' => isset($this->kernel) ? $this->kernel->getName() : 'n/a', 'env' => isset($this->kernel) ? $this->kernel->getEnvironment() : 'n/a', 'debug' => isset($this->kernel) ? $this->kernel->isDebug() : 'n/a', @@ -77,6 +82,8 @@ public function collect(Request $request, Response $response, \Exception $except foreach ($this->kernel->getBundles() as $name => $bundle) { $this->data['bundles'][$name] = $bundle->getPath(); } + + $this->data['symfony_state'] = $this->determineSymfonyState(); } } @@ -110,6 +117,21 @@ public function getSymfonyVersion() return $this->data['symfony_version']; } + /** + * Returns the state of the current Symfony release. + * + * @return string One of: unknown, dev, stable, eom, eol + */ + public function getSymfonyState() + { + return $this->data['symfony_state']; + } + + public function setCacheVersionInfo($cacheVersionInfo) + { + $this->cacheVersionInfo = $cacheVersionInfo; + } + /** * Gets the PHP version. * @@ -242,4 +264,28 @@ public function getName() { return 'config'; } + + /** + * Tries to retrieve information about the current Symfony version. + * + * @return string One of: dev, stable, eom, eol + */ + private function determineSymfonyState() + { + $now = new \DateTime(); + $eom = \DateTime::createFromFormat('m/Y', Kernel::END_OF_MAINTENANCE)->modify('last day of this month'); + $eol = \DateTime::createFromFormat('m/Y', Kernel::END_OF_LIFE)->modify('last day of this month'); + + if ($now > $eol) { + $versionState = 'eol'; + } elseif ($now > $eom) { + $versionState = 'eom'; + } elseif ('' !== Kernel::EXTRA_VERSION) { + $versionState = 'dev'; + } else { + $versionState = 'stable'; + } + + return $versionState; + } } diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/DataCollector.php b/core/vendor/symfony/http-kernel/DataCollector/DataCollector.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/DataCollector.php rename to core/vendor/symfony/http-kernel/DataCollector/DataCollector.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/DataCollectorInterface.php b/core/vendor/symfony/http-kernel/DataCollector/DataCollectorInterface.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/DataCollectorInterface.php rename to core/vendor/symfony/http-kernel/DataCollector/DataCollectorInterface.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/DumpDataCollector.php b/core/vendor/symfony/http-kernel/DataCollector/DumpDataCollector.php similarity index 60% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/DumpDataCollector.php rename to core/vendor/symfony/http-kernel/DataCollector/DumpDataCollector.php index 91851c901b8dfd47a1bd03958feefb7621973608..09abfb125bb921e6ef038600b9a842e14b1f2289 100644 --- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/DumpDataCollector.php +++ b/core/vendor/symfony/http-kernel/DataCollector/DumpDataCollector.php @@ -12,6 +12,7 @@ namespace Symfony\Component\HttpKernel\DataCollector; use Symfony\Component\HttpFoundation\Request; +use Symfony\Component\HttpFoundation\RequestStack; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Stopwatch\Stopwatch; use Symfony\Component\VarDumper\Cloner\Data; @@ -33,12 +34,17 @@ class DumpDataCollector extends DataCollector implements DataDumperInterface private $clonesIndex = 0; private $rootRefs; private $charset; + private $dumper; + private $dumperIsInjected; - public function __construct(Stopwatch $stopwatch = null, $fileLinkFormat = null, $charset = null) + public function __construct(Stopwatch $stopwatch = null, $fileLinkFormat = null, $charset = null, RequestStack $requestStack = null, DataDumperInterface $dumper = null) { $this->stopwatch = $stopwatch; $this->fileLinkFormat = $fileLinkFormat ?: ini_get('xdebug.file_link_format') ?: get_cfg_var('xdebug.file_link_format'); $this->charset = $charset ?: ini_get('php.output_encoding') ?: ini_get('default_charset') ?: 'UTF-8'; + $this->requestStack = $requestStack; + $this->dumper = $dumper; + $this->dumperIsInjected = null !== $dumper; // All clones share these properties by reference: $this->rootRefs = array( @@ -63,7 +69,7 @@ public function dump(Data $data) $this->isCollected = false; } - $trace = PHP_VERSION_ID >= 50306 ? DEBUG_BACKTRACE_PROVIDE_OBJECT | DEBUG_BACKTRACE_IGNORE_ARGS : true; + $trace = DEBUG_BACKTRACE_PROVIDE_OBJECT | DEBUG_BACKTRACE_IGNORE_ARGS; if (PHP_VERSION_ID >= 50400) { $trace = debug_backtrace($trace, 7); } else { @@ -84,7 +90,7 @@ public function dump(Data $data) $line = $trace[$i]['line']; while (++$i < 7) { - if (isset($trace[$i]['function']) && empty($trace[$i]['class']) && 'call_user_func' !== $trace[$i]['function']) { + if (isset($trace[$i]['function'], $trace[$i]['file']) && empty($trace[$i]['class']) && 0 !== strpos($trace[$i]['function'], 'call_user_func')) { $file = $trace[$i]['file']; $line = $trace[$i]['line']; @@ -94,9 +100,9 @@ public function dump(Data $data) $name = $info->getTemplateName(); $src = $info->getEnvironment()->getLoader()->getSource($name); $info = $info->getDebugInfo(); - if (isset($info[$trace[$i-1]['line']])) { + if (isset($info[$trace[$i - 1]['line']])) { $file = false; - $line = $info[$trace[$i-1]['line']]; + $line = $info[$trace[$i - 1]['line']]; $src = explode("\n", $src); $fileExcerpt = array(); @@ -118,6 +124,10 @@ public function dump(Data $data) $name = substr($name, strrpos($name, '/') + 1); } + if ($this->dumper) { + $this->doDump($data, $name, $file, $line); + } + $this->data[] = compact('data', 'name', 'file', 'line', 'fileExcerpt'); ++$this->dataCount; @@ -128,6 +138,29 @@ public function dump(Data $data) public function collect(Request $request, Response $response, \Exception $exception = null) { + // Sub-requests and programmatic calls stay in the collected profile. + if ($this->dumper || ($this->requestStack && $this->requestStack->getMasterRequest() !== $request) || $request->isXmlHttpRequest() || $request->headers->has('Origin')) { + return; + } + + // In all other conditions that remove the web debug toolbar, dumps are written on the output. + if (!$this->requestStack + || !$response->headers->has('X-Debug-Token') + || $response->isRedirection() + || ($response->headers->has('Content-Type') && false === strpos($response->headers->get('Content-Type'), 'html')) + || 'html' !== $request->getRequestFormat() + || false === strripos($response->getContent(), '</body>') + ) { + if ($response->headers->has('Content-Type') && false !== strpos($response->headers->get('Content-Type'), 'html')) { + $this->dumper = new HtmlDumper('php://output', $this->charset); + } else { + $this->dumper = new CliDumper('php://output', $this->charset); + } + + foreach ($this->data as $dump) { + $this->doDump($dump['data'], $dump['name'], $dump['file'], $dump['line']); + } + } } public function serialize() @@ -140,6 +173,9 @@ public function serialize() $this->data = array(); $this->dataCount = 0; $this->isCollected = true; + if (!$this->dumperIsInjected) { + $this->dumper = null; + } return $ser; } @@ -168,7 +204,12 @@ public function getDumps($format, $maxDepthLimit = -1, $maxItemsPerDepth = -1) $dumps = array(); foreach ($this->data as $dump) { - $dumper->dump($dump['data']->getLimitedClone($maxDepthLimit, $maxItemsPerDepth)); + if (method_exists($dump['data'], 'withMaxDepth')) { + $dumper->dump($dump['data']->withMaxDepth($maxDepthLimit)->withMaxItemsPerDepth($maxItemsPerDepth)); + } else { + // getLimitedClone is @deprecated, to be removed in 3.0 + $dumper->dump($dump['data']->getLimitedClone($maxDepthLimit, $maxItemsPerDepth)); + } rewind($data); $dump['data'] = stream_get_contents($data); ftruncate($data, 0); @@ -198,36 +239,52 @@ public function __destruct() } if ('cli' !== PHP_SAPI && stripos($h[$i], 'html')) { - $dumper = new HtmlDumper('php://output', $this->charset); + $this->dumper = new HtmlDumper('php://output', $this->charset); } else { - $dumper = new CliDumper('php://output', $this->charset); - $dumper->setColors(false); + $this->dumper = new CliDumper('php://output', $this->charset); } foreach ($this->data as $i => $dump) { $this->data[$i] = null; + $this->doDump($dump['data'], $dump['name'], $dump['file'], $dump['line']); + } + + $this->data = array(); + $this->dataCount = 0; + } + } - if ($dumper instanceof HtmlDumper) { - $dump['name'] = $this->htmlEncode($dump['name']); - $dump['file'] = $this->htmlEncode($dump['file']); - if ('' !== $dump['file']) { - if ($this->fileLinkFormat) { - $link = strtr($this->fileLinkFormat, array('%f' => $dump['file'], '%l' => $dump['line'])); - $dump['name'] = sprintf('<a href="%s" title="%s">%s</a>', $link, $dump['file'], $dump['name']); + private function doDump($data, $name, $file, $line) + { + if (PHP_VERSION_ID >= 50400 && $this->dumper instanceof CliDumper) { + $contextDumper = function ($name, $file, $line, $fileLinkFormat) { + if ($this instanceof HtmlDumper) { + if ('' !== $file) { + $s = $this->style('meta', '%s'); + $name = strip_tags($this->style('', $name)); + $file = strip_tags($this->style('', $file)); + if ($fileLinkFormat) { + $link = strtr(strip_tags($this->style('', $fileLinkFormat)), array('%f' => $file, '%l' => (int) $line)); + $name = sprintf('<a href="%s" title="%s">'.$s.'</a>', $link, $file, $name); } else { - $dump['name'] = sprintf('<abbr title="%s">%s</abbr>', $dump['file'], $dump['name']); + $name = sprintf('<abbr title="%s">'.$s.'</abbr>', $file, $name); } + } else { + $name = $this->style('meta', $name); } - echo "\n<span class=\"sf-dump-meta\">{$dump['name']} on line {$dump['line']}:</span>"; + $this->line = $name.' on line '.$this->style('meta', $line).':'; } else { - echo "{$dump['name']} on line {$dump['line']}:\n"; + $this->line = $this->style('meta', $name).' on line '.$this->style('meta', $line).':'; } - $dumper->dump($dump['data']); - } - - $this->data = array(); - $this->dataCount = 0; + $this->dumpLine(0); + }; + $contextDumper = $contextDumper->bindTo($this->dumper, $this->dumper); + $contextDumper($name, $file, $line, $this->fileLinkFormat); + } else { + $cloner = new VarCloner(); + $this->dumper->dump($cloner->cloneVar($name.' on line '.$line.':')); } + $this->dumper->dump($data); } private function htmlEncode($s) diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/EventDataCollector.php b/core/vendor/symfony/http-kernel/DataCollector/EventDataCollector.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/EventDataCollector.php rename to core/vendor/symfony/http-kernel/DataCollector/EventDataCollector.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/ExceptionDataCollector.php b/core/vendor/symfony/http-kernel/DataCollector/ExceptionDataCollector.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/ExceptionDataCollector.php rename to core/vendor/symfony/http-kernel/DataCollector/ExceptionDataCollector.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/LateDataCollectorInterface.php b/core/vendor/symfony/http-kernel/DataCollector/LateDataCollectorInterface.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/LateDataCollectorInterface.php rename to core/vendor/symfony/http-kernel/DataCollector/LateDataCollectorInterface.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/LoggerDataCollector.php b/core/vendor/symfony/http-kernel/DataCollector/LoggerDataCollector.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/LoggerDataCollector.php rename to core/vendor/symfony/http-kernel/DataCollector/LoggerDataCollector.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/MemoryDataCollector.php b/core/vendor/symfony/http-kernel/DataCollector/MemoryDataCollector.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/MemoryDataCollector.php rename to core/vendor/symfony/http-kernel/DataCollector/MemoryDataCollector.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/RequestDataCollector.php b/core/vendor/symfony/http-kernel/DataCollector/RequestDataCollector.php similarity index 98% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/RequestDataCollector.php rename to core/vendor/symfony/http-kernel/DataCollector/RequestDataCollector.php index b839cc0a18ddd6e2ff2a984e0434e64aa83c4fe2..4d83e9a849b9d9c94892b87dd283718c84a2fbcb 100644 --- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/RequestDataCollector.php +++ b/core/vendor/symfony/http-kernel/DataCollector/RequestDataCollector.php @@ -117,6 +117,10 @@ public function collect(Request $request, Response $response, \Exception $except $this->data['request_server']['PHP_AUTH_PW'] = '******'; } + if (isset($this->data['request_request']['_password'])) { + $this->data['request_request']['_password'] = '******'; + } + if (isset($this->controllers[$request])) { $controller = $this->controllers[$request]; if (is_array($controller)) { diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/RouterDataCollector.php b/core/vendor/symfony/http-kernel/DataCollector/RouterDataCollector.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/RouterDataCollector.php rename to core/vendor/symfony/http-kernel/DataCollector/RouterDataCollector.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/TimeDataCollector.php b/core/vendor/symfony/http-kernel/DataCollector/TimeDataCollector.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/TimeDataCollector.php rename to core/vendor/symfony/http-kernel/DataCollector/TimeDataCollector.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/Util/ValueExporter.php b/core/vendor/symfony/http-kernel/DataCollector/Util/ValueExporter.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DataCollector/Util/ValueExporter.php rename to core/vendor/symfony/http-kernel/DataCollector/Util/ValueExporter.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Debug/ErrorHandler.php b/core/vendor/symfony/http-kernel/Debug/ErrorHandler.php similarity index 66% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Debug/ErrorHandler.php rename to core/vendor/symfony/http-kernel/Debug/ErrorHandler.php index 2718f891df2d9e30e54b19c2c7e273b134483ce3..577265bfa04d3e171e3c5586527f540ca926b05b 100644 --- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Debug/ErrorHandler.php +++ b/core/vendor/symfony/http-kernel/Debug/ErrorHandler.php @@ -11,6 +11,8 @@ namespace Symfony\Component\HttpKernel\Debug; +trigger_error('The '.__NAMESPACE__.'\ErrorHandler class is deprecated since version 2.3 and will be removed in 3.0. Use the Symfony\Component\Debug\ErrorHandler class instead.', E_USER_DEPRECATED); + use Symfony\Component\Debug\ErrorHandler as DebugErrorHandler; /** @@ -18,7 +20,7 @@ * * @author Fabien Potencier <fabien@symfony.com> * - * @deprecated Deprecated in 2.3, to be removed in 3.0. Use the same class from the Debug component instead. + * @deprecated since version 2.3, to be removed in 3.0. Use the same class from the Debug component instead. */ class ErrorHandler extends DebugErrorHandler { diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Debug/ExceptionHandler.php b/core/vendor/symfony/http-kernel/Debug/ExceptionHandler.php similarity index 68% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Debug/ExceptionHandler.php rename to core/vendor/symfony/http-kernel/Debug/ExceptionHandler.php index 581e29cd8498b7ae512119c6dd7d3b6e6c757f1a..6ffba89f891ffd97a7a0164e7759d0fbf0bf043e 100644 --- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Debug/ExceptionHandler.php +++ b/core/vendor/symfony/http-kernel/Debug/ExceptionHandler.php @@ -11,6 +11,8 @@ namespace Symfony\Component\HttpKernel\Debug; +trigger_error('The '.__NAMESPACE__.'\ExceptionHandler class is deprecated since version 2.3 and will be removed in 3.0. Use the Symfony\Component\Debug\ExceptionHandler class instead.', E_USER_DEPRECATED); + use Symfony\Component\Debug\ExceptionHandler as DebugExceptionHandler; /** @@ -18,7 +20,7 @@ * * @author Fabien Potencier <fabien@symfony.com> * - * @deprecated Deprecated in 2.3, to be removed in 3.0. Use the same class from the Debug component instead. + * @deprecated since version 2.3, to be removed in 3.0. Use the same class from the Debug component instead. */ class ExceptionHandler extends DebugExceptionHandler { diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Debug/TraceableEventDispatcher.php b/core/vendor/symfony/http-kernel/Debug/TraceableEventDispatcher.php similarity index 94% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Debug/TraceableEventDispatcher.php rename to core/vendor/symfony/http-kernel/Debug/TraceableEventDispatcher.php index 02df5242bfc4777332bdef67c349dabc4f31a7ae..0a82d76525491a70a1c6f332e997b646c18d3db8 100644 --- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Debug/TraceableEventDispatcher.php +++ b/core/vendor/symfony/http-kernel/Debug/TraceableEventDispatcher.php @@ -34,10 +34,11 @@ class TraceableEventDispatcher extends BaseTraceableEventDispatcher * * @param Profiler|null $profiler A Profiler instance * - * @deprecated Deprecated since version 2.4, to be removed in 3.0. + * @deprecated since version 2.4, to be removed in 3.0. */ public function setProfiler(Profiler $profiler = null) { + trigger_error('The '.__METHOD__.' method is deprecated since version 2.4 and will be removed in 3.0.', E_USER_DEPRECATED); } /** diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DependencyInjection/AddClassesToCachePass.php b/core/vendor/symfony/http-kernel/DependencyInjection/AddClassesToCachePass.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DependencyInjection/AddClassesToCachePass.php rename to core/vendor/symfony/http-kernel/DependencyInjection/AddClassesToCachePass.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DependencyInjection/ConfigurableExtension.php b/core/vendor/symfony/http-kernel/DependencyInjection/ConfigurableExtension.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DependencyInjection/ConfigurableExtension.php rename to core/vendor/symfony/http-kernel/DependencyInjection/ConfigurableExtension.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DependencyInjection/ContainerAwareHttpKernel.php b/core/vendor/symfony/http-kernel/DependencyInjection/ContainerAwareHttpKernel.php similarity index 82% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DependencyInjection/ContainerAwareHttpKernel.php rename to core/vendor/symfony/http-kernel/DependencyInjection/ContainerAwareHttpKernel.php index 69e7937d18c1167922379984230d7d8525acc209..c64c4c3939981d81a471303e4f7c6194fb441724 100644 --- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DependencyInjection/ContainerAwareHttpKernel.php +++ b/core/vendor/symfony/http-kernel/DependencyInjection/ContainerAwareHttpKernel.php @@ -25,6 +25,8 @@ * * @author Fabien Potencier <fabien@symfony.com> * @author Johannes M. Schmitt <schmittjoh@gmail.com> + * + * @deprecated since version 2.7, to be removed in 3.0. */ class ContainerAwareHttpKernel extends HttpKernel { @@ -37,11 +39,16 @@ class ContainerAwareHttpKernel extends HttpKernel * @param ContainerInterface $container A ContainerInterface instance * @param ControllerResolverInterface $controllerResolver A ControllerResolverInterface instance * @param RequestStack $requestStack A stack for master/sub requests + * @param bool $triggerDeprecation Whether or not to trigger the deprecation warning for the ContainerAwareHttpKernel */ - public function __construct(EventDispatcherInterface $dispatcher, ContainerInterface $container, ControllerResolverInterface $controllerResolver, RequestStack $requestStack = null) + public function __construct(EventDispatcherInterface $dispatcher, ContainerInterface $container, ControllerResolverInterface $controllerResolver, RequestStack $requestStack = null, $triggerDeprecation = true) { parent::__construct($dispatcher, $controllerResolver, $requestStack); + if ($triggerDeprecation) { + trigger_error('The '.__CLASS__.' class is deprecated since version 2.7 and will be removed in 3.0. Use the Symfony\Component\HttpKernel\HttpKernel class instead.', E_USER_DEPRECATED); + } + $this->container = $container; // the request scope might have been created before (see FrameworkBundle) @@ -55,8 +62,6 @@ public function __construct(EventDispatcherInterface $dispatcher, ContainerInter */ public function handle(Request $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = true) { - $request->headers->set('X-Php-Ob-Level', ob_get_level()); - $this->container->enterScope('request'); $this->container->set('request', $request, 'request'); diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DependencyInjection/Extension.php b/core/vendor/symfony/http-kernel/DependencyInjection/Extension.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DependencyInjection/Extension.php rename to core/vendor/symfony/http-kernel/DependencyInjection/Extension.php diff --git a/core/vendor/symfony/http-kernel/DependencyInjection/FragmentRendererPass.php b/core/vendor/symfony/http-kernel/DependencyInjection/FragmentRendererPass.php new file mode 100644 index 0000000000000000000000000000000000000000..c0cd8d4d5da861e840bf5a74d66933289b1cb028 --- /dev/null +++ b/core/vendor/symfony/http-kernel/DependencyInjection/FragmentRendererPass.php @@ -0,0 +1,73 @@ +<?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\HttpKernel\DependencyInjection; + +use Symfony\Component\DependencyInjection\ContainerBuilder; +use Symfony\Component\DependencyInjection\Reference; +use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; + +/** + * Adds services tagged kernel.fragment_renderer as HTTP content rendering strategies. + * + * @author Fabien Potencier <fabien@symfony.com> + */ +class FragmentRendererPass implements CompilerPassInterface +{ + private $handlerService; + private $rendererTag; + + /** + * @param string $handlerService Service name of the fragment handler in the container + * @param string $rendererTag Tag name used for fragments + */ + public function __construct($handlerService = 'fragment.handler', $rendererTag = 'kernel.fragment_renderer') + { + $this->handlerService = $handlerService; + $this->rendererTag = $rendererTag; + } + + public function process(ContainerBuilder $container) + { + if (!$container->hasDefinition($this->handlerService)) { + return; + } + + $definition = $container->getDefinition($this->handlerService); + foreach ($container->findTaggedServiceIds($this->rendererTag) as $id => $tags) { + $def = $container->getDefinition($id); + if (!$def->isPublic()) { + throw new \InvalidArgumentException(sprintf('The service "%s" must be public as fragment renderer are lazy-loaded.', $id)); + } + + if ($def->isAbstract()) { + throw new \InvalidArgumentException(sprintf('The service "%s" must not be abstract as fragment renderer are lazy-loaded.', $id)); + } + + $refClass = new \ReflectionClass($container->getParameterBag()->resolveValue($def->getClass())); + $interface = 'Symfony\Component\HttpKernel\Fragment\FragmentRendererInterface'; + if (!$refClass->implementsInterface($interface)) { + throw new \InvalidArgumentException(sprintf('Service "%s" must implement interface "%s".', $id, $interface)); + } + + foreach ($tags as $tag) { + if (!isset($tag['alias'])) { + trigger_error(sprintf('Service "%s" will have to define the "alias" attribute on the "%s" tag as of Symfony 3.0.', $id, $this->rendererTag), E_USER_DEPRECATED); + + // register the handler as a non-lazy-loaded one + $definition->addMethodCall('addRenderer', array(new Reference($id))); + } else { + $definition->addMethodCall('addRendererService', array($tag['alias'], $id)); + } + } + } + } +} diff --git a/core/vendor/symfony/http-kernel/DependencyInjection/LazyLoadingFragmentHandler.php b/core/vendor/symfony/http-kernel/DependencyInjection/LazyLoadingFragmentHandler.php new file mode 100644 index 0000000000000000000000000000000000000000..4efe7cb62073657b235606aefbb81b2caa077450 --- /dev/null +++ b/core/vendor/symfony/http-kernel/DependencyInjection/LazyLoadingFragmentHandler.php @@ -0,0 +1,58 @@ +<?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\HttpKernel\DependencyInjection; + +use Symfony\Component\DependencyInjection\ContainerInterface; +use Symfony\Component\HttpFoundation\RequestStack; +use Symfony\Component\HttpKernel\Fragment\FragmentHandler; + +/** + * Lazily loads fragment renderers from the dependency injection container. + * + * @author Fabien Potencier <fabien@symfony.com> + */ +class LazyLoadingFragmentHandler extends FragmentHandler +{ + private $container; + private $rendererIds = array(); + + public function __construct(ContainerInterface $container, $debug = false, RequestStack $requestStack = null) + { + $this->container = $container; + + parent::__construct(array(), $debug, $requestStack); + } + + /** + * Adds a service as a fragment renderer. + * + * @param string $renderer The render service id + */ + public function addRendererService($name, $renderer) + { + $this->rendererIds[$name] = $renderer; + } + + /** + * {@inheritdoc} + */ + public function render($uri, $renderer = 'inline', array $options = array()) + { + if (isset($this->rendererIds[$renderer])) { + $this->addRenderer($this->container->get($this->rendererIds[$renderer])); + + unset($this->rendererIds[$renderer]); + } + + return parent::render($uri, $renderer, $options); + } +} diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DependencyInjection/MergeExtensionConfigurationPass.php b/core/vendor/symfony/http-kernel/DependencyInjection/MergeExtensionConfigurationPass.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DependencyInjection/MergeExtensionConfigurationPass.php rename to core/vendor/symfony/http-kernel/DependencyInjection/MergeExtensionConfigurationPass.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DependencyInjection/RegisterListenersPass.php b/core/vendor/symfony/http-kernel/DependencyInjection/RegisterListenersPass.php similarity index 58% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DependencyInjection/RegisterListenersPass.php rename to core/vendor/symfony/http-kernel/DependencyInjection/RegisterListenersPass.php index 0e14e91652b9a444010b01c179b70501c4ec8e94..386476b3c9ed26445a65518cbe7aa8424cd3d932 100644 --- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/DependencyInjection/RegisterListenersPass.php +++ b/core/vendor/symfony/http-kernel/DependencyInjection/RegisterListenersPass.php @@ -11,12 +11,14 @@ namespace Symfony\Component\HttpKernel\DependencyInjection; +trigger_error('The '.__NAMESPACE__.'\RegisterListenersPass is deprecated since version 2.5 and will be removed in 3.0. Use the Symfony\Component\EventDispatcher\DependencyInjection\RegisterListenersPass class instead.', E_USER_DEPRECATED); + use Symfony\Component\EventDispatcher\DependencyInjection\RegisterListenersPass as BaseRegisterListenersPass; /** * Compiler pass to register tagged services for an event dispatcher. * - * @deprecated Deprecated in 2.5, to be removed in 3.0. Use Symfony\Component\EventDispatcher\DependencyInjection\RegisterListenersPass instead. + * @deprecated since version 2.5, to be removed in 3.0. Use the Symfony\Component\EventDispatcher\DependencyInjection\RegisterListenersPass class instead. */ class RegisterListenersPass extends BaseRegisterListenersPass { diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Event/FilterControllerEvent.php b/core/vendor/symfony/http-kernel/Event/FilterControllerEvent.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Event/FilterControllerEvent.php rename to core/vendor/symfony/http-kernel/Event/FilterControllerEvent.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Event/FilterResponseEvent.php b/core/vendor/symfony/http-kernel/Event/FilterResponseEvent.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Event/FilterResponseEvent.php rename to core/vendor/symfony/http-kernel/Event/FilterResponseEvent.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Event/FinishRequestEvent.php b/core/vendor/symfony/http-kernel/Event/FinishRequestEvent.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Event/FinishRequestEvent.php rename to core/vendor/symfony/http-kernel/Event/FinishRequestEvent.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Event/GetResponseEvent.php b/core/vendor/symfony/http-kernel/Event/GetResponseEvent.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Event/GetResponseEvent.php rename to core/vendor/symfony/http-kernel/Event/GetResponseEvent.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Event/GetResponseForControllerResultEvent.php b/core/vendor/symfony/http-kernel/Event/GetResponseForControllerResultEvent.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Event/GetResponseForControllerResultEvent.php rename to core/vendor/symfony/http-kernel/Event/GetResponseForControllerResultEvent.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Event/GetResponseForExceptionEvent.php b/core/vendor/symfony/http-kernel/Event/GetResponseForExceptionEvent.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Event/GetResponseForExceptionEvent.php rename to core/vendor/symfony/http-kernel/Event/GetResponseForExceptionEvent.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Event/KernelEvent.php b/core/vendor/symfony/http-kernel/Event/KernelEvent.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Event/KernelEvent.php rename to core/vendor/symfony/http-kernel/Event/KernelEvent.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Event/PostResponseEvent.php b/core/vendor/symfony/http-kernel/Event/PostResponseEvent.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Event/PostResponseEvent.php rename to core/vendor/symfony/http-kernel/Event/PostResponseEvent.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/AddRequestFormatsListener.php b/core/vendor/symfony/http-kernel/EventListener/AddRequestFormatsListener.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/AddRequestFormatsListener.php rename to core/vendor/symfony/http-kernel/EventListener/AddRequestFormatsListener.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/DebugHandlersListener.php b/core/vendor/symfony/http-kernel/EventListener/DebugHandlersListener.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/DebugHandlersListener.php rename to core/vendor/symfony/http-kernel/EventListener/DebugHandlersListener.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/DumpListener.php b/core/vendor/symfony/http-kernel/EventListener/DumpListener.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/DumpListener.php rename to core/vendor/symfony/http-kernel/EventListener/DumpListener.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/ErrorsLoggerListener.php b/core/vendor/symfony/http-kernel/EventListener/ErrorsLoggerListener.php similarity index 79% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/ErrorsLoggerListener.php rename to core/vendor/symfony/http-kernel/EventListener/ErrorsLoggerListener.php index d5400b7d6ee019e52f53f906f2a58e86f3f29243..230a9494362700e8fd81966b641524959c86b28f 100644 --- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/ErrorsLoggerListener.php +++ b/core/vendor/symfony/http-kernel/EventListener/ErrorsLoggerListener.php @@ -11,6 +11,8 @@ namespace Symfony\Component\HttpKernel\EventListener; +trigger_error('The '.__NAMESPACE__.'\ErrorsLoggerListener class is deprecated since version 2.6 and will be removed in 3.0. Use the Symfony\Component\HttpKernel\EventListener\DebugHandlersListener class instead.', E_USER_DEPRECATED); + use Psr\Log\LoggerInterface; use Symfony\Component\Debug\ErrorHandler; use Symfony\Component\EventDispatcher\EventSubscriberInterface; @@ -22,12 +24,11 @@ * @author Colin Frei <colin@colinfrei.com> * @author Konstantin Myakshin <koc-dp@yandex.ru> * - * @deprecated since 2.6, to be removed in 3.0. Use DebugHandlersListener instead. + * @deprecated since version 2.6, to be removed in 3.0. Use the DebugHandlersListener class instead. */ class ErrorsLoggerListener implements EventSubscriberInterface { private $channel; - private $logger; public function __construct($channel, LoggerInterface $logger = null) diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/EsiListener.php b/core/vendor/symfony/http-kernel/EventListener/EsiListener.php similarity index 61% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/EsiListener.php rename to core/vendor/symfony/http-kernel/EventListener/EsiListener.php index 63801690174daba8390e8d7004509bb2c502512c..9bede00564ba62315ff255cb0f004e9c9ca4a7e7 100644 --- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/EsiListener.php +++ b/core/vendor/symfony/http-kernel/EventListener/EsiListener.php @@ -11,12 +11,14 @@ namespace Symfony\Component\HttpKernel\EventListener; +trigger_error('The '.__NAMESPACE__.'\EsiListener class is deprecated since version 2.6 and will be removed in 3.0. Use the Symfony\Component\HttpKernel\EventListener\SurrogateListener class instead.', E_USER_DEPRECATED); + /** * EsiListener adds a Surrogate-Control HTTP header when the Response needs to be parsed for ESI. * * @author Fabien Potencier <fabien@symfony.com> * - * @deprecated Deprecated since version 2.6, to be removed in 3.0. Use SurrogateListener instead + * @deprecated since version 2.6, to be removed in 3.0. Use SurrogateListener instead */ class EsiListener extends SurrogateListener { diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/ExceptionListener.php b/core/vendor/symfony/http-kernel/EventListener/ExceptionListener.php similarity index 77% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/ExceptionListener.php rename to core/vendor/symfony/http-kernel/EventListener/ExceptionListener.php index 76fe41a53d6ff21667daf39f69def382df8901de..fc2efed86bd6a69206cc3be7887b76b932f0c042 100644 --- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/ExceptionListener.php +++ b/core/vendor/symfony/http-kernel/EventListener/ExceptionListener.php @@ -39,14 +39,6 @@ public function __construct($controller, LoggerInterface $logger = null) public function onKernelException(GetResponseForExceptionEvent $event) { - static $handling; - - if (true === $handling) { - return false; - } - - $handling = true; - $exception = $event->getException(); $request = $event->getRequest(); @@ -55,20 +47,26 @@ public function onKernelException(GetResponseForExceptionEvent $event) $request = $this->duplicateRequest($exception, $request); try { - $response = $event->getKernel()->handle($request, HttpKernelInterface::SUB_REQUEST, true); + $response = $event->getKernel()->handle($request, HttpKernelInterface::SUB_REQUEST, false); } catch (\Exception $e) { $this->logException($e, sprintf('Exception thrown when handling an exception (%s: %s at %s line %s)', get_class($e), $e->getMessage(), $e->getFile(), $e->getLine()), false); - // set handling to false otherwise it wont be able to handle further more - $handling = false; + $wrapper = $e; + + while ($prev = $wrapper->getPrevious()) { + if ($exception === $wrapper = $prev) { + throw $e; + } + } + + $prev = new \ReflectionProperty('Exception', 'previous'); + $prev->setAccessible(true); + $prev->setValue($wrapper, $exception); - // throwing $e, not $exception, is on purpose: fixing error handling code paths is the most important throw $e; } $event->setResponse($response); - - $handling = false; } public static function getSubscribedEvents() @@ -83,20 +81,15 @@ public static function getSubscribedEvents() * * @param \Exception $exception The \Exception instance * @param string $message The error message to log - * @param bool $original False when the handling of the exception thrown another exception */ - protected function logException(\Exception $exception, $message, $original = true) + protected function logException(\Exception $exception, $message) { - $isCritical = !$exception instanceof HttpExceptionInterface || $exception->getStatusCode() >= 500; - $context = array('exception' => $exception); if (null !== $this->logger) { - if ($isCritical) { - $this->logger->critical($message, $context); + if (!$exception instanceof HttpExceptionInterface || $exception->getStatusCode() >= 500) { + $this->logger->critical($message, array('exception' => $exception)); } else { - $this->logger->error($message, $context); + $this->logger->error($message, array('exception' => $exception)); } - } elseif (!$original || $isCritical) { - error_log($message); } } @@ -116,7 +109,7 @@ protected function duplicateRequest(\Exception $exception, Request $request) 'logger' => $this->logger instanceof DebugLoggerInterface ? $this->logger : null, // keep for BC -- as $format can be an argument of the controller callable // see src/Symfony/Bundle/TwigBundle/Controller/ExceptionController.php - // @deprecated in 2.4, to be removed in 3.0 + // @deprecated since version 2.4, to be removed in 3.0 'format' => $request->getRequestFormat(), ); $request = $request->duplicate(null, null, $attributes); diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/FragmentListener.php b/core/vendor/symfony/http-kernel/EventListener/FragmentListener.php similarity index 90% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/FragmentListener.php rename to core/vendor/symfony/http-kernel/EventListener/FragmentListener.php index d0a2298d1f5edb93cd7e30a41759ae61ed1e9386..3ff01ee1a3bdcda7569a9b4f7c453aef430ff050 100644 --- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/FragmentListener.php +++ b/core/vendor/symfony/http-kernel/EventListener/FragmentListener.php @@ -57,7 +57,7 @@ public function onKernelRequest(GetResponseEvent $event) { $request = $event->getRequest(); - if ($this->fragmentPath !== rawurldecode($request->getPathInfo())) { + if ($request->attributes->has('_controller') || $this->fragmentPath !== rawurldecode($request->getPathInfo())) { return; } @@ -88,12 +88,14 @@ protected function validateRequest(Request $request) } /** - * @deprecated Deprecated since 2.3.19, to be removed in 3.0. + * @deprecated since version 2.3.19, to be removed in 3.0. * * @return string[] */ protected function getLocalIpAddresses() { + trigger_error('The '.__METHOD__.' method is deprecated since version 2.3.19 and will be removed in 3.0.', E_USER_DEPRECATED); + return array('127.0.0.1', 'fe80::1', '::1'); } diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/LocaleListener.php b/core/vendor/symfony/http-kernel/EventListener/LocaleListener.php similarity index 94% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/LocaleListener.php rename to core/vendor/symfony/http-kernel/EventListener/LocaleListener.php index bdcf4c7644a7604d046c1fc5be3d6d1d95609990..ef3911694a9703e0d735ac5e455651887e7a5c84 100644 --- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/LocaleListener.php +++ b/core/vendor/symfony/http-kernel/EventListener/LocaleListener.php @@ -54,10 +54,12 @@ public function __construct($defaultLocale = 'en', RequestContextAwareInterface * * @param Request|null $request A Request instance * - * @deprecated Deprecated since version 2.4, to be removed in 3.0. + * @deprecated since version 2.4, to be removed in 3.0. */ public function setRequest(Request $request = null) { + trigger_error('The '.__METHOD__.' method is deprecated since version 2.4 and will be removed in 3.0.', E_USER_DEPRECATED); + if (null === $request) { return; } diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/ProfilerListener.php b/core/vendor/symfony/http-kernel/EventListener/ProfilerListener.php similarity index 90% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/ProfilerListener.php rename to core/vendor/symfony/http-kernel/EventListener/ProfilerListener.php index 43d8d03a7f2181714fb86d0f964247d1255eab07..781475a9925d2fb88053ceadf328af6b50adf64b 100644 --- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/ProfilerListener.php +++ b/core/vendor/symfony/http-kernel/EventListener/ProfilerListener.php @@ -22,7 +22,7 @@ use Symfony\Component\EventDispatcher\EventSubscriberInterface; /** - * ProfilerListener collects data for the current request by listening to the onKernelResponse event. + * ProfilerListener collects data for the current request by listening to the kernel events. * * @author Fabien Potencier <fabien@symfony.com> */ @@ -49,6 +49,13 @@ class ProfilerListener implements EventSubscriberInterface */ public function __construct(Profiler $profiler, RequestMatcherInterface $matcher = null, $onlyException = false, $onlyMasterRequests = false, RequestStack $requestStack = null) { + if (null === $requestStack) { + // Prevent the deprecation notice to be triggered all the time. + // The onKernelRequest() method fires some logic only when the + // RequestStack instance is not provided as a dependency. + trigger_error('Since version 2.4, the '.__METHOD__.' method must accept a RequestStack instance to get the request instead of using the '.__CLASS__.'::onKernelRequest method that will be removed in 3.0.', E_USER_DEPRECATED); + } + $this->profiler = $profiler; $this->matcher = $matcher; $this->onlyException = (bool) $onlyException; @@ -73,7 +80,7 @@ public function onKernelException(GetResponseForExceptionEvent $event) } /** - * @deprecated Deprecated since version 2.4, to be removed in 3.0. + * @deprecated since version 2.4, to be removed in 3.0. */ public function onKernelRequest(GetResponseEvent $event) { diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/ResponseListener.php b/core/vendor/symfony/http-kernel/EventListener/ResponseListener.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/ResponseListener.php rename to core/vendor/symfony/http-kernel/EventListener/ResponseListener.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/RouterListener.php b/core/vendor/symfony/http-kernel/EventListener/RouterListener.php similarity index 85% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/RouterListener.php rename to core/vendor/symfony/http-kernel/EventListener/RouterListener.php index db05fcac16dd74e138802182ec94257d27e28d50..9a49e2f3c857c684f27cc4e55d218f16d8b72897 100644 --- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/RouterListener.php +++ b/core/vendor/symfony/http-kernel/EventListener/RouterListener.php @@ -67,6 +67,10 @@ public function __construct($matcher, RequestContext $context = null, LoggerInte throw new \InvalidArgumentException('You must either pass a RequestContext or the matcher must implement RequestContextAwareInterface.'); } + if (!$requestStack instanceof RequestStack) { + trigger_error('The '.__METHOD__.' method now requires a RequestStack instance as '.__CLASS__.'::setRequest method will not be supported anymore in 3.0.', E_USER_DEPRECATED); + } + $this->matcher = $matcher; $this->context = $context ?: $matcher->getContext(); $this->requestStack = $requestStack; @@ -82,13 +86,21 @@ public function __construct($matcher, RequestContext $context = null, LoggerInte * * @param Request|null $request A Request instance * - * @deprecated Deprecated since version 2.4, to be moved to a private function in 3.0. + * @deprecated since version 2.4, to be removed in 3.0. */ public function setRequest(Request $request = null) + { + trigger_error('The '.__METHOD__.' method is deprecated since version 2.4 and will be made private in 3.0.', E_USER_DEPRECATED); + + $this->setCurrentRequest($request); + } + + private function setCurrentRequest(Request $request = null) { if (null !== $request && $this->request !== $request) { $this->context->fromRequest($request); } + $this->request = $request; } @@ -98,7 +110,7 @@ public function onKernelFinishRequest(FinishRequestEvent $event) return; // removed when requestStack is required } - $this->setRequest($this->requestStack->getParentRequest()); + $this->setCurrentRequest($this->requestStack->getParentRequest()); } public function onKernelRequest(GetResponseEvent $event) @@ -106,11 +118,11 @@ public function onKernelRequest(GetResponseEvent $event) $request = $event->getRequest(); // initialize the context that is also used by the generator (assuming matcher and generator share the same context instance) - // we call setRequest even if most of the time, it has already been done to keep compatibility + // we call setCurrentRequest even if most of the time, it has already been done to keep compatibility // with frameworks which do not use the Symfony service container // when we have a RequestStack, no need to do it if (null !== $this->requestStack) { - $this->setRequest($request); + $this->setCurrentRequest($request); } if ($request->attributes->has('_controller')) { @@ -128,7 +140,10 @@ public function onKernelRequest(GetResponseEvent $event) } if (null !== $this->logger) { - $this->logger->info(sprintf('Matched route "%s" (parameters: %s)', $parameters['_route'], $this->parametersToString($parameters))); + $this->logger->info(sprintf('Matched route "%s".', $parameters['_route']), array( + 'route_parameters' => $parameters, + 'request_uri' => $request->getUri(), + )); } $request->attributes->add($parameters); @@ -149,16 +164,6 @@ public function onKernelRequest(GetResponseEvent $event) } } - private function parametersToString(array $parameters) - { - $pieces = array(); - foreach ($parameters as $key => $val) { - $pieces[] = sprintf('"%s": "%s"', $key, (is_string($val) ? $val : json_encode($val))); - } - - return implode(', ', $pieces); - } - public static function getSubscribedEvents() { return array( diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/SaveSessionListener.php b/core/vendor/symfony/http-kernel/EventListener/SaveSessionListener.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/SaveSessionListener.php rename to core/vendor/symfony/http-kernel/EventListener/SaveSessionListener.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/SessionListener.php b/core/vendor/symfony/http-kernel/EventListener/SessionListener.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/SessionListener.php rename to core/vendor/symfony/http-kernel/EventListener/SessionListener.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/StreamedResponseListener.php b/core/vendor/symfony/http-kernel/EventListener/StreamedResponseListener.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/StreamedResponseListener.php rename to core/vendor/symfony/http-kernel/EventListener/StreamedResponseListener.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/SurrogateListener.php b/core/vendor/symfony/http-kernel/EventListener/SurrogateListener.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/SurrogateListener.php rename to core/vendor/symfony/http-kernel/EventListener/SurrogateListener.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/TestSessionListener.php b/core/vendor/symfony/http-kernel/EventListener/TestSessionListener.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/TestSessionListener.php rename to core/vendor/symfony/http-kernel/EventListener/TestSessionListener.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/TranslatorListener.php b/core/vendor/symfony/http-kernel/EventListener/TranslatorListener.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/EventListener/TranslatorListener.php rename to core/vendor/symfony/http-kernel/EventListener/TranslatorListener.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/AccessDeniedHttpException.php b/core/vendor/symfony/http-kernel/Exception/AccessDeniedHttpException.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/AccessDeniedHttpException.php rename to core/vendor/symfony/http-kernel/Exception/AccessDeniedHttpException.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/BadRequestHttpException.php b/core/vendor/symfony/http-kernel/Exception/BadRequestHttpException.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/BadRequestHttpException.php rename to core/vendor/symfony/http-kernel/Exception/BadRequestHttpException.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/ConflictHttpException.php b/core/vendor/symfony/http-kernel/Exception/ConflictHttpException.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/ConflictHttpException.php rename to core/vendor/symfony/http-kernel/Exception/ConflictHttpException.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/FatalErrorException.php b/core/vendor/symfony/http-kernel/Exception/FatalErrorException.php similarity index 63% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/FatalErrorException.php rename to core/vendor/symfony/http-kernel/Exception/FatalErrorException.php index 7a1cd23381aff1e6eed67c4d0423ca0e1885c6ce..681d9d6199ccc62ecf4625d49ff678865c8feb0d 100644 --- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/FatalErrorException.php +++ b/core/vendor/symfony/http-kernel/Exception/FatalErrorException.php @@ -11,11 +11,13 @@ namespace Symfony\Component\HttpKernel\Exception; +trigger_error('The '.__NAMESPACE__.'\FatalErrorException class is deprecated since version 2.3 and will be removed in 3.0. Use the Symfony\Component\Debug\Exception\FatalErrorException class instead.', E_USER_DEPRECATED); + /* * Fatal Error Exception. * * @author Konstanton Myakshin <koc-dp@yandex.ru> * - * @deprecated Deprecated in 2.3, to be removed in 3.0. Use the same class from the Debug component instead. + * @deprecated since version 2.3, to be removed in 3.0. Use the same class from the Debug component instead. */ class_exists('Symfony\Component\Debug\Exception\FatalErrorException'); diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/FlattenException.php b/core/vendor/symfony/http-kernel/Exception/FlattenException.php similarity index 68% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/FlattenException.php rename to core/vendor/symfony/http-kernel/Exception/FlattenException.php index ebe45b458074396b8619f568cc5fa14ba7fba8bf..eb205a18efcdc7e24a06cebbf4022610d80c7716 100644 --- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/FlattenException.php +++ b/core/vendor/symfony/http-kernel/Exception/FlattenException.php @@ -11,6 +11,8 @@ namespace Symfony\Component\HttpKernel\Exception; +trigger_error('The '.__NAMESPACE__.'\FlattenException class is deprecated since version 2.3 and will be removed in 3.0. Use the Symfony\Component\Debug\Exception\FlattenException class instead.', E_USER_DEPRECATED); + /* * FlattenException wraps a PHP Exception to be able to serialize it. * @@ -18,6 +20,6 @@ * * @author Fabien Potencier <fabien@symfony.com> * - * @deprecated Deprecated in 2.3, to be removed in 3.0. Use the same class from the Debug component instead. + * @deprecated since version 2.3, to be removed in 3.0. Use the same class from the Debug component instead. */ class_exists('Symfony\Component\Debug\Exception\FlattenException'); diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/GoneHttpException.php b/core/vendor/symfony/http-kernel/Exception/GoneHttpException.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/GoneHttpException.php rename to core/vendor/symfony/http-kernel/Exception/GoneHttpException.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/HttpException.php b/core/vendor/symfony/http-kernel/Exception/HttpException.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/HttpException.php rename to core/vendor/symfony/http-kernel/Exception/HttpException.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/HttpExceptionInterface.php b/core/vendor/symfony/http-kernel/Exception/HttpExceptionInterface.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/HttpExceptionInterface.php rename to core/vendor/symfony/http-kernel/Exception/HttpExceptionInterface.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/LengthRequiredHttpException.php b/core/vendor/symfony/http-kernel/Exception/LengthRequiredHttpException.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/LengthRequiredHttpException.php rename to core/vendor/symfony/http-kernel/Exception/LengthRequiredHttpException.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/MethodNotAllowedHttpException.php b/core/vendor/symfony/http-kernel/Exception/MethodNotAllowedHttpException.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/MethodNotAllowedHttpException.php rename to core/vendor/symfony/http-kernel/Exception/MethodNotAllowedHttpException.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/NotAcceptableHttpException.php b/core/vendor/symfony/http-kernel/Exception/NotAcceptableHttpException.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/NotAcceptableHttpException.php rename to core/vendor/symfony/http-kernel/Exception/NotAcceptableHttpException.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/NotFoundHttpException.php b/core/vendor/symfony/http-kernel/Exception/NotFoundHttpException.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/NotFoundHttpException.php rename to core/vendor/symfony/http-kernel/Exception/NotFoundHttpException.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/PreconditionFailedHttpException.php b/core/vendor/symfony/http-kernel/Exception/PreconditionFailedHttpException.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/PreconditionFailedHttpException.php rename to core/vendor/symfony/http-kernel/Exception/PreconditionFailedHttpException.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/PreconditionRequiredHttpException.php b/core/vendor/symfony/http-kernel/Exception/PreconditionRequiredHttpException.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/PreconditionRequiredHttpException.php rename to core/vendor/symfony/http-kernel/Exception/PreconditionRequiredHttpException.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/ServiceUnavailableHttpException.php b/core/vendor/symfony/http-kernel/Exception/ServiceUnavailableHttpException.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/ServiceUnavailableHttpException.php rename to core/vendor/symfony/http-kernel/Exception/ServiceUnavailableHttpException.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/TooManyRequestsHttpException.php b/core/vendor/symfony/http-kernel/Exception/TooManyRequestsHttpException.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/TooManyRequestsHttpException.php rename to core/vendor/symfony/http-kernel/Exception/TooManyRequestsHttpException.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/UnauthorizedHttpException.php b/core/vendor/symfony/http-kernel/Exception/UnauthorizedHttpException.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/UnauthorizedHttpException.php rename to core/vendor/symfony/http-kernel/Exception/UnauthorizedHttpException.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/UnprocessableEntityHttpException.php b/core/vendor/symfony/http-kernel/Exception/UnprocessableEntityHttpException.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/UnprocessableEntityHttpException.php rename to core/vendor/symfony/http-kernel/Exception/UnprocessableEntityHttpException.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/UnsupportedMediaTypeHttpException.php b/core/vendor/symfony/http-kernel/Exception/UnsupportedMediaTypeHttpException.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Exception/UnsupportedMediaTypeHttpException.php rename to core/vendor/symfony/http-kernel/Exception/UnsupportedMediaTypeHttpException.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Fragment/AbstractSurrogateFragmentRenderer.php b/core/vendor/symfony/http-kernel/Fragment/AbstractSurrogateFragmentRenderer.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Fragment/AbstractSurrogateFragmentRenderer.php rename to core/vendor/symfony/http-kernel/Fragment/AbstractSurrogateFragmentRenderer.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Fragment/EsiFragmentRenderer.php b/core/vendor/symfony/http-kernel/Fragment/EsiFragmentRenderer.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Fragment/EsiFragmentRenderer.php rename to core/vendor/symfony/http-kernel/Fragment/EsiFragmentRenderer.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Fragment/FragmentHandler.php b/core/vendor/symfony/http-kernel/Fragment/FragmentHandler.php similarity index 96% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Fragment/FragmentHandler.php rename to core/vendor/symfony/http-kernel/Fragment/FragmentHandler.php index 27fa7eabec3cadd0a562bac8023bdc227afa9cdb..eae715e8acb5e569cb049f63865c80269d763b7d 100644 --- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Fragment/FragmentHandler.php +++ b/core/vendor/symfony/http-kernel/Fragment/FragmentHandler.php @@ -76,10 +76,12 @@ public function addRenderer(FragmentRendererInterface $renderer) * * @param Request|null $request A Request instance * - * @deprecated Deprecated since version 2.4, to be removed in 3.0. + * @deprecated since version 2.4, to be removed in 3.0. */ public function setRequest(Request $request = null) { + trigger_error('The '.__METHOD__.' method is deprecated since version 2.4 and will be removed in 3.0.', E_USER_DEPRECATED); + $this->request = $request; } diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Fragment/FragmentRendererInterface.php b/core/vendor/symfony/http-kernel/Fragment/FragmentRendererInterface.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Fragment/FragmentRendererInterface.php rename to core/vendor/symfony/http-kernel/Fragment/FragmentRendererInterface.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Fragment/HIncludeFragmentRenderer.php b/core/vendor/symfony/http-kernel/Fragment/HIncludeFragmentRenderer.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Fragment/HIncludeFragmentRenderer.php rename to core/vendor/symfony/http-kernel/Fragment/HIncludeFragmentRenderer.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Fragment/InlineFragmentRenderer.php b/core/vendor/symfony/http-kernel/Fragment/InlineFragmentRenderer.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Fragment/InlineFragmentRenderer.php rename to core/vendor/symfony/http-kernel/Fragment/InlineFragmentRenderer.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Fragment/RoutableFragmentRenderer.php b/core/vendor/symfony/http-kernel/Fragment/RoutableFragmentRenderer.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Fragment/RoutableFragmentRenderer.php rename to core/vendor/symfony/http-kernel/Fragment/RoutableFragmentRenderer.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Fragment/SsiFragmentRenderer.php b/core/vendor/symfony/http-kernel/Fragment/SsiFragmentRenderer.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Fragment/SsiFragmentRenderer.php rename to core/vendor/symfony/http-kernel/Fragment/SsiFragmentRenderer.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/Esi.php b/core/vendor/symfony/http-kernel/HttpCache/Esi.php similarity index 90% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/Esi.php rename to core/vendor/symfony/http-kernel/HttpCache/Esi.php index b233741f1fdafc3b0362468ab6008861e526f662..f7031b81fa32d0717155bf0ca0370dc25edddc78 100644 --- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/Esi.php +++ b/core/vendor/symfony/http-kernel/HttpCache/Esi.php @@ -57,7 +57,7 @@ public function getName() */ public function createCacheStrategy() { - return new EsiResponseCacheStrategy(); + return new ResponseCacheStrategy(); } /** @@ -69,7 +69,11 @@ public function createCacheStrategy() */ public function hasSurrogateCapability(Request $request) { - return $this->hasSurrogateEsiCapability($request); + if (null === $value = $request->headers->get('Surrogate-Capability')) { + return false; + } + + return false !== strpos($value, 'ESI/1.0'); } /** @@ -79,15 +83,13 @@ public function hasSurrogateCapability(Request $request) * * @return bool true if one surrogate has ESI/1.0 capability, false otherwise * - * @deprecated Deprecated since version 2.6, to be removed in 3.0. Use hasSurrogateCapability() instead + * @deprecated since version 2.6, to be removed in 3.0. Use hasSurrogateCapability() instead */ public function hasSurrogateEsiCapability(Request $request) { - if (null === $value = $request->headers->get('Surrogate-Capability')) { - return false; - } + trigger_error('The '.__METHOD__.' method is deprecated since version 2.6 and will be removed in 3.0. Use the hasSurrogateCapability() method instead.', E_USER_DEPRECATED); - return false !== strpos($value, 'ESI/1.0'); + return $this->hasSurrogateCapability($request); } /** @@ -97,7 +99,10 @@ public function hasSurrogateEsiCapability(Request $request) */ public function addSurrogateCapability(Request $request) { - $this->addSurrogateEsiCapability($request); + $current = $request->headers->get('Surrogate-Capability'); + $new = 'symfony2="ESI/1.0"'; + + $request->headers->set('Surrogate-Capability', $current ? $current.', '.$new : $new); } /** @@ -105,14 +110,13 @@ public function addSurrogateCapability(Request $request) * * @param Request $request A Request instance * - * @deprecated Deprecated since version 2.6, to be removed in 3.0. Use addSurrogateCapability() instead + * @deprecated since version 2.6, to be removed in 3.0. Use addSurrogateCapability() instead */ public function addSurrogateEsiCapability(Request $request) { - $current = $request->headers->get('Surrogate-Capability'); - $new = 'symfony2="ESI/1.0"'; + trigger_error('The '.__METHOD__.' method is deprecated since version 2.6 and will be removed in 3.0. Use the addSurrogateCapability() method instead.', E_USER_DEPRECATED); - $request->headers->set('Surrogate-Capability', $current ? $current.', '.$new : $new); + $this->addSurrogateCapability($request); } /** @@ -138,7 +142,11 @@ public function addSurrogateControl(Response $response) */ public function needsParsing(Response $response) { - return $this->needsEsiParsing($response); + if (!$control = $response->headers->get('Surrogate-Control')) { + return false; + } + + return (bool) preg_match('#content="[^"]*ESI/1.0[^"]*"#', $control); } /** @@ -148,15 +156,13 @@ public function needsParsing(Response $response) * * @return bool true if the Response needs to be parsed, false otherwise * - * @deprecated Deprecated since version 2.6, to be removed in 3.0. Use needsParsing() instead + * @deprecated since version 2.6, to be removed in 3.0. Use needsParsing() instead */ public function needsEsiParsing(Response $response) { - if (!$control = $response->headers->get('Surrogate-Control')) { - return false; - } + trigger_error('The '.__METHOD__.' method is deprecated since version 2.6 and will be removed in 3.0. Use the needsParsing() method instead.', E_USER_DEPRECATED); - return (bool) preg_match('#content="[^"]*ESI/1.0[^"]*"#', $control); + return $this->needsParsing($response); } /** diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/EsiResponseCacheStrategy.php b/core/vendor/symfony/http-kernel/HttpCache/EsiResponseCacheStrategy.php similarity index 74% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/EsiResponseCacheStrategy.php rename to core/vendor/symfony/http-kernel/HttpCache/EsiResponseCacheStrategy.php index 1bef1475958979f7e83363a68c0689d2480dfb54..0d855464a37e43b189b351b82e5d4d8a0c9defd1 100644 --- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/EsiResponseCacheStrategy.php +++ b/core/vendor/symfony/http-kernel/HttpCache/EsiResponseCacheStrategy.php @@ -15,6 +15,8 @@ namespace Symfony\Component\HttpKernel\HttpCache; +trigger_error('The '.__NAMESPACE__.'\EsiResponseCacheStrategy class is deprecated since version 2.6 and will be removed in 3.0. Use the Symfony\Component\HttpKernel\HttpCache\ResponseCacheStrategy class instead.', E_USER_DEPRECATED); + /** * EsiResponseCacheStrategy knows how to compute the Response cache HTTP header * based on the different ESI response cache headers. @@ -24,7 +26,7 @@ * * @author Fabien Potencier <fabien@symfony.com> * - * @deprecated Deprecated since version 2.6, to be removed in 3.0. Use ResponseCacheStrategy instead + * @deprecated since version 2.6, to be removed in 3.0. Use ResponseCacheStrategy instead */ class EsiResponseCacheStrategy extends ResponseCacheStrategy implements EsiResponseCacheStrategyInterface { diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/EsiResponseCacheStrategyInterface.php b/core/vendor/symfony/http-kernel/HttpCache/EsiResponseCacheStrategyInterface.php similarity index 68% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/EsiResponseCacheStrategyInterface.php rename to core/vendor/symfony/http-kernel/HttpCache/EsiResponseCacheStrategyInterface.php index 03df0575a58378ed726d885806118eab05faa044..22abb88639c04c87084f4d873972c15929134300 100644 --- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/EsiResponseCacheStrategyInterface.php +++ b/core/vendor/symfony/http-kernel/HttpCache/EsiResponseCacheStrategyInterface.php @@ -15,13 +15,15 @@ namespace Symfony\Component\HttpKernel\HttpCache; +trigger_error('The '.__NAMESPACE__.'\EsiResponseCacheStrategyInterface class is deprecated since version 2.6 and will be removed in 3.0. Use the Symfony\Component\HttpKernel\HttpCache\ResponseCacheStrategyInterface class instead.', E_USER_DEPRECATED); + /** * ResponseCacheStrategyInterface implementations know how to compute the * Response cache HTTP header based on the different response cache headers. * * @author Fabien Potencier <fabien@symfony.com> * - * @deprecated Deprecated since version 2.6, to be removed in 3.0. Use ResponseCacheStrategyInterface instead + * @deprecated since version 2.6, to be removed in 3.0. Use ResponseCacheStrategyInterface instead. */ interface EsiResponseCacheStrategyInterface extends ResponseCacheStrategyInterface { diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/HttpCache.php b/core/vendor/symfony/http-kernel/HttpCache/HttpCache.php similarity index 98% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/HttpCache.php rename to core/vendor/symfony/http-kernel/HttpCache/HttpCache.php index 83a7e4e3e9ae53976826b89daa47c282bb6b7dfb..b6ccafc18815c894bd53605aed330b3420ffea9a 100644 --- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/HttpCache.php +++ b/core/vendor/symfony/http-kernel/HttpCache/HttpCache.php @@ -170,10 +170,12 @@ public function getSurrogate() * * @return Esi An Esi instance * - * @deprecated Deprecated since version 2.6, to be removed in 3.0. Use getSurrogate() instead + * @deprecated since version 2.6, to be removed in 3.0. Use getSurrogate() instead */ public function getEsi() { + trigger_error('The '.__METHOD__.' method is deprecated since version 2.6 and will be removed in 3.0. Use the getSurrogate() method instead.', E_USER_DEPRECATED); + if (!$this->surrogate instanceof Esi) { throw new \LogicException('This instance of HttpCache was not set up to use ESI as surrogate handler. You must overwrite and use createSurrogate'); } diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/ResponseCacheStrategy.php b/core/vendor/symfony/http-kernel/HttpCache/ResponseCacheStrategy.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/ResponseCacheStrategy.php rename to core/vendor/symfony/http-kernel/HttpCache/ResponseCacheStrategy.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/ResponseCacheStrategyInterface.php b/core/vendor/symfony/http-kernel/HttpCache/ResponseCacheStrategyInterface.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/ResponseCacheStrategyInterface.php rename to core/vendor/symfony/http-kernel/HttpCache/ResponseCacheStrategyInterface.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/Ssi.php b/core/vendor/symfony/http-kernel/HttpCache/Ssi.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/Ssi.php rename to core/vendor/symfony/http-kernel/HttpCache/Ssi.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/Store.php b/core/vendor/symfony/http-kernel/HttpCache/Store.php similarity index 99% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/Store.php rename to core/vendor/symfony/http-kernel/HttpCache/Store.php index 75ba3cf6fd244051d254c3b9ed1338af4cde8b73..044d14e0c57756b57bd0fea3e644c3f4c4d45d6d 100644 --- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/Store.php +++ b/core/vendor/symfony/http-kernel/HttpCache/Store.php @@ -127,7 +127,7 @@ public function lookup(Request $request) // find a cached entry that matches the request. $match = null; foreach ($entries as $entry) { - if ($this->requestsMatch(isset($entry[1]['vary'][0]) ? $entry[1]['vary'][0] : '', $request->headers->all(), $entry[0])) { + if ($this->requestsMatch(isset($entry[1]['vary'][0]) ? implode(', ', $entry[1]['vary']) : '', $request->headers->all(), $entry[0])) { $match = $entry; break; diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/StoreInterface.php b/core/vendor/symfony/http-kernel/HttpCache/StoreInterface.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/StoreInterface.php rename to core/vendor/symfony/http-kernel/HttpCache/StoreInterface.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/SurrogateInterface.php b/core/vendor/symfony/http-kernel/HttpCache/SurrogateInterface.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpCache/SurrogateInterface.php rename to core/vendor/symfony/http-kernel/HttpCache/SurrogateInterface.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpKernel.php b/core/vendor/symfony/http-kernel/HttpKernel.php similarity index 99% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpKernel.php rename to core/vendor/symfony/http-kernel/HttpKernel.php index c69b75a797a6a39c7a4ac1423f998d04e3852e18..473f780ca3cb6f9fda27ab2499214c0736e6518b 100644 --- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpKernel.php +++ b/core/vendor/symfony/http-kernel/HttpKernel.php @@ -62,6 +62,8 @@ public function __construct(EventDispatcherInterface $dispatcher, ControllerReso */ public function handle(Request $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = true) { + $request->headers->set('X-Php-Ob-Level', ob_get_level()); + try { return $this->handleRaw($request, $type); } catch (\Exception $e) { diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpKernelInterface.php b/core/vendor/symfony/http-kernel/HttpKernelInterface.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/HttpKernelInterface.php rename to core/vendor/symfony/http-kernel/HttpKernelInterface.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Kernel.php b/core/vendor/symfony/http-kernel/Kernel.php similarity index 93% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Kernel.php rename to core/vendor/symfony/http-kernel/Kernel.php index d1442149b07f7426ab5b213c78b0b17da8ed18c6..41defa20575c757a8440a143123e8141e3bf41f9 100644 --- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Kernel.php +++ b/core/vendor/symfony/http-kernel/Kernel.php @@ -60,13 +60,16 @@ abstract class Kernel implements KernelInterface, TerminableInterface protected $startTime; protected $loadClassCache; - const VERSION = '2.6.6'; - const VERSION_ID = '20606'; + const VERSION = '2.7.0'; + const VERSION_ID = '20700'; const MAJOR_VERSION = '2'; - const MINOR_VERSION = '6'; - const RELEASE_VERSION = '6'; + const MINOR_VERSION = '7'; + const RELEASE_VERSION = '0'; const EXTRA_VERSION = ''; + const END_OF_MAINTENANCE = '05/2018'; + const END_OF_LIFE = '05/2019'; + /** * Constructor. * @@ -86,14 +89,21 @@ public function __construct($environment, $debug) $this->startTime = microtime(true); } - $this->init(); + $defClass = new \ReflectionMethod($this, 'init'); + $defClass = $defClass->getDeclaringClass()->name; + + if (__CLASS__ !== $defClass) { + trigger_error(sprintf('Calling the %s::init() method is deprecated since version 2.3 and will be removed in 3.0. Move your logic to the constructor method instead.', $defClass), E_USER_DEPRECATED); + $this->init(); + } } /** - * @deprecated Deprecated since version 2.3, to be removed in 3.0. Move your logic in the constructor instead. + * @deprecated since version 2.3, to be removed in 3.0. Move your logic in the constructor instead. */ public function init() { + trigger_error('The '.__METHOD__.' method is deprecated since version 2.3 and will be removed in 3.0. Move your logic to the constructor method instead.', E_USER_DEPRECATED); } public function __clone() @@ -211,10 +221,12 @@ public function getBundles() * * @api * - * @deprecated Deprecated since version 2.6, to be removed in 3.0. + * @deprecated since version 2.6, to be removed in 3.0. */ public function isClassInActiveBundle($class) { + trigger_error('The '.__METHOD__.' method is deprecated since version 2.6 and will be removed in version 3.0.', E_USER_DEPRECATED); + foreach ($this->getBundles() as $bundle) { if (0 === strpos($class, $bundle->getNamespace())) { return true; @@ -243,7 +255,7 @@ public function getBundle($name, $first = true) } /** - * {@inheritDoc} + * {@inheritdoc} * * @throws \RuntimeException if a custom resource is hidden by a resource in a derived bundle */ @@ -537,7 +549,7 @@ protected function initializeContainer() $fresh = false; } - require_once $cache; + require_once $cache->getPath(); $this->container = new $class(); $this->container->set('kernel', $this); @@ -662,7 +674,7 @@ protected function getContainerBuilder() { $container = new ContainerBuilder(new ParameterBag($this->getKernelParameters())); - if (class_exists('ProxyManager\Configuration')) { + if (class_exists('ProxyManager\Configuration') && class_exists('Symfony\Bridge\ProxyManager\LazyProxy\Instantiator\RuntimeInstantiator')) { $container->setProxyInstantiator(new RuntimeInstantiator()); } @@ -682,11 +694,11 @@ protected function dumpContainer(ConfigCache $cache, ContainerBuilder $container // cache the container $dumper = new PhpDumper($container); - if (class_exists('ProxyManager\Configuration')) { - $dumper->setProxyDumper(new ProxyDumper()); + if (class_exists('ProxyManager\Configuration') && class_exists('Symfony\Bridge\ProxyManager\LazyProxy\PhpDumper\ProxyDumper')) { + $dumper->setProxyDumper(new ProxyDumper(md5($cache->getPath()))); } - $content = $dumper->dump(array('class' => $class, 'base_class' => $baseClass, 'file' => (string) $cache)); + $content = $dumper->dump(array('class' => $class, 'base_class' => $baseClass, 'file' => $cache->getPath())); if (!$this->debug) { $content = static::stripComments($content); } diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/KernelEvents.php b/core/vendor/symfony/http-kernel/KernelEvents.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/KernelEvents.php rename to core/vendor/symfony/http-kernel/KernelEvents.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/KernelInterface.php b/core/vendor/symfony/http-kernel/KernelInterface.php similarity index 98% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/KernelInterface.php rename to core/vendor/symfony/http-kernel/KernelInterface.php index 1ab35a50336554f27cc9c51196ea5263d9f0f6c2..06c3c0c44eb5c698e43e63a4b3457f98d48d8033 100644 --- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/KernelInterface.php +++ b/core/vendor/symfony/http-kernel/KernelInterface.php @@ -78,7 +78,7 @@ public function getBundles(); * * @api * - * @deprecated Deprecated since version 2.6, to be removed in 3.0. + * @deprecated since version 2.6, to be removed in 3.0. */ public function isClassInActiveBundle($class); diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/LICENSE b/core/vendor/symfony/http-kernel/LICENSE similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/LICENSE rename to core/vendor/symfony/http-kernel/LICENSE diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Log/DebugLoggerInterface.php b/core/vendor/symfony/http-kernel/Log/DebugLoggerInterface.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Log/DebugLoggerInterface.php rename to core/vendor/symfony/http-kernel/Log/DebugLoggerInterface.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Log/LoggerInterface.php b/core/vendor/symfony/http-kernel/Log/LoggerInterface.php similarity index 62% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Log/LoggerInterface.php rename to core/vendor/symfony/http-kernel/Log/LoggerInterface.php index 856c26a18bb091fc2382d921b1ba2fb3112f8dbb..737ba4e0f65d0c6415ce2630fb66f81f63a87564 100644 --- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Log/LoggerInterface.php +++ b/core/vendor/symfony/http-kernel/Log/LoggerInterface.php @@ -18,7 +18,7 @@ * * @author Fabien Potencier <fabien@symfony.com> * - * @deprecated since 2.2, to be removed in 3.0. Type-hint \Psr\Log\LoggerInterface instead. + * @deprecated since version 2.2, to be removed in 3.0. Type-hint \Psr\Log\LoggerInterface instead. * * @api */ @@ -27,28 +27,28 @@ interface LoggerInterface extends PsrLogger /** * @api * - * @deprecated since 2.2, to be removed in 3.0. Use emergency() which is PSR-3 compatible. + * @deprecated since version 2.2, to be removed in 3.0. Use emergency() which is PSR-3 compatible. */ public function emerg($message, array $context = array()); /** * @api * - * @deprecated since 2.2, to be removed in 3.0. Use critical() which is PSR-3 compatible. + * @deprecated since version 2.2, to be removed in 3.0. Use critical() which is PSR-3 compatible. */ public function crit($message, array $context = array()); /** * @api * - * @deprecated since 2.2, to be removed in 3.0. Use error() which is PSR-3 compatible. + * @deprecated since version 2.2, to be removed in 3.0. Use error() which is PSR-3 compatible. */ public function err($message, array $context = array()); /** * @api * - * @deprecated since 2.2, to be removed in 3.0. Use warning() which is PSR-3 compatible. + * @deprecated since version 2.2, to be removed in 3.0. Use warning() which is PSR-3 compatible. */ public function warn($message, array $context = array()); } diff --git a/core/vendor/symfony/http-kernel/Log/NullLogger.php b/core/vendor/symfony/http-kernel/Log/NullLogger.php new file mode 100644 index 0000000000000000000000000000000000000000..915773b0088f30d216b22cde7304b227c139b33f --- /dev/null +++ b/core/vendor/symfony/http-kernel/Log/NullLogger.php @@ -0,0 +1,58 @@ +<?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\HttpKernel\Log; + +trigger_error('The '.__NAMESPACE__.'\NullLogger class is deprecated since version 2.2 and will be removed in 3.0. Use the Psr\Log\NullLogger class instead from the psr/log Composer package.', E_USER_DEPRECATED); + +use Psr\Log\NullLogger as PsrNullLogger; + +/** + * NullLogger. + * + * @author Fabien Potencier <fabien@symfony.com> + * + * @api + */ +class NullLogger extends PsrNullLogger implements LoggerInterface +{ + /** + * @api + */ + public function emerg($message, array $context = array()) + { + trigger_error('The '.__METHOD__.' method is deprecated since version 2.2 and will be removed in 3.0. You should use the new emergency() method instead, which is PSR-3 compatible.', E_USER_DEPRECATED); + } + + /** + * @api + */ + public function crit($message, array $context = array()) + { + trigger_error('The '.__METHOD__.' method is deprecated since version 2.2 and will be removed in 3.0. You should use the new critical() method instead, which is PSR-3 compatible.', E_USER_DEPRECATED); + } + + /** + * @api + */ + public function err($message, array $context = array()) + { + trigger_error('The '.__METHOD__.' method is deprecated since version 2.2 and will be removed in 3.0. You should use the new error() method instead, which is PSR-3 compatible.', E_USER_DEPRECATED); + } + + /** + * @api + */ + public function warn($message, array $context = array()) + { + trigger_error('The '.__METHOD__.' method is deprecated since version 2.2 and will be removed in 3.0. You should use the new warning() method instead, which is PSR-3 compatible.', E_USER_DEPRECATED); + } +} diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/BaseMemcacheProfilerStorage.php b/core/vendor/symfony/http-kernel/Profiler/BaseMemcacheProfilerStorage.php similarity index 96% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/BaseMemcacheProfilerStorage.php rename to core/vendor/symfony/http-kernel/Profiler/BaseMemcacheProfilerStorage.php index f50b83e5d3cd9a800134b558e1842c346df77c07..c6395bd67a2d0f7963ab73b442b10129aec7a29f 100644 --- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/BaseMemcacheProfilerStorage.php +++ b/core/vendor/symfony/http-kernel/Profiler/BaseMemcacheProfilerStorage.php @@ -61,7 +61,9 @@ public function find($ip, $url, $limit, $method, $start = null, $end = null) continue; } - list($itemToken, $itemIp, $itemMethod, $itemUrl, $itemTime, $itemParent) = explode("\t", $item, 6); + $values = explode("\t", $item, 7); + list($itemToken, $itemIp, $itemMethod, $itemUrl, $itemTime, $itemParent) = $values; + $statusCode = isset($values[6]) ? $values[6] : null; $itemTime = (int) $itemTime; @@ -84,6 +86,7 @@ public function find($ip, $url, $limit, $method, $start = null, $end = null) 'url' => $itemUrl, 'time' => $itemTime, 'parent' => $itemParent, + 'status_code' => $statusCode, ); --$limit; } @@ -176,6 +179,7 @@ public function write(Profile $profile) $profile->getUrl(), $profile->getTime(), $profile->getParentToken(), + $profile->getStatusCode(), ))."\n"; return $this->appendValue($indexName, $indexRow, $this->lifetime); diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/FileProfilerStorage.php b/core/vendor/symfony/http-kernel/Profiler/FileProfilerStorage.php similarity index 97% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/FileProfilerStorage.php rename to core/vendor/symfony/http-kernel/Profiler/FileProfilerStorage.php index bda87e80e1e96065bf2cd73bc85ae50c2174710e..581ab6434b789b2a4e090b49c9b4325d1b2c10ac 100644 --- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/FileProfilerStorage.php +++ b/core/vendor/symfony/http-kernel/Profiler/FileProfilerStorage.php @@ -62,7 +62,9 @@ public function find($ip, $url, $limit, $method, $start = null, $end = null) $result = array(); while (count($result) < $limit && $line = $this->readLineFromFile($file)) { - list($csvToken, $csvIp, $csvMethod, $csvUrl, $csvTime, $csvParent) = str_getcsv($line); + $values = str_getcsv($line); + list($csvToken, $csvIp, $csvMethod, $csvUrl, $csvTime, $csvParent) = $values; + $csvStatusCode = isset($values[6]) ? $values[6] : null; $csvTime = (int) $csvTime; @@ -85,6 +87,7 @@ public function find($ip, $url, $limit, $method, $start = null, $end = null) 'url' => $csvUrl, 'time' => $csvTime, 'parent' => $csvParent, + 'status_code' => $csvStatusCode, ); } @@ -168,6 +171,7 @@ public function write(Profile $profile) $profile->getUrl(), $profile->getTime(), $profile->getParentToken(), + $profile->getStatusCode(), )); fclose($file); } diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/MemcacheProfilerStorage.php b/core/vendor/symfony/http-kernel/Profiler/MemcacheProfilerStorage.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/MemcacheProfilerStorage.php rename to core/vendor/symfony/http-kernel/Profiler/MemcacheProfilerStorage.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/MemcachedProfilerStorage.php b/core/vendor/symfony/http-kernel/Profiler/MemcachedProfilerStorage.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/MemcachedProfilerStorage.php rename to core/vendor/symfony/http-kernel/Profiler/MemcachedProfilerStorage.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/MongoDbProfilerStorage.php b/core/vendor/symfony/http-kernel/Profiler/MongoDbProfilerStorage.php similarity index 96% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/MongoDbProfilerStorage.php rename to core/vendor/symfony/http-kernel/Profiler/MongoDbProfilerStorage.php index 23224b4a6e7ca7bb3e555cbfbc8dd4beb51efeb6..f35a7f74199b3178b2cffe427894c9272dd1bcbe 100644 --- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/MongoDbProfilerStorage.php +++ b/core/vendor/symfony/http-kernel/Profiler/MongoDbProfilerStorage.php @@ -36,7 +36,7 @@ public function __construct($dsn, $username = '', $password = '', $lifetime = 86 */ public function find($ip, $url, $limit, $method, $start = null, $end = null) { - $cursor = $this->getMongo()->find($this->buildQuery($ip, $url, $method, $start, $end), array('_id', 'parent', 'ip', 'method', 'url', 'time'))->sort(array('time' => -1))->limit($limit); + $cursor = $this->getMongo()->find($this->buildQuery($ip, $url, $method, $start, $end), array('_id', 'parent', 'ip', 'method', 'url', 'time', 'status_code'))->sort(array('time' => -1))->limit($limit); $tokens = array(); foreach ($cursor as $profile) { @@ -83,6 +83,7 @@ public function write(Profile $profile) 'method' => $profile->getMethod(), 'url' => $profile->getUrl(), 'time' => $profile->getTime(), + 'status_code' => $profile->getStatusCode(), ); $result = $this->getMongo()->update(array('_id' => $profile->getToken()), array_filter($record, function ($v) { return !empty($v); }), array('upsert' => true)); @@ -212,6 +213,7 @@ private function getData(array $data) 'url' => isset($data['url']) ? $data['url'] : null, 'time' => isset($data['time']) ? $data['time'] : null, 'data' => isset($data['data']) ? $data['data'] : null, + 'status_code' => isset($data['status_code']) ? $data['status_code'] : null, ); } diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/MysqlProfilerStorage.php b/core/vendor/symfony/http-kernel/Profiler/MysqlProfilerStorage.php similarity index 93% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/MysqlProfilerStorage.php rename to core/vendor/symfony/http-kernel/Profiler/MysqlProfilerStorage.php index 69a865f9b56096a9503d1e8db7031bb298619584..92e8a1b062de8aa0c68af2edbf970248ec826bc4 100644 --- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/MysqlProfilerStorage.php +++ b/core/vendor/symfony/http-kernel/Profiler/MysqlProfilerStorage.php @@ -33,7 +33,7 @@ protected function initDb() } $db = new \PDO($this->dsn, $this->username, $this->password); - $db->exec('CREATE TABLE IF NOT EXISTS sf_profiler_data (token VARCHAR(255) PRIMARY KEY, data LONGTEXT, ip VARCHAR(64), method VARCHAR(6), url VARCHAR(255), time INTEGER UNSIGNED, parent VARCHAR(255), created_at INTEGER UNSIGNED, KEY (created_at), KEY (ip), KEY (method), KEY (url), KEY (parent))'); + $db->exec('CREATE TABLE IF NOT EXISTS sf_profiler_data (token VARCHAR(255) PRIMARY KEY, data LONGTEXT, ip VARCHAR(64), method VARCHAR(6), url VARCHAR(255), time INTEGER UNSIGNED, parent VARCHAR(255), created_at INTEGER UNSIGNED, status_code SMALLINT UNSIGNED, KEY (created_at), KEY (ip), KEY (method), KEY (url), KEY (parent))'); $this->db = $db; } diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/PdoProfilerStorage.php b/core/vendor/symfony/http-kernel/Profiler/PdoProfilerStorage.php similarity index 94% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/PdoProfilerStorage.php rename to core/vendor/symfony/http-kernel/Profiler/PdoProfilerStorage.php index a545e6b44b574963284b22965fc160a3306930ce..48f813f2e7cd4fe0d1c68890a2ea62e96cef5edd 100644 --- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/PdoProfilerStorage.php +++ b/core/vendor/symfony/http-kernel/Profiler/PdoProfilerStorage.php @@ -59,7 +59,7 @@ public function find($ip, $url, $limit, $method, $start = null, $end = null) $criteria = $criteria ? 'WHERE '.implode(' AND ', $criteria) : ''; $db = $this->initDb(); - $tokens = $this->fetch($db, 'SELECT token, ip, method, url, time, parent FROM sf_profiler_data '.$criteria.' ORDER BY time DESC LIMIT '.((int) $limit), $args); + $tokens = $this->fetch($db, 'SELECT token, ip, method, url, time, parent, status_code FROM sf_profiler_data '.$criteria.' ORDER BY time DESC LIMIT '.((int) $limit), $args); $this->close($db); return $tokens; @@ -94,13 +94,14 @@ public function write(Profile $profile) ':url' => $profile->getUrl(), ':time' => $profile->getTime(), ':created_at' => time(), + ':status_code' => $profile->getStatusCode(), ); try { if ($this->has($profile->getToken())) { - $this->exec($db, 'UPDATE sf_profiler_data SET parent = :parent, data = :data, ip = :ip, method = :method, url = :url, time = :time, created_at = :created_at WHERE token = :token', $args); + $this->exec($db, 'UPDATE sf_profiler_data SET parent = :parent, data = :data, ip = :ip, method = :method, url = :url, time = :time, created_at = :created_at, status_code = :status_code WHERE token = :token', $args); } else { - $this->exec($db, 'INSERT INTO sf_profiler_data (token, parent, data, ip, method, url, time, created_at) VALUES (:token, :parent, :data, :ip, :method, :url, :time, :created_at)', $args); + $this->exec($db, 'INSERT INTO sf_profiler_data (token, parent, data, ip, method, url, time, created_at, status_code) VALUES (:token, :parent, :data, :ip, :method, :url, :time, :created_at, :status_code)', $args); } $this->cleanup(); $status = true; diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/Profile.php b/core/vendor/symfony/http-kernel/Profiler/Profile.php similarity index 94% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/Profile.php rename to core/vendor/symfony/http-kernel/Profiler/Profile.php index 85284bf2969aac35a6aa56c58dceae2ac87109ef..a4e4ba6ad66b882de21d4d770cd0487306d9780e 100644 --- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/Profile.php +++ b/core/vendor/symfony/http-kernel/Profiler/Profile.php @@ -31,6 +31,7 @@ class Profile private $method; private $url; private $time; + private $statusCode; /** * @var Profile @@ -171,6 +172,22 @@ public function setTime($time) $this->time = $time; } + /** + * @param int $statusCode + */ + public function setStatusCode($statusCode) + { + $this->statusCode = $statusCode; + } + + /** + * @return int + */ + public function getStatusCode() + { + return $this->statusCode; + } + /** * Finds children profilers. * diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/Profiler.php b/core/vendor/symfony/http-kernel/Profiler/Profiler.php similarity index 98% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/Profiler.php rename to core/vendor/symfony/http-kernel/Profiler/Profiler.php index 62f5cd78ba0f0b3677c333049d4bcecb73698131..864f624729d54770f235b51b55ecad8fe06d32fe 100644 --- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/Profiler.php +++ b/core/vendor/symfony/http-kernel/Profiler/Profiler.php @@ -117,7 +117,7 @@ public function saveProfile(Profile $profile) } if (!($ret = $this->storage->write($profile)) && null !== $this->logger) { - $this->logger->warning('Unable to store the profiler information.'); + $this->logger->warning('Unable to store the profiler information.', array('configured_storage' => get_class($this->storage))); } return $ret; @@ -202,6 +202,7 @@ public function collect(Request $request, Response $response, \Exception $except $profile->setUrl($request->getUri()); $profile->setIp($request->getClientIp()); $profile->setMethod($request->getMethod()); + $profile->setStatusCode($response->getStatusCode()); $response->headers->set('X-Debug-Token', $profile->getToken()); diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/ProfilerStorageInterface.php b/core/vendor/symfony/http-kernel/Profiler/ProfilerStorageInterface.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/ProfilerStorageInterface.php rename to core/vendor/symfony/http-kernel/Profiler/ProfilerStorageInterface.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/RedisProfilerStorage.php b/core/vendor/symfony/http-kernel/Profiler/RedisProfilerStorage.php similarity index 97% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/RedisProfilerStorage.php rename to core/vendor/symfony/http-kernel/Profiler/RedisProfilerStorage.php index b05adcc72a0e00e7f590edf95a09364893d6814f..b0e14ea456291d56a579cd87e004a5ee6e83f9e9 100644 --- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/RedisProfilerStorage.php +++ b/core/vendor/symfony/http-kernel/Profiler/RedisProfilerStorage.php @@ -71,7 +71,9 @@ public function find($ip, $url, $limit, $method, $start = null, $end = null) continue; } - list($itemToken, $itemIp, $itemMethod, $itemUrl, $itemTime, $itemParent) = explode("\t", $item, 6); + $values = explode("\t", $item, 7); + list($itemToken, $itemIp, $itemMethod, $itemUrl, $itemTime, $itemParent) = $values; + $statusCode = isset($values[6]) ? $values[6] : null; $itemTime = (int) $itemTime; @@ -94,6 +96,7 @@ public function find($ip, $url, $limit, $method, $start = null, $end = null) 'url' => $itemUrl, 'time' => $itemTime, 'parent' => $itemParent, + 'status_code' => $statusCode, ); --$limit; } @@ -182,6 +185,7 @@ public function write(Profile $profile) $profile->getUrl(), $profile->getTime(), $profile->getParentToken(), + $profile->getStatusCode(), ))."\n"; return $this->appendValue($indexName, $indexRow, $this->lifetime); diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/SqliteProfilerStorage.php b/core/vendor/symfony/http-kernel/Profiler/SqliteProfilerStorage.php similarity index 98% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/SqliteProfilerStorage.php rename to core/vendor/symfony/http-kernel/Profiler/SqliteProfilerStorage.php index 0c25bc950c3aef565ba9750ec2225464583468ab..4a996fd12d639c1f87876a24d4445924b9efef1f 100644 --- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Profiler/SqliteProfilerStorage.php +++ b/core/vendor/symfony/http-kernel/Profiler/SqliteProfilerStorage.php @@ -40,7 +40,7 @@ protected function initDb() } $db->exec('PRAGMA temp_store=MEMORY; PRAGMA journal_mode=MEMORY;'); - $db->exec('CREATE TABLE IF NOT EXISTS sf_profiler_data (token STRING, data STRING, ip STRING, method STRING, url STRING, time INTEGER, parent STRING, created_at INTEGER)'); + $db->exec('CREATE TABLE IF NOT EXISTS sf_profiler_data (token STRING, data STRING, ip STRING, method STRING, url STRING, time INTEGER, parent STRING, created_at INTEGER, status_code INTEGER)'); $db->exec('CREATE INDEX IF NOT EXISTS data_created_at ON sf_profiler_data (created_at)'); $db->exec('CREATE INDEX IF NOT EXISTS data_ip ON sf_profiler_data (ip)'); $db->exec('CREATE INDEX IF NOT EXISTS data_method ON sf_profiler_data (method)'); diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/README.md b/core/vendor/symfony/http-kernel/README.md similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/README.md rename to core/vendor/symfony/http-kernel/README.md diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/.gitignore b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/.gitignore deleted file mode 100644 index 94a6a2528878364d8732c83d2234d177e4cd1862..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -vendor/ -composer.lock -phpunit.xml -Tests/Fixtures/cache/ -Tests/Fixtures/logs/ diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Log/NullLogger.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Log/NullLogger.php deleted file mode 100644 index 0948e0d88b29e62fdde1c8bce4cf1ac0f6fc4e20..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Log/NullLogger.php +++ /dev/null @@ -1,60 +0,0 @@ -<?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\HttpKernel\Log; - -use Psr\Log\NullLogger as PsrNullLogger; - -/** - * NullLogger. - * - * @author Fabien Potencier <fabien@symfony.com> - * - * @api - */ -class NullLogger extends PsrNullLogger implements LoggerInterface -{ - /** - * @api - * - * @deprecated since 2.2, to be removed in 3.0. Use emergency() which is PSR-3 compatible. - */ - public function emerg($message, array $context = array()) - { - } - - /** - * @api - * - * @deprecated since 2.2, to be removed in 3.0. Use critical() which is PSR-3 compatible. - */ - public function crit($message, array $context = array()) - { - } - - /** - * @api - * - * @deprecated since 2.2, to be removed in 3.0. Use error() which is PSR-3 compatible. - */ - public function err($message, array $context = array()) - { - } - - /** - * @api - * - * @deprecated since 2.2, to be removed in 3.0. Use warning() which is PSR-3 compatible. - */ - public function warn($message, array $context = array()) - { - } -} diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DataCollector/DumpDataCollectorTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DataCollector/DumpDataCollectorTest.php deleted file mode 100644 index dd9a134bd8dc4b39065749a54d96c495da7f4c21..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DataCollector/DumpDataCollectorTest.php +++ /dev/null @@ -1,72 +0,0 @@ -<?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\HttpKernel\Tests\DataCollector; - -use Symfony\Component\HttpKernel\DataCollector\DumpDataCollector; -use Symfony\Component\VarDumper\Cloner\Data; - -/** - * DumpDataCollectorTest - * - * @author Nicolas Grekas <p@tchwork.com> - */ -class DumpDataCollectorTest extends \PHPUnit_Framework_TestCase -{ - public function testDump() - { - $data = new Data(array(array(123))); - - $collector = new DumpDataCollector(); - - $this->assertSame('dump', $collector->getName()); - - $collector->dump($data); - $line = __LINE__ - 1; - $this->assertSame(1, $collector->getDumpsCount()); - - $dump = $collector->getDumps('html'); - $this->assertTrue(isset($dump[0]['data'])); - $dump[0]['data'] = preg_replace('/^.*?<pre/', '<pre', $dump[0]['data']); - $dump[0]['data'] = preg_replace('/sf-dump-\d+/', 'sf-dump', $dump[0]['data']); - - $xDump = array( - array( - 'data' => "<pre class=sf-dump id=sf-dump data-indent-pad=\" \"><span class=sf-dump-num>123</span>\n</pre><script>Sfdump(\"sf-dump\")</script>\n", - 'name' => 'DumpDataCollectorTest.php', - 'file' => __FILE__, - 'line' => $line, - 'fileExcerpt' => false, - ), - ); - $this->assertSame($xDump, $dump); - - $this->assertStringMatchesFormat( - 'a:1:{i:0;a:5:{s:4:"data";O:39:"Symfony\Component\VarDumper\Cloner\Data":4:{s:45:"Symfony\Component\VarDumper\Cloner\Datadata";a:1:{i:0;a:1:{i:0;i:123;}}s:49:"Symfony\Component\VarDumper\Cloner\DatamaxDepth";i:%i;s:57:"Symfony\Component\VarDumper\Cloner\DatamaxItemsPerDepth";i:%i;s:54:"Symfony\Component\VarDumper\Cloner\DatauseRefHandles";i:%i;}s:4:"name";s:25:"DumpDataCollectorTest.php";s:4:"file";s:%a', - str_replace("\0", '', $collector->serialize()) - ); - - $this->assertSame(0, $collector->getDumpsCount()); - $this->assertSame('a:0:{}', $collector->serialize()); - } - - public function testFlush() - { - $data = new Data(array(array(456))); - $collector = new DumpDataCollector(); - $collector->dump($data); - $line = __LINE__ - 1; - - ob_start(); - $collector = null; - $this->assertSame("DumpDataCollectorTest.php on line {$line}:\n456\n", ob_get_clean()); - } -} diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/TerminableInterface.php b/core/vendor/symfony/http-kernel/TerminableInterface.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/TerminableInterface.php rename to core/vendor/symfony/http-kernel/TerminableInterface.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Bundle/BundleTest.php b/core/vendor/symfony/http-kernel/Tests/Bundle/BundleTest.php similarity index 71% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Bundle/BundleTest.php rename to core/vendor/symfony/http-kernel/Tests/Bundle/BundleTest.php index 1a1b30097c4dbc0fb5d4c67c495796d1326ea67b..c9059a74a1eed7c497088b17702e0585db757320 100644 --- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Bundle/BundleTest.php +++ b/core/vendor/symfony/http-kernel/Tests/Bundle/BundleTest.php @@ -11,6 +11,7 @@ namespace Symfony\Component\HttpKernel\Tests\Bundle; +use Symfony\Component\HttpKernel\Tests\Fixtures\ExtensionNotValidBundle\ExtensionNotValidBundle; use Symfony\Component\HttpKernel\Tests\Fixtures\ExtensionPresentBundle\ExtensionPresentBundle; use Symfony\Component\HttpKernel\Tests\Fixtures\ExtensionAbsentBundle\ExtensionAbsentBundle; use Symfony\Component\HttpKernel\Tests\Fixtures\ExtensionPresentBundle\Command\FooCommand; @@ -30,4 +31,14 @@ public function testRegisterCommands() $this->assertNull($bundle2->registerCommands($app)); } + + /** + * @expectedException \LogicException + * @expectedExceptionMessage must implement Symfony\Component\DependencyInjection\Extension\ExtensionInterface + */ + public function testGetContainerExtensionWithInvalidClass() + { + $bundle = new ExtensionNotValidBundle(); + $bundle->getContainerExtension(); + } } diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/CacheClearer/ChainCacheClearerTest.php b/core/vendor/symfony/http-kernel/Tests/CacheClearer/ChainCacheClearerTest.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/CacheClearer/ChainCacheClearerTest.php rename to core/vendor/symfony/http-kernel/Tests/CacheClearer/ChainCacheClearerTest.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/CacheWarmer/CacheWarmerAggregateTest.php b/core/vendor/symfony/http-kernel/Tests/CacheWarmer/CacheWarmerAggregateTest.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/CacheWarmer/CacheWarmerAggregateTest.php rename to core/vendor/symfony/http-kernel/Tests/CacheWarmer/CacheWarmerAggregateTest.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/CacheWarmer/CacheWarmerTest.php b/core/vendor/symfony/http-kernel/Tests/CacheWarmer/CacheWarmerTest.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/CacheWarmer/CacheWarmerTest.php rename to core/vendor/symfony/http-kernel/Tests/CacheWarmer/CacheWarmerTest.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/ClientTest.php b/core/vendor/symfony/http-kernel/Tests/ClientTest.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/ClientTest.php rename to core/vendor/symfony/http-kernel/Tests/ClientTest.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Config/EnvParametersResourceTest.php b/core/vendor/symfony/http-kernel/Tests/Config/EnvParametersResourceTest.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Config/EnvParametersResourceTest.php rename to core/vendor/symfony/http-kernel/Tests/Config/EnvParametersResourceTest.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Config/FileLocatorTest.php b/core/vendor/symfony/http-kernel/Tests/Config/FileLocatorTest.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Config/FileLocatorTest.php rename to core/vendor/symfony/http-kernel/Tests/Config/FileLocatorTest.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Controller/ControllerResolverTest.php b/core/vendor/symfony/http-kernel/Tests/Controller/ControllerResolverTest.php similarity index 99% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Controller/ControllerResolverTest.php rename to core/vendor/symfony/http-kernel/Tests/Controller/ControllerResolverTest.php index fe70ae5d5e8442af74948cc1a4af845793c1a83c..32db4e47adc5aaf3a9fd1fd70486bd395d444e15 100644 --- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Controller/ControllerResolverTest.php +++ b/core/vendor/symfony/http-kernel/Tests/Controller/ControllerResolverTest.php @@ -20,7 +20,7 @@ class ControllerResolverTest extends \PHPUnit_Framework_TestCase public function testGetControllerWithoutControllerParameter() { $logger = $this->getMock('Psr\Log\LoggerInterface'); - $logger->expects($this->once())->method('warning')->with('Unable to look for the controller as the "_controller" parameter is missing'); + $logger->expects($this->once())->method('warning')->with('Unable to look for the controller as the "_controller" parameter is missing.'); $resolver = $this->createControllerResolver($logger); $request = Request::create('/'); diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DataCollector/ConfigDataCollectorTest.php b/core/vendor/symfony/http-kernel/Tests/DataCollector/ConfigDataCollectorTest.php similarity index 98% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DataCollector/ConfigDataCollectorTest.php rename to core/vendor/symfony/http-kernel/Tests/DataCollector/ConfigDataCollectorTest.php index 0d672a1f0cd506f39eec944868d929a93439ebff..4aa01f0e7c371a387915d3cb4924a41b14e7df6b 100644 --- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DataCollector/ConfigDataCollectorTest.php +++ b/core/vendor/symfony/http-kernel/Tests/DataCollector/ConfigDataCollectorTest.php @@ -23,6 +23,7 @@ public function testCollect() { $kernel = new KernelForTest('test', true); $c = new ConfigDataCollector(); + $c->setCacheVersionInfo(false); $c->setKernel($kernel); $c->collect(new Request(), new Response()); diff --git a/core/vendor/symfony/http-kernel/Tests/DataCollector/DumpDataCollectorTest.php b/core/vendor/symfony/http-kernel/Tests/DataCollector/DumpDataCollectorTest.php new file mode 100644 index 0000000000000000000000000000000000000000..e9b8433c46ef5f426d45aa20ecd6cf0c410aa7d8 --- /dev/null +++ b/core/vendor/symfony/http-kernel/Tests/DataCollector/DumpDataCollectorTest.php @@ -0,0 +1,138 @@ +<?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\HttpKernel\Tests\DataCollector; + +use Symfony\Component\HttpKernel\DataCollector\DumpDataCollector; +use Symfony\Component\HttpFoundation\Request; +use Symfony\Component\HttpFoundation\Response; +use Symfony\Component\VarDumper\Cloner\Data; + +/** + * @author Nicolas Grekas <p@tchwork.com> + */ +class DumpDataCollectorTest extends \PHPUnit_Framework_TestCase +{ + public function testDump() + { + $data = new Data(array(array(123))); + + $collector = new DumpDataCollector(); + + $this->assertSame('dump', $collector->getName()); + + $collector->dump($data); + $line = __LINE__ - 1; + $this->assertSame(1, $collector->getDumpsCount()); + + $dump = $collector->getDumps('html'); + $this->assertTrue(isset($dump[0]['data'])); + $dump[0]['data'] = preg_replace('/^.*?<pre/', '<pre', $dump[0]['data']); + $dump[0]['data'] = preg_replace('/sf-dump-\d+/', 'sf-dump', $dump[0]['data']); + + $xDump = array( + array( + 'data' => "<pre class=sf-dump id=sf-dump data-indent-pad=\" \"><span class=sf-dump-num>123</span>\n</pre><script>Sfdump(\"sf-dump\")</script>\n", + 'name' => 'DumpDataCollectorTest.php', + 'file' => __FILE__, + 'line' => $line, + 'fileExcerpt' => false, + ), + ); + $this->assertSame($xDump, $dump); + + $this->assertStringMatchesFormat( + 'a:1:{i:0;a:5:{s:4:"data";O:39:"Symfony\Component\VarDumper\Cloner\Data":4:{s:45:"Symfony\Component\VarDumper\Cloner\Datadata";a:1:{i:0;a:1:{i:0;i:123;}}s:49:"Symfony\Component\VarDumper\Cloner\DatamaxDepth";i:%i;s:57:"Symfony\Component\VarDumper\Cloner\DatamaxItemsPerDepth";i:%i;s:54:"Symfony\Component\VarDumper\Cloner\DatauseRefHandles";i:%i;}s:4:"name";s:25:"DumpDataCollectorTest.php";s:4:"file";s:%a', + str_replace("\0", '', $collector->serialize()) + ); + + $this->assertSame(0, $collector->getDumpsCount()); + $this->assertSame('a:0:{}', $collector->serialize()); + } + + public function testCollectDefault() + { + $data = new Data(array(array(123))); + + $collector = new DumpDataCollector(); + + $collector->dump($data); + $line = __LINE__ - 1; + + ob_start(); + $collector->collect(new Request(), new Response()); + $output = ob_get_clean(); + + if (PHP_VERSION_ID >= 50400) { + $this->assertSame("DumpDataCollectorTest.php on line {$line}:\n123\n", $output); + } else { + $this->assertSame("\"DumpDataCollectorTest.php on line {$line}:\"\n123\n", $output); + } + $this->assertSame(1, $collector->getDumpsCount()); + $collector->serialize(); + } + + public function testCollectHtml() + { + $data = new Data(array(array(123))); + + $collector = new DumpDataCollector(null, 'test://%f:%l'); + + $collector->dump($data); + $line = __LINE__ - 1; + $file = __FILE__; + if (PHP_VERSION_ID >= 50400) { + $xOutput = <<<EOTXT + <pre class=sf-dump id=sf-dump data-indent-pad=" "><a href="test://{$file}:{$line}" title="{$file}"><span class=sf-dump-meta>DumpDataCollectorTest.php</span></a> on line <span class=sf-dump-meta>{$line}</span>: +<span class=sf-dump-num>123</span> +</pre> + +EOTXT; + } else { + $len = strlen("DumpDataCollectorTest.php on line {$line}:"); + $xOutput = <<<EOTXT + <pre class=sf-dump id=sf-dump data-indent-pad=" ">"<span class=sf-dump-str title="{$len} characters">DumpDataCollectorTest.php on line {$line}:</span>" +</pre> +<pre class=sf-dump id=sf-dump data-indent-pad=" "><span class=sf-dump-num>123</span> +</pre> + +EOTXT; + } + + ob_start(); + $response = new Response(); + $response->headers->set('Content-Type', 'text/html'); + $collector->collect(new Request(), $response); + $output = ob_get_clean(); + $output = preg_replace('#<(script|style).*?</\1>#s', '', $output); + $output = preg_replace('/sf-dump-\d+/', 'sf-dump', $output); + + $this->assertSame($xOutput, $output); + $this->assertSame(1, $collector->getDumpsCount()); + $collector->serialize(); + } + + public function testFlush() + { + $data = new Data(array(array(456))); + $collector = new DumpDataCollector(); + $collector->dump($data); + $line = __LINE__ - 1; + + ob_start(); + $collector = null; + if (PHP_VERSION_ID >= 50400) { + $this->assertSame("DumpDataCollectorTest.php on line {$line}:\n456\n", ob_get_clean()); + } else { + $this->assertSame("\"DumpDataCollectorTest.php on line {$line}:\"\n456\n", ob_get_clean()); + } + } +} diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DataCollector/ExceptionDataCollectorTest.php b/core/vendor/symfony/http-kernel/Tests/DataCollector/ExceptionDataCollectorTest.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DataCollector/ExceptionDataCollectorTest.php rename to core/vendor/symfony/http-kernel/Tests/DataCollector/ExceptionDataCollectorTest.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DataCollector/LoggerDataCollectorTest.php b/core/vendor/symfony/http-kernel/Tests/DataCollector/LoggerDataCollectorTest.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DataCollector/LoggerDataCollectorTest.php rename to core/vendor/symfony/http-kernel/Tests/DataCollector/LoggerDataCollectorTest.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DataCollector/MemoryDataCollectorTest.php b/core/vendor/symfony/http-kernel/Tests/DataCollector/MemoryDataCollectorTest.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DataCollector/MemoryDataCollectorTest.php rename to core/vendor/symfony/http-kernel/Tests/DataCollector/MemoryDataCollectorTest.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DataCollector/RequestDataCollectorTest.php b/core/vendor/symfony/http-kernel/Tests/DataCollector/RequestDataCollectorTest.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DataCollector/RequestDataCollectorTest.php rename to core/vendor/symfony/http-kernel/Tests/DataCollector/RequestDataCollectorTest.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DataCollector/TimeDataCollectorTest.php b/core/vendor/symfony/http-kernel/Tests/DataCollector/TimeDataCollectorTest.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DataCollector/TimeDataCollectorTest.php rename to core/vendor/symfony/http-kernel/Tests/DataCollector/TimeDataCollectorTest.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DataCollector/Util/ValueExporterTest.php b/core/vendor/symfony/http-kernel/Tests/DataCollector/Util/ValueExporterTest.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DataCollector/Util/ValueExporterTest.php rename to core/vendor/symfony/http-kernel/Tests/DataCollector/Util/ValueExporterTest.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Debug/TraceableEventDispatcherTest.php b/core/vendor/symfony/http-kernel/Tests/Debug/TraceableEventDispatcherTest.php similarity index 86% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Debug/TraceableEventDispatcherTest.php rename to core/vendor/symfony/http-kernel/Tests/Debug/TraceableEventDispatcherTest.php index c2cafc37b8cfa18cc030f369caa8adc6bc07c0d3..f64d7247c0b4874ca2113894dbc919d1715f6438 100644 --- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Debug/TraceableEventDispatcherTest.php +++ b/core/vendor/symfony/http-kernel/Tests/Debug/TraceableEventDispatcherTest.php @@ -93,6 +93,19 @@ public function testAddListenerNested() $this->assertTrue($called2); } + public function testListenerCanRemoveItselfWhenExecuted() + { + $eventDispatcher = new TraceableEventDispatcher(new EventDispatcher(), new Stopwatch()); + $listener1 = function () use ($eventDispatcher, &$listener1) { + $eventDispatcher->removeListener('foo', $listener1); + }; + $eventDispatcher->addListener('foo', $listener1); + $eventDispatcher->addListener('foo', function () {}); + $eventDispatcher->dispatch('foo'); + + $this->assertCount(1, $eventDispatcher->getListeners('foo'), 'expected listener1 to be removed'); + } + protected function getHttpKernel($dispatcher, $controller) { $resolver = $this->getMock('Symfony\Component\HttpKernel\Controller\ControllerResolverInterface'); diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DependencyInjection/ContainerAwareHttpKernelTest.php b/core/vendor/symfony/http-kernel/Tests/DependencyInjection/ContainerAwareHttpKernelTest.php similarity index 99% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DependencyInjection/ContainerAwareHttpKernelTest.php rename to core/vendor/symfony/http-kernel/Tests/DependencyInjection/ContainerAwareHttpKernelTest.php index 83182e63eae5bf55a4e75bb84028067a866024a1..d64cf68a4190d864314b32543b4928ebec8395c8 100644 --- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DependencyInjection/ContainerAwareHttpKernelTest.php +++ b/core/vendor/symfony/http-kernel/Tests/DependencyInjection/ContainerAwareHttpKernelTest.php @@ -18,6 +18,9 @@ use Symfony\Component\HttpFoundation\Request; use Symfony\Component\EventDispatcher\EventDispatcher; +/** + * @group legacy + */ class ContainerAwareHttpKernelTest extends \PHPUnit_Framework_TestCase { /** diff --git a/core/vendor/symfony/http-kernel/Tests/DependencyInjection/FragmentRendererPassTest.php b/core/vendor/symfony/http-kernel/Tests/DependencyInjection/FragmentRendererPassTest.php new file mode 100644 index 0000000000000000000000000000000000000000..a46a07cf1d989b504f46fa5d2445c954fe0dbba7 --- /dev/null +++ b/core/vendor/symfony/http-kernel/Tests/DependencyInjection/FragmentRendererPassTest.php @@ -0,0 +1,162 @@ +<?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\HttpKernel\Tests\DependencyInjection; + +use Symfony\Component\DependencyInjection\Reference; +use Symfony\Component\HttpFoundation\Request; +use Symfony\Component\HttpKernel\DependencyInjection\FragmentRendererPass; +use Symfony\Component\HttpKernel\Fragment\FragmentRendererInterface; + +class FragmentRendererPassTest extends \PHPUnit_Framework_TestCase +{ + /** + * @group legacy + */ + public function testLegacyFragmentRedererWithoutAlias() + { + $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED); + + // no alias + $services = array( + 'my_content_renderer' => array(array()), + ); + + $renderer = $this->getMock('Symfony\Component\DependencyInjection\Definition'); + $renderer + ->expects($this->once()) + ->method('addMethodCall') + ->with('addRenderer', array(new Reference('my_content_renderer'))) + ; + + $definition = $this->getMock('Symfony\Component\DependencyInjection\Definition'); + $definition->expects($this->atLeastOnce()) + ->method('getClass') + ->will($this->returnValue('Symfony\Component\HttpKernel\Tests\DependencyInjection\RendererService')); + $definition + ->expects($this->once()) + ->method('isPublic') + ->will($this->returnValue(true)) + ; + + $builder = $this->getMock( + 'Symfony\Component\DependencyInjection\ContainerBuilder', + array('hasDefinition', 'findTaggedServiceIds', 'getDefinition') + ); + $builder->expects($this->any()) + ->method('hasDefinition') + ->will($this->returnValue(true)); + + // We don't test kernel.fragment_renderer here + $builder->expects($this->atLeastOnce()) + ->method('findTaggedServiceIds') + ->will($this->returnValue($services)); + + $builder->expects($this->atLeastOnce()) + ->method('getDefinition') + ->will($this->onConsecutiveCalls($renderer, $definition)); + + $pass = new FragmentRendererPass(); + $pass->process($builder); + } + + /** + * Tests that content rendering not implementing FragmentRendererInterface + * trigger an exception. + * + * @expectedException \InvalidArgumentException + */ + public function testContentRendererWithoutInterface() + { + // one service, not implementing any interface + $services = array( + 'my_content_renderer' => array(array('alias' => 'foo')), + ); + + $definition = $this->getMock('Symfony\Component\DependencyInjection\Definition'); + + $builder = $this->getMock( + 'Symfony\Component\DependencyInjection\ContainerBuilder', + array('hasDefinition', 'findTaggedServiceIds', 'getDefinition') + ); + $builder->expects($this->any()) + ->method('hasDefinition') + ->will($this->returnValue(true)); + + // We don't test kernel.fragment_renderer here + $builder->expects($this->atLeastOnce()) + ->method('findTaggedServiceIds') + ->will($this->returnValue($services)); + + $builder->expects($this->atLeastOnce()) + ->method('getDefinition') + ->will($this->returnValue($definition)); + + $pass = new FragmentRendererPass(); + $pass->process($builder); + } + + public function testValidContentRenderer() + { + $services = array( + 'my_content_renderer' => array(array('alias' => 'foo')), + ); + + $renderer = $this->getMock('Symfony\Component\DependencyInjection\Definition'); + $renderer + ->expects($this->once()) + ->method('addMethodCall') + ->with('addRendererService', array('foo', 'my_content_renderer')) + ; + + $definition = $this->getMock('Symfony\Component\DependencyInjection\Definition'); + $definition->expects($this->atLeastOnce()) + ->method('getClass') + ->will($this->returnValue('Symfony\Component\HttpKernel\Tests\DependencyInjection\RendererService')); + $definition + ->expects($this->once()) + ->method('isPublic') + ->will($this->returnValue(true)) + ; + + $builder = $this->getMock( + 'Symfony\Component\DependencyInjection\ContainerBuilder', + array('hasDefinition', 'findTaggedServiceIds', 'getDefinition') + ); + $builder->expects($this->any()) + ->method('hasDefinition') + ->will($this->returnValue(true)); + + // We don't test kernel.fragment_renderer here + $builder->expects($this->atLeastOnce()) + ->method('findTaggedServiceIds') + ->will($this->returnValue($services)); + + $builder->expects($this->atLeastOnce()) + ->method('getDefinition') + ->will($this->onConsecutiveCalls($renderer, $definition)); + + $pass = new FragmentRendererPass(); + $pass->process($builder); + } +} + +class RendererService implements FragmentRendererInterface +{ + public function render($uri, Request $request = null, array $options = array()) + { + } + + public function getName() + { + return 'test'; + } +} diff --git a/core/vendor/symfony/http-kernel/Tests/DependencyInjection/LazyLoadingFragmentHandlerTest.php b/core/vendor/symfony/http-kernel/Tests/DependencyInjection/LazyLoadingFragmentHandlerTest.php new file mode 100644 index 0000000000000000000000000000000000000000..581db45658902ddd962fc429923305c07e0ccebb --- /dev/null +++ b/core/vendor/symfony/http-kernel/Tests/DependencyInjection/LazyLoadingFragmentHandlerTest.php @@ -0,0 +1,40 @@ +<?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\HttpKernel\Tests\DependencyInjection; + +use Symfony\Component\HttpKernel\DependencyInjection\LazyLoadingFragmentHandler; +use Symfony\Component\HttpFoundation\Request; +use Symfony\Component\HttpFoundation\Response; + +class LazyLoadingFragmentHandlerTest extends \PHPUnit_Framework_TestCase +{ + public function test() + { + $renderer = $this->getMock('Symfony\Component\HttpKernel\Fragment\FragmentRendererInterface'); + $renderer->expects($this->once())->method('getName')->will($this->returnValue('foo')); + $renderer->expects($this->any())->method('render')->will($this->returnValue(new Response())); + + $requestStack = $this->getMock('Symfony\Component\HttpFoundation\RequestStack'); + $requestStack->expects($this->any())->method('getCurrentRequest')->will($this->returnValue(Request::create('/'))); + + $container = $this->getMock('Symfony\Component\DependencyInjection\ContainerInterface'); + $container->expects($this->once())->method('get')->will($this->returnValue($renderer)); + + $handler = new LazyLoadingFragmentHandler($container, false, $requestStack); + $handler->addRendererService('foo', 'foo'); + + $handler->render('/foo', 'foo'); + + // second call should not lazy-load anymore (see once() above on the get() method) + $handler->render('/foo', 'foo'); + } +} diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DependencyInjection/MergeExtensionConfigurationPassTest.php b/core/vendor/symfony/http-kernel/Tests/DependencyInjection/MergeExtensionConfigurationPassTest.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/DependencyInjection/MergeExtensionConfigurationPassTest.php rename to core/vendor/symfony/http-kernel/Tests/DependencyInjection/MergeExtensionConfigurationPassTest.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/AddRequestFormatsListenerTest.php b/core/vendor/symfony/http-kernel/Tests/EventListener/AddRequestFormatsListenerTest.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/AddRequestFormatsListenerTest.php rename to core/vendor/symfony/http-kernel/Tests/EventListener/AddRequestFormatsListenerTest.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/DebugHandlersListenerTest.php b/core/vendor/symfony/http-kernel/Tests/EventListener/DebugHandlersListenerTest.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/DebugHandlersListenerTest.php rename to core/vendor/symfony/http-kernel/Tests/EventListener/DebugHandlersListenerTest.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/DumpListenerTest.php b/core/vendor/symfony/http-kernel/Tests/EventListener/DumpListenerTest.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/DumpListenerTest.php rename to core/vendor/symfony/http-kernel/Tests/EventListener/DumpListenerTest.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/ExceptionListenerTest.php b/core/vendor/symfony/http-kernel/Tests/EventListener/ExceptionListenerTest.php similarity index 96% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/ExceptionListenerTest.php rename to core/vendor/symfony/http-kernel/Tests/EventListener/ExceptionListenerTest.php index 86244df0fc67dcb19702b988756e8a400b21d64d..8fb00f51c1e6e46137fe1a265d267899f6d10887 100644 --- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/ExceptionListenerTest.php +++ b/core/vendor/symfony/http-kernel/Tests/EventListener/ExceptionListenerTest.php @@ -57,6 +57,7 @@ public function testHandleWithoutLogger($event, $event2) $this->fail('RuntimeException expected'); } catch (\RuntimeException $e) { $this->assertSame('bar', $e->getMessage()); + $this->assertSame('foo', $e->getPrevious()->getMessage()); } } @@ -77,6 +78,7 @@ public function testHandleWithLogger($event, $event2) $this->fail('RuntimeException expected'); } catch (\RuntimeException $e) { $this->assertSame('bar', $e->getMessage()); + $this->assertSame('foo', $e->getPrevious()->getMessage()); } $this->assertEquals(3, $logger->countErrors()); diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/FragmentListenerTest.php b/core/vendor/symfony/http-kernel/Tests/EventListener/FragmentListenerTest.php similarity index 78% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/FragmentListenerTest.php rename to core/vendor/symfony/http-kernel/Tests/EventListener/FragmentListenerTest.php index 7ddb2fbbf2d6a35bf336a78276346e0d14b22b41..18edee6123c79edcc2fd1c078c40edfcf769e6d7 100644 --- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/FragmentListenerTest.php +++ b/core/vendor/symfony/http-kernel/Tests/EventListener/FragmentListenerTest.php @@ -34,6 +34,22 @@ public function testOnlyTriggeredOnFragmentRoute() $this->assertTrue($request->query->has('_path')); } + + public function testOnlyTriggeredIfControllerWasNotDefinedYet() + { + $request = Request::create('http://example.com/_fragment?_path=foo%3Dbar%26_controller%3Dfoo'); + $request->attributes->set('_controller', 'bar'); + + $listener = new FragmentListener(new UriSigner('foo')); + $event = $this->createGetResponseEvent($request, HttpKernelInterface::SUB_REQUEST); + + $expected = $request->attributes->all(); + + $listener->onKernelRequest($event); + + $this->assertEquals($expected, $request->attributes->all()); + } + /** * @expectedException \Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException */ @@ -74,8 +90,8 @@ public function testWithSignature() $this->assertFalse($request->query->has('_path')); } - private function createGetResponseEvent(Request $request) + private function createGetResponseEvent(Request $request, $requestType = HttpKernelInterface::MASTER_REQUEST) { - return new GetResponseEvent($this->getMock('Symfony\Component\HttpKernel\HttpKernelInterface'), $request, HttpKernelInterface::MASTER_REQUEST); + return new GetResponseEvent($this->getMock('Symfony\Component\HttpKernel\HttpKernelInterface'), $request, $requestType); } } diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/LocaleListenerTest.php b/core/vendor/symfony/http-kernel/Tests/EventListener/LocaleListenerTest.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/LocaleListenerTest.php rename to core/vendor/symfony/http-kernel/Tests/EventListener/LocaleListenerTest.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/ProfilerListenerTest.php b/core/vendor/symfony/http-kernel/Tests/EventListener/ProfilerListenerTest.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/ProfilerListenerTest.php rename to core/vendor/symfony/http-kernel/Tests/EventListener/ProfilerListenerTest.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/ResponseListenerTest.php b/core/vendor/symfony/http-kernel/Tests/EventListener/ResponseListenerTest.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/ResponseListenerTest.php rename to core/vendor/symfony/http-kernel/Tests/EventListener/ResponseListenerTest.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/RouterListenerTest.php b/core/vendor/symfony/http-kernel/Tests/EventListener/RouterListenerTest.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/RouterListenerTest.php rename to core/vendor/symfony/http-kernel/Tests/EventListener/RouterListenerTest.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/SurrogateListenerTest.php b/core/vendor/symfony/http-kernel/Tests/EventListener/SurrogateListenerTest.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/SurrogateListenerTest.php rename to core/vendor/symfony/http-kernel/Tests/EventListener/SurrogateListenerTest.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/TestSessionListenerTest.php b/core/vendor/symfony/http-kernel/Tests/EventListener/TestSessionListenerTest.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/TestSessionListenerTest.php rename to core/vendor/symfony/http-kernel/Tests/EventListener/TestSessionListenerTest.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/TranslatorListenerTest.php b/core/vendor/symfony/http-kernel/Tests/EventListener/TranslatorListenerTest.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/EventListener/TranslatorListenerTest.php rename to core/vendor/symfony/http-kernel/Tests/EventListener/TranslatorListenerTest.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/BaseBundle/Resources/foo.txt b/core/vendor/symfony/http-kernel/Tests/Fixtures/BaseBundle/Resources/foo.txt similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/BaseBundle/Resources/foo.txt rename to core/vendor/symfony/http-kernel/Tests/Fixtures/BaseBundle/Resources/foo.txt diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/BaseBundle/Resources/hide.txt b/core/vendor/symfony/http-kernel/Tests/Fixtures/BaseBundle/Resources/hide.txt similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/BaseBundle/Resources/hide.txt rename to core/vendor/symfony/http-kernel/Tests/Fixtures/BaseBundle/Resources/hide.txt diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/Bundle1Bundle/Resources/foo.txt b/core/vendor/symfony/http-kernel/Tests/Fixtures/Bundle1Bundle/Resources/foo.txt similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/Bundle1Bundle/Resources/foo.txt rename to core/vendor/symfony/http-kernel/Tests/Fixtures/Bundle1Bundle/Resources/foo.txt diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/Bundle1Bundle/bar.txt b/core/vendor/symfony/http-kernel/Tests/Fixtures/Bundle1Bundle/bar.txt similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/Bundle1Bundle/bar.txt rename to core/vendor/symfony/http-kernel/Tests/Fixtures/Bundle1Bundle/bar.txt diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/Bundle1Bundle/foo.txt b/core/vendor/symfony/http-kernel/Tests/Fixtures/Bundle1Bundle/foo.txt similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/Bundle1Bundle/foo.txt rename to core/vendor/symfony/http-kernel/Tests/Fixtures/Bundle1Bundle/foo.txt diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/Bundle2Bundle/foo.txt b/core/vendor/symfony/http-kernel/Tests/Fixtures/Bundle2Bundle/foo.txt similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/Bundle2Bundle/foo.txt rename to core/vendor/symfony/http-kernel/Tests/Fixtures/Bundle2Bundle/foo.txt diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/ChildBundle/Resources/foo.txt b/core/vendor/symfony/http-kernel/Tests/Fixtures/ChildBundle/Resources/foo.txt similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/ChildBundle/Resources/foo.txt rename to core/vendor/symfony/http-kernel/Tests/Fixtures/ChildBundle/Resources/foo.txt diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/ChildBundle/Resources/hide.txt b/core/vendor/symfony/http-kernel/Tests/Fixtures/ChildBundle/Resources/hide.txt similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/ChildBundle/Resources/hide.txt rename to core/vendor/symfony/http-kernel/Tests/Fixtures/ChildBundle/Resources/hide.txt diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/ExtensionAbsentBundle/ExtensionAbsentBundle.php b/core/vendor/symfony/http-kernel/Tests/Fixtures/ExtensionAbsentBundle/ExtensionAbsentBundle.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/ExtensionAbsentBundle/ExtensionAbsentBundle.php rename to core/vendor/symfony/http-kernel/Tests/Fixtures/ExtensionAbsentBundle/ExtensionAbsentBundle.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/ExtensionLoadedBundle/DependencyInjection/ExtensionLoadedExtension.php b/core/vendor/symfony/http-kernel/Tests/Fixtures/ExtensionLoadedBundle/DependencyInjection/ExtensionLoadedExtension.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/ExtensionLoadedBundle/DependencyInjection/ExtensionLoadedExtension.php rename to core/vendor/symfony/http-kernel/Tests/Fixtures/ExtensionLoadedBundle/DependencyInjection/ExtensionLoadedExtension.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/ExtensionLoadedBundle/ExtensionLoadedBundle.php b/core/vendor/symfony/http-kernel/Tests/Fixtures/ExtensionLoadedBundle/ExtensionLoadedBundle.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/ExtensionLoadedBundle/ExtensionLoadedBundle.php rename to core/vendor/symfony/http-kernel/Tests/Fixtures/ExtensionLoadedBundle/ExtensionLoadedBundle.php diff --git a/core/vendor/symfony/http-kernel/Tests/Fixtures/ExtensionNotValidBundle/DependencyInjection/ExtensionNotValidExtension.php b/core/vendor/symfony/http-kernel/Tests/Fixtures/ExtensionNotValidBundle/DependencyInjection/ExtensionNotValidExtension.php new file mode 100644 index 0000000000000000000000000000000000000000..0fd64316fbfcfc72b489e65176f0e379ec230b53 --- /dev/null +++ b/core/vendor/symfony/http-kernel/Tests/Fixtures/ExtensionNotValidBundle/DependencyInjection/ExtensionNotValidExtension.php @@ -0,0 +1,20 @@ +<?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\HttpKernel\Tests\Fixtures\ExtensionNotValidBundle\DependencyInjection; + +class ExtensionNotValidExtension +{ + public function getAlias() + { + return 'extension_not_valid'; + } +} diff --git a/core/vendor/symfony/http-kernel/Tests/Fixtures/ExtensionNotValidBundle/ExtensionNotValidBundle.php b/core/vendor/symfony/http-kernel/Tests/Fixtures/ExtensionNotValidBundle/ExtensionNotValidBundle.php new file mode 100644 index 0000000000000000000000000000000000000000..34e2920392be07f26a23e77408278d91f1b4ad74 --- /dev/null +++ b/core/vendor/symfony/http-kernel/Tests/Fixtures/ExtensionNotValidBundle/ExtensionNotValidBundle.php @@ -0,0 +1,18 @@ +<?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\HttpKernel\Tests\Fixtures\ExtensionNotValidBundle; + +use Symfony\Component\HttpKernel\Bundle\Bundle; + +class ExtensionNotValidBundle extends Bundle +{ +} diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/ExtensionPresentBundle/Command/BarCommand.php b/core/vendor/symfony/http-kernel/Tests/Fixtures/ExtensionPresentBundle/Command/BarCommand.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/ExtensionPresentBundle/Command/BarCommand.php rename to core/vendor/symfony/http-kernel/Tests/Fixtures/ExtensionPresentBundle/Command/BarCommand.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/ExtensionPresentBundle/Command/FooCommand.php b/core/vendor/symfony/http-kernel/Tests/Fixtures/ExtensionPresentBundle/Command/FooCommand.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/ExtensionPresentBundle/Command/FooCommand.php rename to core/vendor/symfony/http-kernel/Tests/Fixtures/ExtensionPresentBundle/Command/FooCommand.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/ExtensionPresentBundle/DependencyInjection/ExtensionPresentExtension.php b/core/vendor/symfony/http-kernel/Tests/Fixtures/ExtensionPresentBundle/DependencyInjection/ExtensionPresentExtension.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/ExtensionPresentBundle/DependencyInjection/ExtensionPresentExtension.php rename to core/vendor/symfony/http-kernel/Tests/Fixtures/ExtensionPresentBundle/DependencyInjection/ExtensionPresentExtension.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/ExtensionPresentBundle/ExtensionPresentBundle.php b/core/vendor/symfony/http-kernel/Tests/Fixtures/ExtensionPresentBundle/ExtensionPresentBundle.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/ExtensionPresentBundle/ExtensionPresentBundle.php rename to core/vendor/symfony/http-kernel/Tests/Fixtures/ExtensionPresentBundle/ExtensionPresentBundle.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/FooBarBundle.php b/core/vendor/symfony/http-kernel/Tests/Fixtures/FooBarBundle.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/FooBarBundle.php rename to core/vendor/symfony/http-kernel/Tests/Fixtures/FooBarBundle.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/KernelForOverrideName.php b/core/vendor/symfony/http-kernel/Tests/Fixtures/KernelForOverrideName.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/KernelForOverrideName.php rename to core/vendor/symfony/http-kernel/Tests/Fixtures/KernelForOverrideName.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/KernelForTest.php b/core/vendor/symfony/http-kernel/Tests/Fixtures/KernelForTest.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/KernelForTest.php rename to core/vendor/symfony/http-kernel/Tests/Fixtures/KernelForTest.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/Resources/BaseBundle/hide.txt b/core/vendor/symfony/http-kernel/Tests/Fixtures/Resources/BaseBundle/hide.txt similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/Resources/BaseBundle/hide.txt rename to core/vendor/symfony/http-kernel/Tests/Fixtures/Resources/BaseBundle/hide.txt diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/Resources/Bundle1Bundle/foo.txt b/core/vendor/symfony/http-kernel/Tests/Fixtures/Resources/Bundle1Bundle/foo.txt similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/Resources/Bundle1Bundle/foo.txt rename to core/vendor/symfony/http-kernel/Tests/Fixtures/Resources/Bundle1Bundle/foo.txt diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/Resources/ChildBundle/foo.txt b/core/vendor/symfony/http-kernel/Tests/Fixtures/Resources/ChildBundle/foo.txt similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/Resources/ChildBundle/foo.txt rename to core/vendor/symfony/http-kernel/Tests/Fixtures/Resources/ChildBundle/foo.txt diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/Resources/FooBundle/foo.txt b/core/vendor/symfony/http-kernel/Tests/Fixtures/Resources/FooBundle/foo.txt similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/Resources/FooBundle/foo.txt rename to core/vendor/symfony/http-kernel/Tests/Fixtures/Resources/FooBundle/foo.txt diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/TestClient.php b/core/vendor/symfony/http-kernel/Tests/Fixtures/TestClient.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/TestClient.php rename to core/vendor/symfony/http-kernel/Tests/Fixtures/TestClient.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/TestEventDispatcher.php b/core/vendor/symfony/http-kernel/Tests/Fixtures/TestEventDispatcher.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fixtures/TestEventDispatcher.php rename to core/vendor/symfony/http-kernel/Tests/Fixtures/TestEventDispatcher.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fragment/EsiFragmentRendererTest.php b/core/vendor/symfony/http-kernel/Tests/Fragment/EsiFragmentRendererTest.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fragment/EsiFragmentRendererTest.php rename to core/vendor/symfony/http-kernel/Tests/Fragment/EsiFragmentRendererTest.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fragment/FragmentHandlerTest.php b/core/vendor/symfony/http-kernel/Tests/Fragment/FragmentHandlerTest.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fragment/FragmentHandlerTest.php rename to core/vendor/symfony/http-kernel/Tests/Fragment/FragmentHandlerTest.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fragment/HIncludeFragmentRendererTest.php b/core/vendor/symfony/http-kernel/Tests/Fragment/HIncludeFragmentRendererTest.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fragment/HIncludeFragmentRendererTest.php rename to core/vendor/symfony/http-kernel/Tests/Fragment/HIncludeFragmentRendererTest.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fragment/InlineFragmentRendererTest.php b/core/vendor/symfony/http-kernel/Tests/Fragment/InlineFragmentRendererTest.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fragment/InlineFragmentRendererTest.php rename to core/vendor/symfony/http-kernel/Tests/Fragment/InlineFragmentRendererTest.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fragment/RoutableFragmentRendererTest.php b/core/vendor/symfony/http-kernel/Tests/Fragment/RoutableFragmentRendererTest.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Fragment/RoutableFragmentRendererTest.php rename to core/vendor/symfony/http-kernel/Tests/Fragment/RoutableFragmentRendererTest.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/HttpCache/EsiTest.php b/core/vendor/symfony/http-kernel/Tests/HttpCache/EsiTest.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/HttpCache/EsiTest.php rename to core/vendor/symfony/http-kernel/Tests/HttpCache/EsiTest.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/HttpCache/HttpCacheTest.php b/core/vendor/symfony/http-kernel/Tests/HttpCache/HttpCacheTest.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/HttpCache/HttpCacheTest.php rename to core/vendor/symfony/http-kernel/Tests/HttpCache/HttpCacheTest.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/HttpCache/HttpCacheTestCase.php b/core/vendor/symfony/http-kernel/Tests/HttpCache/HttpCacheTestCase.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/HttpCache/HttpCacheTestCase.php rename to core/vendor/symfony/http-kernel/Tests/HttpCache/HttpCacheTestCase.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/HttpCache/SsiTest.php b/core/vendor/symfony/http-kernel/Tests/HttpCache/SsiTest.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/HttpCache/SsiTest.php rename to core/vendor/symfony/http-kernel/Tests/HttpCache/SsiTest.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/HttpCache/StoreTest.php b/core/vendor/symfony/http-kernel/Tests/HttpCache/StoreTest.php similarity index 95% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/HttpCache/StoreTest.php rename to core/vendor/symfony/http-kernel/Tests/HttpCache/StoreTest.php index cf4e4b5985049b3a7796dcbd7edbe210559abe9f..4198ce40313401183abad75a332fef6c8cdb73c5 100644 --- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/HttpCache/StoreTest.php +++ b/core/vendor/symfony/http-kernel/Tests/HttpCache/StoreTest.php @@ -168,6 +168,16 @@ public function testDoesNotReturnEntriesThatVaryWithLookup() $this->assertNull($this->store->lookup($req2)); } + public function testDoesNotReturnEntriesThatSlightlyVaryWithLookup() + { + $req1 = Request::create('/test', 'get', array(), array(), array(), array('HTTP_FOO' => 'Foo', 'HTTP_BAR' => 'Bar')); + $req2 = Request::create('/test', 'get', array(), array(), array(), array('HTTP_FOO' => 'Foo', 'HTTP_BAR' => 'Bam')); + $res = new Response('test', 200, array('Vary' => array('Foo', 'Bar'))); + $this->store->write($req1, $res); + + $this->assertNull($this->store->lookup($req2)); + } + public function testStoresMultipleResponsesForEachVaryCombination() { $req1 = Request::create('/test', 'get', array(), array(), array(), array('HTTP_FOO' => 'Foo', 'HTTP_BAR' => 'Bar')); diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/HttpCache/TestHttpKernel.php b/core/vendor/symfony/http-kernel/Tests/HttpCache/TestHttpKernel.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/HttpCache/TestHttpKernel.php rename to core/vendor/symfony/http-kernel/Tests/HttpCache/TestHttpKernel.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/HttpCache/TestMultipleHttpKernel.php b/core/vendor/symfony/http-kernel/Tests/HttpCache/TestMultipleHttpKernel.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/HttpCache/TestMultipleHttpKernel.php rename to core/vendor/symfony/http-kernel/Tests/HttpCache/TestMultipleHttpKernel.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/HttpKernelTest.php b/core/vendor/symfony/http-kernel/Tests/HttpKernelTest.php similarity index 92% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/HttpKernelTest.php rename to core/vendor/symfony/http-kernel/Tests/HttpKernelTest.php index 700b111228beea542d8a7e92542c6b77caa97fcd..97e68f66f979ad3aea53b8b2ffd28fca5f4aad2c 100644 --- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/HttpKernelTest.php +++ b/core/vendor/symfony/http-kernel/Tests/HttpKernelTest.php @@ -26,7 +26,7 @@ class HttpKernelTest extends \PHPUnit_Framework_TestCase /** * @expectedException \RuntimeException */ - public function testHandleWhenControllerThrowsAnExceptionAndRawIsTrue() + public function testHandleWhenControllerThrowsAnExceptionAndCatchIsTrue() { $kernel = new HttpKernel(new EventDispatcher(), $this->getResolver(function () { throw new \RuntimeException(); })); @@ -36,14 +36,14 @@ public function testHandleWhenControllerThrowsAnExceptionAndRawIsTrue() /** * @expectedException \RuntimeException */ - public function testHandleWhenControllerThrowsAnExceptionAndRawIsFalseAndNoListenerIsRegistered() + public function testHandleWhenControllerThrowsAnExceptionAndCatchIsFalseAndNoListenerIsRegistered() { $kernel = new HttpKernel(new EventDispatcher(), $this->getResolver(function () { throw new \RuntimeException(); })); $kernel->handle(new Request(), HttpKernelInterface::MASTER_REQUEST, false); } - public function testHandleWhenControllerThrowsAnExceptionAndRawIsFalse() + public function testHandleWhenControllerThrowsAnExceptionAndCatchIsTrueWithAHandlingListener() { $dispatcher = new EventDispatcher(); $dispatcher->addListener(KernelEvents::EXCEPTION, function ($event) { @@ -51,12 +51,31 @@ public function testHandleWhenControllerThrowsAnExceptionAndRawIsFalse() }); $kernel = new HttpKernel($dispatcher, $this->getResolver(function () { throw new \RuntimeException('foo'); })); - $response = $kernel->handle(new Request()); + $response = $kernel->handle(new Request(), HttpKernelInterface::MASTER_REQUEST, true); $this->assertEquals('500', $response->getStatusCode()); $this->assertEquals('foo', $response->getContent()); } + public function testHandleWhenControllerThrowsAnExceptionAndCatchIsTrueWithANonHandlingListener() + { + $exception = new \RuntimeException(); + + $dispatcher = new EventDispatcher(); + $dispatcher->addListener(KernelEvents::EXCEPTION, function ($event) { + // should set a response, but does not + }); + + $kernel = new HttpKernel($dispatcher, $this->getResolver(function () use ($exception) { throw $exception; })); + + try { + $kernel->handle(new Request(), HttpKernelInterface::MASTER_REQUEST, true); + $this->fail('LogicException expected'); + } catch (\RuntimeException $e) { + $this->assertSame($exception, $e); + } + } + public function testHandleExceptionWithARedirectionResponse() { $dispatcher = new EventDispatcher(); diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/KernelTest.php b/core/vendor/symfony/http-kernel/Tests/KernelTest.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/KernelTest.php rename to core/vendor/symfony/http-kernel/Tests/KernelTest.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Logger.php b/core/vendor/symfony/http-kernel/Tests/Logger.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Logger.php rename to core/vendor/symfony/http-kernel/Tests/Logger.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/AbstractProfilerStorageTest.php b/core/vendor/symfony/http-kernel/Tests/Profiler/AbstractProfilerStorageTest.php similarity index 93% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/AbstractProfilerStorageTest.php rename to core/vendor/symfony/http-kernel/Tests/Profiler/AbstractProfilerStorageTest.php index 07dff696d60f9c9cf902a02b79196530275f9c4a..dc361ed0f08ad890c29471ba0d8eff4fae809112 100644 --- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/AbstractProfilerStorageTest.php +++ b/core/vendor/symfony/http-kernel/Tests/Profiler/AbstractProfilerStorageTest.php @@ -17,7 +17,7 @@ abstract class AbstractProfilerStorageTest extends \PHPUnit_Framework_TestCase { public function testStore() { - for ($i = 0; $i < 10; $i++) { + for ($i = 0; $i < 10; ++$i) { $profile = new Profile('token_'.$i); $profile->setIp('127.0.0.1'); $profile->setUrl('http://foo.bar'); @@ -159,7 +159,7 @@ public function testStoreTime() $dt = new \DateTime('now'); $start = $dt->getTimestamp(); - for ($i = 0; $i < 3; $i++) { + for ($i = 0; $i < 3; ++$i) { $dt->modify('+1 minute'); $profile = new Profile('time_'.$i); $profile->setIp('127.0.0.1'); @@ -181,7 +181,7 @@ public function testStoreTime() public function testRetrieveByEmptyUrlAndIp() { - for ($i = 0; $i < 5; $i++) { + for ($i = 0; $i < 5; ++$i) { $profile = new Profile('token_'.$i); $profile->setMethod('GET'); $this->getStorage()->write($profile); @@ -193,7 +193,7 @@ public function testRetrieveByEmptyUrlAndIp() public function testRetrieveByMethodAndLimit() { foreach (array('POST', 'GET') as $method) { - for ($i = 0; $i < 5; $i++) { + for ($i = 0; $i < 5; ++$i) { $profile = new Profile('token_'.$i.$method); $profile->setMethod($method); $this->getStorage()->write($profile); @@ -233,7 +233,7 @@ public function testPurge() public function testDuplicates() { - for ($i = 1; $i <= 5; $i++) { + for ($i = 1; $i <= 5; ++$i) { $profile = new Profile('foo'.$i); $profile->setIp('127.0.0.1'); $profile->setUrl('http://example.net/'); @@ -247,6 +247,22 @@ public function testDuplicates() $this->assertCount(3, $this->getStorage()->find('127.0.0.1', 'http://example.net/', 3, 'GET'), '->find() method returns incorrect number of entries'); } + public function testStatusCode() + { + $profile = new Profile('token1'); + $profile->setStatusCode(200); + $this->getStorage()->write($profile); + + $profile = new Profile('token2'); + $profile->setStatusCode(404); + $this->getStorage()->write($profile); + + $tokens = $this->getStorage()->find('', '', 10, ''); + $this->assertCount(2, $tokens); + $this->assertContains($tokens[0]['status_code'], array(200, 404)); + $this->assertContains($tokens[1]['status_code'], array(200, 404)); + } + /** * @return \Symfony\Component\HttpKernel\Profiler\ProfilerStorageInterface */ diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/FileProfilerStorageTest.php b/core/vendor/symfony/http-kernel/Tests/Profiler/FileProfilerStorageTest.php similarity index 96% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/FileProfilerStorageTest.php rename to core/vendor/symfony/http-kernel/Tests/Profiler/FileProfilerStorageTest.php index 6c7462141978669ac80d494cefdbfb1c76344c55..d5edc7003286e61671724b6b2f4b56d67ac69180 100644 --- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/FileProfilerStorageTest.php +++ b/core/vendor/symfony/http-kernel/Tests/Profiler/FileProfilerStorageTest.php @@ -62,7 +62,7 @@ protected function getStorage() public function testMultiRowIndexFile() { $iteration = 3; - for ($i = 0; $i < $iteration; $i++) { + for ($i = 0; $i < $iteration; ++$i) { $profile = new Profile('token'.$i); $profile->setIp('127.0.0.'.$i); $profile->setUrl('http://foo.bar/'.$i); @@ -74,7 +74,7 @@ public function testMultiRowIndexFile() } $handle = fopen(self::$tmpDir.'/index.csv', 'r'); - for ($i = 0; $i < $iteration; $i++) { + for ($i = 0; $i < $iteration; ++$i) { $row = fgetcsv($handle); $this->assertEquals('token'.$i, $row[0]); $this->assertEquals('127.0.0.'.$i, $row[1]); diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/MemcacheProfilerStorageTest.php b/core/vendor/symfony/http-kernel/Tests/Profiler/MemcacheProfilerStorageTest.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/MemcacheProfilerStorageTest.php rename to core/vendor/symfony/http-kernel/Tests/Profiler/MemcacheProfilerStorageTest.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/MemcachedProfilerStorageTest.php b/core/vendor/symfony/http-kernel/Tests/Profiler/MemcachedProfilerStorageTest.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/MemcachedProfilerStorageTest.php rename to core/vendor/symfony/http-kernel/Tests/Profiler/MemcachedProfilerStorageTest.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/Mock/MemcacheMock.php b/core/vendor/symfony/http-kernel/Tests/Profiler/Mock/MemcacheMock.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/Mock/MemcacheMock.php rename to core/vendor/symfony/http-kernel/Tests/Profiler/Mock/MemcacheMock.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/Mock/MemcachedMock.php b/core/vendor/symfony/http-kernel/Tests/Profiler/Mock/MemcachedMock.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/Mock/MemcachedMock.php rename to core/vendor/symfony/http-kernel/Tests/Profiler/Mock/MemcachedMock.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/Mock/RedisMock.php b/core/vendor/symfony/http-kernel/Tests/Profiler/Mock/RedisMock.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/Mock/RedisMock.php rename to core/vendor/symfony/http-kernel/Tests/Profiler/Mock/RedisMock.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/MongoDbProfilerStorageTest.php b/core/vendor/symfony/http-kernel/Tests/Profiler/MongoDbProfilerStorageTest.php similarity index 99% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/MongoDbProfilerStorageTest.php rename to core/vendor/symfony/http-kernel/Tests/Profiler/MongoDbProfilerStorageTest.php index c72732563c6727fa4e783b5173e5b012d4b28746..29525fe6bdf7dc8fc5e4960dec9c3ac0d9b5fd09 100644 --- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/MongoDbProfilerStorageTest.php +++ b/core/vendor/symfony/http-kernel/Tests/Profiler/MongoDbProfilerStorageTest.php @@ -100,7 +100,7 @@ public function getDsns() public function testCleanup() { $dt = new \DateTime('-2 day'); - for ($i = 0; $i < 3; $i++) { + for ($i = 0; $i < 3; ++$i) { $dt->modify('-1 day'); $profile = new Profile('time_'.$i); $profile->setTime($dt->getTimestamp()); diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/ProfilerTest.php b/core/vendor/symfony/http-kernel/Tests/Profiler/ProfilerTest.php similarity index 93% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/ProfilerTest.php rename to core/vendor/symfony/http-kernel/Tests/Profiler/ProfilerTest.php index 43a89600212c87b8a91358fdf9a6378032823d26..023ed18bd92e771b7fa2702c128f67c2794c60a7 100644 --- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/ProfilerTest.php +++ b/core/vendor/symfony/http-kernel/Tests/Profiler/ProfilerTest.php @@ -26,14 +26,15 @@ public function testCollect() { $request = new Request(); $request->query->set('foo', 'bar'); - $response = new Response(); + $response = new Response('', 204); $collector = new RequestDataCollector(); $profiler = new Profiler($this->storage); $profiler->add($collector); $profile = $profiler->collect($request, $response); - $profile = $profiler->loadProfile($profile->getToken()); + $this->assertSame(204, $profile->getStatusCode()); + $this->assertSame('GET', $profile->getMethod()); $this->assertEquals(array('foo' => 'bar'), $profiler->get('request')->getRequestQuery()->all()); } diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/RedisProfilerStorageTest.php b/core/vendor/symfony/http-kernel/Tests/Profiler/RedisProfilerStorageTest.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/RedisProfilerStorageTest.php rename to core/vendor/symfony/http-kernel/Tests/Profiler/RedisProfilerStorageTest.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/SqliteProfilerStorageTest.php b/core/vendor/symfony/http-kernel/Tests/Profiler/SqliteProfilerStorageTest.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Profiler/SqliteProfilerStorageTest.php rename to core/vendor/symfony/http-kernel/Tests/Profiler/SqliteProfilerStorageTest.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/TestHttpKernel.php b/core/vendor/symfony/http-kernel/Tests/TestHttpKernel.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/TestHttpKernel.php rename to core/vendor/symfony/http-kernel/Tests/TestHttpKernel.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/UriSignerTest.php b/core/vendor/symfony/http-kernel/Tests/UriSignerTest.php similarity index 100% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/UriSignerTest.php rename to core/vendor/symfony/http-kernel/Tests/UriSignerTest.php diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/UriSigner.php b/core/vendor/symfony/http-kernel/UriSigner.php similarity index 82% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/UriSigner.php rename to core/vendor/symfony/http-kernel/UriSigner.php index fa0d4571ad0214831c2e7ff9c8dd5d25adc2467b..6ddce8736b5aa0211555d386b691bcb5925c1e6a 100644 --- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/UriSigner.php +++ b/core/vendor/symfony/http-kernel/UriSigner.php @@ -94,14 +94,14 @@ private function buildUrl(array $url, array $params = array()) ksort($params); $url['query'] = http_build_query($params, '', '&'); - $scheme = isset($url['scheme']) ? $url['scheme'].'://' : ''; - $host = isset($url['host']) ? $url['host'] : ''; - $port = isset($url['port']) ? ':'.$url['port'] : ''; - $user = isset($url['user']) ? $url['user'] : ''; - $pass = isset($url['pass']) ? ':'.$url['pass'] : ''; - $pass = ($user || $pass) ? "$pass@" : ''; - $path = isset($url['path']) ? $url['path'] : ''; - $query = isset($url['query']) && $url['query'] ? '?'.$url['query'] : ''; + $scheme = isset($url['scheme']) ? $url['scheme'].'://' : ''; + $host = isset($url['host']) ? $url['host'] : ''; + $port = isset($url['port']) ? ':'.$url['port'] : ''; + $user = isset($url['user']) ? $url['user'] : ''; + $pass = isset($url['pass']) ? ':'.$url['pass'] : ''; + $pass = ($user || $pass) ? "$pass@" : ''; + $path = isset($url['path']) ? $url['path'] : ''; + $query = isset($url['query']) && $url['query'] ? '?'.$url['query'] : ''; $fragment = isset($url['fragment']) ? '#'.$url['fragment'] : ''; return $scheme.$user.$pass.$host.$port.$path.$query.$fragment; diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/composer.json b/core/vendor/symfony/http-kernel/composer.json similarity index 83% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/composer.json rename to core/vendor/symfony/http-kernel/composer.json index f828dc48dda011e7effe0cc9c03bac771ff665f9..9c1cc0b61cf0e51cf4404f74f3016e7fc679e428 100644 --- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/composer.json +++ b/core/vendor/symfony/http-kernel/composer.json @@ -3,7 +3,7 @@ "type": "library", "description": "Symfony HttpKernel Component", "keywords": [], - "homepage": "http://symfony.com", + "homepage": "https://symfony.com", "license": "MIT", "authors": [ { @@ -12,11 +12,11 @@ }, { "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" + "homepage": "https://symfony.com/contributors" } ], "require": { - "php": ">=5.3.3", + "php": ">=5.3.9", "symfony/event-dispatcher": "~2.5.9|~2.6,>=2.6.2", "symfony/http-foundation": "~2.5,>=2.5.4", "symfony/debug": "~2.6,>=2.6.2", @@ -26,7 +26,7 @@ "symfony/phpunit-bridge": "~2.7", "symfony/browser-kit": "~2.3", "symfony/class-loader": "~2.1", - "symfony/config": "~2.0,>=2.0.5", + "symfony/config": "~2.7", "symfony/console": "~2.3", "symfony/css-selector": "~2.0,>=2.0.5", "symfony/dependency-injection": "~2.2", @@ -40,6 +40,9 @@ "symfony/translation": "~2.0,>=2.0.5", "symfony/var-dumper": "~2.6" }, + "conflict": { + "symfony/config": "<2.7" + }, "suggest": { "symfony/browser-kit": "", "symfony/class-loader": "", @@ -50,13 +53,12 @@ "symfony/var-dumper": "" }, "autoload": { - "psr-0": { "Symfony\\Component\\HttpKernel\\": "" } + "psr-4": { "Symfony\\Component\\HttpKernel\\": "" } }, - "target-dir": "Symfony/Component/HttpKernel", "minimum-stability": "dev", "extra": { "branch-alias": { - "dev-master": "2.6-dev" + "dev-master": "2.7-dev" } } } diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/phpunit.xml.dist b/core/vendor/symfony/http-kernel/phpunit.xml.dist similarity index 99% rename from core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/phpunit.xml.dist rename to core/vendor/symfony/http-kernel/phpunit.xml.dist index 7901a0b8b54336ab755f54fb474918127ff833f9..13149663e488ab5d69105dca983d731c1f3ceb68 100644 --- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/phpunit.xml.dist +++ b/core/vendor/symfony/http-kernel/phpunit.xml.dist @@ -9,6 +9,7 @@ <php> <ini name="error_reporting" value="-1" /> </php> + <testsuites> <testsuite name="Symfony HttpKernel Component Test Suite"> <directory>./Tests/</directory> diff --git a/core/vendor/symfony/process/Symfony/Component/Process/CHANGELOG.md b/core/vendor/symfony/process/CHANGELOG.md similarity index 100% rename from core/vendor/symfony/process/Symfony/Component/Process/CHANGELOG.md rename to core/vendor/symfony/process/CHANGELOG.md diff --git a/core/vendor/symfony/process/Symfony/Component/Process/Exception/ExceptionInterface.php b/core/vendor/symfony/process/Exception/ExceptionInterface.php similarity index 100% rename from core/vendor/symfony/process/Symfony/Component/Process/Exception/ExceptionInterface.php rename to core/vendor/symfony/process/Exception/ExceptionInterface.php diff --git a/core/vendor/symfony/process/Symfony/Component/Process/Exception/InvalidArgumentException.php b/core/vendor/symfony/process/Exception/InvalidArgumentException.php similarity index 100% rename from core/vendor/symfony/process/Symfony/Component/Process/Exception/InvalidArgumentException.php rename to core/vendor/symfony/process/Exception/InvalidArgumentException.php diff --git a/core/vendor/symfony/process/Symfony/Component/Process/Exception/LogicException.php b/core/vendor/symfony/process/Exception/LogicException.php similarity index 100% rename from core/vendor/symfony/process/Symfony/Component/Process/Exception/LogicException.php rename to core/vendor/symfony/process/Exception/LogicException.php diff --git a/core/vendor/symfony/process/Symfony/Component/Process/Exception/ProcessFailedException.php b/core/vendor/symfony/process/Exception/ProcessFailedException.php similarity index 100% rename from core/vendor/symfony/process/Symfony/Component/Process/Exception/ProcessFailedException.php rename to core/vendor/symfony/process/Exception/ProcessFailedException.php diff --git a/core/vendor/symfony/process/Symfony/Component/Process/Exception/ProcessTimedOutException.php b/core/vendor/symfony/process/Exception/ProcessTimedOutException.php similarity index 100% rename from core/vendor/symfony/process/Symfony/Component/Process/Exception/ProcessTimedOutException.php rename to core/vendor/symfony/process/Exception/ProcessTimedOutException.php diff --git a/core/vendor/symfony/process/Symfony/Component/Process/Exception/RuntimeException.php b/core/vendor/symfony/process/Exception/RuntimeException.php similarity index 100% rename from core/vendor/symfony/process/Symfony/Component/Process/Exception/RuntimeException.php rename to core/vendor/symfony/process/Exception/RuntimeException.php diff --git a/core/vendor/symfony/process/Symfony/Component/Process/ExecutableFinder.php b/core/vendor/symfony/process/ExecutableFinder.php similarity index 100% rename from core/vendor/symfony/process/Symfony/Component/Process/ExecutableFinder.php rename to core/vendor/symfony/process/ExecutableFinder.php diff --git a/core/vendor/symfony/process/Symfony/Component/Process/LICENSE b/core/vendor/symfony/process/LICENSE similarity index 100% rename from core/vendor/symfony/process/Symfony/Component/Process/LICENSE rename to core/vendor/symfony/process/LICENSE diff --git a/core/vendor/symfony/process/Symfony/Component/Process/PhpExecutableFinder.php b/core/vendor/symfony/process/PhpExecutableFinder.php similarity index 100% rename from core/vendor/symfony/process/Symfony/Component/Process/PhpExecutableFinder.php rename to core/vendor/symfony/process/PhpExecutableFinder.php diff --git a/core/vendor/symfony/process/Symfony/Component/Process/PhpProcess.php b/core/vendor/symfony/process/PhpProcess.php similarity index 100% rename from core/vendor/symfony/process/Symfony/Component/Process/PhpProcess.php rename to core/vendor/symfony/process/PhpProcess.php diff --git a/core/vendor/symfony/process/Symfony/Component/Process/Pipes/AbstractPipes.php b/core/vendor/symfony/process/Pipes/AbstractPipes.php similarity index 100% rename from core/vendor/symfony/process/Symfony/Component/Process/Pipes/AbstractPipes.php rename to core/vendor/symfony/process/Pipes/AbstractPipes.php diff --git a/core/vendor/symfony/process/Symfony/Component/Process/Pipes/PipesInterface.php b/core/vendor/symfony/process/Pipes/PipesInterface.php similarity index 100% rename from core/vendor/symfony/process/Symfony/Component/Process/Pipes/PipesInterface.php rename to core/vendor/symfony/process/Pipes/PipesInterface.php diff --git a/core/vendor/symfony/process/Symfony/Component/Process/Pipes/UnixPipes.php b/core/vendor/symfony/process/Pipes/UnixPipes.php similarity index 100% rename from core/vendor/symfony/process/Symfony/Component/Process/Pipes/UnixPipes.php rename to core/vendor/symfony/process/Pipes/UnixPipes.php diff --git a/core/vendor/symfony/process/Symfony/Component/Process/Pipes/WindowsPipes.php b/core/vendor/symfony/process/Pipes/WindowsPipes.php similarity index 100% rename from core/vendor/symfony/process/Symfony/Component/Process/Pipes/WindowsPipes.php rename to core/vendor/symfony/process/Pipes/WindowsPipes.php diff --git a/core/vendor/symfony/process/Symfony/Component/Process/Process.php b/core/vendor/symfony/process/Process.php similarity index 98% rename from core/vendor/symfony/process/Symfony/Component/Process/Process.php rename to core/vendor/symfony/process/Process.php index ba619ce1cc9688e1dd7112f6e057c8bdb11ff5a5..fdb395de825ffdcee6e1d33377ee99bed6da7c86 100644 --- a/core/vendor/symfony/process/Symfony/Component/Process/Process.php +++ b/core/vendor/symfony/process/Process.php @@ -1063,11 +1063,14 @@ public function setEnv(array $env) * * @return string|null The current contents * - * @deprecated Deprecated since version 2.5, to be removed in 3.0. + * @deprecated since version 2.5, to be removed in 3.0. + * Use setInput() instead. * This method is deprecated in favor of getInput. */ public function getStdin() { + trigger_error('The '.__METHOD__.' method is deprecated since version 2.5 and will be removed in 3.0. Use the getInput() method instead.', E_USER_DEPRECATED); + return $this->getInput(); } @@ -1088,14 +1091,16 @@ public function getInput() * * @return self The current Process instance * - * @deprecated Deprecated since version 2.5, to be removed in 3.0. - * This method is deprecated in favor of setInput. + * @deprecated since version 2.5, to be removed in 3.0. + * Use setInput() instead. * * @throws LogicException In case the process is running * @throws InvalidArgumentException In case the argument is invalid */ public function setStdin($stdin) { + trigger_error('The '.__METHOD__.' method is deprecated since version 2.5 and will be removed in 3.0. Use the setInput() method instead.', E_USER_DEPRECATED); + return $this->setInput($stdin); } @@ -1104,11 +1109,13 @@ public function setStdin($stdin) * * This content will be passed to the underlying process standard input. * - * @param string|null $input The content + * @param mixed $input The content * * @return self The current Process instance * * @throws LogicException In case the process is running + * + * Passing an object as an input is deprecated since version 2.5 and will be removed in 3.0. */ public function setInput($input) { diff --git a/core/vendor/symfony/process/Symfony/Component/Process/ProcessBuilder.php b/core/vendor/symfony/process/ProcessBuilder.php similarity index 97% rename from core/vendor/symfony/process/Symfony/Component/Process/ProcessBuilder.php rename to core/vendor/symfony/process/ProcessBuilder.php index 5262ce25dd5145a6fea409611051ccdb288f9858..a782fd69e94dd715464dd82839f1351488461bee 100644 --- a/core/vendor/symfony/process/Symfony/Component/Process/ProcessBuilder.php +++ b/core/vendor/symfony/process/ProcessBuilder.php @@ -167,11 +167,13 @@ public function addEnvironmentVariables(array $variables) /** * Sets the input of the process. * - * @param string|null $input The input as a string + * @param mixed $input The input as a string * * @return ProcessBuilder * * @throws InvalidArgumentException In case the argument is invalid + * + * Passing an object as an input is deprecated since version 2.5 and will be removed in 3.0. */ public function setInput($input) { diff --git a/core/vendor/symfony/process/Symfony/Component/Process/ProcessUtils.php b/core/vendor/symfony/process/ProcessUtils.php similarity index 92% rename from core/vendor/symfony/process/Symfony/Component/Process/ProcessUtils.php rename to core/vendor/symfony/process/ProcessUtils.php index 0f4cb89e6b483aa92c1d7bf3e05e86c1994ecb7f..488010bacf9388223a536eb7ac89afe43f3724aa 100644 --- a/core/vendor/symfony/process/Symfony/Component/Process/ProcessUtils.php +++ b/core/vendor/symfony/process/ProcessUtils.php @@ -48,7 +48,7 @@ public static function escapeArgument($argument) } $escapedArgument = ''; - $quote = false; + $quote = false; foreach (preg_split('/(")/i', $argument, -1, PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE) as $part) { if ('"' === $part) { $escapedArgument .= '\\"'; @@ -83,6 +83,8 @@ public static function escapeArgument($argument) * @return string The validated input * * @throws InvalidArgumentException In case the input is not valid + * + * Passing an object as an input is deprecated since version 2.5 and will be removed in 3.0. */ public static function validateInput($caller, $input) { @@ -95,6 +97,8 @@ public static function validateInput($caller, $input) } // deprecated as of Symfony 2.5, to be removed in 3.0 if (is_object($input) && method_exists($input, '__toString')) { + trigger_error('Passing an object as an input is deprecated since version 2.5 and will be removed in 3.0.', E_USER_DEPRECATED); + return (string) $input; } diff --git a/core/vendor/symfony/process/Symfony/Component/Process/README.md b/core/vendor/symfony/process/README.md similarity index 100% rename from core/vendor/symfony/process/Symfony/Component/Process/README.md rename to core/vendor/symfony/process/README.md diff --git a/core/vendor/symfony/process/Symfony/Component/Process/.gitignore b/core/vendor/symfony/process/Symfony/Component/Process/.gitignore deleted file mode 100644 index c49a5d8df5c6548379f00c77fe572a7217bce218..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/process/Symfony/Component/Process/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -vendor/ -composer.lock -phpunit.xml diff --git a/core/vendor/symfony/process/Symfony/Component/Process/Tests/AbstractProcessTest.php b/core/vendor/symfony/process/Tests/AbstractProcessTest.php similarity index 97% rename from core/vendor/symfony/process/Symfony/Component/Process/Tests/AbstractProcessTest.php rename to core/vendor/symfony/process/Tests/AbstractProcessTest.php index 2b9c36d08a73ddaf4bdcfd1ff12871c21693e562..2a4d583cb2b369bf36ca7210bd689ba903ecb3e2 100644 --- a/core/vendor/symfony/process/Symfony/Component/Process/Tests/AbstractProcessTest.php +++ b/core/vendor/symfony/process/Tests/AbstractProcessTest.php @@ -229,7 +229,25 @@ public function provideInputValues() array(null, null), array('24.5', 24.5), array('input data', 'input data'), - // to maintain BC, supposed to be removed in 3.0 + ); + } + + /** + * @dataProvider provideLegacyInputValues + * @group legacy + */ + public function testLegacyValidInput($expected, $value) + { + $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED); + + $process = $this->getProcess('php -v'); + $process->setInput($value); + $this->assertSame($expected, $process->getInput()); + } + + public function provideLegacyInputValues() + { + return array( array('stringifiable', new Stringifiable()), ); } @@ -800,9 +818,6 @@ public function testCheckTimeoutOnStartedProcess() $this->assertFalse($process->isSuccessful()); } - /** - * @group idle-timeout - */ public function testIdleTimeout() { $process = $this->getProcess('php -r "sleep(3);"'); @@ -820,21 +835,18 @@ public function testIdleTimeout() } } - /** - * @group idle-timeout - */ public function testIdleTimeoutNotExceededWhenOutputIsSent() { - $process = $this->getProcess('php -r "echo \'foo\'; sleep(1); echo \'foo\'; sleep(1); echo \'foo\'; sleep(1); "'); + $process = $this->getProcess(sprintf('php -r %s', escapeshellarg('$n = 30; while ($n--) {echo "foo\n"; usleep(100000); }'))); $process->setTimeout(2); - $process->setIdleTimeout(1.5); + $process->setIdleTimeout(1); try { $process->run(); $this->fail('A timeout exception was expected.'); } catch (ProcessTimedOutException $ex) { - $this->assertTrue($ex->isGeneralTimeout()); - $this->assertFalse($ex->isIdleTimeout()); + $this->assertTrue($ex->isGeneralTimeout(), 'A general timeout is expected.'); + $this->assertFalse($ex->isIdleTimeout(), 'No idle timeout is expected.'); $this->assertEquals(2, $ex->getExceededTimeout()); } } diff --git a/core/vendor/symfony/process/Symfony/Component/Process/Tests/ExecutableFinderTest.php b/core/vendor/symfony/process/Tests/ExecutableFinderTest.php similarity index 100% rename from core/vendor/symfony/process/Symfony/Component/Process/Tests/ExecutableFinderTest.php rename to core/vendor/symfony/process/Tests/ExecutableFinderTest.php diff --git a/core/vendor/symfony/process/Symfony/Component/Process/Tests/NonStopableProcess.php b/core/vendor/symfony/process/Tests/NonStopableProcess.php similarity index 100% rename from core/vendor/symfony/process/Symfony/Component/Process/Tests/NonStopableProcess.php rename to core/vendor/symfony/process/Tests/NonStopableProcess.php diff --git a/core/vendor/symfony/process/Symfony/Component/Process/Tests/PhpExecutableFinderTest.php b/core/vendor/symfony/process/Tests/PhpExecutableFinderTest.php similarity index 100% rename from core/vendor/symfony/process/Symfony/Component/Process/Tests/PhpExecutableFinderTest.php rename to core/vendor/symfony/process/Tests/PhpExecutableFinderTest.php diff --git a/core/vendor/symfony/process/Symfony/Component/Process/Tests/PhpProcessTest.php b/core/vendor/symfony/process/Tests/PhpProcessTest.php similarity index 100% rename from core/vendor/symfony/process/Symfony/Component/Process/Tests/PhpProcessTest.php rename to core/vendor/symfony/process/Tests/PhpProcessTest.php diff --git a/core/vendor/symfony/process/Symfony/Component/Process/Tests/PipeStdinInStdoutStdErrStreamSelect.php b/core/vendor/symfony/process/Tests/PipeStdinInStdoutStdErrStreamSelect.php similarity index 100% rename from core/vendor/symfony/process/Symfony/Component/Process/Tests/PipeStdinInStdoutStdErrStreamSelect.php rename to core/vendor/symfony/process/Tests/PipeStdinInStdoutStdErrStreamSelect.php diff --git a/core/vendor/symfony/process/Symfony/Component/Process/Tests/ProcessBuilderTest.php b/core/vendor/symfony/process/Tests/ProcessBuilderTest.php similarity index 100% rename from core/vendor/symfony/process/Symfony/Component/Process/Tests/ProcessBuilderTest.php rename to core/vendor/symfony/process/Tests/ProcessBuilderTest.php diff --git a/core/vendor/symfony/process/Symfony/Component/Process/Tests/ProcessFailedExceptionTest.php b/core/vendor/symfony/process/Tests/ProcessFailedExceptionTest.php similarity index 100% rename from core/vendor/symfony/process/Symfony/Component/Process/Tests/ProcessFailedExceptionTest.php rename to core/vendor/symfony/process/Tests/ProcessFailedExceptionTest.php diff --git a/core/vendor/symfony/process/Symfony/Component/Process/Tests/ProcessInSigchildEnvironment.php b/core/vendor/symfony/process/Tests/ProcessInSigchildEnvironment.php similarity index 100% rename from core/vendor/symfony/process/Symfony/Component/Process/Tests/ProcessInSigchildEnvironment.php rename to core/vendor/symfony/process/Tests/ProcessInSigchildEnvironment.php diff --git a/core/vendor/symfony/process/Symfony/Component/Process/Tests/ProcessUtilsTest.php b/core/vendor/symfony/process/Tests/ProcessUtilsTest.php similarity index 100% rename from core/vendor/symfony/process/Symfony/Component/Process/Tests/ProcessUtilsTest.php rename to core/vendor/symfony/process/Tests/ProcessUtilsTest.php diff --git a/core/vendor/symfony/process/Symfony/Component/Process/Tests/SigchildDisabledProcessTest.php b/core/vendor/symfony/process/Tests/SigchildDisabledProcessTest.php similarity index 100% rename from core/vendor/symfony/process/Symfony/Component/Process/Tests/SigchildDisabledProcessTest.php rename to core/vendor/symfony/process/Tests/SigchildDisabledProcessTest.php diff --git a/core/vendor/symfony/process/Symfony/Component/Process/Tests/SigchildEnabledProcessTest.php b/core/vendor/symfony/process/Tests/SigchildEnabledProcessTest.php similarity index 100% rename from core/vendor/symfony/process/Symfony/Component/Process/Tests/SigchildEnabledProcessTest.php rename to core/vendor/symfony/process/Tests/SigchildEnabledProcessTest.php diff --git a/core/vendor/symfony/process/Symfony/Component/Process/Tests/SignalListener.php b/core/vendor/symfony/process/Tests/SignalListener.php similarity index 96% rename from core/vendor/symfony/process/Symfony/Component/Process/Tests/SignalListener.php rename to core/vendor/symfony/process/Tests/SignalListener.php index 335ac6027e8e0b16a4a1aa6c8dbd4ab6b245d227..bd4d138b047612bbf58229cc4e0e232aaf2b4a0a 100644 --- a/core/vendor/symfony/process/Symfony/Component/Process/Tests/SignalListener.php +++ b/core/vendor/symfony/process/Tests/SignalListener.php @@ -10,7 +10,7 @@ // ticks require activity to work - sleep(4); does not work while ($n < 400) { usleep(10000); - $n++; + ++$n; } return; diff --git a/core/vendor/symfony/process/Symfony/Component/Process/Tests/SimpleProcessTest.php b/core/vendor/symfony/process/Tests/SimpleProcessTest.php similarity index 100% rename from core/vendor/symfony/process/Symfony/Component/Process/Tests/SimpleProcessTest.php rename to core/vendor/symfony/process/Tests/SimpleProcessTest.php diff --git a/core/vendor/symfony/process/Symfony/Component/Process/composer.json b/core/vendor/symfony/process/composer.json similarity index 67% rename from core/vendor/symfony/process/Symfony/Component/Process/composer.json rename to core/vendor/symfony/process/composer.json index 0c05fc788e5614da46d6cf79119f5c5f4f141948..d0cae4d8e0494ca45ea40c2c5a32903456c3a4fb 100644 --- a/core/vendor/symfony/process/Symfony/Component/Process/composer.json +++ b/core/vendor/symfony/process/composer.json @@ -3,7 +3,7 @@ "type": "library", "description": "Symfony Process Component", "keywords": [], - "homepage": "http://symfony.com", + "homepage": "https://symfony.com", "license": "MIT", "authors": [ { @@ -12,23 +12,22 @@ }, { "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" + "homepage": "https://symfony.com/contributors" } ], "require": { - "php": ">=5.3.3" + "php": ">=5.3.9" }, "require-dev": { "symfony/phpunit-bridge": "~2.7" }, "autoload": { - "psr-0": { "Symfony\\Component\\Process\\": "" } + "psr-4": { "Symfony\\Component\\Process\\": "" } }, - "target-dir": "Symfony/Component/Process", "minimum-stability": "dev", "extra": { "branch-alias": { - "dev-master": "2.6-dev" + "dev-master": "2.7-dev" } } } diff --git a/core/vendor/symfony/process/Symfony/Component/Process/phpunit.xml.dist b/core/vendor/symfony/process/phpunit.xml.dist similarity index 99% rename from core/vendor/symfony/process/Symfony/Component/Process/phpunit.xml.dist rename to core/vendor/symfony/process/phpunit.xml.dist index 07b617be4b5d233944996d1fe4631700b7a2cd94..b5d605c2efbbe78d98abc9802518245914f422c3 100644 --- a/core/vendor/symfony/process/Symfony/Component/Process/phpunit.xml.dist +++ b/core/vendor/symfony/process/phpunit.xml.dist @@ -9,6 +9,7 @@ <php> <ini name="error_reporting" value="-1" /> </php> + <testsuites> <testsuite name="Symfony Process Component Test Suite"> <directory>./Tests/</directory> diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Annotation/Route.php b/core/vendor/symfony/routing/Annotation/Route.php similarity index 83% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Annotation/Route.php rename to core/vendor/symfony/routing/Annotation/Route.php index 90521c0be8e0d4968ec815dcdd67591c539601a9..af2158250c770669279e347de166904bdb46562d 100644 --- a/core/vendor/symfony/routing/Symfony/Component/Routing/Annotation/Route.php +++ b/core/vendor/symfony/routing/Annotation/Route.php @@ -55,18 +55,22 @@ public function __construct(array $data) } /** - * @deprecated Deprecated in 2.2, to be removed in 3.0. Use setPath instead. + * @deprecated since version 2.2, to be removed in 3.0. Use setPath instead. */ public function setPattern($pattern) { + trigger_error('The '.__METHOD__.' method is deprecated since version 2.2 and will be removed in 3.0. Use the setPath() method instead and use the "path" option instead of the "pattern" option in the route definition.', E_USER_DEPRECATED); + $this->path = $pattern; } /** - * @deprecated Deprecated in 2.2, to be removed in 3.0. Use getPath instead. + * @deprecated since version 2.2, to be removed in 3.0. Use getPath instead. */ public function getPattern() { + trigger_error('The '.__METHOD__.' method is deprecated since version 2.2 and will be removed in 3.0. Use the getPath() method instead and use the "path" option instead of the "pattern" option in the route definition.', E_USER_DEPRECATED); + return $this->path; } diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/CHANGELOG.md b/core/vendor/symfony/routing/CHANGELOG.md similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/CHANGELOG.md rename to core/vendor/symfony/routing/CHANGELOG.md diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/CompiledRoute.php b/core/vendor/symfony/routing/CompiledRoute.php similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/CompiledRoute.php rename to core/vendor/symfony/routing/CompiledRoute.php diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Exception/ExceptionInterface.php b/core/vendor/symfony/routing/Exception/ExceptionInterface.php similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Exception/ExceptionInterface.php rename to core/vendor/symfony/routing/Exception/ExceptionInterface.php diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Exception/InvalidParameterException.php b/core/vendor/symfony/routing/Exception/InvalidParameterException.php similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Exception/InvalidParameterException.php rename to core/vendor/symfony/routing/Exception/InvalidParameterException.php diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Exception/MethodNotAllowedException.php b/core/vendor/symfony/routing/Exception/MethodNotAllowedException.php similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Exception/MethodNotAllowedException.php rename to core/vendor/symfony/routing/Exception/MethodNotAllowedException.php diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Exception/MissingMandatoryParametersException.php b/core/vendor/symfony/routing/Exception/MissingMandatoryParametersException.php similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Exception/MissingMandatoryParametersException.php rename to core/vendor/symfony/routing/Exception/MissingMandatoryParametersException.php diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Exception/ResourceNotFoundException.php b/core/vendor/symfony/routing/Exception/ResourceNotFoundException.php similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Exception/ResourceNotFoundException.php rename to core/vendor/symfony/routing/Exception/ResourceNotFoundException.php diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Exception/RouteNotFoundException.php b/core/vendor/symfony/routing/Exception/RouteNotFoundException.php similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Exception/RouteNotFoundException.php rename to core/vendor/symfony/routing/Exception/RouteNotFoundException.php diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Generator/ConfigurableRequirementsInterface.php b/core/vendor/symfony/routing/Generator/ConfigurableRequirementsInterface.php similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Generator/ConfigurableRequirementsInterface.php rename to core/vendor/symfony/routing/Generator/ConfigurableRequirementsInterface.php diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Generator/Dumper/GeneratorDumper.php b/core/vendor/symfony/routing/Generator/Dumper/GeneratorDumper.php similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Generator/Dumper/GeneratorDumper.php rename to core/vendor/symfony/routing/Generator/Dumper/GeneratorDumper.php diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Generator/Dumper/GeneratorDumperInterface.php b/core/vendor/symfony/routing/Generator/Dumper/GeneratorDumperInterface.php similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Generator/Dumper/GeneratorDumperInterface.php rename to core/vendor/symfony/routing/Generator/Dumper/GeneratorDumperInterface.php diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Generator/Dumper/PhpGeneratorDumper.php b/core/vendor/symfony/routing/Generator/Dumper/PhpGeneratorDumper.php similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Generator/Dumper/PhpGeneratorDumper.php rename to core/vendor/symfony/routing/Generator/Dumper/PhpGeneratorDumper.php diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Generator/UrlGenerator.php b/core/vendor/symfony/routing/Generator/UrlGenerator.php similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Generator/UrlGenerator.php rename to core/vendor/symfony/routing/Generator/UrlGenerator.php diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Generator/UrlGeneratorInterface.php b/core/vendor/symfony/routing/Generator/UrlGeneratorInterface.php similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Generator/UrlGeneratorInterface.php rename to core/vendor/symfony/routing/Generator/UrlGeneratorInterface.php diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/LICENSE b/core/vendor/symfony/routing/LICENSE similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/LICENSE rename to core/vendor/symfony/routing/LICENSE diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Loader/AnnotationClassLoader.php b/core/vendor/symfony/routing/Loader/AnnotationClassLoader.php similarity index 97% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Loader/AnnotationClassLoader.php rename to core/vendor/symfony/routing/Loader/AnnotationClassLoader.php index 92abf3648ace1961deff6af4e4d7542ede0673d3..da881ef2956b8ce234fbc8a0f1728c2bb2a1ef61 100644 --- a/core/vendor/symfony/routing/Symfony/Component/Routing/Loader/AnnotationClassLoader.php +++ b/core/vendor/symfony/routing/Loader/AnnotationClassLoader.php @@ -145,8 +145,8 @@ protected function addRoute(RouteCollection $collection, $annot, $globals, \Refl } $requirements = array_replace($globals['requirements'], $annot->getRequirements()); $options = array_replace($globals['options'], $annot->getOptions()); - $schemes = array_replace($globals['schemes'], $annot->getSchemes()); - $methods = array_replace($globals['methods'], $annot->getMethods()); + $schemes = array_merge($globals['schemes'], $annot->getSchemes()); + $methods = array_merge($globals['methods'], $annot->getMethods()); $host = $annot->getHost(); if (null === $host) { @@ -201,7 +201,7 @@ protected function getDefaultRouteName(\ReflectionClass $class, \ReflectionMetho if ($this->defaultRouteIndex > 0) { $name .= '_'.$this->defaultRouteIndex; } - $this->defaultRouteIndex++; + ++$this->defaultRouteIndex; return $name; } diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Loader/AnnotationDirectoryLoader.php b/core/vendor/symfony/routing/Loader/AnnotationDirectoryLoader.php similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Loader/AnnotationDirectoryLoader.php rename to core/vendor/symfony/routing/Loader/AnnotationDirectoryLoader.php diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Loader/AnnotationFileLoader.php b/core/vendor/symfony/routing/Loader/AnnotationFileLoader.php similarity index 98% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Loader/AnnotationFileLoader.php rename to core/vendor/symfony/routing/Loader/AnnotationFileLoader.php index e54a0181c7861ff09d1f3d29e72392c643fcbdab..8ce57ac18ca54c8d612e258fa0dde05de9b746ec 100644 --- a/core/vendor/symfony/routing/Symfony/Component/Routing/Loader/AnnotationFileLoader.php +++ b/core/vendor/symfony/routing/Loader/AnnotationFileLoader.php @@ -88,7 +88,7 @@ protected function findClass($file) $class = false; $namespace = false; $tokens = token_get_all(file_get_contents($file)); - for ($i = 0, $count = count($tokens); $i < $count; $i++) { + for ($i = 0, $count = count($tokens); $i < $count; ++$i) { $token = $tokens[$i]; if (!is_array($token)) { diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Loader/ClosureLoader.php b/core/vendor/symfony/routing/Loader/ClosureLoader.php similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Loader/ClosureLoader.php rename to core/vendor/symfony/routing/Loader/ClosureLoader.php diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Loader/PhpFileLoader.php b/core/vendor/symfony/routing/Loader/PhpFileLoader.php similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Loader/PhpFileLoader.php rename to core/vendor/symfony/routing/Loader/PhpFileLoader.php diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Loader/XmlFileLoader.php b/core/vendor/symfony/routing/Loader/XmlFileLoader.php similarity index 97% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Loader/XmlFileLoader.php rename to core/vendor/symfony/routing/Loader/XmlFileLoader.php index 8a95f512861d21a75efefc04a29afa9fbde741e2..81bd5de6f12c3330970c164ddc08fdd7f42b9e9a 100644 --- a/core/vendor/symfony/routing/Symfony/Component/Routing/Loader/XmlFileLoader.php +++ b/core/vendor/symfony/routing/Loader/XmlFileLoader.php @@ -122,6 +122,8 @@ protected function parseRoute(RouteCollection $collection, \DOMElement $node, $p throw new \InvalidArgumentException(sprintf('The <route> element in file "%s" cannot define both a "path" and a "pattern" attribute. Use only "path".', $path)); } + trigger_error(sprintf('The "pattern" option in file "%s" is deprecated since version 2.2 and will be removed in 3.0. Use the "path" option in the route definition instead.', $path), E_USER_DEPRECATED); + $node->setAttribute('path', $node->getAttribute('pattern')); $node->removeAttribute('pattern'); } diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Loader/YamlFileLoader.php b/core/vendor/symfony/routing/Loader/YamlFileLoader.php similarity index 95% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Loader/YamlFileLoader.php rename to core/vendor/symfony/routing/Loader/YamlFileLoader.php index 8de520cd224eb0334dfa971fc277116ab3948c1b..f004fd14ad65c50655cd451cea7012e6f8e6b51d 100644 --- a/core/vendor/symfony/routing/Symfony/Component/Routing/Loader/YamlFileLoader.php +++ b/core/vendor/symfony/routing/Loader/YamlFileLoader.php @@ -81,6 +81,8 @@ public function load($file, $type = null) throw new \InvalidArgumentException(sprintf('The file "%s" cannot define both a "path" and a "pattern" attribute. Use only "path".', $path)); } + trigger_error(sprintf('The "pattern" option in file "%s" is deprecated since version 2.2 and will be removed in 3.0. Use the "path" option in the route definition instead.', $path), E_USER_DEPRECATED); + $config['path'] = $config['pattern']; unset($config['pattern']); } @@ -104,7 +106,7 @@ public function load($file, $type = null) */ public function supports($resource, $type = null) { - return is_string($resource) && 'yml' === pathinfo($resource, PATHINFO_EXTENSION) && (!$type || 'yaml' === $type); + return is_string($resource) && in_array(pathinfo($resource, PATHINFO_EXTENSION), array('yml', 'yaml'), true) && (!$type || 'yaml' === $type); } /** diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Loader/schema/routing/routing-1.0.xsd b/core/vendor/symfony/routing/Loader/schema/routing/routing-1.0.xsd similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Loader/schema/routing/routing-1.0.xsd rename to core/vendor/symfony/routing/Loader/schema/routing/routing-1.0.xsd diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/ApacheUrlMatcher.php b/core/vendor/symfony/routing/Matcher/ApacheUrlMatcher.php similarity index 92% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/ApacheUrlMatcher.php rename to core/vendor/symfony/routing/Matcher/ApacheUrlMatcher.php index 12cd3f026a9530d1740cd320fc846a5827b811b0..058ced4dedd5db68c5b05d7f5f55536f271ba5ee 100644 --- a/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/ApacheUrlMatcher.php +++ b/core/vendor/symfony/routing/Matcher/ApacheUrlMatcher.php @@ -11,12 +11,14 @@ namespace Symfony\Component\Routing\Matcher; +trigger_error('The '.__NAMESPACE__.'\ApacheUrlMatcher class is deprecated since version 2.5 and will be removed in 3.0. It\'s hard to replicate the behaviour of the PHP implementation and the performance gains are minimal.', E_USER_DEPRECATED); + use Symfony\Component\Routing\Exception\MethodNotAllowedException; /** * ApacheUrlMatcher matches URL based on Apache mod_rewrite matching (see ApacheMatcherDumper). * - * @deprecated Deprecated since version 2.5, to be removed in 3.0. + * @deprecated since version 2.5, to be removed in 3.0. * The performance gains are minimal and it's very hard to replicate * the behavior of PHP implementation. * diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/Dumper/ApacheMatcherDumper.php b/core/vendor/symfony/routing/Matcher/Dumper/ApacheMatcherDumper.php similarity index 93% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/Dumper/ApacheMatcherDumper.php rename to core/vendor/symfony/routing/Matcher/Dumper/ApacheMatcherDumper.php index 1bd4fac07ccf659a7ab8468b8228bd32854bb445..d1c14a6f815b447c7445be8fe480cd774897efdb 100644 --- a/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/Dumper/ApacheMatcherDumper.php +++ b/core/vendor/symfony/routing/Matcher/Dumper/ApacheMatcherDumper.php @@ -11,12 +11,14 @@ namespace Symfony\Component\Routing\Matcher\Dumper; +trigger_error('The '.__NAMESPACE__.'\ApacheMatcherDumper class is deprecated since version 2.5 and will be removed in 3.0. It\'s hard to replicate the behaviour of the PHP implementation and the performance gains are minimal.', E_USER_DEPRECATED); + use Symfony\Component\Routing\Route; /** * Dumps a set of Apache mod_rewrite rules. * - * @deprecated Deprecated since version 2.5, to be removed in 3.0. + * @deprecated since version 2.5, to be removed in 3.0. * The performance gains are minimal and it's very hard to replicate * the behavior of PHP implementation. * @@ -63,7 +65,7 @@ public function dump(array $options = array()) if (null !== $hostRegex && $prevHostRegex !== $hostRegex) { $prevHostRegex = $hostRegex; - $hostRegexUnique++; + ++$hostRegexUnique; $rule = array(); @@ -88,10 +90,7 @@ public function dump(array $options = array()) $rules[] = $this->dumpRoute($name, $route, $options, $hostRegexUnique); - if ($req = $route->getRequirement('_method')) { - $methods = explode('|', strtoupper($req)); - $methodVars = array_merge($methodVars, $methods); - } + $methodVars = array_merge($methodVars, $route->getMethods()); } if (0 < count($methodVars)) { $rule = array('# 405 Method Not Allowed'); @@ -198,13 +197,11 @@ private function dumpRoute($name, $route, array $options, $hostRegexUnique) */ private function getRouteMethods(Route $route) { - $methods = array(); - if ($req = $route->getRequirement('_method')) { - $methods = explode('|', strtoupper($req)); - // GET and HEAD are equivalent - if (in_array('GET', $methods) && !in_array('HEAD', $methods)) { - $methods[] = 'HEAD'; - } + $methods = $route->getMethods(); + + // GET and HEAD are equivalent + if (in_array('GET', $methods) && !in_array('HEAD', $methods)) { + $methods[] = 'HEAD'; } return $methods; diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/Dumper/DumperCollection.php b/core/vendor/symfony/routing/Matcher/Dumper/DumperCollection.php similarity index 97% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/Dumper/DumperCollection.php rename to core/vendor/symfony/routing/Matcher/Dumper/DumperCollection.php index ce3a6aa86e9e1951a510569458e0d3f707a019a4..f91df98476d95e20681bb88234003d72a044b51a 100644 --- a/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/Dumper/DumperCollection.php +++ b/core/vendor/symfony/routing/Matcher/Dumper/DumperCollection.php @@ -50,7 +50,7 @@ public function all() */ public function add($child) { - if ($child instanceof DumperCollection) { + if ($child instanceof self) { $child->setParent($this); } $this->children[] = $child; @@ -64,7 +64,7 @@ public function add($child) public function setAll(array $children) { foreach ($children as $child) { - if ($child instanceof DumperCollection) { + if ($child instanceof self) { $child->setParent($this); } } diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/Dumper/DumperPrefixCollection.php b/core/vendor/symfony/routing/Matcher/Dumper/DumperPrefixCollection.php similarity index 97% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/Dumper/DumperPrefixCollection.php rename to core/vendor/symfony/routing/Matcher/Dumper/DumperPrefixCollection.php index c94377359fa2792001be48601f231c9ef85e9820..6a615f21adf425157070edafefcea0aab4e3f936 100644 --- a/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/Dumper/DumperPrefixCollection.php +++ b/core/vendor/symfony/routing/Matcher/Dumper/DumperPrefixCollection.php @@ -66,7 +66,7 @@ public function addPrefixRoute(DumperRoute $route) // Prefix starts with route's prefix if ('' === $collection->prefix || 0 === strpos($prefix, $collection->prefix)) { - $child = new DumperPrefixCollection(); + $child = new self(); $child->setPrefix(substr($prefix, 0, strlen($collection->prefix) + 1)); $collection->add($child); diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/Dumper/DumperRoute.php b/core/vendor/symfony/routing/Matcher/Dumper/DumperRoute.php similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/Dumper/DumperRoute.php rename to core/vendor/symfony/routing/Matcher/Dumper/DumperRoute.php diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/Dumper/MatcherDumper.php b/core/vendor/symfony/routing/Matcher/Dumper/MatcherDumper.php similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/Dumper/MatcherDumper.php rename to core/vendor/symfony/routing/Matcher/Dumper/MatcherDumper.php diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/Dumper/MatcherDumperInterface.php b/core/vendor/symfony/routing/Matcher/Dumper/MatcherDumperInterface.php similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/Dumper/MatcherDumperInterface.php rename to core/vendor/symfony/routing/Matcher/Dumper/MatcherDumperInterface.php diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/Dumper/PhpMatcherDumper.php b/core/vendor/symfony/routing/Matcher/Dumper/PhpMatcherDumper.php similarity index 97% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/Dumper/PhpMatcherDumper.php rename to core/vendor/symfony/routing/Matcher/Dumper/PhpMatcherDumper.php index cefc3c9b034aa18609693f7a42db17442aa77322..de414480f22bf7e62da6fe48e7af12d39f324b9d 100644 --- a/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/Dumper/PhpMatcherDumper.php +++ b/core/vendor/symfony/routing/Matcher/Dumper/PhpMatcherDumper.php @@ -215,14 +215,11 @@ private function compileRoute(Route $route, $name, $supportsRedirections, $paren $hasTrailingSlash = false; $matches = false; $hostMatches = false; - $methods = array(); + $methods = $route->getMethods(); - if ($req = $route->getRequirement('_method')) { - $methods = explode('|', strtoupper($req)); - // GET and HEAD are equivalent - if (in_array('GET', $methods) && !in_array('HEAD', $methods)) { - $methods[] = 'HEAD'; - } + // GET and HEAD are equivalent + if (in_array('GET', $methods) && !in_array('HEAD', $methods)) { + $methods[] = 'HEAD'; } $supportsTrailingSlash = $supportsRedirections && (!$methods || in_array('HEAD', $methods)); diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/RedirectableUrlMatcher.php b/core/vendor/symfony/routing/Matcher/RedirectableUrlMatcher.php similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/RedirectableUrlMatcher.php rename to core/vendor/symfony/routing/Matcher/RedirectableUrlMatcher.php diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/RedirectableUrlMatcherInterface.php b/core/vendor/symfony/routing/Matcher/RedirectableUrlMatcherInterface.php similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/RedirectableUrlMatcherInterface.php rename to core/vendor/symfony/routing/Matcher/RedirectableUrlMatcherInterface.php diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/RequestMatcherInterface.php b/core/vendor/symfony/routing/Matcher/RequestMatcherInterface.php similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/RequestMatcherInterface.php rename to core/vendor/symfony/routing/Matcher/RequestMatcherInterface.php diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/TraceableUrlMatcher.php b/core/vendor/symfony/routing/Matcher/TraceableUrlMatcher.php similarity index 90% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/TraceableUrlMatcher.php rename to core/vendor/symfony/routing/Matcher/TraceableUrlMatcher.php index 35296c6c6e3ada078f3e4f5ee1a76b740292815e..ef4f24c6c65f227355f80a551516b83c1636b8ef 100644 --- a/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/TraceableUrlMatcher.php +++ b/core/vendor/symfony/routing/Matcher/TraceableUrlMatcher.php @@ -78,16 +78,16 @@ protected function matchCollection($pathinfo, RouteCollection $routes) } // check HTTP method requirement - if ($req = $route->getRequirement('_method')) { + if ($requiredMethods = $route->getMethods()) { // HEAD and GET are equivalent as per RFC if ('HEAD' === $method = $this->context->getMethod()) { $method = 'GET'; } - if (!in_array($method, $req = explode('|', strtoupper($req)))) { - $this->allow = array_merge($this->allow, $req); + if (!in_array($method, $requiredMethods)) { + $this->allow = array_merge($this->allow, $requiredMethods); - $this->addTrace(sprintf('Method "%s" does not match the requirement ("%s")', $this->context->getMethod(), implode(', ', $req)), self::ROUTE_ALMOST_MATCHES, $name, $route); + $this->addTrace(sprintf('Method "%s" does not match any of the required methods (%s)', $this->context->getMethod(), implode(', ', $requiredMethods)), self::ROUTE_ALMOST_MATCHES, $name, $route); continue; } @@ -107,7 +107,7 @@ protected function matchCollection($pathinfo, RouteCollection $routes) $scheme = $this->context->getScheme(); if (!$route->hasScheme($scheme)) { - $this->addTrace(sprintf('Scheme "%s" does not match any of the required schemes ("%s"); the user will be redirected to first required scheme', $scheme, implode(', ', $requiredSchemes)), self::ROUTE_ALMOST_MATCHES, $name, $route); + $this->addTrace(sprintf('Scheme "%s" does not match any of the required schemes (%s); the user will be redirected to first required scheme', $scheme, implode(', ', $requiredSchemes)), self::ROUTE_ALMOST_MATCHES, $name, $route); return true; } diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/UrlMatcher.php b/core/vendor/symfony/routing/Matcher/UrlMatcher.php similarity index 96% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/UrlMatcher.php rename to core/vendor/symfony/routing/Matcher/UrlMatcher.php index 3ed5ac7fb33a7b495be3836b9a24fb1220fe8448..c75414480ec2b98cced2e8541683af8aa300569b 100644 --- a/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/UrlMatcher.php +++ b/core/vendor/symfony/routing/Matcher/UrlMatcher.php @@ -98,7 +98,7 @@ public function match($pathinfo) } throw 0 < count($this->allow) - ? new MethodNotAllowedException(array_unique(array_map('strtoupper', $this->allow))) + ? new MethodNotAllowedException(array_unique($this->allow)) : new ResourceNotFoundException(sprintf('No routes found for "%s".', $pathinfo)); } @@ -152,14 +152,14 @@ protected function matchCollection($pathinfo, RouteCollection $routes) } // check HTTP method requirement - if ($req = $route->getRequirement('_method')) { + if ($requiredMethods = $route->getMethods()) { // HEAD and GET are equivalent as per RFC if ('HEAD' === $method = $this->context->getMethod()) { $method = 'GET'; } - if (!in_array($method, $req = explode('|', strtoupper($req)))) { - $this->allow = array_merge($this->allow, $req); + if (!in_array($method, $requiredMethods)) { + $this->allow = array_merge($this->allow, $requiredMethods); continue; } diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/UrlMatcherInterface.php b/core/vendor/symfony/routing/Matcher/UrlMatcherInterface.php similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/UrlMatcherInterface.php rename to core/vendor/symfony/routing/Matcher/UrlMatcherInterface.php diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/README.md b/core/vendor/symfony/routing/README.md similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/README.md rename to core/vendor/symfony/routing/README.md diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/RequestContext.php b/core/vendor/symfony/routing/RequestContext.php similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/RequestContext.php rename to core/vendor/symfony/routing/RequestContext.php diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/RequestContextAwareInterface.php b/core/vendor/symfony/routing/RequestContextAwareInterface.php similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/RequestContextAwareInterface.php rename to core/vendor/symfony/routing/RequestContextAwareInterface.php diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Route.php b/core/vendor/symfony/routing/Route.php similarity index 92% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Route.php rename to core/vendor/symfony/routing/Route.php index d2ddbd3932246f23f60a7766268b8cbdacfaeca1..a7b6ad1fd4733eefdd1b0cc0600271db7dbc597e 100644 --- a/core/vendor/symfony/routing/Symfony/Component/Routing/Route.php +++ b/core/vendor/symfony/routing/Route.php @@ -147,10 +147,12 @@ public function unserialize($serialized) * * @return string The pattern * - * @deprecated Deprecated in 2.2, to be removed in 3.0. Use getPath instead. + * @deprecated since version 2.2, to be removed in 3.0. Use getPath instead. */ public function getPattern() { + trigger_error('The '.__METHOD__.' method is deprecated since version 2.2 and will be removed in 3.0. Use the getPath() method instead.', E_USER_DEPRECATED); + return $this->path; } @@ -163,10 +165,12 @@ public function getPattern() * * @return Route The current Route instance * - * @deprecated Deprecated in 2.2, to be removed in 3.0. Use setPath instead. + * @deprecated since version 2.2, to be removed in 3.0. Use setPath instead. */ public function setPattern($pattern) { + trigger_error('The '.__METHOD__.' method is deprecated since version 2.2 and will be removed in 3.0. Use the setPath() method instead.', E_USER_DEPRECATED); + return $this->setPath($pattern); } @@ -544,6 +548,12 @@ public function addRequirements(array $requirements) */ public function getRequirement($key) { + if ('_scheme' === $key) { + trigger_error('The "_scheme" requirement is deprecated since version 2.2 and will be removed in 3.0. Use getSchemes() instead.', E_USER_DEPRECATED); + } elseif ('_method' === $key) { + trigger_error('The "_method" requirement is deprecated since version 2.2 and will be removed in 3.0. Use getMethods() instead.', E_USER_DEPRECATED); + } + return isset($this->requirements[$key]) ? $this->requirements[$key] : null; } @@ -645,8 +655,12 @@ private function sanitizeRequirement($key, $regex) // this is to keep BC and will be removed in a future version if ('_scheme' === $key) { + trigger_error('The "_scheme" requirement is deprecated since version 2.2 and will be removed in 3.0. Use the setSchemes() method instead or the "schemes" option in the route definition.', E_USER_DEPRECATED); + $this->setSchemes(explode('|', $regex)); } elseif ('_method' === $key) { + trigger_error('The "_method" requirement is deprecated since version 2.2 and will be removed in 3.0. Use the setMethods() method instead or the "methods" option in the route definition.', E_USER_DEPRECATED); + $this->setMethods(explode('|', $regex)); } diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/RouteCollection.php b/core/vendor/symfony/routing/RouteCollection.php similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/RouteCollection.php rename to core/vendor/symfony/routing/RouteCollection.php diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/RouteCompiler.php b/core/vendor/symfony/routing/RouteCompiler.php similarity index 98% rename from core/vendor/symfony/routing/Symfony/Component/Routing/RouteCompiler.php rename to core/vendor/symfony/routing/RouteCompiler.php index e998b93e938aec1bb5706af562ef0de0f5eeea33..f6637da666b828de030fdee35ca747f41701ac11 100644 --- a/core/vendor/symfony/routing/Symfony/Component/Routing/RouteCompiler.php +++ b/core/vendor/symfony/routing/RouteCompiler.php @@ -145,7 +145,7 @@ private static function compilePattern(Route $route, $pattern, $isHost) // find the first optional token $firstOptional = PHP_INT_MAX; if (!$isHost) { - for ($i = count($tokens) - 1; $i >= 0; $i--) { + for ($i = count($tokens) - 1; $i >= 0; --$i) { $token = $tokens[$i]; if ('variable' === $token[0] && $route->hasDefault($token[3])) { $firstOptional = $i; @@ -157,7 +157,7 @@ private static function compilePattern(Route $route, $pattern, $isHost) // compute the matching regexp $regexp = ''; - for ($i = 0, $nbToken = count($tokens); $i < $nbToken; $i++) { + for ($i = 0, $nbToken = count($tokens); $i < $nbToken; ++$i) { $regexp .= self::computeRegexp($tokens, $i, $firstOptional); } diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/RouteCompilerInterface.php b/core/vendor/symfony/routing/RouteCompilerInterface.php similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/RouteCompilerInterface.php rename to core/vendor/symfony/routing/RouteCompilerInterface.php diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Router.php b/core/vendor/symfony/routing/Router.php similarity index 74% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Router.php rename to core/vendor/symfony/routing/Router.php index c7c926d43c410ebd611c65a9bd8277ed884d8467..e2651ef8b93ae32985f4dcd88758aba32ce87511 100644 --- a/core/vendor/symfony/routing/Symfony/Component/Routing/Router.php +++ b/core/vendor/symfony/routing/Router.php @@ -12,7 +12,9 @@ namespace Symfony\Component\Routing; use Symfony\Component\Config\Loader\LoaderInterface; -use Symfony\Component\Config\ConfigCache; +use Symfony\Component\Config\ConfigCacheInterface; +use Symfony\Component\Config\ConfigCacheFactoryInterface; +use Symfony\Component\Config\ConfigCacheFactory; use Psr\Log\LoggerInterface; use Symfony\Component\Routing\Generator\ConfigurableRequirementsInterface; use Symfony\Component\Routing\Generator\UrlGeneratorInterface; @@ -71,6 +73,11 @@ class Router implements RouterInterface, RequestMatcherInterface */ protected $logger; + /** + * @var ConfigCacheFactoryInterface|null + */ + private $configCacheFactory; + /** * @var ExpressionFunctionProviderInterface[] */ @@ -209,6 +216,16 @@ public function getContext() return $this->context; } + /** + * Sets the ConfigCache factory to use. + * + * @param ConfigCacheFactoryInterface $configCacheFactory The factory to use. + */ + public function setConfigCacheFactory(ConfigCacheFactoryInterface $configCacheFactory) + { + $this->configCacheFactory = $configCacheFactory; + } + /** * {@inheritdoc} */ @@ -262,24 +279,29 @@ public function getMatcher() } $class = $this->options['matcher_cache_class']; - $cache = new ConfigCache($this->options['cache_dir'].'/'.$class.'.php', $this->options['debug']); - if (!$cache->isFresh()) { - $dumper = $this->getMatcherDumperInstance(); - if (method_exists($dumper, 'addExpressionLanguageProvider')) { - foreach ($this->expressionLanguageProviders as $provider) { - $dumper->addExpressionLanguageProvider($provider); + $baseClass = $this->options['matcher_base_class']; + $expressionLanguageProviders = $this->expressionLanguageProviders; + $that = $this; // required for PHP 5.3 where "$this" cannot be use()d in anonymous functions. Change in Symfony 3.0. + + $cache = $this->getConfigCacheFactory()->cache($this->options['cache_dir'].'/'.$class.'.php', + function (ConfigCacheInterface $cache) use ($that, $class, $baseClass, $expressionLanguageProviders) { + $dumper = $that->getMatcherDumperInstance(); + if (method_exists($dumper, 'addExpressionLanguageProvider')) { + foreach ($expressionLanguageProviders as $provider) { + $dumper->addExpressionLanguageProvider($provider); + } } - } - $options = array( - 'class' => $class, - 'base_class' => $this->options['matcher_base_class'], - ); + $options = array( + 'class' => $class, + 'base_class' => $baseClass, + ); - $cache->write($dumper->dump($options), $this->getRouteCollection()->getResources()); - } + $cache->write($dumper->dump($options), $that->getRouteCollection()->getResources()); + } + ); - require_once $cache; + require_once $cache->getPath(); return $this->matcher = new $class($this->context); } @@ -299,19 +321,22 @@ public function getGenerator() $this->generator = new $this->options['generator_class']($this->getRouteCollection(), $this->context, $this->logger); } else { $class = $this->options['generator_cache_class']; - $cache = new ConfigCache($this->options['cache_dir'].'/'.$class.'.php', $this->options['debug']); - if (!$cache->isFresh()) { - $dumper = $this->getGeneratorDumperInstance(); - - $options = array( - 'class' => $class, - 'base_class' => $this->options['generator_base_class'], - ); - - $cache->write($dumper->dump($options), $this->getRouteCollection()->getResources()); - } + $baseClass = $this->options['generator_base_class']; + $that = $this; // required for PHP 5.3 where "$this" cannot be use()d in anonymous functions. Change in Symfony 3.0. + $cache = $this->getConfigCacheFactory()->cache($this->options['cache_dir'].'/'.$class.'.php', + function (ConfigCacheInterface $cache) use ($that, $class, $baseClass) { + $dumper = $that->getGeneratorDumperInstance(); + + $options = array( + 'class' => $class, + 'base_class' => $baseClass, + ); + + $cache->write($dumper->dump($options), $that->getRouteCollection()->getResources()); + } + ); - require_once $cache; + require_once $cache->getPath(); $this->generator = new $class($this->context, $this->logger); } @@ -329,18 +354,37 @@ public function addExpressionLanguageProvider(ExpressionFunctionProviderInterfac } /** + * This method is public because it needs to be callable from a closure in PHP 5.3. It should be converted back to protected in 3.0. + * @internal * @return GeneratorDumperInterface */ - protected function getGeneratorDumperInstance() + public function getGeneratorDumperInstance() { return new $this->options['generator_dumper_class']($this->getRouteCollection()); } /** + * This method is public because it needs to be callable from a closure in PHP 5.3. It should be converted back to protected in 3.0. + * @internal * @return MatcherDumperInterface */ - protected function getMatcherDumperInstance() + public function getMatcherDumperInstance() { return new $this->options['matcher_dumper_class']($this->getRouteCollection()); } + + /** + * Provides the ConfigCache factory implementation, falling back to a + * default implementation if necessary. + * + * @return ConfigCacheFactoryInterface $configCacheFactory + */ + private function getConfigCacheFactory() + { + if (null === $this->configCacheFactory) { + $this->configCacheFactory = new ConfigCacheFactory($this->options['debug']); + } + + return $this->configCacheFactory; + } } diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/RouterInterface.php b/core/vendor/symfony/routing/RouterInterface.php similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/RouterInterface.php rename to core/vendor/symfony/routing/RouterInterface.php diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/.gitignore b/core/vendor/symfony/routing/Symfony/Component/Routing/.gitignore deleted file mode 100644 index c49a5d8df5c6548379f00c77fe572a7217bce218..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/routing/Symfony/Component/Routing/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -vendor/ -composer.lock -phpunit.xml diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Annotation/RouteTest.php b/core/vendor/symfony/routing/Tests/Annotation/RouteTest.php similarity index 87% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Annotation/RouteTest.php rename to core/vendor/symfony/routing/Tests/Annotation/RouteTest.php index eb4d220451c2654f593d6c6be55b8ddbce1e23f4..5eda4064f0595176827fdd2cdb57f01961f5007f 100644 --- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Annotation/RouteTest.php +++ b/core/vendor/symfony/routing/Tests/Annotation/RouteTest.php @@ -36,14 +36,14 @@ public function getValidParameters() { return array( array('value', '/Blog', 'getPath'), - array('requirements', array('_method' => 'GET'), 'getRequirements'), + array('requirements', array('locale' => 'en'), 'getRequirements'), array('options', array('compiler_class' => 'RouteCompiler'), 'getOptions'), array('name', 'blog_index', 'getName'), array('defaults', array('_controller' => 'MyBlogBundle:Blog:index'), 'getDefaults'), array('schemes', array('https'), 'getSchemes'), array('methods', array('GET', 'POST'), 'getMethods'), - array('host', array('{locale}.example.com'), 'getHost'), - array('condition', array('context.getMethod() == "GET"'), 'getCondition'), + array('host', '{locale}.example.com', 'getHost'), + array('condition', 'context.getMethod() == "GET"', 'getCondition'), ); } diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/CompiledRouteTest.php b/core/vendor/symfony/routing/Tests/CompiledRouteTest.php similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Tests/CompiledRouteTest.php rename to core/vendor/symfony/routing/Tests/CompiledRouteTest.php diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/AnnotatedClasses/AbstractClass.php b/core/vendor/symfony/routing/Tests/Fixtures/AnnotatedClasses/AbstractClass.php similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/AnnotatedClasses/AbstractClass.php rename to core/vendor/symfony/routing/Tests/Fixtures/AnnotatedClasses/AbstractClass.php diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/AnnotatedClasses/BarClass.php b/core/vendor/symfony/routing/Tests/Fixtures/AnnotatedClasses/BarClass.php similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/AnnotatedClasses/BarClass.php rename to core/vendor/symfony/routing/Tests/Fixtures/AnnotatedClasses/BarClass.php diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/AnnotatedClasses/FooClass.php b/core/vendor/symfony/routing/Tests/Fixtures/AnnotatedClasses/FooClass.php similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/AnnotatedClasses/FooClass.php rename to core/vendor/symfony/routing/Tests/Fixtures/AnnotatedClasses/FooClass.php diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/CustomXmlFileLoader.php b/core/vendor/symfony/routing/Tests/Fixtures/CustomXmlFileLoader.php similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/CustomXmlFileLoader.php rename to core/vendor/symfony/routing/Tests/Fixtures/CustomXmlFileLoader.php diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/RedirectableUrlMatcher.php b/core/vendor/symfony/routing/Tests/Fixtures/RedirectableUrlMatcher.php similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/RedirectableUrlMatcher.php rename to core/vendor/symfony/routing/Tests/Fixtures/RedirectableUrlMatcher.php diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/annotated.php b/core/vendor/symfony/routing/Tests/Fixtures/annotated.php similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/annotated.php rename to core/vendor/symfony/routing/Tests/Fixtures/annotated.php diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/dumper/url_matcher1.apache b/core/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher1.apache similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/dumper/url_matcher1.apache rename to core/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher1.apache diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/dumper/url_matcher1.php b/core/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher1.php similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/dumper/url_matcher1.php rename to core/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher1.php diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/dumper/url_matcher2.apache b/core/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher2.apache similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/dumper/url_matcher2.apache rename to core/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher2.apache diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/dumper/url_matcher2.php b/core/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher2.php similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/dumper/url_matcher2.php rename to core/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher2.php diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/dumper/url_matcher3.php b/core/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher3.php similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/dumper/url_matcher3.php rename to core/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher3.php diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/empty.yml b/core/vendor/symfony/routing/Tests/Fixtures/empty.yml similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/empty.yml rename to core/vendor/symfony/routing/Tests/Fixtures/empty.yml diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/foo.xml b/core/vendor/symfony/routing/Tests/Fixtures/foo.xml similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/foo.xml rename to core/vendor/symfony/routing/Tests/Fixtures/foo.xml diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/foo1.xml b/core/vendor/symfony/routing/Tests/Fixtures/foo1.xml similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/foo1.xml rename to core/vendor/symfony/routing/Tests/Fixtures/foo1.xml diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/incomplete.yml b/core/vendor/symfony/routing/Tests/Fixtures/incomplete.yml similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/incomplete.yml rename to core/vendor/symfony/routing/Tests/Fixtures/incomplete.yml diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/validpattern.xml b/core/vendor/symfony/routing/Tests/Fixtures/legacy_validpattern.xml similarity index 64% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/validpattern.xml rename to core/vendor/symfony/routing/Tests/Fixtures/legacy_validpattern.xml index a8221314cb5593fe7003a63a7bf3083a439c4884..a01ebca23ae0915d0754cdf9562733a048d73042 100644 --- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/validpattern.xml +++ b/core/vendor/symfony/routing/Tests/Fixtures/legacy_validpattern.xml @@ -4,13 +4,6 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/routing http://symfony.com/schema/routing/routing-1.0.xsd"> - <route id="blog_show" path="/blog/{slug}" host="{locale}.example.com" methods="GET|POST put,OpTiOnS" schemes="hTTps"> - <default key="_controller">MyBundle:Blog:show</default> - <requirement key="locale">\w+</requirement> - <option key="compiler_class">RouteCompiler</option> - <condition>context.getMethod() == "GET"</condition> - </route> - <route id="blog_show_legacy" pattern="/blog/{slug}" host="{locale}.example.com"> <default key="_controller">MyBundle:Blog:show</default> <default key="slug" xsi:nil="true" /> @@ -20,6 +13,4 @@ <option key="compiler_class">RouteCompiler</option> <condition>context.getMethod() == "GET"</condition> </route> - - <route id="blog_show_inherited" path="/blog/{slug}" /> </routes> diff --git a/core/vendor/symfony/routing/Tests/Fixtures/legacy_validpattern.yml b/core/vendor/symfony/routing/Tests/Fixtures/legacy_validpattern.yml new file mode 100644 index 0000000000000000000000000000000000000000..ada65f0568da12414bb51a6659421f38dbf64aff --- /dev/null +++ b/core/vendor/symfony/routing/Tests/Fixtures/legacy_validpattern.yml @@ -0,0 +1,8 @@ +blog_show_legacy: + pattern: /blog/{slug} + defaults: { _controller: "MyBundle:Blog:show" } + host: "{locale}.example.com" + requirements: { '_method': 'GET|POST|put|OpTiOnS', _scheme: https, 'locale': '\w+' } + condition: 'context.getMethod() == "GET"' + options: + compiler_class: RouteCompiler diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/missing_id.xml b/core/vendor/symfony/routing/Tests/Fixtures/missing_id.xml similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/missing_id.xml rename to core/vendor/symfony/routing/Tests/Fixtures/missing_id.xml diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/missing_path.xml b/core/vendor/symfony/routing/Tests/Fixtures/missing_path.xml similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/missing_path.xml rename to core/vendor/symfony/routing/Tests/Fixtures/missing_path.xml diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/namespaceprefix.xml b/core/vendor/symfony/routing/Tests/Fixtures/namespaceprefix.xml similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/namespaceprefix.xml rename to core/vendor/symfony/routing/Tests/Fixtures/namespaceprefix.xml diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/nonesense_resource_plus_path.yml b/core/vendor/symfony/routing/Tests/Fixtures/nonesense_resource_plus_path.yml similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/nonesense_resource_plus_path.yml rename to core/vendor/symfony/routing/Tests/Fixtures/nonesense_resource_plus_path.yml diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/nonesense_type_without_resource.yml b/core/vendor/symfony/routing/Tests/Fixtures/nonesense_type_without_resource.yml similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/nonesense_type_without_resource.yml rename to core/vendor/symfony/routing/Tests/Fixtures/nonesense_type_without_resource.yml diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/nonvalid.xml b/core/vendor/symfony/routing/Tests/Fixtures/nonvalid.xml similarity index 88% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/nonvalid.xml rename to core/vendor/symfony/routing/Tests/Fixtures/nonvalid.xml index 755e44304ce78fbf83e47cec142e0b2682c51568..dc147d2e67a25ca21f2b391370e5d4030a4667ff 100644 --- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/nonvalid.xml +++ b/core/vendor/symfony/routing/Tests/Fixtures/nonvalid.xml @@ -6,6 +6,5 @@ <route id="blog_show" path="/blog/{slug}"> <default key="_controller">MyBundle:Blog:show</default> - <requirement key="_method">GET</requirement> <!-- </route> --> </routes> diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/nonvalid.yml b/core/vendor/symfony/routing/Tests/Fixtures/nonvalid.yml similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/nonvalid.yml rename to core/vendor/symfony/routing/Tests/Fixtures/nonvalid.yml diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/nonvalid2.yml b/core/vendor/symfony/routing/Tests/Fixtures/nonvalid2.yml similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/nonvalid2.yml rename to core/vendor/symfony/routing/Tests/Fixtures/nonvalid2.yml diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/nonvalidkeys.yml b/core/vendor/symfony/routing/Tests/Fixtures/nonvalidkeys.yml similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/nonvalidkeys.yml rename to core/vendor/symfony/routing/Tests/Fixtures/nonvalidkeys.yml diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/nonvalidnode.xml b/core/vendor/symfony/routing/Tests/Fixtures/nonvalidnode.xml similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/nonvalidnode.xml rename to core/vendor/symfony/routing/Tests/Fixtures/nonvalidnode.xml diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/nonvalidroute.xml b/core/vendor/symfony/routing/Tests/Fixtures/nonvalidroute.xml similarity index 90% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/nonvalidroute.xml rename to core/vendor/symfony/routing/Tests/Fixtures/nonvalidroute.xml index a46961eee5f26caf926c8eb043281a8512329a46..908958c032d38024ec73093a3a79ebf9658afacf 100644 --- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/nonvalidroute.xml +++ b/core/vendor/symfony/routing/Tests/Fixtures/nonvalidroute.xml @@ -6,7 +6,6 @@ <route id="blog_show" path="/blog/{slug}"> <default key="_controller">MyBundle:Blog:show</default> - <requirement key="_method">GET</requirement> <option key="compiler_class">RouteCompiler</option> <foo key="bar">baz</foo> </route> diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/null_values.xml b/core/vendor/symfony/routing/Tests/Fixtures/null_values.xml similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/null_values.xml rename to core/vendor/symfony/routing/Tests/Fixtures/null_values.xml diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/special_route_name.yml b/core/vendor/symfony/routing/Tests/Fixtures/special_route_name.yml similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/special_route_name.yml rename to core/vendor/symfony/routing/Tests/Fixtures/special_route_name.yml diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/validpattern.php b/core/vendor/symfony/routing/Tests/Fixtures/validpattern.php similarity index 57% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/validpattern.php rename to core/vendor/symfony/routing/Tests/Fixtures/validpattern.php index 08badb4418ada711335c5f065cea5ea26ecbffe2..edc16d8c2cb284eec5a570327009b4f6221f1016 100644 --- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/validpattern.php +++ b/core/vendor/symfony/routing/Tests/Fixtures/validpattern.php @@ -14,15 +14,5 @@ array('GET', 'POST', 'put', 'OpTiOnS'), 'context.getMethod() == "GET"' )); -$collection->add('blog_show_legacy', new Route( - '/blog/{slug}', - array('_controller' => 'MyBlogBundle:Blog:show'), - array('_method' => 'GET|POST|put|OpTiOnS', '_scheme' => 'https', 'locale' => '\w+'), - array('compiler_class' => 'RouteCompiler'), - '{locale}.example.com', - array(), - array(), - 'context.getMethod() == "GET"' -)); return $collection; diff --git a/core/vendor/symfony/routing/Tests/Fixtures/validpattern.xml b/core/vendor/symfony/routing/Tests/Fixtures/validpattern.xml new file mode 100644 index 0000000000000000000000000000000000000000..dbc72e46ddd4df0510a001ebc686d3c7d4fc5534 --- /dev/null +++ b/core/vendor/symfony/routing/Tests/Fixtures/validpattern.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8" ?> + +<routes xmlns="http://symfony.com/schema/routing" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://symfony.com/schema/routing http://symfony.com/schema/routing/routing-1.0.xsd"> + + <route id="blog_show" path="/blog/{slug}" host="{locale}.example.com" methods="GET|POST put,OpTiOnS" schemes="hTTps"> + <default key="_controller">MyBundle:Blog:show</default> + <requirement key="locale">\w+</requirement> + <option key="compiler_class">RouteCompiler</option> + <condition>context.getMethod() == "GET"</condition> + </route> + + <route id="blog_show_inherited" path="/blog/{slug}" /> +</routes> diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/validpattern.yml b/core/vendor/symfony/routing/Tests/Fixtures/validpattern.yml similarity index 54% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/validpattern.yml rename to core/vendor/symfony/routing/Tests/Fixtures/validpattern.yml index 26136c3969d9cad483cd791cdb4ee849160822f5..565abaaa2c4678eaeb65b237cb83c8ba44690b23 100644 --- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/validpattern.yml +++ b/core/vendor/symfony/routing/Tests/Fixtures/validpattern.yml @@ -9,14 +9,5 @@ blog_show: options: compiler_class: RouteCompiler -blog_show_legacy: - pattern: /blog/{slug} - defaults: { _controller: "MyBundle:Blog:show" } - host: "{locale}.example.com" - requirements: { '_method': 'GET|POST|put|OpTiOnS', _scheme: https, 'locale': '\w+' } - condition: 'context.getMethod() == "GET"' - options: - compiler_class: RouteCompiler - blog_show_inherited: path: /blog/{slug} diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/validresource.php b/core/vendor/symfony/routing/Tests/Fixtures/validresource.php similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/validresource.php rename to core/vendor/symfony/routing/Tests/Fixtures/validresource.php diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/validresource.xml b/core/vendor/symfony/routing/Tests/Fixtures/validresource.xml similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/validresource.xml rename to core/vendor/symfony/routing/Tests/Fixtures/validresource.xml diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/validresource.yml b/core/vendor/symfony/routing/Tests/Fixtures/validresource.yml similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/validresource.yml rename to core/vendor/symfony/routing/Tests/Fixtures/validresource.yml diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/with_define_path_variable.php b/core/vendor/symfony/routing/Tests/Fixtures/with_define_path_variable.php similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/with_define_path_variable.php rename to core/vendor/symfony/routing/Tests/Fixtures/with_define_path_variable.php diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/withdoctype.xml b/core/vendor/symfony/routing/Tests/Fixtures/withdoctype.xml similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/withdoctype.xml rename to core/vendor/symfony/routing/Tests/Fixtures/withdoctype.xml diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Generator/Dumper/PhpGeneratorDumperTest.php b/core/vendor/symfony/routing/Tests/Generator/Dumper/PhpGeneratorDumperTest.php similarity index 87% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Generator/Dumper/PhpGeneratorDumperTest.php rename to core/vendor/symfony/routing/Tests/Generator/Dumper/PhpGeneratorDumperTest.php index 170c5b4dcf69c7f0681f84b64f77d66e1c3ded5b..6fbf7e220348b83908cd30bb55dea9bddab8a38c 100644 --- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Generator/Dumper/PhpGeneratorDumperTest.php +++ b/core/vendor/symfony/routing/Tests/Generator/Dumper/PhpGeneratorDumperTest.php @@ -118,7 +118,6 @@ public function testDumpForRouteWithDefaults() public function testDumpWithSchemeRequirement() { $this->routeCollection->add('Test1', new Route('/testing', array(), array(), array(), '', array('ftp', 'https'))); - $this->routeCollection->add('Test2', new Route('/testing_bc', array(), array('_scheme' => 'https'))); // BC file_put_contents($this->testTmpFilepath, $this->generatorDumper->dump(array('class' => 'SchemeUrlGenerator'))); include $this->testTmpFilepath; @@ -126,25 +125,17 @@ public function testDumpWithSchemeRequirement() $projectUrlGenerator = new \SchemeUrlGenerator(new RequestContext('/app.php')); $absoluteUrl = $projectUrlGenerator->generate('Test1', array(), true); - $absoluteUrlBC = $projectUrlGenerator->generate('Test2', array(), true); $relativeUrl = $projectUrlGenerator->generate('Test1', array(), false); - $relativeUrlBC = $projectUrlGenerator->generate('Test2', array(), false); $this->assertEquals($absoluteUrl, 'ftp://localhost/app.php/testing'); - $this->assertEquals($absoluteUrlBC, 'https://localhost/app.php/testing_bc'); $this->assertEquals($relativeUrl, 'ftp://localhost/app.php/testing'); - $this->assertEquals($relativeUrlBC, 'https://localhost/app.php/testing_bc'); $projectUrlGenerator = new \SchemeUrlGenerator(new RequestContext('/app.php', 'GET', 'localhost', 'https')); $absoluteUrl = $projectUrlGenerator->generate('Test1', array(), true); - $absoluteUrlBC = $projectUrlGenerator->generate('Test2', array(), true); $relativeUrl = $projectUrlGenerator->generate('Test1', array(), false); - $relativeUrlBC = $projectUrlGenerator->generate('Test2', array(), false); $this->assertEquals($absoluteUrl, 'https://localhost/app.php/testing'); - $this->assertEquals($absoluteUrlBC, 'https://localhost/app.php/testing_bc'); $this->assertEquals($relativeUrl, '/app.php/testing'); - $this->assertEquals($relativeUrlBC, '/app.php/testing_bc'); } } diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Generator/UrlGeneratorTest.php b/core/vendor/symfony/routing/Tests/Generator/UrlGeneratorTest.php similarity index 95% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Generator/UrlGeneratorTest.php rename to core/vendor/symfony/routing/Tests/Generator/UrlGeneratorTest.php index 9419e133c8182af28f8104ae3df6f266718a0a21..0005e3a534679e74c66dac8a560cd7fd3947ce54 100644 --- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Generator/UrlGeneratorTest.php +++ b/core/vendor/symfony/routing/Tests/Generator/UrlGeneratorTest.php @@ -244,12 +244,6 @@ public function testRequiredParamAndEmptyPassed() public function testSchemeRequirementDoesNothingIfSameCurrentScheme() { - $routes = $this->getRoutes('test', new Route('/', array(), array('_scheme' => 'http'))); // BC - $this->assertEquals('/app.php/', $this->getGenerator($routes)->generate('test')); - - $routes = $this->getRoutes('test', new Route('/', array(), array('_scheme' => 'https'))); // BC - $this->assertEquals('/app.php/', $this->getGenerator($routes, array('scheme' => 'https'))->generate('test')); - $routes = $this->getRoutes('test', new Route('/', array(), array(), array(), '', array('http'))); $this->assertEquals('/app.php/', $this->getGenerator($routes)->generate('test')); @@ -259,12 +253,6 @@ public function testSchemeRequirementDoesNothingIfSameCurrentScheme() public function testSchemeRequirementForcesAbsoluteUrl() { - $routes = $this->getRoutes('test', new Route('/', array(), array('_scheme' => 'https'))); // BC - $this->assertEquals('https://localhost/app.php/', $this->getGenerator($routes)->generate('test')); - - $routes = $this->getRoutes('test', new Route('/', array(), array('_scheme' => 'http'))); // BC - $this->assertEquals('http://localhost/app.php/', $this->getGenerator($routes, array('scheme' => 'https'))->generate('test')); - $routes = $this->getRoutes('test', new Route('/', array(), array(), array(), '', array('https'))); $this->assertEquals('https://localhost/app.php/', $this->getGenerator($routes)->generate('test')); @@ -468,8 +456,13 @@ public function testHostIsCaseInsensitive() $this->assertSame('//EN.FooBar.com/app.php/', $generator->generate('test', array('locale' => 'EN'), UrlGeneratorInterface::NETWORK_PATH)); } - public function testGenerateNetworkPathBC() + /** + * @group legacy + */ + public function testLegacyGenerateNetworkPath() { + $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED); + $routes = $this->getRoutes('test', new Route('/{name}', array(), array('_scheme' => 'http'), array(), '{locale}.example.com')); $this->assertSame('//fr.example.com/app.php/Fabien', $this->getGenerator($routes)->generate('test', @@ -510,7 +503,6 @@ public function testGenerateRelativePath() $routes->add('article', new Route('/{author}/{article}/')); $routes->add('comments', new Route('/{author}/{article}/comments')); $routes->add('host', new Route('/{article}', array(), array(), array(), '{author}.example.com')); - $routes->add('schemeBC', new Route('/{author}', array(), array('_scheme' => 'https'))); // BC $routes->add('scheme', new Route('/{author}/blog', array(), array(), array(), '', array('https'))); $routes->add('unrelated', new Route('/about')); @@ -531,9 +523,6 @@ public function testGenerateRelativePath() $this->assertSame('//bernhard.example.com/app.php/forms-are-great', $generator->generate('host', array('author' => 'bernhard', 'article' => 'forms-are-great'), UrlGeneratorInterface::RELATIVE_PATH) ); - $this->assertSame('https://example.com/app.php/bernhard', $generator->generate('schemeBC', - array('author' => 'bernhard'), UrlGeneratorInterface::RELATIVE_PATH) - ); $this->assertSame('https://example.com/app.php/bernhard/blog', $generator->generate('scheme', array('author' => 'bernhard'), UrlGeneratorInterface::RELATIVE_PATH) ); diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/AbstractAnnotationLoaderTest.php b/core/vendor/symfony/routing/Tests/Loader/AbstractAnnotationLoaderTest.php similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/AbstractAnnotationLoaderTest.php rename to core/vendor/symfony/routing/Tests/Loader/AbstractAnnotationLoaderTest.php diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/AnnotationClassLoaderTest.php b/core/vendor/symfony/routing/Tests/Loader/AnnotationClassLoaderTest.php similarity index 57% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/AnnotationClassLoaderTest.php rename to core/vendor/symfony/routing/Tests/Loader/AnnotationClassLoaderTest.php index 03ba15257e37afce32ded0c3ea32ca74df49fdc8..5f8f4945efe175976974332e3d438279a080fc99 100644 --- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/AnnotationClassLoaderTest.php +++ b/core/vendor/symfony/routing/Tests/Loader/AnnotationClassLoaderTest.php @@ -73,22 +73,27 @@ public function getLoadTests() return array( array( 'Symfony\Component\Routing\Tests\Fixtures\AnnotatedClasses\BarClass', - array('name' => 'route1'), + array('name' => 'route1', 'path' => '/path'), array('arg2' => 'defaultValue2', 'arg3' => 'defaultValue3'), ), array( 'Symfony\Component\Routing\Tests\Fixtures\AnnotatedClasses\BarClass', - array('name' => 'route1', 'defaults' => array('arg2' => 'foo')), + array('defaults' => array('arg2' => 'foo'), 'requirements' => array('arg3' => '\w+')), array('arg2' => 'defaultValue2', 'arg3' => 'defaultValue3'), ), array( 'Symfony\Component\Routing\Tests\Fixtures\AnnotatedClasses\BarClass', - array('name' => 'route1', 'defaults' => array('arg2' => 'foobar')), + array('options' => array('foo' => 'bar')), array('arg2' => 'defaultValue2', 'arg3' => 'defaultValue3'), ), array( 'Symfony\Component\Routing\Tests\Fixtures\AnnotatedClasses\BarClass', - array('name' => 'route1', 'defaults' => array('arg2' => 'foo'), 'condition' => 'context.getMethod() == "GET"'), + array('schemes' => array('https'), 'methods' => array('GET')), + array('arg2' => 'defaultValue2', 'arg3' => 'defaultValue3'), + ), + array( + 'Symfony\Component\Routing\Tests\Fixtures\AnnotatedClasses\BarClass', + array('condition' => 'context.getMethod() == "GET"'), array('arg2' => 'defaultValue2', 'arg3' => 'defaultValue3'), ), ); @@ -97,9 +102,9 @@ public function getLoadTests() /** * @dataProvider getLoadTests */ - public function testLoad($className, $routeDatas = array(), $methodArgs = array()) + public function testLoad($className, $routeData = array(), $methodArgs = array()) { - $routeDatas = array_replace(array( + $routeData = array_replace(array( 'name' => 'route', 'path' => '/', 'requirements' => array(), @@ -107,52 +112,76 @@ public function testLoad($className, $routeDatas = array(), $methodArgs = array( 'defaults' => array(), 'schemes' => array(), 'methods' => array(), - 'condition' => null, - ), $routeDatas); + 'condition' => '', + ), $routeData); $this->reader ->expects($this->once()) ->method('getMethodAnnotations') - ->will($this->returnValue(array($this->getAnnotatedRoute($routeDatas)))) + ->will($this->returnValue(array($this->getAnnotatedRoute($routeData)))) ; + $routeCollection = $this->loader->load($className); - $route = $routeCollection->get($routeDatas['name']); + $route = $routeCollection->get($routeData['name']); - $this->assertSame($routeDatas['path'], $route->getPath(), '->load preserves path annotation'); - $this->assertSame($routeDatas['requirements'], $route->getRequirements(), '->load preserves requirements annotation'); - $this->assertCount(0, array_intersect($route->getOptions(), $routeDatas['options']), '->load preserves options annotation'); - $this->assertSame(array_replace($methodArgs, $routeDatas['defaults']), $route->getDefaults(), '->load preserves defaults annotation'); - $this->assertEquals($routeDatas['condition'], $route->getCondition(), '->load preserves condition annotation'); + $this->assertSame($routeData['path'], $route->getPath(), '->load preserves path annotation'); + $this->assertCount( + count($routeData['requirements']), + array_intersect_assoc($routeData['requirements'], $route->getRequirements()), + '->load preserves requirements annotation' + ); + $this->assertCount( + count($routeData['options']), + array_intersect_assoc($routeData['options'], $route->getOptions()), + '->load preserves options annotation' + ); + $defaults = array_replace($methodArgs, $routeData['defaults']); + $this->assertCount( + count($defaults), + array_intersect_assoc($defaults, $route->getDefaults()), + '->load preserves defaults annotation and merges them with default arguments in method signature' + ); + $this->assertEquals($routeData['schemes'], $route->getSchemes(), '->load preserves schemes annotation'); + $this->assertEquals($routeData['methods'], $route->getMethods(), '->load preserves methods annotation'); + $this->assertSame($routeData['condition'], $route->getCondition(), '->load preserves condition annotation'); } public function testClassRouteLoad() { - $classRouteDatas = array('path' => '/classRoutePrefix'); + $classRouteData = array( + 'path' => '/prefix', + 'schemes' => array('https'), + 'methods' => array('GET') + ); - $routeDatas = array( + $methodRouteData = array( 'name' => 'route1', - 'path' => '/', + 'path' => '/path', + 'schemes' => array('http'), + 'methods' => array('POST', 'PUT') ); $this->reader ->expects($this->once()) ->method('getClassAnnotation') - ->will($this->returnValue($this->getAnnotatedRoute($classRouteDatas))) + ->will($this->returnValue($this->getAnnotatedRoute($classRouteData))) ; - $this->reader ->expects($this->once()) ->method('getMethodAnnotations') - ->will($this->returnValue(array($this->getAnnotatedRoute($routeDatas)))) + ->will($this->returnValue(array($this->getAnnotatedRoute($methodRouteData)))) ; + $routeCollection = $this->loader->load('Symfony\Component\Routing\Tests\Fixtures\AnnotatedClasses\BarClass'); - $route = $routeCollection->get($routeDatas['name']); + $route = $routeCollection->get($methodRouteData['name']); - $this->assertSame($classRouteDatas['path'].$routeDatas['path'], $route->getPath(), '->load preserves class route path annotation'); + $this->assertSame($classRouteData['path'].$methodRouteData['path'], $route->getPath(), '->load concatenates class and method route path'); + $this->assertEquals(array_merge($classRouteData['schemes'], $methodRouteData['schemes']), $route->getSchemes(), '->load merges class and method route schemes'); + $this->assertEquals(array_merge($classRouteData['methods'], $methodRouteData['methods']), $route->getMethods(), '->load merges class and method route methods'); } - private function getAnnotatedRoute($datas) + private function getAnnotatedRoute($data) { - return new Route($datas); + return new Route($data); } } diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/AnnotationDirectoryLoaderTest.php b/core/vendor/symfony/routing/Tests/Loader/AnnotationDirectoryLoaderTest.php similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/AnnotationDirectoryLoaderTest.php rename to core/vendor/symfony/routing/Tests/Loader/AnnotationDirectoryLoaderTest.php diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/AnnotationFileLoaderTest.php b/core/vendor/symfony/routing/Tests/Loader/AnnotationFileLoaderTest.php similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/AnnotationFileLoaderTest.php rename to core/vendor/symfony/routing/Tests/Loader/AnnotationFileLoaderTest.php diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/ClosureLoaderTest.php b/core/vendor/symfony/routing/Tests/Loader/ClosureLoaderTest.php similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/ClosureLoaderTest.php rename to core/vendor/symfony/routing/Tests/Loader/ClosureLoaderTest.php diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/PhpFileLoaderTest.php b/core/vendor/symfony/routing/Tests/Loader/PhpFileLoaderTest.php similarity index 96% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/PhpFileLoaderTest.php rename to core/vendor/symfony/routing/Tests/Loader/PhpFileLoaderTest.php index 8e2d98499d4780ff46dbdc0e726e1061875cdb7b..5d66446f0fe23cd6548eeeca325d02cdd9a24c86 100644 --- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/PhpFileLoaderTest.php +++ b/core/vendor/symfony/routing/Tests/Loader/PhpFileLoaderTest.php @@ -33,7 +33,7 @@ public function testLoadWithRoute() $routeCollection = $loader->load('validpattern.php'); $routes = $routeCollection->all(); - $this->assertCount(2, $routes, 'Two routes are loaded'); + $this->assertCount(1, $routes, 'One route is loaded'); $this->assertContainsOnly('Symfony\Component\Routing\Route', $routes); foreach ($routes as $route) { @@ -52,7 +52,7 @@ public function testLoadWithImport() $routeCollection = $loader->load('validresource.php'); $routes = $routeCollection->all(); - $this->assertCount(2, $routes, 'Two routes are loaded'); + $this->assertCount(1, $routes, 'One route is loaded'); $this->assertContainsOnly('Symfony\Component\Routing\Route', $routes); foreach ($routes as $route) { diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/XmlFileLoaderTest.php b/core/vendor/symfony/routing/Tests/Loader/XmlFileLoaderTest.php similarity index 71% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/XmlFileLoaderTest.php rename to core/vendor/symfony/routing/Tests/Loader/XmlFileLoaderTest.php index c488c43bcc91b1e299c3fdbf37281f2476cb11c7..37bbc0cd69294a815c3d59412c3edc904eaf5749 100644 --- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/XmlFileLoaderTest.php +++ b/core/vendor/symfony/routing/Tests/Loader/XmlFileLoaderTest.php @@ -32,23 +32,39 @@ public function testLoadWithRoute() { $loader = new XmlFileLoader(new FileLocator(array(__DIR__.'/../Fixtures'))); $routeCollection = $loader->load('validpattern.xml'); - $routes = $routeCollection->all(); + $route = $routeCollection->get('blog_show'); - $this->assertCount(3, $routes, 'Three routes are loaded'); - $this->assertContainsOnly('Symfony\Component\Routing\Route', $routes); + $this->assertInstanceOf('Symfony\Component\Routing\Route', $route); + $this->assertSame('/blog/{slug}', $route->getPath()); + $this->assertSame('{locale}.example.com', $route->getHost()); + $this->assertSame('MyBundle:Blog:show', $route->getDefault('_controller')); + $this->assertSame('\w+', $route->getRequirement('locale')); + $this->assertSame('RouteCompiler', $route->getOption('compiler_class')); + $this->assertEquals(array('GET', 'POST', 'PUT', 'OPTIONS'), $route->getMethods()); + $this->assertEquals(array('https'), $route->getSchemes()); + $this->assertEquals('context.getMethod() == "GET"', $route->getCondition()); + } - $identicalRoutes = array_slice($routes, 0, 2); - - foreach ($identicalRoutes as $route) { - $this->assertSame('/blog/{slug}', $route->getPath()); - $this->assertSame('{locale}.example.com', $route->getHost()); - $this->assertSame('MyBundle:Blog:show', $route->getDefault('_controller')); - $this->assertSame('\w+', $route->getRequirement('locale')); - $this->assertSame('RouteCompiler', $route->getOption('compiler_class')); - $this->assertEquals(array('GET', 'POST', 'PUT', 'OPTIONS'), $route->getMethods()); - $this->assertEquals(array('https'), $route->getSchemes()); - $this->assertEquals('context.getMethod() == "GET"', $route->getCondition()); - } + /** + * @group legacy + */ + public function testLegacyRouteDefinitionLoading() + { + $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED); + + $loader = new XmlFileLoader(new FileLocator(array(__DIR__.'/../Fixtures'))); + $routeCollection = $loader->load('legacy_validpattern.xml'); + $route = $routeCollection->get('blog_show_legacy'); + + $this->assertInstanceOf('Symfony\Component\Routing\Route', $route); + $this->assertSame('/blog/{slug}', $route->getPath()); + $this->assertSame('{locale}.example.com', $route->getHost()); + $this->assertSame('MyBundle:Blog:show', $route->getDefault('_controller')); + $this->assertSame('\w+', $route->getRequirement('locale')); + $this->assertSame('RouteCompiler', $route->getOption('compiler_class')); + $this->assertEquals(array('GET', 'POST', 'PUT', 'OPTIONS'), $route->getMethods()); + $this->assertEquals(array('https'), $route->getSchemes()); + $this->assertEquals('context.getMethod() == "GET"', $route->getCondition()); } public function testLoadWithNamespacePrefix() @@ -74,7 +90,7 @@ public function testLoadWithImport() $routeCollection = $loader->load('validresource.xml'); $routes = $routeCollection->all(); - $this->assertCount(3, $routes, 'Three routes are loaded'); + $this->assertCount(2, $routes, 'Two routes are loaded'); $this->assertContainsOnly('Symfony\Component\Routing\Route', $routes); foreach ($routes as $route) { diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/YamlFileLoaderTest.php b/core/vendor/symfony/routing/Tests/Loader/YamlFileLoaderTest.php similarity index 62% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/YamlFileLoaderTest.php rename to core/vendor/symfony/routing/Tests/Loader/YamlFileLoaderTest.php index 966768cf2ee4510af3983e18f5d98152b00bbfaf..f9b7547a1bef0572a17ce6ac98384c524e879d6d 100644 --- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/YamlFileLoaderTest.php +++ b/core/vendor/symfony/routing/Tests/Loader/YamlFileLoaderTest.php @@ -22,9 +22,11 @@ public function testSupports() $loader = new YamlFileLoader($this->getMock('Symfony\Component\Config\FileLocator')); $this->assertTrue($loader->supports('foo.yml'), '->supports() returns true if the resource is loadable'); + $this->assertTrue($loader->supports('foo.yaml'), '->supports() returns true if the resource is loadable'); $this->assertFalse($loader->supports('foo.foo'), '->supports() returns true if the resource is loadable'); $this->assertTrue($loader->supports('foo.yml', 'yaml'), '->supports() checks the resource type if specified'); + $this->assertTrue($loader->supports('foo.yaml', 'yaml'), '->supports() checks the resource type if specified'); $this->assertFalse($loader->supports('foo.yml', 'foo'), '->supports() checks the resource type if specified'); } @@ -66,23 +68,39 @@ public function testLoadWithRoute() { $loader = new YamlFileLoader(new FileLocator(array(__DIR__.'/../Fixtures'))); $routeCollection = $loader->load('validpattern.yml'); - $routes = $routeCollection->all(); + $route = $routeCollection->get('blog_show'); - $this->assertCount(3, $routes, 'Three routes are loaded'); - $this->assertContainsOnly('Symfony\Component\Routing\Route', $routes); + $this->assertInstanceOf('Symfony\Component\Routing\Route', $route); + $this->assertSame('/blog/{slug}', $route->getPath()); + $this->assertSame('{locale}.example.com', $route->getHost()); + $this->assertSame('MyBundle:Blog:show', $route->getDefault('_controller')); + $this->assertSame('\w+', $route->getRequirement('locale')); + $this->assertSame('RouteCompiler', $route->getOption('compiler_class')); + $this->assertEquals(array('GET', 'POST', 'PUT', 'OPTIONS'), $route->getMethods()); + $this->assertEquals(array('https'), $route->getSchemes()); + $this->assertEquals('context.getMethod() == "GET"', $route->getCondition()); + } - $identicalRoutes = array_slice($routes, 0, 2); - - foreach ($identicalRoutes as $route) { - $this->assertSame('/blog/{slug}', $route->getPath()); - $this->assertSame('{locale}.example.com', $route->getHost()); - $this->assertSame('MyBundle:Blog:show', $route->getDefault('_controller')); - $this->assertSame('\w+', $route->getRequirement('locale')); - $this->assertSame('RouteCompiler', $route->getOption('compiler_class')); - $this->assertEquals(array('GET', 'POST', 'PUT', 'OPTIONS'), $route->getMethods()); - $this->assertEquals(array('https'), $route->getSchemes()); - $this->assertEquals('context.getMethod() == "GET"', $route->getCondition()); - } + /** + * @group legacy + */ + public function testLegacyRouteDefinitionLoading() + { + $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED); + + $loader = new YamlFileLoader(new FileLocator(array(__DIR__.'/../Fixtures'))); + $routeCollection = $loader->load('legacy_validpattern.yml'); + $route = $routeCollection->get('blog_show_legacy'); + + $this->assertInstanceOf('Symfony\Component\Routing\Route', $route); + $this->assertSame('/blog/{slug}', $route->getPath()); + $this->assertSame('{locale}.example.com', $route->getHost()); + $this->assertSame('MyBundle:Blog:show', $route->getDefault('_controller')); + $this->assertSame('\w+', $route->getRequirement('locale')); + $this->assertSame('RouteCompiler', $route->getOption('compiler_class')); + $this->assertEquals(array('GET', 'POST', 'PUT', 'OPTIONS'), $route->getMethods()); + $this->assertEquals(array('https'), $route->getSchemes()); + $this->assertEquals('context.getMethod() == "GET"', $route->getCondition()); } public function testLoadWithResource() @@ -91,7 +109,7 @@ public function testLoadWithResource() $routeCollection = $loader->load('validresource.yml'); $routes = $routeCollection->all(); - $this->assertCount(3, $routes, 'Three routes are loaded'); + $this->assertCount(2, $routes, 'Two routes are loaded'); $this->assertContainsOnly('Symfony\Component\Routing\Route', $routes); foreach ($routes as $route) { diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/Dumper/DumperCollectionTest.php b/core/vendor/symfony/routing/Tests/Matcher/Dumper/DumperCollectionTest.php similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/Dumper/DumperCollectionTest.php rename to core/vendor/symfony/routing/Tests/Matcher/Dumper/DumperCollectionTest.php diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/Dumper/DumperPrefixCollectionTest.php b/core/vendor/symfony/routing/Tests/Matcher/Dumper/DumperPrefixCollectionTest.php similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/Dumper/DumperPrefixCollectionTest.php rename to core/vendor/symfony/routing/Tests/Matcher/Dumper/DumperPrefixCollectionTest.php diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/Dumper/LegacyApacheMatcherDumperTest.php b/core/vendor/symfony/routing/Tests/Matcher/Dumper/LegacyApacheMatcherDumperTest.php similarity index 93% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/Dumper/LegacyApacheMatcherDumperTest.php rename to core/vendor/symfony/routing/Tests/Matcher/Dumper/LegacyApacheMatcherDumperTest.php index 5ba250243076049f576b6b01f5a46f6e739611db..6d34c96d56607824dab8bf295dda5852b461e049 100644 --- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/Dumper/LegacyApacheMatcherDumperTest.php +++ b/core/vendor/symfony/routing/Tests/Matcher/Dumper/LegacyApacheMatcherDumperTest.php @@ -87,13 +87,21 @@ private function getRouteCollection() $collection->add('bar', new Route( '/bar/{foo}', array(), - array('_method' => 'GET|head') + array(), + array(), + '', + array(), + array('GET', 'head') )); // method requirement (again) $collection->add('baragain', new Route( '/baragain/{foo}', array(), - array('_method' => 'get|post') + array(), + array(), + '', + array(), + array('get', 'post') )); // simple $collection->add('baz', new Route( @@ -115,13 +123,21 @@ private function getRouteCollection() $collection->add('baz5', new Route( '/test/{foo}/', array(), - array('_method' => 'get') + array(), + array(), + '', + array(), + array('GET') )); // trailing slash and unsafe method $collection->add('baz5unsafe', new Route( '/testunsafe/{foo}/', array(), - array('_method' => 'post') + array(), + array(), + '', + array(), + array('post') )); // complex $collection->add('baz6', new Route( diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/Dumper/PhpMatcherDumperTest.php b/core/vendor/symfony/routing/Tests/Matcher/Dumper/PhpMatcherDumperTest.php similarity index 93% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/Dumper/PhpMatcherDumperTest.php rename to core/vendor/symfony/routing/Tests/Matcher/Dumper/PhpMatcherDumperTest.php index 7cf529c345c55c4ab6119df3e0e0874c7201bd11..257187733b2d3c808f9d6ff68d8012709bdccf0d 100644 --- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/Dumper/PhpMatcherDumperTest.php +++ b/core/vendor/symfony/routing/Tests/Matcher/Dumper/PhpMatcherDumperTest.php @@ -26,7 +26,10 @@ public function testDumpWhenSchemeIsUsedWithoutAProperDumper() $collection->add('secure', new Route( '/secure', array(), - array('_scheme' => 'https') + array(), + array(), + '', + array('https') )); $dumper = new PhpMatcherDumper($collection); $dumper->dump(); @@ -61,13 +64,21 @@ public function getRouteCollections() $collection->add('bar', new Route( '/bar/{foo}', array(), - array('_method' => 'GET|head') + array(), + array(), + '', + array(), + array('GET', 'head') )); // GET method requirement automatically adds HEAD as valid $collection->add('barhead', new Route( '/barhead/{foo}', array(), - array('_method' => 'GET') + array(), + array(), + '', + array(), + array('GET') )); // simple $collection->add('baz', new Route( @@ -89,13 +100,21 @@ public function getRouteCollections() $collection->add('baz5', new Route( '/test/{foo}/', array(), - array('_method' => 'post') + array(), + array(), + '', + array(), + array('post') )); // complex name $collection->add('baz.baz6', new Route( '/test/{foo}/', array(), - array('_method' => 'put') + array(), + array(), + '', + array(), + array('put') )); // defaults without variable $collection->add('foofoo', new Route( @@ -235,14 +254,20 @@ public function getRouteCollections() $redirectCollection->add('secure', new Route( '/secure', array(), - array('_scheme' => 'https') + array(), + array(), + '', + array('https') )); // force HTTP redirection $redirectCollection->add('nonsecure', new Route( '/nonsecure', array(), - array('_scheme' => 'http') + array(), + array(), + '', + array('http') )); /* test case 3 */ diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/LegacyApacheUrlMatcherTest.php b/core/vendor/symfony/routing/Tests/Matcher/LegacyApacheUrlMatcherTest.php similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/LegacyApacheUrlMatcherTest.php rename to core/vendor/symfony/routing/Tests/Matcher/LegacyApacheUrlMatcherTest.php diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/RedirectableUrlMatcherTest.php b/core/vendor/symfony/routing/Tests/Matcher/RedirectableUrlMatcherTest.php similarity index 81% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/RedirectableUrlMatcherTest.php rename to core/vendor/symfony/routing/Tests/Matcher/RedirectableUrlMatcherTest.php index 5cbb605479117f15365da6da61efba7f97a30e38..b6c5a3e62218f080c4a4d55e19af53e946f2afac 100644 --- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/RedirectableUrlMatcherTest.php +++ b/core/vendor/symfony/routing/Tests/Matcher/RedirectableUrlMatcherTest.php @@ -41,21 +41,6 @@ public function testRedirectWhenNoSlashForNonSafeMethod() $matcher->match('/foo'); } - public function testSchemeRedirectBC() - { - $coll = new RouteCollection(); - $coll->add('foo', new Route('/foo', array(), array('_scheme' => 'https'))); - - $matcher = $this->getMockForAbstractClass('Symfony\Component\Routing\Matcher\RedirectableUrlMatcher', array($coll, new RequestContext())); - $matcher - ->expects($this->once()) - ->method('redirect') - ->with('/foo', 'foo', 'https') - ->will($this->returnValue(array('_route' => 'foo'))) - ; - $matcher->match('/foo'); - } - public function testSchemeRedirectRedirectsToFirstScheme() { $coll = new RouteCollection(); diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/TraceableUrlMatcherTest.php b/core/vendor/symfony/routing/Tests/Matcher/TraceableUrlMatcherTest.php similarity index 77% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/TraceableUrlMatcherTest.php rename to core/vendor/symfony/routing/Tests/Matcher/TraceableUrlMatcherTest.php index 969ab0a2f0d0037c9c6e694728afd37e74b6b523..20b30d7b912646a8a53d172281b7fb99c600fed3 100644 --- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/TraceableUrlMatcherTest.php +++ b/core/vendor/symfony/routing/Tests/Matcher/TraceableUrlMatcherTest.php @@ -21,9 +21,9 @@ class TraceableUrlMatcherTest extends \PHPUnit_Framework_TestCase public function test() { $coll = new RouteCollection(); - $coll->add('foo', new Route('/foo', array(), array('_method' => 'POST'))); + $coll->add('foo', new Route('/foo', array(), array(), array(), '', array(), array('POST'))); $coll->add('bar', new Route('/bar/{id}', array(), array('id' => '\d+'))); - $coll->add('bar1', new Route('/bar/{name}', array(), array('id' => '\w+', '_method' => 'POST'))); + $coll->add('bar1', new Route('/bar/{name}', array(), array('id' => '\w+'), array(), '', array(), array('POST'))); $coll->add('bar2', new Route('/foo', array(), array(), array(), 'baz')); $coll->add('bar3', new Route('/foo1', array(), array(), array(), 'baz')); $coll->add('bar4', new Route('/foo2', array(), array(), array(), 'baz', array(), array(), 'context.getMethod() == "GET"')); @@ -33,29 +33,29 @@ public function test() $matcher = new TraceableUrlMatcher($coll, $context); $traces = $matcher->getTraces('/babar'); - $this->assertEquals(array(0, 0, 0, 0, 0, 0), $this->getLevels($traces)); + $this->assertSame(array(0, 0, 0, 0, 0, 0), $this->getLevels($traces)); $traces = $matcher->getTraces('/foo'); - $this->assertEquals(array(1, 0, 0, 2), $this->getLevels($traces)); + $this->assertSame(array(1, 0, 0, 2), $this->getLevels($traces)); $traces = $matcher->getTraces('/bar/12'); - $this->assertEquals(array(0, 2), $this->getLevels($traces)); + $this->assertSame(array(0, 2), $this->getLevels($traces)); $traces = $matcher->getTraces('/bar/dd'); - $this->assertEquals(array(0, 1, 1, 0, 0, 0), $this->getLevels($traces)); + $this->assertSame(array(0, 1, 1, 0, 0, 0), $this->getLevels($traces)); $traces = $matcher->getTraces('/foo1'); - $this->assertEquals(array(0, 0, 0, 0, 2), $this->getLevels($traces)); + $this->assertSame(array(0, 0, 0, 0, 2), $this->getLevels($traces)); $context->setMethod('POST'); $traces = $matcher->getTraces('/foo'); - $this->assertEquals(array(2), $this->getLevels($traces)); + $this->assertSame(array(2), $this->getLevels($traces)); $traces = $matcher->getTraces('/bar/dd'); - $this->assertEquals(array(0, 1, 2), $this->getLevels($traces)); + $this->assertSame(array(0, 1, 2), $this->getLevels($traces)); $traces = $matcher->getTraces('/foo2'); - $this->assertEquals(array(0, 0, 0, 0, 0, 1), $this->getLevels($traces)); + $this->assertSame(array(0, 0, 0, 0, 0, 1), $this->getLevels($traces)); } public function testMatchRouteOnMultipleHosts() @@ -83,7 +83,7 @@ public function testMatchRouteOnMultipleHosts() $matcher = new TraceableUrlMatcher($routes, $context); $traces = $matcher->getTraces('/mypath/'); - $this->assertEquals( + $this->assertSame( array(TraceableUrlMatcher::ROUTE_ALMOST_MATCHES, TraceableUrlMatcher::ROUTE_ALMOST_MATCHES), $this->getLevels($traces) ); diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/UrlMatcherTest.php b/core/vendor/symfony/routing/Tests/Matcher/UrlMatcherTest.php similarity index 95% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/UrlMatcherTest.php rename to core/vendor/symfony/routing/Tests/Matcher/UrlMatcherTest.php index 99f2bc3ec19f605a8884b7f515ea8cbe18f9f2bb..bf82fb7f86e63af19e72366b7e1b022088f2408c 100644 --- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Matcher/UrlMatcherTest.php +++ b/core/vendor/symfony/routing/Tests/Matcher/UrlMatcherTest.php @@ -26,13 +26,13 @@ public function testNoMethodSoAllowed() $coll->add('foo', new Route('/foo')); $matcher = new UrlMatcher($coll, new RequestContext()); - $matcher->match('/foo'); + $this->assertInternalType('array', $matcher->match('/foo')); } public function testMethodNotAllowed() { $coll = new RouteCollection(); - $coll->add('foo', new Route('/foo', array(), array('_method' => 'post'))); + $coll->add('foo', new Route('/foo', array(), array(), array(), '', array(), array('post'))); $matcher = new UrlMatcher($coll, new RequestContext()); @@ -47,17 +47,17 @@ public function testMethodNotAllowed() public function testHeadAllowedWhenRequirementContainsGet() { $coll = new RouteCollection(); - $coll->add('foo', new Route('/foo', array(), array('_method' => 'get'))); + $coll->add('foo', new Route('/foo', array(), array(), array(), '', array(), array('get'))); $matcher = new UrlMatcher($coll, new RequestContext('', 'head')); - $matcher->match('/foo'); + $this->assertInternalType('array', $matcher->match('/foo')); } public function testMethodNotAllowedAggregatesAllowedMethods() { $coll = new RouteCollection(); - $coll->add('foo1', new Route('/foo', array(), array('_method' => 'post'))); - $coll->add('foo2', new Route('/foo', array(), array('_method' => 'put|delete'))); + $coll->add('foo1', new Route('/foo', array(), array(), array(), '', array(), array('post'))); + $coll->add('foo2', new Route('/foo', array(), array(), array(), '', array(), array('put', 'delete'))); $matcher = new UrlMatcher($coll, new RequestContext()); @@ -90,7 +90,7 @@ public function testMatch() // test that route "method" is ignored if no method is given in the context $collection = new RouteCollection(); - $collection->add('foo', new Route('/foo', array(), array('_method' => 'GET|head'))); + $collection->add('foo', new Route('/foo', array(), array(), array(), '', array(), array('get', 'head'))); $matcher = new UrlMatcher($collection, new RequestContext()); $this->assertInternalType('array', $matcher->match('/foo')); @@ -312,16 +312,6 @@ public function testDefaultRequirementOfVariableDisallowsNextSeparator() $matcher->match('/do.t.html'); } - /** - * @expectedException \Symfony\Component\Routing\Exception\ResourceNotFoundException - */ - public function testSchemeRequirementBC() - { - $coll = new RouteCollection(); - $coll->add('foo', new Route('/foo', array(), array('_scheme' => 'https'))); - $matcher = new UrlMatcher($coll, new RequestContext()); - $matcher->match('/foo'); - } /** * @expectedException \Symfony\Component\Routing\Exception\ResourceNotFoundException */ diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/RequestContextTest.php b/core/vendor/symfony/routing/Tests/RequestContextTest.php similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Tests/RequestContextTest.php rename to core/vendor/symfony/routing/Tests/RequestContextTest.php diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/RouteCollectionTest.php b/core/vendor/symfony/routing/Tests/RouteCollectionTest.php similarity index 96% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Tests/RouteCollectionTest.php rename to core/vendor/symfony/routing/Tests/RouteCollectionTest.php index ad2d0e0f2f2a9ac948bc6d75051021e5f3a11607..376b8db76fe4a679b59429b8b7bd6984178db7e5 100644 --- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/RouteCollectionTest.php +++ b/core/vendor/symfony/routing/Tests/RouteCollectionTest.php @@ -164,12 +164,12 @@ public function testAddPrefix() public function testAddPrefixOverridesDefaultsAndRequirements() { $collection = new RouteCollection(); - $collection->add('foo', $foo = new Route('/foo')); - $collection->add('bar', $bar = new Route('/bar', array(), array('_scheme' => 'http'))); - $collection->addPrefix('/admin', array(), array('_scheme' => 'https')); + $collection->add('foo', $foo = new Route('/foo.{_format}')); + $collection->add('bar', $bar = new Route('/bar.{_format}', array(), array('_format' => 'json'))); + $collection->addPrefix('/admin', array(), array('_format' => 'html')); - $this->assertEquals('https', $collection->get('foo')->getRequirement('_scheme'), '->addPrefix() overrides existing requirements'); - $this->assertEquals('https', $collection->get('bar')->getRequirement('_scheme'), '->addPrefix() overrides existing requirements'); + $this->assertEquals('html', $collection->get('foo')->getRequirement('_format'), '->addPrefix() overrides existing requirements'); + $this->assertEquals('html', $collection->get('bar')->getRequirement('_format'), '->addPrefix() overrides existing requirements'); } public function testResource() diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/RouteCompilerTest.php b/core/vendor/symfony/routing/Tests/RouteCompilerTest.php similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Tests/RouteCompilerTest.php rename to core/vendor/symfony/routing/Tests/RouteCompilerTest.php diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/RouteTest.php b/core/vendor/symfony/routing/Tests/RouteTest.php similarity index 97% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Tests/RouteTest.php rename to core/vendor/symfony/routing/Tests/RouteTest.php index 224a6dc7de116e9ce84edb09e63c4145a381cad4..11c0cd8dcf00683451f78c492a92b6b5fed5c59c 100644 --- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/RouteTest.php +++ b/core/vendor/symfony/routing/Tests/RouteTest.php @@ -164,8 +164,13 @@ public function testScheme() $this->assertTrue($route->hasScheme('httpS')); } - public function testSchemeIsBC() + /** + * @group legacy + */ + public function testLegacySchemeRequirement() { + $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED); + $route = new Route('/'); $route->setRequirement('_scheme', 'http|https'); $this->assertEquals('http|https', $route->getRequirement('_scheme')); @@ -189,8 +194,13 @@ public function testMethod() $this->assertEquals(array('GET', 'POST'), $route->getMethods(), '->setMethods() accepts an array of methods and uppercases them'); } - public function testMethodIsBC() + /** + * @group legacy + */ + public function testLegacyMethodRequirement() { + $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED); + $route = new Route('/'); $route->setRequirement('_method', 'GET|POST'); $this->assertEquals('GET|POST', $route->getRequirement('_method')); diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/RouterTest.php b/core/vendor/symfony/routing/Tests/RouterTest.php similarity index 100% rename from core/vendor/symfony/routing/Symfony/Component/Routing/Tests/RouterTest.php rename to core/vendor/symfony/routing/Tests/RouterTest.php diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/composer.json b/core/vendor/symfony/routing/composer.json similarity index 78% rename from core/vendor/symfony/routing/Symfony/Component/Routing/composer.json rename to core/vendor/symfony/routing/composer.json index 7c274c545232559976aeda31419c963007ea96fc..31b63ae64aacc7d85ffc9b7a294d1f36a855a30f 100644 --- a/core/vendor/symfony/routing/Symfony/Component/Routing/composer.json +++ b/core/vendor/symfony/routing/composer.json @@ -3,7 +3,7 @@ "type": "library", "description": "Symfony Routing Component", "keywords": ["routing", "router", "URL", "URI"], - "homepage": "http://symfony.com", + "homepage": "https://symfony.com", "license": "MIT", "authors": [ { @@ -12,15 +12,15 @@ }, { "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" + "homepage": "https://symfony.com/contributors" } ], "require": { - "php": ">=5.3.3" + "php": ">=5.3.9" }, "require-dev": { "symfony/phpunit-bridge": "~2.7", - "symfony/config": "~2.2", + "symfony/config": "~2.7", "symfony/http-foundation": "~2.3", "symfony/yaml": "~2.0,>=2.0.5", "symfony/expression-language": "~2.4", @@ -28,6 +28,9 @@ "doctrine/common": "~2.2", "psr/log": "~1.0" }, + "conflict": { + "symfony/config": "<2.7" + }, "suggest": { "symfony/config": "For using the all-in-one router or any loader", "symfony/yaml": "For using the YAML loader", @@ -35,13 +38,12 @@ "doctrine/annotations": "For using the annotation loader" }, "autoload": { - "psr-0": { "Symfony\\Component\\Routing\\": "" } + "psr-4": { "Symfony\\Component\\Routing\\": "" } }, - "target-dir": "Symfony/Component/Routing", "minimum-stability": "dev", "extra": { "branch-alias": { - "dev-master": "2.6-dev" + "dev-master": "2.7-dev" } } } diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/phpunit.xml.dist b/core/vendor/symfony/routing/phpunit.xml.dist similarity index 99% rename from core/vendor/symfony/routing/Symfony/Component/Routing/phpunit.xml.dist rename to core/vendor/symfony/routing/phpunit.xml.dist index fae243c8152b0193a3549d87d5195b089f19d28f..a9083088a96440d7e3a266853f02197b5acc26d0 100644 --- a/core/vendor/symfony/routing/Symfony/Component/Routing/phpunit.xml.dist +++ b/core/vendor/symfony/routing/phpunit.xml.dist @@ -9,6 +9,7 @@ <php> <ini name="error_reporting" value="-1" /> </php> + <testsuites> <testsuite name="Symfony Routing Component Test Suite"> <directory>./Tests/</directory> diff --git a/core/vendor/symfony/serializer/Annotation/Groups.php b/core/vendor/symfony/serializer/Annotation/Groups.php new file mode 100644 index 0000000000000000000000000000000000000000..e88ffa71d7e21ee3cc84c20cb0b0f67619b5b0a5 --- /dev/null +++ b/core/vendor/symfony/serializer/Annotation/Groups.php @@ -0,0 +1,63 @@ +<?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\Serializer\Annotation; + +use Symfony\Component\Serializer\Exception\InvalidArgumentException; + +/** + * Annotation class for @Groups(). + * + * @Annotation + * @Target({"PROPERTY", "METHOD"}) + * + * @author Kévin Dunglas <dunglas@gmail.com> + */ +class Groups +{ + /** + * @var array + */ + private $groups; + + /** + * @param array $data + * @throws \InvalidArgumentException + */ + public function __construct(array $data) + { + if (!isset($data['value']) || !$data['value']) { + throw new InvalidArgumentException(sprintf("Parameter of annotation '%s' cannot be empty.", get_class($this))); + } + + if (!is_array($data['value'])) { + throw new InvalidArgumentException(sprintf("Parameter of annotation '%s' must be an array of strings.", get_class($this))); + } + + foreach ($data['value'] as $group) { + if (!is_string($group)) { + throw new InvalidArgumentException(sprintf("Parameter of annotation '%s' must be an array of strings.", get_class($this))); + } + } + + $this->groups = $data['value']; + } + + /** + * Gets groups + * + * @return array + */ + public function getGroups() + { + return $this->groups; + } +} diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/CHANGELOG.md b/core/vendor/symfony/serializer/CHANGELOG.md similarity index 71% rename from core/vendor/symfony/serializer/Symfony/Component/Serializer/CHANGELOG.md rename to core/vendor/symfony/serializer/CHANGELOG.md index 45e620188f81af93709b0501ecc76d1e4f2c5aa6..ceeeeb1e7a92f08ea5b8ea16018d56bd1ff25432 100644 --- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/CHANGELOG.md +++ b/core/vendor/symfony/serializer/CHANGELOG.md @@ -1,6 +1,23 @@ CHANGELOG ========= +2.7.0 +----- + + * added support for serialization and deserialization groups including + annotations, XML and YAML mapping. + * added `AbstractNormalizer` to factorise code and ease normalizers development + * added circular references handling for `PropertyNormalizer` + * added support for a context key called `object_to_populate` in `AbstractNormalizer` + to reuse existing objects in the deserialization process + * added `NameConverterInterface` and `CamelCaseToSnakeCaseNameConverter` + * [DEPRECATION] `GetSetMethodNormalizer::setCamelizedAttributes()` and + `PropertyNormalizer::setCamelizedAttributes()` are replaced by + `CamelCaseToSnakeCaseNameConverter` + * [DEPRECATION] the `Exception` interface has been renamed to `ExceptionInterface` + * added `ObjectNormalizer` leveraging the `PropertyAccess` component to normalize + objects containing both properties and getters / setters / issers / hassers methods. + 2.6.0 ----- diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/ChainDecoder.php b/core/vendor/symfony/serializer/Encoder/ChainDecoder.php similarity index 100% rename from core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/ChainDecoder.php rename to core/vendor/symfony/serializer/Encoder/ChainDecoder.php diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/ChainEncoder.php b/core/vendor/symfony/serializer/Encoder/ChainEncoder.php similarity index 100% rename from core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/ChainEncoder.php rename to core/vendor/symfony/serializer/Encoder/ChainEncoder.php diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/DecoderInterface.php b/core/vendor/symfony/serializer/Encoder/DecoderInterface.php similarity index 100% rename from core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/DecoderInterface.php rename to core/vendor/symfony/serializer/Encoder/DecoderInterface.php diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/EncoderInterface.php b/core/vendor/symfony/serializer/Encoder/EncoderInterface.php similarity index 100% rename from core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/EncoderInterface.php rename to core/vendor/symfony/serializer/Encoder/EncoderInterface.php diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/JsonDecode.php b/core/vendor/symfony/serializer/Encoder/JsonDecode.php similarity index 91% rename from core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/JsonDecode.php rename to core/vendor/symfony/serializer/Encoder/JsonDecode.php index 4bb5b43dd09454959391303629705ba2301761a5..14c1a752c946510feb3ee548b3f9a06d2759bdca 100644 --- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/JsonDecode.php +++ b/core/vendor/symfony/serializer/Encoder/JsonDecode.php @@ -55,12 +55,15 @@ public function __construct($associative = false, $depth = 512) * * @return int * - * @deprecated since 2.5, decode() throws an exception if error found, will be removed in 3.0 + * @deprecated since version 2.5, to be removed in 3.0. + * The {@self decode()} method throws an exception if error found. * * @see http://php.net/manual/en/function.json-last-error.php json_last_error */ public function getLastError() { + trigger_error('The '.__METHOD__.' method is deprecated since version 2.5 and will be removed in 3.0. Catch the exception raised by the decode() method instead to get the last JSON decoding error.', E_USER_DEPRECATED); + return $this->lastError; } diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/JsonEncode.php b/core/vendor/symfony/serializer/Encoder/JsonEncode.php similarity index 83% rename from core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/JsonEncode.php rename to core/vendor/symfony/serializer/Encoder/JsonEncode.php index ff377db9939b6b36b81d479aa88bfcf467571b4c..76345bed694b2efee2b5b35c87929d8e528be866 100644 --- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/JsonEncode.php +++ b/core/vendor/symfony/serializer/Encoder/JsonEncode.php @@ -33,12 +33,15 @@ public function __construct($bitmask = 0) * * @return int * - * @deprecated since 2.5, encode() throws an exception if error found, will be removed in 3.0 + * @deprecated since version 2.5, to be removed in 3.0. + * The {@self encode()} throws an exception if error found. * * @see http://php.net/manual/en/function.json-last-error.php json_last_error */ public function getLastError() { + trigger_error('The '.__METHOD__.' method is deprecated since version 2.5 and will be removed in 3.0. Catch the exception raised by the encode() method instead to get the last JSON encoding error.', E_USER_DEPRECATED); + return $this->lastError; } diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/JsonEncoder.php b/core/vendor/symfony/serializer/Encoder/JsonEncoder.php similarity index 78% rename from core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/JsonEncoder.php rename to core/vendor/symfony/serializer/Encoder/JsonEncoder.php index 2231dd624add917becf1487c92b6bb27bd44913b..1f7a1fb0e3301f8b0f313957a47f395e6bf58501 100644 --- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/JsonEncoder.php +++ b/core/vendor/symfony/serializer/Encoder/JsonEncoder.php @@ -41,10 +41,12 @@ public function __construct(JsonEncode $encodingImpl = null, JsonDecode $decodin * * @return int * - * @deprecated since 2.5, JsonEncode throws exception if an error is found, will be removed in 3.0 + * @deprecated since version 2.5, to be removed in 3.0. JsonEncode throws exception if an error is found. */ public function getLastEncodingError() { + trigger_error('The '.__METHOD__.' method is deprecated since version 2.5 and will be removed in 3.0. Catch the exception raised by the Symfony\Component\Serializer\Encoder\JsonEncode::encode() method instead to get the last JSON encoding error.', E_USER_DEPRECATED); + return $this->encodingImpl->getLastError(); } @@ -53,10 +55,12 @@ public function getLastEncodingError() * * @return int * - * @deprecated since 2.5, JsonDecode throws exception if an error is found, will be removed in 3.0 + * @deprecated since version 2.5, to be removed in 3.0. JsonDecode throws exception if an error is found. */ public function getLastDecodingError() { + trigger_error('The '.__METHOD__.' method is deprecated since version 2.5 and will be removed in 3.0. Catch the exception raised by the Symfony\Component\Serializer\Encoder\JsonDecode::decode() method instead to get the last JSON decoding error.', E_USER_DEPRECATED); + return $this->decodingImpl->getLastError(); } diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/NormalizationAwareInterface.php b/core/vendor/symfony/serializer/Encoder/NormalizationAwareInterface.php similarity index 100% rename from core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/NormalizationAwareInterface.php rename to core/vendor/symfony/serializer/Encoder/NormalizationAwareInterface.php diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/SerializerAwareEncoder.php b/core/vendor/symfony/serializer/Encoder/SerializerAwareEncoder.php similarity index 100% rename from core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/SerializerAwareEncoder.php rename to core/vendor/symfony/serializer/Encoder/SerializerAwareEncoder.php diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/XmlEncoder.php b/core/vendor/symfony/serializer/Encoder/XmlEncoder.php similarity index 98% rename from core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/XmlEncoder.php rename to core/vendor/symfony/serializer/Encoder/XmlEncoder.php index 68ccc5966e3b188d00a5d5509de60862266a9b8c..ce0c4758f1620cfa01d0f1dc9f789536cb4a76f7 100644 --- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Encoder/XmlEncoder.php +++ b/core/vendor/symfony/serializer/Encoder/XmlEncoder.php @@ -19,6 +19,7 @@ * @author Jordi Boggiano <j.boggiano@seld.be> * @author John Wards <jwards@whiteoctober.co.uk> * @author Fabian Vogler <fabian@equivalence.ch> + * @author Kévin Dunglas <dunglas@gmail.com> */ class XmlEncoder extends SerializerAwareEncoder implements EncoderInterface, DecoderInterface, NormalizationAwareInterface { @@ -515,6 +516,8 @@ private function createDomDocument(array $context) // Set an attribute on the DOM document specifying, as part of the XML declaration, $xmlOptions = array( + // nicely formats output with indentation and extra space + 'xml_format_output' => 'formatOutput', // the version number of the document 'xml_version' => 'xmlVersion', // the encoding of the document diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Exception/CircularReferenceException.php b/core/vendor/symfony/serializer/Exception/CircularReferenceException.php similarity index 100% rename from core/vendor/symfony/serializer/Symfony/Component/Serializer/Exception/CircularReferenceException.php rename to core/vendor/symfony/serializer/Exception/CircularReferenceException.php diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Exception/Exception.php b/core/vendor/symfony/serializer/Exception/Exception.php similarity index 79% rename from core/vendor/symfony/serializer/Symfony/Component/Serializer/Exception/Exception.php rename to core/vendor/symfony/serializer/Exception/Exception.php index dc2b8fd1c3862feceedb2eb806989c0d4d50a675..fc0606e2ff190045126d71d600faf008cab2c12a 100644 --- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Exception/Exception.php +++ b/core/vendor/symfony/serializer/Exception/Exception.php @@ -14,7 +14,7 @@ /** * Base exception. * - * @author Johannes M. Schmitt <schmittjoh@gmail.com> + * @deprecated since version 2.7, to be removed in 3.0. Use ExceptionInterface instead. */ interface Exception { diff --git a/core/vendor/symfony/serializer/Exception/ExceptionInterface.php b/core/vendor/symfony/serializer/Exception/ExceptionInterface.php new file mode 100644 index 0000000000000000000000000000000000000000..ff67edbb022ac4577d623daadb53e7fa7b4b0bc8 --- /dev/null +++ b/core/vendor/symfony/serializer/Exception/ExceptionInterface.php @@ -0,0 +1,21 @@ +<?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\Serializer\Exception; + +/** + * Base exception interface. + * + * @author Johannes M. Schmitt <schmittjoh@gmail.com> + */ +interface ExceptionInterface extends Exception +{ +} diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Exception/InvalidArgumentException.php b/core/vendor/symfony/serializer/Exception/InvalidArgumentException.php similarity index 93% rename from core/vendor/symfony/serializer/Symfony/Component/Serializer/Exception/InvalidArgumentException.php rename to core/vendor/symfony/serializer/Exception/InvalidArgumentException.php index 8cad373a1c26de29922cf61e9ddda9ab5c047d83..f4e645c4487ff34dc1e22d943a3e2d978f706bbd 100644 --- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Exception/InvalidArgumentException.php +++ b/core/vendor/symfony/serializer/Exception/InvalidArgumentException.php @@ -16,6 +16,6 @@ * * @author Johannes M. Schmitt <schmittjoh@gmail.com> */ -class InvalidArgumentException extends \InvalidArgumentException implements Exception +class InvalidArgumentException extends \InvalidArgumentException implements ExceptionInterface { } diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Exception/LogicException.php b/core/vendor/symfony/serializer/Exception/LogicException.php similarity index 97% rename from core/vendor/symfony/serializer/Symfony/Component/Serializer/Exception/LogicException.php rename to core/vendor/symfony/serializer/Exception/LogicException.php index a372bf9471cc553df6ef85b68d84273826b29699..08c53e0ff7a45749514567a743d9a84cf5575c31 100644 --- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Exception/LogicException.php +++ b/core/vendor/symfony/serializer/Exception/LogicException.php @@ -16,6 +16,6 @@ * * @author Lukas Kahwe Smith <smith@pooteeweet.org> */ -class LogicException extends \LogicException implements Exception +class LogicException extends \LogicException implements ExceptionInterface { } diff --git a/core/vendor/symfony/serializer/Exception/MappingException.php b/core/vendor/symfony/serializer/Exception/MappingException.php new file mode 100644 index 0000000000000000000000000000000000000000..8b63dd0a6d3455babaf1dee920f5ace2967f8f3b --- /dev/null +++ b/core/vendor/symfony/serializer/Exception/MappingException.php @@ -0,0 +1,21 @@ +<?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\Serializer\Exception; + +/** + * MappingException + * + * @author Kévin Dunglas <dunglas@gmail.com> + */ +class MappingException extends RuntimeException +{ +} diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Exception/RuntimeException.php b/core/vendor/symfony/serializer/Exception/RuntimeException.php similarity index 96% rename from core/vendor/symfony/serializer/Symfony/Component/Serializer/Exception/RuntimeException.php rename to core/vendor/symfony/serializer/Exception/RuntimeException.php index 027286548971d832cdb6afb9f066246e10fa85fb..a287d97ad4779e58498db697bcc2d5cef8ff539b 100644 --- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Exception/RuntimeException.php +++ b/core/vendor/symfony/serializer/Exception/RuntimeException.php @@ -16,6 +16,6 @@ * * @author Johannes M. Schmitt <schmittjoh@gmail.com> */ -class RuntimeException extends \RuntimeException implements Exception +class RuntimeException extends \RuntimeException implements ExceptionInterface { } diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Exception/UnexpectedValueException.php b/core/vendor/symfony/serializer/Exception/UnexpectedValueException.php similarity index 93% rename from core/vendor/symfony/serializer/Symfony/Component/Serializer/Exception/UnexpectedValueException.php rename to core/vendor/symfony/serializer/Exception/UnexpectedValueException.php index 86cf2040389084f669361adaf130c9fe530d36bc..2a63c5bd3f25f249ee52f9729654277d84497a87 100644 --- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Exception/UnexpectedValueException.php +++ b/core/vendor/symfony/serializer/Exception/UnexpectedValueException.php @@ -16,6 +16,6 @@ * * @author Lukas Kahwe Smith <smith@pooteeweet.org> */ -class UnexpectedValueException extends \UnexpectedValueException implements Exception +class UnexpectedValueException extends \UnexpectedValueException implements ExceptionInterface { } diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Exception/UnsupportedException.php b/core/vendor/symfony/serializer/Exception/UnsupportedException.php similarity index 100% rename from core/vendor/symfony/serializer/Symfony/Component/Serializer/Exception/UnsupportedException.php rename to core/vendor/symfony/serializer/Exception/UnsupportedException.php diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/LICENSE b/core/vendor/symfony/serializer/LICENSE similarity index 100% rename from core/vendor/symfony/serializer/Symfony/Component/Serializer/LICENSE rename to core/vendor/symfony/serializer/LICENSE diff --git a/core/vendor/symfony/serializer/Mapping/AttributeMetadata.php b/core/vendor/symfony/serializer/Mapping/AttributeMetadata.php new file mode 100644 index 0000000000000000000000000000000000000000..7a1d3db94a8096a3ca3822367e480ec958dfa2a2 --- /dev/null +++ b/core/vendor/symfony/serializer/Mapping/AttributeMetadata.php @@ -0,0 +1,94 @@ +<?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\Serializer\Mapping; + +/** + * {@inheritdoc} + * + * @author Kévin Dunglas <dunglas@gmail.com> + */ +class AttributeMetadata implements AttributeMetadataInterface +{ + /** + * @var string + * + * @internal This property is public in order to reduce the size of the + * class' serialized representation. Do not access it. Use + * {@link getName()} instead. + */ + public $name; + + /** + * @var array + * + * @internal This property is public in order to reduce the size of the + * class' serialized representation. Do not access it. Use + * {@link getGroups()} instead. + */ + public $groups = array(); + + /** + * Constructs a metadata for the given attribute. + * + * @param string $name + */ + public function __construct($name) + { + $this->name = $name; + } + + /** + * {@inheritdoc} + */ + public function getName() + { + return $this->name; + } + + /** + * {@inheritdoc} + */ + public function addGroup($group) + { + if (!in_array($group, $this->groups)) { + $this->groups[] = $group; + } + } + + /** + * {@inheritdoc} + */ + public function getGroups() + { + return $this->groups; + } + + /** + * {@inheritdoc} + */ + public function merge(AttributeMetadataInterface $attributeMetadata) + { + foreach ($attributeMetadata->getGroups() as $group) { + $this->addGroup($group); + } + } + + /** + * Returns the names of the properties that should be serialized. + * + * @return string[] + */ + public function __sleep() + { + return array('name', 'groups'); + } +} diff --git a/core/vendor/symfony/serializer/Mapping/AttributeMetadataInterface.php b/core/vendor/symfony/serializer/Mapping/AttributeMetadataInterface.php new file mode 100644 index 0000000000000000000000000000000000000000..0701a58b562573a5c8dbd74277e7d80dafebe806 --- /dev/null +++ b/core/vendor/symfony/serializer/Mapping/AttributeMetadataInterface.php @@ -0,0 +1,50 @@ +<?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\Serializer\Mapping; + +/** + * Stores metadata needed for serializing and deserializing attributes. + * + * Primarily, the metadata stores serialization groups. + * + * @author Kévin Dunglas <dunglas@gmail.com> + */ +interface AttributeMetadataInterface +{ + /** + * Gets the attribute name. + * + * @return string + */ + public function getName(); + + /** + * Adds this attribute to the given group. + * + * @param string $group + */ + public function addGroup($group); + + /** + * Gets groups of this attribute. + * + * @return string[] + */ + public function getGroups(); + + /** + * Merges an {@see AttributeMetadataInterface} with in the current one. + * + * @param AttributeMetadataInterface $attributeMetadata + */ + public function merge(AttributeMetadataInterface $attributeMetadata); +} diff --git a/core/vendor/symfony/serializer/Mapping/ClassMetadata.php b/core/vendor/symfony/serializer/Mapping/ClassMetadata.php new file mode 100644 index 0000000000000000000000000000000000000000..3794a7451b55eaa0ecba2773891e61967fa957fe --- /dev/null +++ b/core/vendor/symfony/serializer/Mapping/ClassMetadata.php @@ -0,0 +1,116 @@ +<?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\Serializer\Mapping; + +/** + * {@inheritdoc} + * + * @author Kévin Dunglas <dunglas@gmail.com> + */ +class ClassMetadata implements ClassMetadataInterface +{ + /** + * @var string + * + * @internal This property is public in order to reduce the size of the + * class' serialized representation. Do not access it. Use + * {@link getName()} instead. + */ + public $name; + + /** + * @var AttributeMetadataInterface[] + * + * @internal This property is public in order to reduce the size of the + * class' serialized representation. Do not access it. Use + * {@link getAttributesMetadata()} instead. + */ + public $attributesMetadata = array(); + + /** + * @var \ReflectionClass + */ + private $reflClass; + + /** + * Constructs a metadata for the given class. + * + * @param string $class + */ + public function __construct($class) + { + $this->name = $class; + } + + /** + * {@inheritdoc} + */ + public function getName() + { + return $this->name; + } + + /** + * {@inheritdoc} + */ + public function addAttributeMetadata(AttributeMetadataInterface $attributeMetadata) + { + $this->attributesMetadata[$attributeMetadata->getName()] = $attributeMetadata; + } + + /** + * {@inheritdoc} + */ + public function getAttributesMetadata() + { + return $this->attributesMetadata; + } + + /** + * {@inheritdoc} + */ + public function merge(ClassMetadataInterface $classMetadata) + { + foreach ($classMetadata->getAttributesMetadata() as $attributeMetadata) { + if (isset($this->attributesMetadata[$attributeMetadata->getName()])) { + $this->attributesMetadata[$attributeMetadata->getName()]->merge($attributeMetadata); + } else { + $this->addAttributeMetadata($attributeMetadata); + } + } + } + + /** + * {@inheritdoc} + */ + public function getReflectionClass() + { + if (!$this->reflClass) { + $this->reflClass = new \ReflectionClass($this->getName()); + } + + return $this->reflClass; + } + + /** + * Returns the names of the properties that should be serialized. + * + * @return string[] + */ + public function __sleep() + { + return array( + 'name', + 'attributes', + ); + } +} diff --git a/core/vendor/symfony/serializer/Mapping/ClassMetadataInterface.php b/core/vendor/symfony/serializer/Mapping/ClassMetadataInterface.php new file mode 100644 index 0000000000000000000000000000000000000000..c967666bd7e6e80e855b918b3e29e291ea997831 --- /dev/null +++ b/core/vendor/symfony/serializer/Mapping/ClassMetadataInterface.php @@ -0,0 +1,57 @@ +<?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\Serializer\Mapping; + +/** + * Stores metadata needed for serializing and deserializing objects of specific class. + * + * Primarily, the metadata stores the list of attributes to serialize or deserialize. + * + * @author Kévin Dunglas <dunglas@gmail.com> + */ +interface ClassMetadataInterface +{ + /** + * Returns the name of the backing PHP class. + * + * @return string The name of the backing class. + */ + public function getName(); + + /** + * Adds an {@link AttributeMetadataInterface}. + * + * @param AttributeMetadataInterface $attributeMetadata + */ + public function addAttributeMetadata(AttributeMetadataInterface $attributeMetadata); + + /** + * Gets the list of {@link AttributeMetadataInterface}. + * + * @return AttributeMetadataInterface[] + */ + public function getAttributesMetadata(); + + /** + * Merges a {@link ClassMetadataInterface} in the current one. + * + * @param ClassMetadataInterface $classMetadata + */ + public function merge(ClassMetadataInterface $classMetadata); + + /** + * Returns a {@link \ReflectionClass} instance for this class. + * + * @return \ReflectionClass + */ + public function getReflectionClass(); +} diff --git a/core/vendor/symfony/serializer/Mapping/Factory/ClassMetadataFactory.php b/core/vendor/symfony/serializer/Mapping/Factory/ClassMetadataFactory.php new file mode 100644 index 0000000000000000000000000000000000000000..344d633b26cda2d4ff0f5508a2ee7f0c79b66baf --- /dev/null +++ b/core/vendor/symfony/serializer/Mapping/Factory/ClassMetadataFactory.php @@ -0,0 +1,118 @@ +<?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\Serializer\Mapping\Factory; + +use Doctrine\Common\Cache\Cache; +use Symfony\Component\Serializer\Exception\InvalidArgumentException; +use Symfony\Component\Serializer\Mapping\ClassMetadata; +use Symfony\Component\Serializer\Mapping\Loader\LoaderInterface; + +/** + * Returns a {@link ClassMetadata}. + * + * @author Kévin Dunglas <dunglas@gmail.com> + */ +class ClassMetadataFactory implements ClassMetadataFactoryInterface +{ + /** + * @var LoaderInterface + */ + private $loader; + /** + * @var Cache + */ + private $cache; + /** + * @var array + */ + private $loadedClasses; + + /** + * @param LoaderInterface $loader + * @param Cache|null $cache + */ + public function __construct(LoaderInterface $loader, Cache $cache = null) + { + $this->loader = $loader; + $this->cache = $cache; + } + + /** + * {@inheritdoc} + */ + public function getMetadataFor($value) + { + $class = $this->getClass($value); + if (!$class) { + throw new InvalidArgumentException(sprintf('Cannot create metadata for non-objects. Got: "%s"', gettype($value))); + } + + if (isset($this->loadedClasses[$class])) { + return $this->loadedClasses[$class]; + } + + if ($this->cache && ($this->loadedClasses[$class] = $this->cache->fetch($class))) { + return $this->loadedClasses[$class]; + } + + if (!class_exists($class) && !interface_exists($class)) { + throw new InvalidArgumentException(sprintf('The class or interface "%s" does not exist.', $class)); + } + + $classMetadata = new ClassMetadata($class); + $this->loader->loadClassMetadata($classMetadata); + + $reflectionClass = $classMetadata->getReflectionClass(); + + // Include metadata from the parent class + if ($parent = $reflectionClass->getParentClass()) { + $classMetadata->merge($this->getMetadataFor($parent->name)); + } + + // Include metadata from all implemented interfaces + foreach ($reflectionClass->getInterfaces() as $interface) { + $classMetadata->merge($this->getMetadataFor($interface->name)); + } + + if ($this->cache) { + $this->cache->save($class, $classMetadata); + } + + return $this->loadedClasses[$class] = $classMetadata; + } + + /** + * {@inheritdoc} + */ + public function hasMetadataFor($value) + { + $class = $this->getClass($value); + + return class_exists($class) || interface_exists($class); + } + + /** + * Gets a class name for a given class or instance. + * + * @param mixed $value + * + * @return string|bool + */ + private function getClass($value) + { + if (!is_object($value) && !is_string($value)) { + return false; + } + + return ltrim(is_object($value) ? get_class($value) : $value, '\\'); + } +} diff --git a/core/vendor/symfony/serializer/Mapping/Factory/ClassMetadataFactoryInterface.php b/core/vendor/symfony/serializer/Mapping/Factory/ClassMetadataFactoryInterface.php new file mode 100644 index 0000000000000000000000000000000000000000..7ef91a82318c6c84f3192eece22404f776d471ca --- /dev/null +++ b/core/vendor/symfony/serializer/Mapping/Factory/ClassMetadataFactoryInterface.php @@ -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\Serializer\Mapping\Factory; + +use Symfony\Component\Serializer\Exception\InvalidArgumentException; +use Symfony\Component\Serializer\Mapping\ClassMetadataInterface; + +/** + * Returns a {@see ClassMetadataInterface}. + * + * @author Kévin Dunglas <dunglas@gmail.com> + */ +interface ClassMetadataFactoryInterface +{ + /** + * If the method was called with the same class name (or an object of that + * class) before, the same metadata instance is returned. + * + * If the factory was configured with a cache, this method will first look + * for an existing metadata instance in the cache. If an existing instance + * is found, it will be returned without further ado. + * + * Otherwise, a new metadata instance is created. If the factory was + * configured with a loader, the metadata is passed to the + * {@link \Symfony\Component\Serializer\Mapping\Loader\LoaderInterface::loadClassMetadata()} method for further + * configuration. At last, the new object is returned. + * + * @param string|object $value + * + * @return ClassMetadataInterface + * + * @throws InvalidArgumentException + */ + public function getMetadataFor($value); + + /** + * Checks if class has metadata. + * + * @param mixed $value + * + * @return bool + */ + public function hasMetadataFor($value); +} diff --git a/core/vendor/symfony/serializer/Mapping/Loader/AnnotationLoader.php b/core/vendor/symfony/serializer/Mapping/Loader/AnnotationLoader.php new file mode 100644 index 0000000000000000000000000000000000000000..801c317767ac0c25e030232127937583eab795e2 --- /dev/null +++ b/core/vendor/symfony/serializer/Mapping/Loader/AnnotationLoader.php @@ -0,0 +1,99 @@ +<?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\Serializer\Mapping\Loader; + +use Doctrine\Common\Annotations\Reader; +use Symfony\Component\Serializer\Annotation\Groups; +use Symfony\Component\Serializer\Exception\MappingException; +use Symfony\Component\Serializer\Mapping\AttributeMetadata; +use Symfony\Component\Serializer\Mapping\ClassMetadataInterface; + +/** + * Annotation loader. + * + * @author Kévin Dunglas <dunglas@gmail.com> + */ +class AnnotationLoader implements LoaderInterface +{ + /** + * @var Reader + */ + private $reader; + + /** + * @param Reader $reader + */ + public function __construct(Reader $reader) + { + $this->reader = $reader; + } + + /** + * {@inheritdoc} + */ + public function loadClassMetadata(ClassMetadataInterface $classMetadata) + { + $reflectionClass = $classMetadata->getReflectionClass(); + $className = $reflectionClass->name; + $loaded = false; + + $attributesMetadata = $classMetadata->getAttributesMetadata(); + + foreach ($reflectionClass->getProperties() as $property) { + if (!isset($attributeMetadata[$property->name])) { + $attributesMetadata[$property->name] = new AttributeMetadata($property->name); + $classMetadata->addAttributeMetadata($attributesMetadata[$property->name]); + } + + if ($property->getDeclaringClass()->name === $className) { + foreach ($this->reader->getPropertyAnnotations($property) as $groups) { + if ($groups instanceof Groups) { + foreach ($groups->getGroups() as $group) { + $attributesMetadata[$property->name]->addGroup($group); + } + } + + $loaded = true; + } + } + } + + foreach ($reflectionClass->getMethods() as $method) { + if ($method->getDeclaringClass()->name === $className) { + foreach ($this->reader->getMethodAnnotations($method) as $groups) { + if ($groups instanceof Groups) { + if (preg_match('/^(get|is|has|set)(.+)$/i', $method->name, $matches)) { + $attributeName = lcfirst($matches[2]); + + if (isset($attributesMetadata[$attributeName])) { + $attributeMetadata = $attributesMetadata[$attributeName]; + } else { + $attributesMetadata[$attributeName] = $attributeMetadata = new AttributeMetadata($attributeName); + $classMetadata->addAttributeMetadata($attributeMetadata); + } + + foreach ($groups->getGroups() as $group) { + $attributeMetadata->addGroup($group); + } + } else { + throw new MappingException(sprintf('Groups on "%s::%s" cannot be added. Groups can only be added on methods beginning with "get", "is", "has" or "set".', $className, $method->name)); + } + } + + $loaded = true; + } + } + } + + return $loaded; + } +} diff --git a/core/vendor/symfony/serializer/Mapping/Loader/FileLoader.php b/core/vendor/symfony/serializer/Mapping/Loader/FileLoader.php new file mode 100644 index 0000000000000000000000000000000000000000..38bb59389a6dd9dea13247ec3d04aa595521df57 --- /dev/null +++ b/core/vendor/symfony/serializer/Mapping/Loader/FileLoader.php @@ -0,0 +1,47 @@ +<?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\Serializer\Mapping\Loader; + +use Symfony\Component\Serializer\Exception\MappingException; + +/** + * Base class for all file based loaders. + * + * @author Kévin Dunglas <dunglas@gmail.com> + */ +abstract class FileLoader implements LoaderInterface +{ + /** + * @var string + */ + protected $file; + + /** + * Constructor. + * + * @param string $file The mapping file to load + * + * @throws MappingException if the mapping file does not exist or is not readable + */ + public function __construct($file) + { + if (!is_file($file)) { + throw new MappingException(sprintf('The mapping file %s does not exist', $file)); + } + + if (!is_readable($file)) { + throw new MappingException(sprintf('The mapping file %s is not readable', $file)); + } + + $this->file = $file; + } +} diff --git a/core/vendor/symfony/serializer/Mapping/Loader/LoaderChain.php b/core/vendor/symfony/serializer/Mapping/Loader/LoaderChain.php new file mode 100644 index 0000000000000000000000000000000000000000..8bf1c17da9d92ed98992657cc759caaa79e5fc87 --- /dev/null +++ b/core/vendor/symfony/serializer/Mapping/Loader/LoaderChain.php @@ -0,0 +1,66 @@ +<?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\Serializer\Mapping\Loader; + +use Symfony\Component\Serializer\Exception\MappingException; +use Symfony\Component\Serializer\Mapping\ClassMetadataInterface; + +/** + * Calls multiple {@link LoaderInterface} instances in a chain. + * + * This class accepts multiple instances of LoaderInterface to be passed to the + * constructor. When {@link loadClassMetadata()} is called, the same method is called + * in <em>all</em> of these loaders, regardless of whether any of them was + * successful or not. + * + * @author Bernhard Schussek <bschussek@gmail.com> + * @author Kévin Dunglas <dunglas@gmail.com> + */ +class LoaderChain implements LoaderInterface +{ + /** + * @var LoaderInterface[] + */ + private $loaders; + + /** + * Accepts a list of LoaderInterface instances. + * + * @param LoaderInterface[] $loaders An array of LoaderInterface instances + * + * @throws MappingException If any of the loaders does not implement LoaderInterface + */ + public function __construct(array $loaders) + { + foreach ($loaders as $loader) { + if (!$loader instanceof LoaderInterface) { + throw new MappingException(sprintf('Class %s is expected to implement LoaderInterface', get_class($loader))); + } + } + + $this->loaders = $loaders; + } + + /** + * {@inheritdoc} + */ + public function loadClassMetadata(ClassMetadataInterface $metadata) + { + $success = false; + + foreach ($this->loaders as $loader) { + $success = $loader->loadClassMetadata($metadata) || $success; + } + + return $success; + } +} diff --git a/core/vendor/symfony/serializer/Mapping/Loader/LoaderInterface.php b/core/vendor/symfony/serializer/Mapping/Loader/LoaderInterface.php new file mode 100644 index 0000000000000000000000000000000000000000..ebf84b6a961303390211463a157944a69299522a --- /dev/null +++ b/core/vendor/symfony/serializer/Mapping/Loader/LoaderInterface.php @@ -0,0 +1,31 @@ +<?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\Serializer\Mapping\Loader; + +use Symfony\Component\Serializer\Mapping\ClassMetadataInterface; + +/** + * Loads {@link ClassMetadataInterface}. + * + * @author Kévin Dunglas <dunglas@gmail.com> + */ +interface LoaderInterface +{ + /** + * Load class metadata. + * + * @param ClassMetadataInterface $classMetadata A metadata + * + * @return bool + */ + public function loadClassMetadata(ClassMetadataInterface $classMetadata); +} diff --git a/core/vendor/symfony/serializer/Mapping/Loader/XmlFileLoader.php b/core/vendor/symfony/serializer/Mapping/Loader/XmlFileLoader.php new file mode 100644 index 0000000000000000000000000000000000000000..0da2f7d690ff668a8773208deae31162e4f87c23 --- /dev/null +++ b/core/vendor/symfony/serializer/Mapping/Loader/XmlFileLoader.php @@ -0,0 +1,92 @@ +<?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\Serializer\Mapping\Loader; + +use Symfony\Component\Config\Util\XmlUtils; +use Symfony\Component\Serializer\Exception\MappingException; +use Symfony\Component\Serializer\Mapping\AttributeMetadata; +use Symfony\Component\Serializer\Mapping\ClassMetadataInterface; + +/** + * Loads XML mapping files. + * + * @author Kévin Dunglas <dunglas@gmail.com> + */ +class XmlFileLoader extends FileLoader +{ + /** + * An array of {@class \SimpleXMLElement} instances. + * + * @var \SimpleXMLElement[]|null + */ + private $classes; + + /** + * {@inheritdoc} + */ + public function loadClassMetadata(ClassMetadataInterface $classMetadata) + { + if (null === $this->classes) { + $this->classes = array(); + $xml = $this->parseFile($this->file); + + foreach ($xml->class as $class) { + $this->classes[(string) $class['name']] = $class; + } + } + + $attributesMetadata = $classMetadata->getAttributesMetadata(); + + if (isset($this->classes[$classMetadata->getName()])) { + $xml = $this->classes[$classMetadata->getName()]; + + foreach ($xml->attribute as $attribute) { + $attributeName = (string) $attribute['name']; + + if (isset($attributesMetadata[$attributeName])) { + $attributeMetadata = $attributesMetadata[$attributeName]; + } else { + $attributeMetadata = new AttributeMetadata($attributeName); + $classMetadata->addAttributeMetadata($attributeMetadata); + } + + foreach ($attribute->group as $group) { + $attributeMetadata->addGroup((string) $group); + } + } + + return true; + } + + return false; + } + + /** + * Parses a XML File. + * + * @param string $file Path of file + * + * @return \SimpleXMLElement + * + * @throws MappingException + */ + private function parseFile($file) + { + try { + $dom = XmlUtils::loadFile($file, __DIR__.'/schema/dic/serializer-mapping/serializer-mapping-1.0.xsd'); + } catch (\Exception $e) { + throw new MappingException($e->getMessage(), $e->getCode(), $e); + } + + return simplexml_import_dom($dom); + } +} diff --git a/core/vendor/symfony/serializer/Mapping/Loader/YamlFileLoader.php b/core/vendor/symfony/serializer/Mapping/Loader/YamlFileLoader.php new file mode 100644 index 0000000000000000000000000000000000000000..1c5d5e82e63f0b0c3b5900ceaef78bb2c06cc798 --- /dev/null +++ b/core/vendor/symfony/serializer/Mapping/Loader/YamlFileLoader.php @@ -0,0 +1,89 @@ +<?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\Serializer\Mapping\Loader; + +use Symfony\Component\Serializer\Exception\MappingException; +use Symfony\Component\Serializer\Mapping\AttributeMetadata; +use Symfony\Component\Serializer\Mapping\ClassMetadataInterface; +use Symfony\Component\Yaml\Parser; + +/** + * YAML File Loader. + * + * @author Kévin Dunglas <dunglas@gmail.com> + */ +class YamlFileLoader extends FileLoader +{ + private $yamlParser; + + /** + * An array of YAML class descriptions + * + * @var array + */ + private $classes = null; + + /** + * {@inheritdoc} + */ + public function loadClassMetadata(ClassMetadataInterface $classMetadata) + { + if (null === $this->classes) { + if (!stream_is_local($this->file)) { + throw new MappingException(sprintf('This is not a local file "%s".', $this->file)); + } + + if (null === $this->yamlParser) { + $this->yamlParser = new Parser(); + } + + $classes = $this->yamlParser->parse(file_get_contents($this->file)); + + if (empty($classes)) { + return false; + } + + // not an array + if (!is_array($classes)) { + throw new MappingException(sprintf('The file "%s" must contain a YAML array.', $this->file)); + } + + $this->classes = $classes; + } + + if (isset($this->classes[$classMetadata->getName()])) { + $yaml = $this->classes[$classMetadata->getName()]; + + if (isset($yaml['attributes']) && is_array($yaml['attributes'])) { + $attributesMetadata = $classMetadata->getAttributesMetadata(); + foreach ($yaml['attributes'] as $attribute => $data) { + if (isset($attributesMetadata[$attribute])) { + $attributeMetadata = $attributesMetadata[$attribute]; + } else { + $attributeMetadata = new AttributeMetadata($attribute); + $classMetadata->addAttributeMetadata($attributeMetadata); + } + + if (isset($data['groups'])) { + foreach ($data['groups'] as $group) { + $attributeMetadata->addGroup($group); + } + } + } + } + + return true; + } + + return false; + } +} diff --git a/core/vendor/symfony/serializer/Mapping/Loader/schema/dic/serializer-mapping/serializer-mapping-1.0.xsd b/core/vendor/symfony/serializer/Mapping/Loader/schema/dic/serializer-mapping/serializer-mapping-1.0.xsd new file mode 100644 index 0000000000000000000000000000000000000000..cd5a9a9f0df820068edf37ab8ac789f6e5e0a5bc --- /dev/null +++ b/core/vendor/symfony/serializer/Mapping/Loader/schema/dic/serializer-mapping/serializer-mapping-1.0.xsd @@ -0,0 +1,56 @@ +<?xml version="1.0" ?> + +<xsd:schema xmlns="http://symfony.com/schema/dic/serializer-mapping" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + targetNamespace="http://symfony.com/schema/dic/serializer-mapping" + elementFormDefault="qualified"> + + <xsd:annotation> + <xsd:documentation><![CDATA[ + Symfony Serializer Mapping Schema, version 1.0 + Authors: Kévin Dunglas + + A serializer mapping connects attributes with serialization groups. + ]]></xsd:documentation> + </xsd:annotation> + + <xsd:element name="serializer" type="serializer" /> + + <xsd:complexType name="serializer"> + <xsd:annotation> + <xsd:documentation><![CDATA[ + The root element of the serializer mapping definition. + ]]></xsd:documentation> + </xsd:annotation> + <xsd:choice minOccurs="0" maxOccurs="unbounded"> + <xsd:element name="class" type="class" /> + </xsd:choice> + </xsd:complexType> + + <xsd:complexType name="class"> + <xsd:annotation> + <xsd:documentation><![CDATA[ + Contains serialization groups for a single class. + + Nested elements may be class property and/or getter definitions. + ]]></xsd:documentation> + </xsd:annotation> + <xsd:choice minOccurs="0" maxOccurs="unbounded"> + <xsd:element name="attribute" type="attribute" minOccurs="0" maxOccurs="unbounded" /> + </xsd:choice> + <xsd:attribute name="name" type="xsd:string" use="required" /> + </xsd:complexType> + + <xsd:complexType name="attribute"> + <xsd:annotation> + <xsd:documentation><![CDATA[ + Contains serialization groups for a attributes. The name of the attribute should be given in the "name" option. + ]]></xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="group" type="xsd:string" maxOccurs="unbounded" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" /> + </xsd:complexType> + +</xsd:schema> diff --git a/core/vendor/symfony/serializer/NameConverter/CamelCaseToSnakeCaseNameConverter.php b/core/vendor/symfony/serializer/NameConverter/CamelCaseToSnakeCaseNameConverter.php new file mode 100644 index 0000000000000000000000000000000000000000..27f4eee59a71a3eb5cb80dbcebcebf1c0288861e --- /dev/null +++ b/core/vendor/symfony/serializer/NameConverter/CamelCaseToSnakeCaseNameConverter.php @@ -0,0 +1,82 @@ +<?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\Serializer\NameConverter; + +/** + * CamelCase to Underscore name converter. + * + * @author Kévin Dunglas <dunglas@gmail.com> + */ +class CamelCaseToSnakeCaseNameConverter implements NameConverterInterface +{ + /** + * @var array|null + */ + private $attributes; + /** + * @var bool + */ + private $lowerCamelCase; + + /** + * @param null|array $attributes The list of attributes to rename or null for all attributes. + * @param bool $lowerCamelCase Use lowerCamelCase style. + */ + public function __construct(array $attributes = null, $lowerCamelCase = true) + { + $this->attributes = $attributes; + $this->lowerCamelCase = $lowerCamelCase; + } + + /** + * {@inheritdoc} + */ + public function normalize($propertyName) + { + if (null === $this->attributes || in_array($propertyName, $this->attributes)) { + $snakeCasedName = ''; + + $len = strlen($propertyName); + for ($i = 0; $i < $len; $i++) { + if (ctype_upper($propertyName[$i])) { + $snakeCasedName .= '_'.strtolower($propertyName[$i]); + } else { + $snakeCasedName .= strtolower($propertyName[$i]); + } + } + + return $snakeCasedName; + } + + return $propertyName; + } + + /** + * {@inheritdoc} + */ + public function denormalize($propertyName) + { + $camelCasedName = preg_replace_callback('/(^|_|\.)+(.)/', function ($match) { + return ('.' === $match[1] ? '_' : '').strtoupper($match[2]); + }, $propertyName); + + if ($this->lowerCamelCase) { + $camelCasedName = lcfirst($camelCasedName); + } + + if (null === $this->attributes || in_array($camelCasedName, $this->attributes)) { + return $this->lowerCamelCase ? lcfirst($camelCasedName) : $camelCasedName; + } + + return $propertyName; + } +} diff --git a/core/vendor/symfony/serializer/NameConverter/NameConverterInterface.php b/core/vendor/symfony/serializer/NameConverter/NameConverterInterface.php new file mode 100644 index 0000000000000000000000000000000000000000..306e6541218e032372a250795c4d4a24ce32d617 --- /dev/null +++ b/core/vendor/symfony/serializer/NameConverter/NameConverterInterface.php @@ -0,0 +1,36 @@ +<?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\Serializer\NameConverter; + +/** + * Defines the interface for property name converters. + * + * @author Kévin Dunglas <dunglas@gmail.com> + */ +interface NameConverterInterface +{ + /** + * Converts a property name to its normalized value. + * + * @param string $propertyName + * @return string + */ + public function normalize($propertyName); + + /** + * Converts a property name to its denormalized value. + * + * @param string $propertyName + * @return string + */ + public function denormalize($propertyName); +} diff --git a/core/vendor/symfony/serializer/Normalizer/AbstractNormalizer.php b/core/vendor/symfony/serializer/Normalizer/AbstractNormalizer.php new file mode 100644 index 0000000000000000000000000000000000000000..8e89dd509614f812ea614ce893d80a3345f52cd1 --- /dev/null +++ b/core/vendor/symfony/serializer/Normalizer/AbstractNormalizer.php @@ -0,0 +1,349 @@ +<?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\Serializer\Normalizer; + +use Symfony\Component\Serializer\Exception\CircularReferenceException; +use Symfony\Component\Serializer\Exception\InvalidArgumentException; +use Symfony\Component\Serializer\Exception\LogicException; +use Symfony\Component\Serializer\Exception\RuntimeException; +use Symfony\Component\Serializer\Mapping\Factory\ClassMetadataFactoryInterface; +use Symfony\Component\Serializer\Mapping\AttributeMetadataInterface; +use Symfony\Component\Serializer\NameConverter\CamelCaseToSnakeCaseNameConverter; +use Symfony\Component\Serializer\NameConverter\NameConverterInterface; + +/** + * Normalizer implementation. + * + * @author Kévin Dunglas <dunglas@gmail.com> + */ +abstract class AbstractNormalizer extends SerializerAwareNormalizer implements NormalizerInterface, DenormalizerInterface +{ + /** + * @var int + */ + protected $circularReferenceLimit = 1; + /** + * @var callable + */ + protected $circularReferenceHandler; + /** + * @var ClassMetadataFactoryInterface|null + */ + protected $classMetadataFactory; + /** + * @var NameConverterInterface|null + */ + protected $nameConverter; + /** + * @var array + */ + protected $callbacks = array(); + /** + * @var array + */ + protected $ignoredAttributes = array(); + /** + * @var array + */ + protected $camelizedAttributes = array(); + + /** + * Sets the {@link ClassMetadataFactoryInterface} to use. + * + * @param ClassMetadataFactoryInterface|null $classMetadataFactory + * @param NameConverterInterface|null $nameConverter + */ + public function __construct(ClassMetadataFactoryInterface $classMetadataFactory = null, NameConverterInterface $nameConverter = null) + { + $this->classMetadataFactory = $classMetadataFactory; + $this->nameConverter = $nameConverter; + } + + /** + * Set circular reference limit. + * + * @param int $circularReferenceLimit limit of iterations for the same object + * + * @return self + */ + public function setCircularReferenceLimit($circularReferenceLimit) + { + $this->circularReferenceLimit = $circularReferenceLimit; + + return $this; + } + + /** + * Set circular reference handler. + * + * @param callable $circularReferenceHandler + * + * @return self + * + * @throws InvalidArgumentException + */ + public function setCircularReferenceHandler($circularReferenceHandler) + { + if (!is_callable($circularReferenceHandler)) { + throw new InvalidArgumentException('The given circular reference handler is not callable.'); + } + + $this->circularReferenceHandler = $circularReferenceHandler; + + return $this; + } + + /** + * Set normalization callbacks. + * + * @param array $callbacks help normalize the result + * + * @return self + * + * @throws InvalidArgumentException if a non-callable callback is set + */ + public function setCallbacks(array $callbacks) + { + foreach ($callbacks as $attribute => $callback) { + if (!is_callable($callback)) { + throw new InvalidArgumentException(sprintf( + 'The given callback for attribute "%s" is not callable.', + $attribute + )); + } + } + $this->callbacks = $callbacks; + + return $this; + } + + /** + * Set ignored attributes for normalization and denormalization. + * + * @param array $ignoredAttributes + * + * @return self + */ + public function setIgnoredAttributes(array $ignoredAttributes) + { + $this->ignoredAttributes = $ignoredAttributes; + + return $this; + } + + /** + * Set attributes to be camelized on denormalize. + * + * @deprecated Deprecated since version 2.7, to be removed in 3.0. Use Symfony\Component\Serializer\NameConverter\CamelCaseToSnakeCaseNameConverter instead. + * + * @param array $camelizedAttributes + * + * @return self + * + * @throws LogicException + */ + public function setCamelizedAttributes(array $camelizedAttributes) + { + trigger_error(sprintf('%s is deprecated since version 2.7 and will be removed in 3.0. Use Symfony\Component\Serializer\NameConverter\CamelCaseToSnakeCaseNameConverter instead.', __METHOD__), E_USER_DEPRECATED); + + if ($this->nameConverter && !$this->nameConverter instanceof CamelCaseToSnakeCaseNameConverter) { + throw new LogicException(sprintf('%s cannot be called if a custom Name Converter is defined.', __METHOD__)); + } + + $attributes = array(); + foreach ($camelizedAttributes as $camelizedAttribute) { + $attributes[] = lcfirst(preg_replace_callback('/(^|_|\.)+(.)/', function ($match) { + return ('.' === $match[1] ? '_' : '').strtoupper($match[2]); + }, $camelizedAttribute)); + } + + $this->nameConverter = new CamelCaseToSnakeCaseNameConverter($attributes); + + return $this; + } + + /** + * Detects if the configured circular reference limit is reached. + * + * @param object $object + * @param array $context + * + * @return bool + * + * @throws CircularReferenceException + */ + protected function isCircularReference($object, &$context) + { + $objectHash = spl_object_hash($object); + + if (isset($context['circular_reference_limit'][$objectHash])) { + if ($context['circular_reference_limit'][$objectHash] >= $this->circularReferenceLimit) { + unset($context['circular_reference_limit'][$objectHash]); + + return true; + } + + $context['circular_reference_limit'][$objectHash]++; + } else { + $context['circular_reference_limit'][$objectHash] = 1; + } + + return false; + } + + /** + * Handles a circular reference. + * + * If a circular reference handler is set, it will be called. Otherwise, a + * {@class CircularReferenceException} will be thrown. + * + * @param object $object + * + * @return mixed + * + * @throws CircularReferenceException + */ + protected function handleCircularReference($object) + { + if ($this->circularReferenceHandler) { + return call_user_func($this->circularReferenceHandler, $object); + } + + throw new CircularReferenceException(sprintf('A circular reference has been detected (configured limit: %d).', $this->circularReferenceLimit)); + } + + /** + * Format an attribute name, for example to convert a snake_case name to camelCase. + * + * @deprecated Deprecated since version 2.7, to be removed in 3.0. Use Symfony\Component\Serializer\NameConverter\CamelCaseToSnakeCaseNameConverter instead. + * + * @param string $attributeName + * + * @return string + */ + protected function formatAttribute($attributeName) + { + trigger_error(sprintf('%s is deprecated since version 2.7 and will be removed in 3.0. Use Symfony\Component\Serializer\NameConverter\CamelCaseToSnakeCaseNameConverter instead.', __METHOD__), E_USER_DEPRECATED); + + return $this->nameConverter ? $this->nameConverter->normalize($attributeName) : $attributeName; + } + + /** + * Gets attributes to normalize using groups. + * + * @param string|object $classOrObject + * @param array $context + * @param bool $attributesAsString If false, return an array of {@link AttributeMetadataInterface} + * + * @return string[]|AttributeMetadataInterface[]|bool + */ + protected function getAllowedAttributes($classOrObject, array $context, $attributesAsString = false) + { + if (!$this->classMetadataFactory || !isset($context['groups']) || !is_array($context['groups'])) { + return false; + } + + $allowedAttributes = array(); + foreach ($this->classMetadataFactory->getMetadataFor($classOrObject)->getAttributesMetadata() as $attributeMetadata) { + if (count(array_intersect($attributeMetadata->getGroups(), $context['groups']))) { + $allowedAttributes[] = $attributesAsString ? $attributeMetadata->getName() : $attributeMetadata; + } + } + + return array_unique($allowedAttributes); + } + + /** + * Normalizes the given data to an array. It's particularly useful during + * the denormalization process. + * + * @param object|array $data + * + * @return array + */ + protected function prepareForDenormalization($data) + { + if (is_array($data) || is_object($data) && $data instanceof \ArrayAccess) { + $normalizedData = $data; + } elseif (is_object($data)) { + $normalizedData = array(); + + foreach ($data as $attribute => $value) { + $normalizedData[$attribute] = $value; + } + } else { + $normalizedData = array(); + } + + return $normalizedData; + } + + /** + * Instantiates an object using contructor parameters when needed. + * + * This method also allows to denormalize data into an existing object if + * it is present in the context with the object_to_populate key. + * + * @param array $data + * @param string $class + * @param array $context + * @param \ReflectionClass $reflectionClass + * @param array|bool $allowedAttributes + * + * @return object + * + * @throws RuntimeException + */ + protected function instantiateObject(array $data, $class, array &$context, \ReflectionClass $reflectionClass, $allowedAttributes) + { + if ( + isset($context['object_to_populate']) && + is_object($context['object_to_populate']) && + $class === get_class($context['object_to_populate']) + ) { + return $context['object_to_populate']; + } + + $constructor = $reflectionClass->getConstructor(); + if ($constructor) { + $constructorParameters = $constructor->getParameters(); + + $params = array(); + foreach ($constructorParameters as $constructorParameter) { + $paramName = $constructorParameter->name; + $key = $this->nameConverter ? $this->nameConverter->normalize($paramName) : $paramName; + + $allowed = $allowedAttributes === false || in_array($paramName, $allowedAttributes); + $ignored = in_array($paramName, $this->ignoredAttributes); + if ($allowed && !$ignored && array_key_exists($key, $data)) { + $params[] = $data[$key]; + // don't run set for a parameter passed to the constructor + unset($data[$key]); + } elseif ($constructorParameter->isDefaultValueAvailable()) { + $params[] = $constructorParameter->getDefaultValue(); + } else { + throw new RuntimeException( + sprintf( + 'Cannot create an instance of %s from serialized data because its constructor requires parameter "%s" to be present.', + $class, + $constructorParameter->name + ) + ); + } + } + + return $reflectionClass->newInstanceArgs($params); + } + + return new $class(); + } +} diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Normalizer/CustomNormalizer.php b/core/vendor/symfony/serializer/Normalizer/CustomNormalizer.php similarity index 100% rename from core/vendor/symfony/serializer/Symfony/Component/Serializer/Normalizer/CustomNormalizer.php rename to core/vendor/symfony/serializer/Normalizer/CustomNormalizer.php diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Normalizer/DenormalizableInterface.php b/core/vendor/symfony/serializer/Normalizer/DenormalizableInterface.php similarity index 100% rename from core/vendor/symfony/serializer/Symfony/Component/Serializer/Normalizer/DenormalizableInterface.php rename to core/vendor/symfony/serializer/Normalizer/DenormalizableInterface.php diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Normalizer/DenormalizerInterface.php b/core/vendor/symfony/serializer/Normalizer/DenormalizerInterface.php similarity index 100% rename from core/vendor/symfony/serializer/Symfony/Component/Serializer/Normalizer/DenormalizerInterface.php rename to core/vendor/symfony/serializer/Normalizer/DenormalizerInterface.php diff --git a/core/vendor/symfony/serializer/Normalizer/GetSetMethodNormalizer.php b/core/vendor/symfony/serializer/Normalizer/GetSetMethodNormalizer.php new file mode 100644 index 0000000000000000000000000000000000000000..de4c3ece1dc98599ca9b0a2f2b1180536cc00eb5 --- /dev/null +++ b/core/vendor/symfony/serializer/Normalizer/GetSetMethodNormalizer.php @@ -0,0 +1,178 @@ +<?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\Serializer\Normalizer; + +use Symfony\Component\Serializer\Exception\CircularReferenceException; +use Symfony\Component\Serializer\Exception\LogicException; +use Symfony\Component\Serializer\Exception\RuntimeException; + +/** + * Converts between objects with getter and setter methods and arrays. + * + * The normalization process looks at all public methods and calls the ones + * which have a name starting with get and take no parameters. The result is a + * map from property names (method name stripped of the get prefix and converted + * to lower case) to property values. Property values are normalized through the + * serializer. + * + * The denormalization first looks at the constructor of the given class to see + * if any of the parameters have the same name as one of the properties. The + * constructor is then called with all parameters or an exception is thrown if + * any required parameters were not present as properties. Then the denormalizer + * walks through the given map of property names to property values to see if a + * setter method exists for any of the properties. If a setter exists it is + * called with the property value. No automatic denormalization of the value + * takes place. + * + * @author Nils Adermann <naderman@naderman.de> + * @author Kévin Dunglas <dunglas@gmail.com> + */ +class GetSetMethodNormalizer extends AbstractNormalizer +{ + /** + * {@inheritdoc} + * + * @throws LogicException + * @throws CircularReferenceException + */ + public function normalize($object, $format = null, array $context = array()) + { + if ($this->isCircularReference($object, $context)) { + return $this->handleCircularReference($object); + } + + $reflectionObject = new \ReflectionObject($object); + $reflectionMethods = $reflectionObject->getMethods(\ReflectionMethod::IS_PUBLIC); + $allowedAttributes = $this->getAllowedAttributes($object, $context, true); + + $attributes = array(); + foreach ($reflectionMethods as $method) { + if ($this->isGetMethod($method)) { + $attributeName = lcfirst(substr($method->name, 0 === strpos($method->name, 'is') ? 2 : 3)); + if (in_array($attributeName, $this->ignoredAttributes)) { + continue; + } + + if (false !== $allowedAttributes && !in_array($attributeName, $allowedAttributes)) { + continue; + } + + $attributeValue = $method->invoke($object); + if (isset($this->callbacks[$attributeName])) { + $attributeValue = call_user_func($this->callbacks[$attributeName], $attributeValue); + } + if (null !== $attributeValue && !is_scalar($attributeValue)) { + if (!$this->serializer instanceof NormalizerInterface) { + throw new LogicException(sprintf('Cannot normalize attribute "%s" because injected serializer is not a normalizer', $attributeName)); + } + + $attributeValue = $this->serializer->normalize($attributeValue, $format, $context); + } + + if ($this->nameConverter) { + $attributeName = $this->nameConverter->normalize($attributeName); + } + + $attributes[$attributeName] = $attributeValue; + } + } + + return $attributes; + } + + /** + * {@inheritdoc} + * + * @throws RuntimeException + */ + public function denormalize($data, $class, $format = null, array $context = array()) + { + $allowedAttributes = $this->getAllowedAttributes($class, $context, true); + $normalizedData = $this->prepareForDenormalization($data); + + $reflectionClass = new \ReflectionClass($class); + $object = $this->instantiateObject($normalizedData, $class, $context, $reflectionClass, $allowedAttributes); + + foreach ($normalizedData as $attribute => $value) { + if ($this->nameConverter) { + $attribute = $this->nameConverter->denormalize($attribute); + } + + $allowed = $allowedAttributes === false || in_array($attribute, $allowedAttributes); + $ignored = in_array($attribute, $this->ignoredAttributes); + + if ($allowed && !$ignored) { + $setter = 'set'.ucfirst($attribute); + + if (method_exists($object, $setter)) { + $object->$setter($value); + } + } + } + + return $object; + } + + /** + * {@inheritdoc} + */ + public function supportsNormalization($data, $format = null) + { + return is_object($data) && !$data instanceof \Traversable && $this->supports(get_class($data)); + } + + /** + * {@inheritdoc} + */ + public function supportsDenormalization($data, $type, $format = null) + { + return $this->supports($type); + } + + /** + * Checks if the given class has any get{Property} method. + * + * @param string $class + * + * @return bool + */ + private function supports($class) + { + $class = new \ReflectionClass($class); + $methods = $class->getMethods(\ReflectionMethod::IS_PUBLIC); + foreach ($methods as $method) { + if ($this->isGetMethod($method)) { + return true; + } + } + + return false; + } + + /** + * Checks if a method's name is get.* or is.*, and can be called without parameters. + * + * @param \ReflectionMethod $method the method to check + * + * @return bool whether the method is a getter or boolean getter. + */ + private function isGetMethod(\ReflectionMethod $method) + { + $methodLength = strlen($method->name); + + return ( + ((0 === strpos($method->name, 'get') && 3 < $methodLength) || + (0 === strpos($method->name, 'is') && 2 < $methodLength)) && + 0 === $method->getNumberOfRequiredParameters() + ); + } +} diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Normalizer/NormalizableInterface.php b/core/vendor/symfony/serializer/Normalizer/NormalizableInterface.php similarity index 100% rename from core/vendor/symfony/serializer/Symfony/Component/Serializer/Normalizer/NormalizableInterface.php rename to core/vendor/symfony/serializer/Normalizer/NormalizableInterface.php diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Normalizer/NormalizerInterface.php b/core/vendor/symfony/serializer/Normalizer/NormalizerInterface.php similarity index 100% rename from core/vendor/symfony/serializer/Symfony/Component/Serializer/Normalizer/NormalizerInterface.php rename to core/vendor/symfony/serializer/Normalizer/NormalizerInterface.php diff --git a/core/vendor/symfony/serializer/Normalizer/ObjectNormalizer.php b/core/vendor/symfony/serializer/Normalizer/ObjectNormalizer.php new file mode 100644 index 0000000000000000000000000000000000000000..ba84ac717f075fd1b243e23a5665a4b6e32e3aad --- /dev/null +++ b/core/vendor/symfony/serializer/Normalizer/ObjectNormalizer.php @@ -0,0 +1,162 @@ +<?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\Serializer\Normalizer; + +use Symfony\Component\PropertyAccess\Exception\NoSuchPropertyException; +use Symfony\Component\PropertyAccess\PropertyAccess; +use Symfony\Component\PropertyAccess\PropertyAccessorInterface; +use Symfony\Component\Serializer\Exception\CircularReferenceException; +use Symfony\Component\Serializer\Exception\LogicException; +use Symfony\Component\Serializer\Mapping\Factory\ClassMetadataFactoryInterface; +use Symfony\Component\Serializer\NameConverter\NameConverterInterface; + +/** + * Converts between objects and arrays using the PropertyAccess component. + * + * @author Kévin Dunglas <dunglas@gmail.com> + */ +class ObjectNormalizer extends AbstractNormalizer +{ + /** + * @var PropertyAccessorInterface + */ + protected $propertyAccessor; + + public function __construct(ClassMetadataFactoryInterface $classMetadataFactory = null, NameConverterInterface $nameConverter = null, PropertyAccessorInterface $propertyAccessor = null) + { + parent::__construct($classMetadataFactory, $nameConverter); + + $this->propertyAccessor = $propertyAccessor ?: PropertyAccess::createPropertyAccessor(); + } + + /** + * {@inheritdoc} + */ + public function supportsNormalization($data, $format = null) + { + return is_object($data) && !$data instanceof \Traversable; + } + + /** + * {@inheritdoc} + * + * @throws CircularReferenceException + */ + public function normalize($object, $format = null, array $context = array()) + { + if ($this->isCircularReference($object, $context)) { + return $this->handleCircularReference($object); + } + + $data = array(); + $attributes = $this->getAllowedAttributes($object, $context, true); + + // If not using groups, detect manually + if (false === $attributes) { + $attributes = array(); + + // methods + $reflClass = new \ReflectionClass($object); + foreach ($reflClass->getMethods(\ReflectionMethod::IS_PUBLIC) as $reflMethod) { + if ( + !$reflMethod->isConstructor() && + !$reflMethod->isDestructor() && + 0 === $reflMethod->getNumberOfRequiredParameters() + ) { + $name = $reflMethod->getName(); + + if (strpos($name, 'get') === 0 || strpos($name, 'has') === 0) { + // getters and hassers + $attributes[lcfirst(substr($name, 3))] = true; + } elseif (strpos($name, 'is') === 0) { + // issers + $attributes[lcfirst(substr($name, 2))] = true; + } + } + } + + // properties + foreach ($reflClass->getProperties(\ReflectionProperty::IS_PUBLIC) as $reflProperty) { + $attributes[$reflProperty->getName()] = true; + } + + $attributes = array_keys($attributes); + } + + foreach ($attributes as $attribute) { + if (in_array($attribute, $this->ignoredAttributes)) { + continue; + } + + $attributeValue = $this->propertyAccessor->getValue($object, $attribute); + + if (isset($this->callbacks[$attribute])) { + $attributeValue = call_user_func($this->callbacks[$attribute], $attributeValue); + } + + if (null !== $attributeValue && !is_scalar($attributeValue)) { + if (!$this->serializer instanceof NormalizerInterface) { + throw new LogicException(sprintf('Cannot normalize attribute "%s" because injected serializer is not a normalizer', $attribute)); + } + + $attributeValue = $this->serializer->normalize($attributeValue, $format, $context); + } + + if ($this->nameConverter) { + $attribute = $this->nameConverter->normalize($attribute); + } + + $data[$attribute] = $attributeValue; + } + + return $data; + } + + /** + * {@inheritdoc} + */ + public function supportsDenormalization($data, $type, $format = null) + { + return class_exists($type); + } + + /** + * {@inheritdoc} + */ + public function denormalize($data, $class, $format = null, array $context = array()) + { + $allowedAttributes = $this->getAllowedAttributes($class, $context, true); + $normalizedData = $this->prepareForDenormalization($data); + + $reflectionClass = new \ReflectionClass($class); + $object = $this->instantiateObject($normalizedData, $class, $context, $reflectionClass, $allowedAttributes); + + foreach ($normalizedData as $attribute => $value) { + if ($this->nameConverter) { + $attribute = $this->nameConverter->denormalize($attribute); + } + + $allowed = $allowedAttributes === false || in_array($attribute, $allowedAttributes); + $ignored = in_array($attribute, $this->ignoredAttributes); + + if ($allowed && !$ignored) { + try { + $this->propertyAccessor->setValue($object, $attribute, $value); + } catch (NoSuchPropertyException $exception) { + // Properties not found are ignored + } + } + } + + return $object; + } +} diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Normalizer/PropertyNormalizer.php b/core/vendor/symfony/serializer/Normalizer/PropertyNormalizer.php similarity index 50% rename from core/vendor/symfony/serializer/Symfony/Component/Serializer/Normalizer/PropertyNormalizer.php rename to core/vendor/symfony/serializer/Normalizer/PropertyNormalizer.php index b48b54ad80c4fe1a9559140ce9e19e1a8b4c097e..c8e83d1f790f5dd181f0ad1d05c6e6dcee5f15e1 100644 --- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Normalizer/PropertyNormalizer.php +++ b/core/vendor/symfony/serializer/Normalizer/PropertyNormalizer.php @@ -11,7 +11,7 @@ namespace Symfony\Component\Serializer\Normalizer; -use Symfony\Component\Serializer\Exception\InvalidArgumentException; +use Symfony\Component\Serializer\Exception\CircularReferenceException; use Symfony\Component\Serializer\Exception\LogicException; use Symfony\Component\Serializer\Exception\RuntimeException; @@ -30,74 +30,42 @@ * property with the corresponding name exists. If found, the property gets the value. * * @author Matthieu Napoli <matthieu@mnapoli.fr> + * @author Kévin Dunglas <dunglas@gmail.com> */ -class PropertyNormalizer extends SerializerAwareNormalizer implements NormalizerInterface, DenormalizerInterface +class PropertyNormalizer extends AbstractNormalizer { - private $callbacks = array(); - private $ignoredAttributes = array(); - private $camelizedAttributes = array(); - /** - * Set normalization callbacks - * - * @param array $callbacks help normalize the result + * {@inheritdoc} * - * @throws InvalidArgumentException if a non-callable callback is set + * @throws CircularReferenceException */ - public function setCallbacks(array $callbacks) + public function normalize($object, $format = null, array $context = array()) { - foreach ($callbacks as $attribute => $callback) { - if (!is_callable($callback)) { - throw new InvalidArgumentException(sprintf( - 'The given callback for attribute "%s" is not callable.', - $attribute - )); - } + if ($this->isCircularReference($object, $context)) { + return $this->handleCircularReference($object); } - $this->callbacks = $callbacks; - } - - /** - * Set ignored attributes for normalization. - * - * @param array $ignoredAttributes - */ - public function setIgnoredAttributes(array $ignoredAttributes) - { - $this->ignoredAttributes = $ignoredAttributes; - } - /** - * Set attributes to be camelized on denormalize - * - * @param array $camelizedAttributes - */ - public function setCamelizedAttributes(array $camelizedAttributes) - { - $this->camelizedAttributes = $camelizedAttributes; - } - - /** - * {@inheritdoc} - */ - public function normalize($object, $format = null, array $context = array()) - { $reflectionObject = new \ReflectionObject($object); $attributes = array(); + $allowedAttributes = $this->getAllowedAttributes($object, $context, true); foreach ($reflectionObject->getProperties() as $property) { if (in_array($property->name, $this->ignoredAttributes)) { continue; } + if (false !== $allowedAttributes && !in_array($property->name, $allowedAttributes)) { + continue; + } + // Override visibility - if (! $property->isPublic()) { + if (!$property->isPublic()) { $property->setAccessible(true); } $attributeValue = $property->getValue($object); - if (array_key_exists($property->name, $this->callbacks)) { + if (isset($this->callbacks[$property->name])) { $attributeValue = call_user_func($this->callbacks[$property->name], $attributeValue); } if (null !== $attributeValue && !is_scalar($attributeValue)) { @@ -105,10 +73,15 @@ public function normalize($object, $format = null, array $context = array()) throw new LogicException(sprintf('Cannot normalize attribute "%s" because injected serializer is not a normalizer', $property->name)); } - $attributeValue = $this->serializer->normalize($attributeValue, $format); + $attributeValue = $this->serializer->normalize($attributeValue, $format, $context); + } + + $propertyName = $property->name; + if ($this->nameConverter) { + $propertyName = $this->nameConverter->normalize($propertyName); } - $attributes[$property->name] = $attributeValue; + $attributes[$propertyName] = $attributeValue; } return $attributes; @@ -116,46 +89,29 @@ public function normalize($object, $format = null, array $context = array()) /** * {@inheritdoc} + * + * @throws RuntimeException */ public function denormalize($data, $class, $format = null, array $context = array()) { - $reflectionClass = new \ReflectionClass($class); - $constructor = $reflectionClass->getConstructor(); - - if ($constructor) { - $constructorParameters = $constructor->getParameters(); - - $params = array(); - foreach ($constructorParameters as $constructorParameter) { - $paramName = lcfirst($this->formatAttribute($constructorParameter->name)); - - if (isset($data[$paramName])) { - $params[] = $data[$paramName]; - // don't run set for a parameter passed to the constructor - unset($data[$paramName]); - } elseif (!$constructorParameter->isOptional()) { - throw new RuntimeException(sprintf( - 'Cannot create an instance of %s from serialized data because '. - 'its constructor requires parameter "%s" to be present.', - $class, - $constructorParameter->name - )); - } - } + $allowedAttributes = $this->getAllowedAttributes($class, $context, true); + $data = $this->prepareForDenormalization($data); - $object = $reflectionClass->newInstanceArgs($params); - } else { - $object = new $class(); - } + $reflectionClass = new \ReflectionClass($class); + $object = $this->instantiateObject($data, $class, $context, $reflectionClass, $allowedAttributes); foreach ($data as $propertyName => $value) { - $propertyName = lcfirst($this->formatAttribute($propertyName)); + if ($this->nameConverter) { + $propertyName = $this->nameConverter->denormalize($propertyName); + } - if ($reflectionClass->hasProperty($propertyName)) { + $allowed = $allowedAttributes === false || in_array($propertyName, $allowedAttributes); + $ignored = in_array($propertyName, $this->ignoredAttributes); + if ($allowed && !$ignored && $reflectionClass->hasProperty($propertyName)) { $property = $reflectionClass->getProperty($propertyName); // Override visibility - if (! $property->isPublic()) { + if (!$property->isPublic()) { $property->setAccessible(true); } @@ -171,7 +127,7 @@ public function denormalize($data, $class, $format = null, array $context = arra */ public function supportsNormalization($data, $format = null) { - return is_object($data) && $this->supports(get_class($data)); + return is_object($data) && !$data instanceof \Traversable && $this->supports(get_class($data)); } /** @@ -182,24 +138,6 @@ public function supportsDenormalization($data, $type, $format = null) return $this->supports($type); } - /** - * Format an attribute name, for example to convert a snake_case name to camelCase. - * - * @param string $attributeName - * - * @return string - */ - protected function formatAttribute($attributeName) - { - if (in_array($attributeName, $this->camelizedAttributes)) { - return preg_replace_callback('/(^|_|\.)+(.)/', function ($match) { - return ('.' === $match[1] ? '_' : '').strtoupper($match[2]); - }, $attributeName); - } - - return $attributeName; - } - /** * Checks if the given class has any non-static property. * @@ -213,7 +151,7 @@ private function supports($class) // We look for at least one non-static property foreach ($class->getProperties() as $property) { - if (! $property->isStatic()) { + if (!$property->isStatic()) { return true; } } diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Normalizer/SerializerAwareNormalizer.php b/core/vendor/symfony/serializer/Normalizer/SerializerAwareNormalizer.php similarity index 100% rename from core/vendor/symfony/serializer/Symfony/Component/Serializer/Normalizer/SerializerAwareNormalizer.php rename to core/vendor/symfony/serializer/Normalizer/SerializerAwareNormalizer.php diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/README.md b/core/vendor/symfony/serializer/README.md similarity index 81% rename from core/vendor/symfony/serializer/Symfony/Component/Serializer/README.md rename to core/vendor/symfony/serializer/README.md index 4d8ab012e9b86e1f4dbd319c10a6670800b01aa7..156a2884264381be65240213ccbcdccdabca06e3 100644 --- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/README.md +++ b/core/vendor/symfony/serializer/README.md @@ -1,7 +1,7 @@ Serializer Component ==================== -With the Serializer component its possible to handle serializing data structures, +With the Serializer component it's possible to handle serializing data structures, including object graphs, into array structures or other formats like XML and JSON. It can also handle deserializing XML and JSON back to object graphs. diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Serializer.php b/core/vendor/symfony/serializer/Serializer.php similarity index 93% rename from core/vendor/symfony/serializer/Symfony/Component/Serializer/Serializer.php rename to core/vendor/symfony/serializer/Serializer.php index 09ec77129a9c7495a6ea82a8d49a8fc2b9d5d9c1..4aeddabe7514ab5245518ddadf38e3361ee36f8b 100644 --- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Serializer.php +++ b/core/vendor/symfony/serializer/Serializer.php @@ -33,6 +33,7 @@ * @author Jordi Boggiano <j.boggiano@seld.be> * @author Johannes M. Schmitt <schmittjoh@gmail.com> * @author Lukas Kahwe Smith <smith@pooteeweet.org> + * @author Kévin Dunglas <dunglas@gmail.com> */ class Serializer implements SerializerInterface, NormalizerInterface, DenormalizerInterface, EncoderInterface, DecoderInterface { @@ -118,6 +119,11 @@ final public function deserialize($data, $type, $format, array $context = array( */ public function normalize($data, $format = null, array $context = array()) { + // If a normalizer supports the given data, use it + if ($normalizer = $this->getNormalizer($data, $format)) { + return $normalizer->normalize($data, $format, $context); + } + if (null === $data || is_scalar($data)) { return $data; } @@ -172,21 +178,25 @@ public function supportsDenormalization($data, $type, $format = null) /** * Returns a matching normalizer. * - * @param object $data The object to get the serializer for + * @param mixed $data Data to get the serializer for * @param string $format format name, present to give the option to normalizers to act differently based on formats * * @return NormalizerInterface|null */ private function getNormalizer($data, $format) { - $class = get_class($data); - if (isset($this->normalizerCache[$class][$format])) { - return $this->normalizerCache[$class][$format]; + if ($isObject = is_object($data)) { + $class = get_class($data); + if (isset($this->normalizerCache[$class][$format])) { + return $this->normalizerCache[$class][$format]; + } } foreach ($this->normalizers as $normalizer) { if ($normalizer instanceof NormalizerInterface && $normalizer->supportsNormalization($data, $format)) { - $this->normalizerCache[$class][$format] = $normalizer; + if ($isObject) { + $this->normalizerCache[$class][$format] = $normalizer; + } return $normalizer; } diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/SerializerAwareInterface.php b/core/vendor/symfony/serializer/SerializerAwareInterface.php similarity index 100% rename from core/vendor/symfony/serializer/Symfony/Component/Serializer/SerializerAwareInterface.php rename to core/vendor/symfony/serializer/SerializerAwareInterface.php diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/SerializerInterface.php b/core/vendor/symfony/serializer/SerializerInterface.php similarity index 100% rename from core/vendor/symfony/serializer/Symfony/Component/Serializer/SerializerInterface.php rename to core/vendor/symfony/serializer/SerializerInterface.php diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/.gitignore b/core/vendor/symfony/serializer/Symfony/Component/Serializer/.gitignore deleted file mode 100644 index c49a5d8df5c6548379f00c77fe572a7217bce218..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -vendor/ -composer.lock -phpunit.xml diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Normalizer/GetSetMethodNormalizer.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Normalizer/GetSetMethodNormalizer.php deleted file mode 100644 index a588713f373ef9e3c4a4e9ad913f1cb224a2e69d..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Normalizer/GetSetMethodNormalizer.php +++ /dev/null @@ -1,318 +0,0 @@ -<?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\Serializer\Normalizer; - -use Symfony\Component\Serializer\Exception\CircularReferenceException; -use Symfony\Component\Serializer\Exception\InvalidArgumentException; -use Symfony\Component\Serializer\Exception\LogicException; -use Symfony\Component\Serializer\Exception\RuntimeException; - -/** - * Converts between objects with getter and setter methods and arrays. - * - * The normalization process looks at all public methods and calls the ones - * which have a name starting with get and take no parameters. The result is a - * map from property names (method name stripped of the get prefix and converted - * to lower case) to property values. Property values are normalized through the - * serializer. - * - * The denormalization first looks at the constructor of the given class to see - * if any of the parameters have the same name as one of the properties. The - * constructor is then called with all parameters or an exception is thrown if - * any required parameters were not present as properties. Then the denormalizer - * walks through the given map of property names to property values to see if a - * setter method exists for any of the properties. If a setter exists it is - * called with the property value. No automatic denormalization of the value - * takes place. - * - * @author Nils Adermann <naderman@naderman.de> - * @author Kévin Dunglas <dunglas@gmail.com> - */ -class GetSetMethodNormalizer extends SerializerAwareNormalizer implements NormalizerInterface, DenormalizerInterface -{ - protected $circularReferenceLimit = 1; - protected $circularReferenceHandler; - protected $callbacks = array(); - protected $ignoredAttributes = array(); - protected $camelizedAttributes = array(); - - /** - * Set circular reference limit. - * - * @param $circularReferenceLimit limit of iterations for the same object - * - * @return self - */ - public function setCircularReferenceLimit($circularReferenceLimit) - { - $this->circularReferenceLimit = $circularReferenceLimit; - - return $this; - } - - /** - * Set circular reference handler. - * - * @param callable $circularReferenceHandler - * - * @return self - * - * @throws InvalidArgumentException - */ - public function setCircularReferenceHandler($circularReferenceHandler) - { - if (!is_callable($circularReferenceHandler)) { - throw new InvalidArgumentException('The given circular reference handler is not callable.'); - } - - $this->circularReferenceHandler = $circularReferenceHandler; - - return $this; - } - - /** - * Set normalization callbacks. - * - * @param callable[] $callbacks help normalize the result - * - * @throws InvalidArgumentException if a non-callable callback is set - * - * @return self - */ - public function setCallbacks(array $callbacks) - { - foreach ($callbacks as $attribute => $callback) { - if (!is_callable($callback)) { - throw new InvalidArgumentException(sprintf('The given callback for attribute "%s" is not callable.', $attribute)); - } - } - $this->callbacks = $callbacks; - - return $this; - } - - /** - * Set ignored attributes for normalization. - * - * @param array $ignoredAttributes - * - * @return self - */ - public function setIgnoredAttributes(array $ignoredAttributes) - { - $this->ignoredAttributes = $ignoredAttributes; - - return $this; - } - - /** - * Set attributes to be camelized on denormalize. - * - * @param array $camelizedAttributes - * - * @return self - */ - public function setCamelizedAttributes(array $camelizedAttributes) - { - $this->camelizedAttributes = $camelizedAttributes; - - return $this; - } - - /** - * {@inheritdoc} - */ - public function normalize($object, $format = null, array $context = array()) - { - $objectHash = spl_object_hash($object); - - if (isset($context['circular_reference_limit'][$objectHash])) { - if ($context['circular_reference_limit'][$objectHash] >= $this->circularReferenceLimit) { - unset($context['circular_reference_limit'][$objectHash]); - - if ($this->circularReferenceHandler) { - return call_user_func($this->circularReferenceHandler, $object); - } - - throw new CircularReferenceException(sprintf('A circular reference has been detected (configured limit: %d).', $this->circularReferenceLimit)); - } - - $context['circular_reference_limit'][$objectHash]++; - } else { - $context['circular_reference_limit'][$objectHash] = 1; - } - - $reflectionObject = new \ReflectionObject($object); - $reflectionMethods = $reflectionObject->getMethods(\ReflectionMethod::IS_PUBLIC); - - $attributes = array(); - foreach ($reflectionMethods as $method) { - if ($this->isGetMethod($method)) { - $attributeName = lcfirst(substr($method->name, 0 === strpos($method->name, 'is') ? 2 : 3)); - - if (in_array($attributeName, $this->ignoredAttributes)) { - continue; - } - - $attributeValue = $method->invoke($object); - if (array_key_exists($attributeName, $this->callbacks)) { - $attributeValue = call_user_func($this->callbacks[$attributeName], $attributeValue); - } - if (null !== $attributeValue && !is_scalar($attributeValue)) { - if (!$this->serializer instanceof NormalizerInterface) { - throw new LogicException(sprintf('Cannot normalize attribute "%s" because injected serializer is not a normalizer', $attributeName)); - } - - $attributeValue = $this->serializer->normalize($attributeValue, $format, $context); - } - - $attributes[$attributeName] = $attributeValue; - } - } - - return $attributes; - } - - /** - * {@inheritdoc} - */ - public function denormalize($data, $class, $format = null, array $context = array()) - { - if (is_array($data) || is_object($data) && $data instanceof \ArrayAccess) { - $normalizedData = $data; - } elseif (is_object($data)) { - $normalizedData = array(); - - foreach ($data as $attribute => $value) { - $normalizedData[$attribute] = $value; - } - } else { - $normalizedData = array(); - } - - $reflectionClass = new \ReflectionClass($class); - $constructor = $reflectionClass->getConstructor(); - - if ($constructor) { - $constructorParameters = $constructor->getParameters(); - - $params = array(); - foreach ($constructorParameters as $constructorParameter) { - $paramName = lcfirst($this->formatAttribute($constructorParameter->name)); - - if (isset($normalizedData[$paramName])) { - $params[] = $normalizedData[$paramName]; - // don't run set for a parameter passed to the constructor - unset($normalizedData[$paramName]); - } elseif ($constructorParameter->isOptional()) { - $params[] = $constructorParameter->getDefaultValue(); - } else { - throw new RuntimeException( - 'Cannot create an instance of '.$class. - ' from serialized data because its constructor requires '. - 'parameter "'.$constructorParameter->name. - '" to be present.'); - } - } - - $object = $reflectionClass->newInstanceArgs($params); - } else { - $object = new $class(); - } - - foreach ($normalizedData as $attribute => $value) { - $setter = 'set'.$this->formatAttribute($attribute); - - if (method_exists($object, $setter)) { - $object->$setter($value); - } - } - - return $object; - } - - /** - * Format attribute name to access parameters or methods - * As option, if attribute name is found on camelizedAttributes array - * returns attribute name in camelcase format. - * - * @param string $attributeName - * - * @return string - */ - protected function formatAttribute($attributeName) - { - if (in_array($attributeName, $this->camelizedAttributes)) { - return preg_replace_callback( - '/(^|_|\.)+(.)/', function ($match) { - return ('.' === $match[1] ? '_' : '').strtoupper($match[2]); - }, $attributeName - ); - } - - return $attributeName; - } - - /** - * {@inheritdoc} - */ - public function supportsNormalization($data, $format = null) - { - return is_object($data) && $this->supports(get_class($data)); - } - - /** - * {@inheritdoc} - */ - public function supportsDenormalization($data, $type, $format = null) - { - return $this->supports($type); - } - - /** - * Checks if the given class has any get{Property} method. - * - * @param string $class - * - * @return bool - */ - private function supports($class) - { - $class = new \ReflectionClass($class); - $methods = $class->getMethods(\ReflectionMethod::IS_PUBLIC); - foreach ($methods as $method) { - if ($this->isGetMethod($method)) { - return true; - } - } - - return false; - } - - /** - * Checks if a method's name is get.* or is.*, and can be called without parameters. - * - * @param \ReflectionMethod $method the method to check - * - * @return bool whether the method is a getter or boolean getter. - */ - private function isGetMethod(\ReflectionMethod $method) - { - $methodLength = strlen($method->name); - - return ( - ((0 === strpos($method->name, 'get') && 3 < $methodLength) || - (0 === strpos($method->name, 'is') && 2 < $methodLength)) && - 0 === $method->getNumberOfRequiredParameters() - ); - } -} diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Normalizer/PropertyNormalizerTest.php b/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Normalizer/PropertyNormalizerTest.php deleted file mode 100644 index a7ad7ca83e4b5fd662d48367972d11ac6743cef6..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Normalizer/PropertyNormalizerTest.php +++ /dev/null @@ -1,263 +0,0 @@ -<?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\Serializer\Tests\Normalizer; - -use Symfony\Component\Serializer\Normalizer\PropertyNormalizer; - -class PropertyNormalizerTest extends \PHPUnit_Framework_TestCase -{ - /** - * @var PropertyNormalizer - */ - private $normalizer; - - protected function setUp() - { - $this->normalizer = new PropertyNormalizer(); - $this->normalizer->setSerializer($this->getMock('Symfony\Component\Serializer\Serializer')); - } - - public function testNormalize() - { - $obj = new PropertyDummy(); - $obj->foo = 'foo'; - $obj->setBar('bar'); - $obj->setCamelCase('camelcase'); - $this->assertEquals( - array('foo' => 'foo', 'bar' => 'bar', 'camelCase' => 'camelcase'), - $this->normalizer->normalize($obj, 'any') - ); - } - - public function testDenormalize() - { - $obj = $this->normalizer->denormalize( - array('foo' => 'foo', 'bar' => 'bar'), - __NAMESPACE__.'\PropertyDummy', - 'any' - ); - $this->assertEquals('foo', $obj->foo); - $this->assertEquals('bar', $obj->getBar()); - } - - public function testDenormalizeOnCamelCaseFormat() - { - $this->normalizer->setCamelizedAttributes(array('camel_case')); - $obj = $this->normalizer->denormalize( - array('camel_case' => 'value'), - __NAMESPACE__.'\PropertyDummy' - ); - $this->assertEquals('value', $obj->getCamelCase()); - } - - /** - * @dataProvider attributeProvider - */ - public function testFormatAttribute($attribute, $camelizedAttributes, $result) - { - $r = new \ReflectionObject($this->normalizer); - $m = $r->getMethod('formatAttribute'); - $m->setAccessible(true); - - $this->normalizer->setCamelizedAttributes($camelizedAttributes); - $this->assertEquals($m->invoke($this->normalizer, $attribute, $camelizedAttributes), $result); - } - - public function attributeProvider() - { - return array( - array('attribute_test', array('attribute_test'),'AttributeTest'), - array('attribute_test', array('any'),'attribute_test'), - array('attribute', array('attribute'),'Attribute'), - array('attribute', array(), 'attribute'), - ); - } - - public function testConstructorDenormalize() - { - $obj = $this->normalizer->denormalize( - array('foo' => 'foo', 'bar' => 'bar'), - __NAMESPACE__.'\PropertyConstructorDummy', - 'any' - ); - $this->assertEquals('foo', $obj->getFoo()); - $this->assertEquals('bar', $obj->getBar()); - } - - /** - * @dataProvider provideCallbacks - */ - public function testCallbacks($callbacks, $value, $result, $message) - { - $this->normalizer->setCallbacks($callbacks); - - $obj = new PropertyConstructorDummy('', $value); - - $this->assertEquals( - $result, - $this->normalizer->normalize($obj, 'any'), - $message - ); - } - - /** - * @expectedException \InvalidArgumentException - */ - public function testUncallableCallbacks() - { - $this->normalizer->setCallbacks(array('bar' => null)); - - $obj = new PropertyConstructorDummy('baz', 'quux'); - - $this->normalizer->normalize($obj, 'any'); - } - - public function testIgnoredAttributes() - { - $this->normalizer->setIgnoredAttributes(array('foo', 'bar', 'camelCase')); - - $obj = new PropertyDummy(); - $obj->foo = 'foo'; - $obj->setBar('bar'); - - $this->assertEquals( - array(), - $this->normalizer->normalize($obj, 'any') - ); - } - - public function provideCallbacks() - { - return array( - array( - array( - 'bar' => function ($bar) { - return 'baz'; - }, - ), - 'baz', - array('foo' => '', 'bar' => 'baz'), - 'Change a string', - ), - array( - array( - 'bar' => function ($bar) { - return; - }, - ), - 'baz', - array('foo' => '', 'bar' => null), - 'Null an item', - ), - array( - array( - 'bar' => function ($bar) { - return $bar->format('d-m-Y H:i:s'); - }, - ), - new \DateTime('2011-09-10 06:30:00'), - array('foo' => '', 'bar' => '10-09-2011 06:30:00'), - 'Format a date', - ), - array( - array( - 'bar' => function ($bars) { - $foos = ''; - foreach ($bars as $bar) { - $foos .= $bar->getFoo(); - } - - return $foos; - }, - ), - array(new PropertyConstructorDummy('baz', ''), new PropertyConstructorDummy('quux', '')), - array('foo' => '', 'bar' => 'bazquux'), - 'Collect a property', - ), - array( - array( - 'bar' => function ($bars) { - return count($bars); - }, - ), - array(new PropertyConstructorDummy('baz', ''), new PropertyConstructorDummy('quux', '')), - array('foo' => '', 'bar' => 2), - 'Count a property', - ), - ); - } - - /** - * @expectedException \Symfony\Component\Serializer\Exception\LogicException - * @expectedExceptionMessage Cannot normalize attribute "bar" because injected serializer is not a normalizer - */ - public function testUnableToNormalizeObjectAttribute() - { - $serializer = $this->getMock('Symfony\Component\Serializer\SerializerInterface'); - $this->normalizer->setSerializer($serializer); - - $obj = new PropertyDummy(); - $object = new \stdClass(); - $obj->setBar($object); - - $this->normalizer->normalize($obj, 'any'); - } -} - -class PropertyDummy -{ - public $foo; - private $bar; - protected $camelCase; - - public function getBar() - { - return $this->bar; - } - - public function setBar($bar) - { - $this->bar = $bar; - } - - public function getCamelCase() - { - return $this->camelCase; - } - - public function setCamelCase($camelCase) - { - $this->camelCase = $camelCase; - } -} - -class PropertyConstructorDummy -{ - protected $foo; - private $bar; - - public function __construct($foo, $bar) - { - $this->foo = $foo; - $this->bar = $bar; - } - - public function getFoo() - { - return $this->foo; - } - - public function getBar() - { - return $this->bar; - } -} diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/composer.json b/core/vendor/symfony/serializer/Symfony/Component/Serializer/composer.json deleted file mode 100644 index e073e24f280518ba4cf09782a7735285796c4a56..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/composer.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "name": "symfony/serializer", - "type": "library", - "description": "Symfony Serializer Component", - "keywords": [], - "homepage": "http://symfony.com", - "license": "MIT", - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - } - ], - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "symfony/phpunit-bridge": "~2.7" - }, - "autoload": { - "psr-0": { "Symfony\\Component\\Serializer\\": "" } - }, - "target-dir": "Symfony/Component/Serializer", - "minimum-stability": "dev", - "extra": { - "branch-alias": { - "dev-master": "2.6-dev" - } - } -} diff --git a/core/vendor/symfony/serializer/Tests/Annotation/GroupsTest.php b/core/vendor/symfony/serializer/Tests/Annotation/GroupsTest.php new file mode 100644 index 0000000000000000000000000000000000000000..b427325f08640c68240b939e9da4406cc9c0fc3e --- /dev/null +++ b/core/vendor/symfony/serializer/Tests/Annotation/GroupsTest.php @@ -0,0 +1,52 @@ +<?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\Serializer\Tests\Annotation; + +use Symfony\Component\Serializer\Annotation\Groups; + +/** + * @author Kévin Dunglas <dunglas@gmail.com> + */ +class GroupsTest extends \PHPUnit_Framework_TestCase +{ + /** + * @expectedException \InvalidArgumentException + */ + public function testEmptyGroupsParameter() + { + new Groups(array('value' => array())); + } + + /** + * @expectedException \InvalidArgumentException + */ + public function testNotAnArrayGroupsParameter() + { + new Groups(array('value' => 'coopTilleuls')); + } + + /** + * @expectedException \InvalidArgumentException + */ + public function testInvalidGroupsParameter() + { + new Groups(array('value' => array('a', 1, new \stdClass()))); + } + + public function testGroupsParameters() + { + $validData = array('a', 'b'); + + $groups = new Groups(array('value' => $validData)); + $this->assertEquals($validData, $groups->getGroups()); + } +} diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Encoder/JsonEncoderTest.php b/core/vendor/symfony/serializer/Tests/Encoder/JsonEncoderTest.php similarity index 100% rename from core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Encoder/JsonEncoderTest.php rename to core/vendor/symfony/serializer/Tests/Encoder/JsonEncoderTest.php diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Encoder/XmlEncoderTest.php b/core/vendor/symfony/serializer/Tests/Encoder/XmlEncoderTest.php similarity index 97% rename from core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Encoder/XmlEncoderTest.php rename to core/vendor/symfony/serializer/Tests/Encoder/XmlEncoderTest.php index 67cf7ff072dbd9d702687c4656b9a32c4ecad584..422021ae748762f83280cb7b7f6de7b9c4354877 100644 --- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Encoder/XmlEncoderTest.php +++ b/core/vendor/symfony/serializer/Tests/Encoder/XmlEncoderTest.php @@ -137,6 +137,26 @@ public function testEncodeXmlAttributes() $this->assertSame($expected, $this->encoder->encode($array, 'xml', $context)); } + public function testContext() + { + $array = array('person' => array('name' => 'George Abitbol')); + $expected = <<<XML +<?xml version="1.0"?> +<response> + <person> + <name>George Abitbol</name> + </person> +</response> + +XML; + + $context = array( + 'xml_format_output' => true, + ); + + $this->assertSame($expected, $this->encoder->encode($array, 'xml', $context)); + } + public function testEncodeScalarRootAttributes() { $array = array( diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/CircularReferenceDummy.php b/core/vendor/symfony/serializer/Tests/Fixtures/CircularReferenceDummy.php similarity index 100% rename from core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/CircularReferenceDummy.php rename to core/vendor/symfony/serializer/Tests/Fixtures/CircularReferenceDummy.php diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/DenormalizableDummy.php b/core/vendor/symfony/serializer/Tests/Fixtures/DenormalizableDummy.php similarity index 100% rename from core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/DenormalizableDummy.php rename to core/vendor/symfony/serializer/Tests/Fixtures/DenormalizableDummy.php diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/Dummy.php b/core/vendor/symfony/serializer/Tests/Fixtures/Dummy.php similarity index 100% rename from core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/Dummy.php rename to core/vendor/symfony/serializer/Tests/Fixtures/Dummy.php diff --git a/core/vendor/symfony/serializer/Tests/Fixtures/GroupDummy.php b/core/vendor/symfony/serializer/Tests/Fixtures/GroupDummy.php new file mode 100644 index 0000000000000000000000000000000000000000..37bfa7eb3f07550709624bb43a4665e73d36044f --- /dev/null +++ b/core/vendor/symfony/serializer/Tests/Fixtures/GroupDummy.php @@ -0,0 +1,80 @@ +<?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\Serializer\Tests\Fixtures; + +use Symfony\Component\Serializer\Annotation\Groups; + +/** + * @author Kévin Dunglas <dunglas@gmail.com> + */ +class GroupDummy extends GroupDummyParent implements GroupDummyInterface +{ + /** + * @Groups({"a"}) + */ + private $foo; + /** + * @Groups({"b", "c", "name_converter"}) + */ + protected $bar; + private $fooBar; + private $symfony; + + /** + * @Groups({"b"}) + */ + public function setBar($bar) + { + $this->bar = $bar; + } + + /** + * @Groups({"c"}) + */ + public function getBar() + { + return $this->bar; + } + + public function setFoo($foo) + { + $this->foo = $foo; + } + + public function getFoo() + { + return $this->foo; + } + + public function setFooBar($fooBar) + { + $this->fooBar = $fooBar; + } + + /** + * @Groups({"a", "b", "name_converter"}) + */ + public function isFooBar() + { + return $this->fooBar; + } + + public function setSymfony($symfony) + { + $this->symfony = $symfony; + } + + public function getSymfony() + { + return $this->symfony; + } +} diff --git a/core/vendor/symfony/serializer/Tests/Fixtures/GroupDummyInterface.php b/core/vendor/symfony/serializer/Tests/Fixtures/GroupDummyInterface.php new file mode 100644 index 0000000000000000000000000000000000000000..a60629e6dd50911b205ed50f667d7c3778a6e0d5 --- /dev/null +++ b/core/vendor/symfony/serializer/Tests/Fixtures/GroupDummyInterface.php @@ -0,0 +1,25 @@ +<?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\Serializer\Tests\Fixtures; + +use Symfony\Component\Serializer\Annotation\Groups; + +/** + * @author Kévin Dunglas <dunglas@gmail.com> + */ +interface GroupDummyInterface +{ + /** + * @Groups({"a", "name_converter"}) + */ + public function getSymfony(); +} diff --git a/core/vendor/symfony/serializer/Tests/Fixtures/GroupDummyParent.php b/core/vendor/symfony/serializer/Tests/Fixtures/GroupDummyParent.php new file mode 100644 index 0000000000000000000000000000000000000000..dd24233993b9b7c0101cda591278baa80c92174b --- /dev/null +++ b/core/vendor/symfony/serializer/Tests/Fixtures/GroupDummyParent.php @@ -0,0 +1,49 @@ +<?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\Serializer\Tests\Fixtures; + +use Symfony\Component\Serializer\Annotation\Groups; + +/** + * @author Kévin Dunglas <dunglas@gmail.com> + */ +class GroupDummyParent +{ + /** + * @Groups({"a"}) + */ + private $kevin; + private $coopTilleuls; + + public function setKevin($kevin) + { + $this->kevin = $kevin; + } + + public function getKevin() + { + return $this->kevin; + } + + public function setCoopTilleuls($coopTilleuls) + { + $this->coopTilleuls = $coopTilleuls; + } + + /** + * @Groups({"a", "b"}) + */ + public function getCoopTilleuls() + { + return $this->coopTilleuls; + } +} diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/NormalizableTraversableDummy.php b/core/vendor/symfony/serializer/Tests/Fixtures/NormalizableTraversableDummy.php similarity index 100% rename from core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/NormalizableTraversableDummy.php rename to core/vendor/symfony/serializer/Tests/Fixtures/NormalizableTraversableDummy.php diff --git a/core/vendor/symfony/serializer/Tests/Fixtures/PropertyCircularReferenceDummy.php b/core/vendor/symfony/serializer/Tests/Fixtures/PropertyCircularReferenceDummy.php new file mode 100644 index 0000000000000000000000000000000000000000..8a1d9d8cfe152f0e74455dfa7ad86e9fde71050a --- /dev/null +++ b/core/vendor/symfony/serializer/Tests/Fixtures/PropertyCircularReferenceDummy.php @@ -0,0 +1,25 @@ +<?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\Serializer\Tests\Fixtures; + +/** + * @author Kévin Dunglas <dunglas@gmail.com> + */ +class PropertyCircularReferenceDummy +{ + public $me; + + public function __construct() + { + $this->me = $this; + } +} diff --git a/core/vendor/symfony/serializer/Tests/Fixtures/PropertySiblingHolder.php b/core/vendor/symfony/serializer/Tests/Fixtures/PropertySiblingHolder.php new file mode 100644 index 0000000000000000000000000000000000000000..af993e697d2c9cfc5d5b5ab857d3455245be7d54 --- /dev/null +++ b/core/vendor/symfony/serializer/Tests/Fixtures/PropertySiblingHolder.php @@ -0,0 +1,39 @@ +<?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\Serializer\Tests\Fixtures; + +/** + * @author Kévin Dunglas <dunglas@gmail.com> + */ +class PropertySiblingHolder +{ + public $sibling0; + public $sibling1; + public $sibling2; + + public function __construct() + { + $sibling = new PropertySibling(); + + $this->sibling0 = $sibling; + $this->sibling1 = $sibling; + $this->sibling2 = $sibling; + } +} + +/** + * @author Kévin Dunglas <dunglas@gmail.com> + */ +class PropertySibling +{ + public $coopTilleuls = 'Les-Tilleuls.coop'; +} diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/ScalarDummy.php b/core/vendor/symfony/serializer/Tests/Fixtures/ScalarDummy.php similarity index 100% rename from core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/ScalarDummy.php rename to core/vendor/symfony/serializer/Tests/Fixtures/ScalarDummy.php diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/SiblingHolder.php b/core/vendor/symfony/serializer/Tests/Fixtures/SiblingHolder.php similarity index 99% rename from core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/SiblingHolder.php rename to core/vendor/symfony/serializer/Tests/Fixtures/SiblingHolder.php index b2efd623dc67e03de11ba1b86913f6ffc4c1db51..acd4fe9474f71c431e87eeeb0cd1da1336b77378 100644 --- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/SiblingHolder.php +++ b/core/vendor/symfony/serializer/Tests/Fixtures/SiblingHolder.php @@ -23,6 +23,7 @@ class SiblingHolder public function __construct() { $sibling = new Sibling(); + $this->sibling0 = $sibling; $this->sibling1 = $sibling; $this->sibling2 = $sibling; diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/TraversableDummy.php b/core/vendor/symfony/serializer/Tests/Fixtures/TraversableDummy.php similarity index 100% rename from core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Fixtures/TraversableDummy.php rename to core/vendor/symfony/serializer/Tests/Fixtures/TraversableDummy.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/empty-mapping.yml b/core/vendor/symfony/serializer/Tests/Fixtures/empty-mapping.yml similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/empty-mapping.yml rename to core/vendor/symfony/serializer/Tests/Fixtures/empty-mapping.yml diff --git a/core/vendor/symfony/serializer/Tests/Fixtures/invalid-mapping.yml b/core/vendor/symfony/serializer/Tests/Fixtures/invalid-mapping.yml new file mode 100644 index 0000000000000000000000000000000000000000..19102815663d23f8b75a47e7a01965dcdc96468c --- /dev/null +++ b/core/vendor/symfony/serializer/Tests/Fixtures/invalid-mapping.yml @@ -0,0 +1 @@ +foo \ No newline at end of file diff --git a/core/vendor/symfony/serializer/Tests/Fixtures/serialization.xml b/core/vendor/symfony/serializer/Tests/Fixtures/serialization.xml new file mode 100644 index 0000000000000000000000000000000000000000..6e95aaf72118b0a7588e5bc45420f98466228d53 --- /dev/null +++ b/core/vendor/symfony/serializer/Tests/Fixtures/serialization.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" ?> + +<serializer xmlns="http://symfony.com/schema/dic/serializer-mapping" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://symfony.com/schema/dic/serializer-mapping http://symfony.com/schema/dic/serializer-mapping/serializer-mapping-1.0.xsd"> + + <class name="Symfony\Component\Serializer\Tests\Fixtures\GroupDummy"> + <attribute name="foo"> + <group>group1</group> + <group>group2</group> + </attribute> + + <attribute name="bar"> + <group>group2</group> + </attribute> + </class> + +</serializer> diff --git a/core/vendor/symfony/serializer/Tests/Fixtures/serialization.yml b/core/vendor/symfony/serializer/Tests/Fixtures/serialization.yml new file mode 100644 index 0000000000000000000000000000000000000000..e855ea472b3d696316cbbae5697fceb72dce5a76 --- /dev/null +++ b/core/vendor/symfony/serializer/Tests/Fixtures/serialization.yml @@ -0,0 +1,6 @@ +Symfony\Component\Serializer\Tests\Fixtures\GroupDummy: + attributes: + foo: + groups: ['group1', 'group2'] + bar: + groups: ['group2'] diff --git a/core/vendor/symfony/serializer/Tests/Mapping/AttributeMetadataTest.php b/core/vendor/symfony/serializer/Tests/Mapping/AttributeMetadataTest.php new file mode 100644 index 0000000000000000000000000000000000000000..f22746bc5de756e868797ae34dc244bc4b15c62b --- /dev/null +++ b/core/vendor/symfony/serializer/Tests/Mapping/AttributeMetadataTest.php @@ -0,0 +1,57 @@ +<?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\Serializer\Tests\Mapping; + +use Symfony\Component\Serializer\Mapping\AttributeMetadata; + +/** + * @author Kévin Dunglas <dunglas@gmail.com> + */ +class AttributeMetadataTest extends \PHPUnit_Framework_TestCase +{ + public function testInterface() + { + $attributeMetadata = new AttributeMetadata('name'); + $this->assertInstanceOf('Symfony\Component\Serializer\Mapping\AttributeMetadataInterface', $attributeMetadata); + } + + public function testGetName() + { + $attributeMetadata = new AttributeMetadata('name'); + $this->assertEquals('name', $attributeMetadata->getName()); + } + + public function testGroups() + { + $attributeMetadata = new AttributeMetadata('group'); + $attributeMetadata->addGroup('a'); + $attributeMetadata->addGroup('a'); + $attributeMetadata->addGroup('b'); + + $this->assertEquals(array('a', 'b'), $attributeMetadata->getGroups()); + } + + public function testMerge() + { + $attributeMetadata1 = new AttributeMetadata('a1'); + $attributeMetadata1->addGroup('a'); + $attributeMetadata1->addGroup('b'); + + $attributeMetadata2 = new AttributeMetadata('a2'); + $attributeMetadata2->addGroup('a'); + $attributeMetadata2->addGroup('c'); + + $attributeMetadata1->merge($attributeMetadata2); + + $this->assertEquals(array('a', 'b', 'c'), $attributeMetadata1->getGroups()); + } +} diff --git a/core/vendor/symfony/serializer/Tests/Mapping/ClassMetadataTest.php b/core/vendor/symfony/serializer/Tests/Mapping/ClassMetadataTest.php new file mode 100644 index 0000000000000000000000000000000000000000..90017580ac70392be6917d1cb19ec98fcac7d1ab --- /dev/null +++ b/core/vendor/symfony/serializer/Tests/Mapping/ClassMetadataTest.php @@ -0,0 +1,65 @@ +<?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\Serializer\Tests\Mapping; + +use Symfony\Component\Serializer\Mapping\ClassMetadata; + +/** + * @author Kévin Dunglas <dunglas@gmail.com> + */ +class ClassMetadataTest extends \PHPUnit_Framework_TestCase +{ + public function testInterface() + { + $classMetadata = new ClassMetadata('name'); + $this->assertInstanceOf('Symfony\Component\Serializer\Mapping\ClassMetadataInterface', $classMetadata); + } + + public function testAttributeMetadata() + { + $classMetadata = new ClassMetadata('c'); + + $a1 = $this->getMock('Symfony\Component\Serializer\Mapping\AttributeMetadataInterface'); + $a1->method('getName')->willReturn('a1'); + + $a2 = $this->getMock('Symfony\Component\Serializer\Mapping\AttributeMetadataInterface'); + $a2->method('getName')->willReturn('a2'); + + $classMetadata->addAttributeMetadata($a1); + $classMetadata->addAttributeMetadata($a2); + + $this->assertEquals(array('a1' => $a1, 'a2' => $a2), $classMetadata->getAttributesMetadata()); + } + + public function testMerge() + { + $classMetadata1 = new ClassMetadata('c1'); + $classMetadata2 = new ClassMetadata('c2'); + + $ac1 = $this->getMock('Symfony\Component\Serializer\Mapping\AttributeMetadataInterface'); + $ac1->method('getName')->willReturn('a1'); + $ac1->method('getGroups')->willReturn(array('a', 'b')); + + $ac2 = $this->getMock('Symfony\Component\Serializer\Mapping\AttributeMetadataInterface'); + $ac2->method('getName')->willReturn('a1'); + $ac2->method('getGroups')->willReturn(array('b', 'c')); + + $classMetadata1->addAttributeMetadata($ac1); + $classMetadata2->addAttributeMetadata($ac2); + + $classMetadata1->merge($classMetadata2); + + $ac1->method('getGroups')->willReturn('a', 'b', 'c'); + + $this->assertEquals(array('a1' => $ac1), $classMetadata2->getAttributesMetadata()); + } +} diff --git a/core/vendor/symfony/serializer/Tests/Mapping/Factory/ClassMetadataFactoryTest.php b/core/vendor/symfony/serializer/Tests/Mapping/Factory/ClassMetadataFactoryTest.php new file mode 100644 index 0000000000000000000000000000000000000000..2e2ba22dcee0ba6342617bb0fcced1f3d52aac76 --- /dev/null +++ b/core/vendor/symfony/serializer/Tests/Mapping/Factory/ClassMetadataFactoryTest.php @@ -0,0 +1,78 @@ +<?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\Serializer\Tests\Mapping\Factory; + +use Doctrine\Common\Annotations\AnnotationReader; +use Symfony\Component\Serializer\Mapping\Factory\ClassMetadataFactory; +use Symfony\Component\Serializer\Mapping\Loader\AnnotationLoader; +use Symfony\Component\Serializer\Mapping\Loader\LoaderChain; +use Symfony\Component\Serializer\Tests\Mapping\TestClassMetadataFactory; + +/** + * @author Kévin Dunglas <dunglas@gmail.com> + */ +class ClassMetadataFactoryTest extends \PHPUnit_Framework_TestCase +{ + public function testInterface() + { + $classMetadata = new ClassMetadataFactory(new LoaderChain(array())); + $this->assertInstanceOf('Symfony\Component\Serializer\Mapping\Factory\ClassMetadataFactory', $classMetadata); + } + + public function testGetMetadataFor() + { + $factory = new ClassMetadataFactory(new AnnotationLoader(new AnnotationReader())); + $classMetadata = $factory->getMetadataFor('Symfony\Component\Serializer\Tests\Fixtures\GroupDummy'); + + $this->assertEquals(TestClassMetadataFactory::createClassMetadata(true, true), $classMetadata); + } + + public function testHasMetadataFor() + { + $factory = new ClassMetadataFactory(new AnnotationLoader(new AnnotationReader())); + $this->assertTrue($factory->hasMetadataFor('Symfony\Component\Serializer\Tests\Fixtures\GroupDummy')); + $this->assertTrue($factory->hasMetadataFor('Symfony\Component\Serializer\Tests\Fixtures\GroupDummyParent')); + $this->assertTrue($factory->hasMetadataFor('Symfony\Component\Serializer\Tests\Fixtures\GroupDummyInterface')); + $this->assertFalse($factory->hasMetadataFor('Dunglas\Entity')); + } + + public function testCacheExists() + { + $cache = $this->getMock('Doctrine\Common\Cache\Cache'); + $cache + ->expects($this->once()) + ->method('fetch') + ->will($this->returnValue('foo')) + ; + + $factory = new ClassMetadataFactory(new AnnotationLoader(new AnnotationReader()), $cache); + $this->assertEquals('foo', $factory->getMetadataFor('Symfony\Component\Serializer\Tests\Fixtures\GroupDummy')); + } + + public function testCacheNotExists() + { + $cache = $this->getMock('Doctrine\Common\Cache\Cache'); + $cache + ->method('fetch') + ->will($this->returnValue(false)) + ; + + $cache + ->method('save') + ; + + $factory = new ClassMetadataFactory(new AnnotationLoader(new AnnotationReader()), $cache); + $metadata = $factory->getMetadataFor('Symfony\Component\Serializer\Tests\Fixtures\GroupDummy'); + + $this->assertEquals(TestClassMetadataFactory::createClassMetadata(true, true), $metadata); + } +} diff --git a/core/vendor/symfony/serializer/Tests/Mapping/Loader/AnnotationLoaderTest.php b/core/vendor/symfony/serializer/Tests/Mapping/Loader/AnnotationLoaderTest.php new file mode 100644 index 0000000000000000000000000000000000000000..484d062f22375912cffce1823cfd82727a43e35e --- /dev/null +++ b/core/vendor/symfony/serializer/Tests/Mapping/Loader/AnnotationLoaderTest.php @@ -0,0 +1,66 @@ +<?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\Serializer\Tests\Mapping\Loader; + +use Doctrine\Common\Annotations\AnnotationReader; +use Symfony\Component\Serializer\Mapping\ClassMetadata; +use Symfony\Component\Serializer\Mapping\Loader\AnnotationLoader; +use Symfony\Component\Serializer\Tests\Mapping\TestClassMetadataFactory; + +/** + * @author Kévin Dunglas <dunglas@gmail.com> + */ +class AnnotationLoaderTest extends \PHPUnit_Framework_TestCase +{ + /** + * @var AnnotationLoader + */ + private $loader; + + protected function setUp() + { + $this->loader = new AnnotationLoader(new AnnotationReader()); + } + + public function testInterface() + { + $this->assertInstanceOf('Symfony\Component\Serializer\Mapping\Loader\LoaderInterface', $this->loader); + } + + public function testLoadClassMetadataReturnsTrueIfSuccessful() + { + $classMetadata = new ClassMetadata('Symfony\Component\Serializer\Tests\Fixtures\GroupDummy'); + + $this->assertTrue($this->loader->loadClassMetadata($classMetadata)); + } + + public function testLoadClassMetadata() + { + $classMetadata = new ClassMetadata('Symfony\Component\Serializer\Tests\Fixtures\GroupDummy'); + $this->loader->loadClassMetadata($classMetadata); + + $this->assertEquals(TestClassMetadataFactory::createClassMetadata(), $classMetadata); + } + + public function testLoadClassMetadataAndMerge() + { + $classMetadata = new ClassMetadata('Symfony\Component\Serializer\Tests\Fixtures\GroupDummy'); + $parentClassMetadata = new ClassMetadata('Symfony\Component\Serializer\Tests\Fixtures\GroupDummyParent'); + + $this->loader->loadClassMetadata($parentClassMetadata); + $classMetadata->merge($parentClassMetadata); + + $this->loader->loadClassMetadata($classMetadata); + + $this->assertEquals(TestClassMetadataFactory::createClassMetadata(true), $classMetadata); + } +} diff --git a/core/vendor/symfony/serializer/Tests/Mapping/Loader/XmlFileLoaderTest.php b/core/vendor/symfony/serializer/Tests/Mapping/Loader/XmlFileLoaderTest.php new file mode 100644 index 0000000000000000000000000000000000000000..6b468ff18189c96ca2bccd720b8489c261373acd --- /dev/null +++ b/core/vendor/symfony/serializer/Tests/Mapping/Loader/XmlFileLoaderTest.php @@ -0,0 +1,54 @@ +<?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\Serializer\Tests\Mapping\Loader; + +use Symfony\Component\Serializer\Mapping\Loader\XmlFileLoader; +use Symfony\Component\Serializer\Mapping\ClassMetadata; +use Symfony\Component\Serializer\Tests\Mapping\TestClassMetadataFactory; + +/** + * @author Kévin Dunglas <dunglas@gmail.com> + */ +class XmlFileLoaderTest extends \PHPUnit_Framework_TestCase +{ + /** + * @var XmlFileLoader + */ + private $loader; + /** + * @var ClassMetadata + */ + private $metadata; + + protected function setUp() + { + $this->loader = new XmlFileLoader(__DIR__.'/../../Fixtures/serialization.xml'); + $this->metadata = new ClassMetadata('Symfony\Component\Serializer\Tests\Fixtures\GroupDummy'); + } + + public function testInterface() + { + $this->assertInstanceOf('Symfony\Component\Serializer\Mapping\Loader\LoaderInterface', $this->loader); + } + + public function testLoadClassMetadataReturnsTrueIfSuccessful() + { + $this->assertTrue($this->loader->loadClassMetadata($this->metadata)); + } + + public function testLoadClassMetadata() + { + $this->loader->loadClassMetadata($this->metadata); + + $this->assertEquals(TestClassMetadataFactory::createXmlCLassMetadata(), $this->metadata); + } +} diff --git a/core/vendor/symfony/serializer/Tests/Mapping/Loader/YamlFileLoaderTest.php b/core/vendor/symfony/serializer/Tests/Mapping/Loader/YamlFileLoaderTest.php new file mode 100644 index 0000000000000000000000000000000000000000..72d146f9f52244020c4440a5c0d468bbfb960554 --- /dev/null +++ b/core/vendor/symfony/serializer/Tests/Mapping/Loader/YamlFileLoaderTest.php @@ -0,0 +1,69 @@ +<?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\Serializer\Tests\Mapping\Loader; + +use Symfony\Component\Serializer\Mapping\Loader\YamlFileLoader; +use Symfony\Component\Serializer\Mapping\ClassMetadata; +use Symfony\Component\Serializer\Tests\Mapping\TestClassMetadataFactory; + +/** + * @author Kévin Dunglas <dunglas@gmail.com> + */ +class YamlFileLoaderTest extends \PHPUnit_Framework_TestCase +{ + /** + * @var YamlFileLoader + */ + private $loader; + /** + * @var ClassMetadata + */ + private $metadata; + + protected function setUp() + { + $this->loader = new YamlFileLoader(__DIR__.'/../../Fixtures/serialization.yml'); + $this->metadata = new ClassMetadata('Symfony\Component\Serializer\Tests\Fixtures\GroupDummy'); + } + + public function testInterface() + { + $this->assertInstanceOf('Symfony\Component\Serializer\Mapping\Loader\LoaderInterface', $this->loader); + } + + public function testLoadClassMetadataReturnsTrueIfSuccessful() + { + $this->assertTrue($this->loader->loadClassMetadata($this->metadata)); + } + + public function testLoadClassMetadataReturnsFalseWhenEmpty() + { + $loader = new YamlFileLoader(__DIR__.'/../../Fixtures/empty-mapping.yml'); + $this->assertFalse($loader->loadClassMetadata($this->metadata)); + } + + /** + * @expectedException \Symfony\Component\Serializer\Exception\MappingException + */ + public function testLoadClassMetadataReturnsThrowsInvalidMapping() + { + $loader = new YamlFileLoader(__DIR__.'/../../Fixtures/invalid-mapping.yml'); + $loader->loadClassMetadata($this->metadata); + } + + public function testLoadClassMetadata() + { + $this->loader->loadClassMetadata($this->metadata); + + $this->assertEquals(TestClassMetadataFactory::createXmlCLassMetadata(), $this->metadata); + } +} diff --git a/core/vendor/symfony/serializer/Tests/Mapping/TestClassMetadataFactory.php b/core/vendor/symfony/serializer/Tests/Mapping/TestClassMetadataFactory.php new file mode 100644 index 0000000000000000000000000000000000000000..f435d36f744d25a45bdeac51c378837a96d19186 --- /dev/null +++ b/core/vendor/symfony/serializer/Tests/Mapping/TestClassMetadataFactory.php @@ -0,0 +1,82 @@ +<?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\Serializer\Tests\Mapping; + +use Symfony\Component\Serializer\Mapping\AttributeMetadata; +use Symfony\Component\Serializer\Mapping\ClassMetadata; + +/** + * @author Kévin Dunglas <dunglas@gmail.com> + */ +class TestClassMetadataFactory +{ + public static function createClassMetadata($withParent = false, $withInterface = false) + { + $expected = new ClassMetadata('Symfony\Component\Serializer\Tests\Fixtures\GroupDummy'); + + $foo = new AttributeMetadata('foo'); + $foo->addGroup('a'); + $expected->addAttributeMetadata($foo); + + $bar = new AttributeMetadata('bar'); + $bar->addGroup('b'); + $bar->addGroup('c'); + $bar->addGroup('name_converter'); + $expected->addAttributeMetadata($bar); + + $fooBar = new AttributeMetadata('fooBar'); + $fooBar->addGroup('a'); + $fooBar->addGroup('b'); + $fooBar->addGroup('name_converter'); + $expected->addAttributeMetadata($fooBar); + + $symfony = new AttributeMetadata('symfony'); + $expected->addAttributeMetadata($symfony); + + if ($withParent) { + $kevin = new AttributeMetadata('kevin'); + $kevin->addGroup('a'); + $expected->addAttributeMetadata($kevin); + + $coopTilleuls = new AttributeMetadata('coopTilleuls'); + $coopTilleuls->addGroup('a'); + $coopTilleuls->addGroup('b'); + $expected->addAttributeMetadata($coopTilleuls); + } + + if ($withInterface) { + $symfony->addGroup('a'); + $symfony->addGroup('name_converter'); + } + + // load reflection class so that the comparison passes + $expected->getReflectionClass(); + + return $expected; + } + + public static function createXmlCLassMetadata() + { + $expected = new ClassMetadata('Symfony\Component\Serializer\Tests\Fixtures\GroupDummy'); + + $foo = new AttributeMetadata('foo'); + $foo->addGroup('group1'); + $foo->addGroup('group2'); + $expected->addAttributeMetadata($foo); + + $bar = new AttributeMetadata('bar'); + $bar->addGroup('group2'); + $expected->addAttributeMetadata($bar); + + return $expected; + } +} diff --git a/core/vendor/symfony/serializer/Tests/NameConverter/CamelCaseToSnakeCaseNameConverterTest.php b/core/vendor/symfony/serializer/Tests/NameConverter/CamelCaseToSnakeCaseNameConverterTest.php new file mode 100644 index 0000000000000000000000000000000000000000..2d57017340207892d2d99f268be3cf47677d1736 --- /dev/null +++ b/core/vendor/symfony/serializer/Tests/NameConverter/CamelCaseToSnakeCaseNameConverterTest.php @@ -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\Serializer\Tests\NameConverter; + +use Symfony\Component\Serializer\NameConverter\CamelCaseToSnakeCaseNameConverter; + +/** + * @author Kévin Dunglas <dunglas@gmail.com> + */ +class CamelCaseToSnakeCaseNameConverterTest extends \PHPUnit_Framework_TestCase +{ + public function testInterface() + { + $attributeMetadata = new CamelCaseToSnakeCaseNameConverter(); + $this->assertInstanceOf('Symfony\Component\Serializer\NameConverter\NameConverterInterface', $attributeMetadata); + } + + /** + * @dataProvider attributeProvider + */ + public function testNormalize($underscored, $lowerCamelCased) + { + $nameConverter = new CamelCaseToSnakeCaseNameConverter(); + $this->assertEquals($nameConverter->normalize($lowerCamelCased), $underscored); + } + + /** + * @dataProvider attributeProvider + */ + public function testDenormalize($underscored, $lowerCamelCased) + { + $nameConverter = new CamelCaseToSnakeCaseNameConverter(); + $this->assertEquals($nameConverter->denormalize($underscored), $lowerCamelCased); + } + + public function attributeProvider() + { + return array( + array('coop_tilleuls', 'coopTilleuls'), + array('_kevin_dunglas', '_kevinDunglas'), + array('this_is_a_test', 'thisIsATest'), + ); + } +} diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Normalizer/CustomNormalizerTest.php b/core/vendor/symfony/serializer/Tests/Normalizer/CustomNormalizerTest.php similarity index 85% rename from core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Normalizer/CustomNormalizerTest.php rename to core/vendor/symfony/serializer/Tests/Normalizer/CustomNormalizerTest.php index 0aeaba472a1748fcdb7af504401ff0fa8f09616e..86ae0031203b4ee7f86888bc9b1eabbe4e0da6ce 100644 --- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Normalizer/CustomNormalizerTest.php +++ b/core/vendor/symfony/serializer/Tests/Normalizer/CustomNormalizerTest.php @@ -17,12 +17,23 @@ class CustomNormalizerTest extends \PHPUnit_Framework_TestCase { + /** + * @var CustomNormalizer + */ + private $normalizer; + protected function setUp() { $this->normalizer = new CustomNormalizer(); $this->normalizer->setSerializer(new Serializer()); } + public function testInterface() + { + $this->assertInstanceOf('Symfony\Component\Serializer\Normalizer\NormalizerInterface', $this->normalizer); + $this->assertInstanceOf('Symfony\Component\Serializer\Normalizer\DenormalizerInterface', $this->normalizer); + } + public function testSerialize() { $obj = new ScalarDummy(); diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Normalizer/GetSetMethodNormalizerTest.php b/core/vendor/symfony/serializer/Tests/Normalizer/GetSetMethodNormalizerTest.php similarity index 55% rename from core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Normalizer/GetSetMethodNormalizerTest.php rename to core/vendor/symfony/serializer/Tests/Normalizer/GetSetMethodNormalizerTest.php index 71271174de0c0a35004e1bcce09a16eca1761a01..e8156dd10fb9de75441dc8886ef4452bc4985d28 100644 --- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Normalizer/GetSetMethodNormalizerTest.php +++ b/core/vendor/symfony/serializer/Tests/Normalizer/GetSetMethodNormalizerTest.php @@ -11,12 +11,17 @@ namespace Symfony\Component\Serializer\Tests\Normalizer; +use Doctrine\Common\Annotations\AnnotationReader; +use Symfony\Component\Serializer\NameConverter\CamelCaseToSnakeCaseNameConverter; use Symfony\Component\Serializer\Normalizer\GetSetMethodNormalizer; use Symfony\Component\Serializer\Serializer; use Symfony\Component\Serializer\SerializerInterface; use Symfony\Component\Serializer\Normalizer\NormalizerInterface; use Symfony\Component\Serializer\Tests\Fixtures\CircularReferenceDummy; use Symfony\Component\Serializer\Tests\Fixtures\SiblingHolder; +use Symfony\Component\Serializer\Mapping\Loader\AnnotationLoader; +use Symfony\Component\Serializer\Mapping\Factory\ClassMetadataFactory; +use Symfony\Component\Serializer\Tests\Fixtures\GroupDummy; class GetSetMethodNormalizerTest extends \PHPUnit_Framework_TestCase { @@ -24,6 +29,10 @@ class GetSetMethodNormalizerTest extends \PHPUnit_Framework_TestCase * @var GetSetMethodNormalizer */ private $normalizer; + /** + * @var SerializerInterface + */ + private $serializer; protected function setUp() { @@ -32,6 +41,12 @@ protected function setUp() $this->normalizer->setSerializer($this->serializer); } + public function testInterface() + { + $this->assertInstanceOf('Symfony\Component\Serializer\Normalizer\NormalizerInterface', $this->normalizer); + $this->assertInstanceOf('Symfony\Component\Serializer\Normalizer\DenormalizerInterface', $this->normalizer); + } + public function testNormalize() { $obj = new GetSetDummy(); @@ -85,13 +100,29 @@ public function testDenormalizeWithObject() $this->assertEquals('bar', $obj->getBar()); } - public function testDenormalizeOnCamelCaseFormat() + /** + * @group legacy + */ + public function testLegacyDenormalizeOnCamelCaseFormat() { + $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED); + $this->normalizer->setCamelizedAttributes(array('camel_case')); $obj = $this->normalizer->denormalize( array('camel_case' => 'camelCase'), __NAMESPACE__.'\GetSetDummy' ); + + $this->assertEquals('camelCase', $obj->getCamelCase()); + } + + public function testNameConverterSupport() + { + $this->normalizer = new GetSetMethodNormalizer(null, new CamelCaseToSnakeCaseNameConverter()); + $obj = $this->normalizer->denormalize( + array('camel_case' => 'camelCase'), + __NAMESPACE__.'\GetSetDummy' + ); $this->assertEquals('camelCase', $obj->getCamelCase()); } @@ -101,26 +132,55 @@ public function testDenormalizeNull() } /** - * @dataProvider attributeProvider + * @group legacy */ - public function testFormatAttribute($attribute, $camelizedAttributes, $result) + public function testLegacyCamelizedAttributesNormalize() { - $r = new \ReflectionObject($this->normalizer); - $m = $r->getMethod('formatAttribute'); - $m->setAccessible(true); + $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED); + + $obj = new GetCamelizedDummy('dunglas.fr'); + $obj->setFooBar('les-tilleuls.coop'); + $obj->setBar_foo('lostinthesupermarket.fr'); - $this->normalizer->setCamelizedAttributes($camelizedAttributes); - $this->assertEquals($m->invoke($this->normalizer, $attribute, $camelizedAttributes), $result); + $this->normalizer->setCamelizedAttributes(array('kevin_dunglas')); + $this->assertEquals($this->normalizer->normalize($obj), array( + 'kevin_dunglas' => 'dunglas.fr', + 'fooBar' => 'les-tilleuls.coop', + 'bar_foo' => 'lostinthesupermarket.fr', + )); + + $this->normalizer->setCamelizedAttributes(array('foo_bar')); + $this->assertEquals($this->normalizer->normalize($obj), array( + 'kevinDunglas' => 'dunglas.fr', + 'foo_bar' => 'les-tilleuls.coop', + 'bar_foo' => 'lostinthesupermarket.fr', + )); } - public function attributeProvider() + /** + * @group legacy + */ + public function testLegacyCamelizedAttributesDenormalize() { - return array( - array('attribute_test', array('attribute_test'),'AttributeTest'), - array('attribute_test', array('any'),'attribute_test'), - array('attribute', array('attribute'),'Attribute'), - array('attribute', array(), 'attribute'), - ); + $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED); + + $obj = new GetCamelizedDummy('dunglas.fr'); + $obj->setFooBar('les-tilleuls.coop'); + $obj->setBar_foo('lostinthesupermarket.fr'); + + $this->normalizer->setCamelizedAttributes(array('kevin_dunglas')); + $this->assertEquals($this->normalizer->denormalize(array( + 'kevin_dunglas' => 'dunglas.fr', + 'fooBar' => 'les-tilleuls.coop', + 'bar_foo' => 'lostinthesupermarket.fr', + ), __NAMESPACE__.'\GetCamelizedDummy'), $obj); + + $this->normalizer->setCamelizedAttributes(array('foo_bar')); + $this->assertEquals($this->normalizer->denormalize(array( + 'kevinDunglas' => 'dunglas.fr', + 'foo_bar' => 'les-tilleuls.coop', + 'bar_foo' => 'lostinthesupermarket.fr', + ), __NAMESPACE__.'\GetCamelizedDummy'), $obj); } public function testConstructorDenormalize() @@ -133,6 +193,16 @@ public function testConstructorDenormalize() $this->assertTrue($obj->isBaz()); } + public function testConstructorDenormalizeWithNullArgument() + { + $obj = $this->normalizer->denormalize( + array('foo' => 'foo', 'bar' => null, 'baz' => true), + __NAMESPACE__.'\GetConstructorDummy', 'any'); + $this->assertEquals('foo', $obj->getFoo()); + $this->assertNull($obj->getBar()); + $this->assertTrue($obj->isBaz()); + } + public function testConstructorDenormalizeWithMissingOptionalArgument() { $obj = $this->normalizer->denormalize( @@ -143,6 +213,15 @@ public function testConstructorDenormalizeWithMissingOptionalArgument() $this->assertEquals(array(1, 2, 3), $obj->getBaz()); } + public function testConstructorDenormalizeWithOptionalDefaultArgument() + { + $obj = $this->normalizer->denormalize( + array('bar' => 'test'), + __NAMESPACE__.'\GetConstructorArgsWithDefaultValueDummy', 'any'); + $this->assertEquals(array(), $obj->getFoo()); + $this->assertEquals('test', $obj->getBar()); + } + public function testConstructorWithObjectDenormalize() { $data = new \stdClass(); @@ -155,6 +234,106 @@ public function testConstructorWithObjectDenormalize() $this->assertEquals('bar', $obj->getBar()); } + public function testGroupsNormalize() + { + $classMetadataFactory = new ClassMetadataFactory(new AnnotationLoader(new AnnotationReader())); + $this->normalizer = new GetSetMethodNormalizer($classMetadataFactory); + $this->normalizer->setSerializer($this->serializer); + + $obj = new GroupDummy(); + $obj->setFoo('foo'); + $obj->setBar('bar'); + $obj->setFooBar('fooBar'); + $obj->setSymfony('symfony'); + $obj->setKevin('kevin'); + $obj->setCoopTilleuls('coopTilleuls'); + + $this->assertEquals(array( + 'bar' => 'bar', + ), $this->normalizer->normalize($obj, null, array('groups' => array('c')))); + + $this->assertEquals(array( + 'symfony' => 'symfony', + 'foo' => 'foo', + 'fooBar' => 'fooBar', + 'bar' => 'bar', + 'kevin' => 'kevin', + 'coopTilleuls' => 'coopTilleuls', + ), $this->normalizer->normalize($obj, null, array('groups' => array('a', 'c')))); + } + + public function testGroupsDenormalize() + { + $classMetadataFactory = new ClassMetadataFactory(new AnnotationLoader(new AnnotationReader())); + $this->normalizer = new GetSetMethodNormalizer($classMetadataFactory); + $this->normalizer->setSerializer($this->serializer); + + $obj = new GroupDummy(); + $obj->setFoo('foo'); + + $toNormalize = array('foo' => 'foo', 'bar' => 'bar'); + + $normalized = $this->normalizer->denormalize( + $toNormalize, + 'Symfony\Component\Serializer\Tests\Fixtures\GroupDummy', + null, + array('groups' => array('a')) + ); + $this->assertEquals($obj, $normalized); + + $obj->setBar('bar'); + + $normalized = $this->normalizer->denormalize( + $toNormalize, + 'Symfony\Component\Serializer\Tests\Fixtures\GroupDummy', + null, + array('groups' => array('a', 'b')) + ); + $this->assertEquals($obj, $normalized); + } + + public function testGroupsNormalizeWithNameConverter() + { + $classMetadataFactory = new ClassMetadataFactory(new AnnotationLoader(new AnnotationReader())); + $this->normalizer = new GetSetMethodNormalizer($classMetadataFactory, new CamelCaseToSnakeCaseNameConverter()); + $this->normalizer->setSerializer($this->serializer); + + $obj = new GroupDummy(); + $obj->setFooBar('@dunglas'); + $obj->setSymfony('@coopTilleuls'); + $obj->setCoopTilleuls('les-tilleuls.coop'); + + $this->assertEquals( + array( + 'bar' => null, + 'foo_bar' => '@dunglas', + 'symfony' => '@coopTilleuls', + ), + $this->normalizer->normalize($obj, null, array('groups' => array('name_converter'))) + ); + } + + public function testGroupsDenormalizeWithNameConverter() + { + $classMetadataFactory = new ClassMetadataFactory(new AnnotationLoader(new AnnotationReader())); + $this->normalizer = new GetSetMethodNormalizer($classMetadataFactory, new CamelCaseToSnakeCaseNameConverter()); + $this->normalizer->setSerializer($this->serializer); + + $obj = new GroupDummy(); + $obj->setFooBar('@dunglas'); + $obj->setSymfony('@coopTilleuls'); + + $this->assertEquals( + $obj, + $this->normalizer->denormalize(array( + 'bar' => null, + 'foo_bar' => '@dunglas', + 'symfony' => '@coopTilleuls', + 'coop_tilleuls' => 'les-tilleuls.coop', + ), 'Symfony\Component\Serializer\Tests\Fixtures\GroupDummy', null, array('groups' => array('name_converter'))) + ); + } + /** * @dataProvider provideCallbacks */ @@ -317,6 +496,36 @@ public function testCircularReferenceHandler() $expected = array('me' => 'Symfony\Component\Serializer\Tests\Fixtures\CircularReferenceDummy'); $this->assertEquals($expected, $this->normalizer->normalize($obj)); } + + public function testObjectToPopulate() + { + $dummy = new GetSetDummy(); + $dummy->setFoo('foo'); + + $obj = $this->normalizer->denormalize( + array('bar' => 'bar'), + __NAMESPACE__.'\GetSetDummy', + null, + array('object_to_populate' => $dummy) + ); + + $this->assertEquals($dummy, $obj); + $this->assertEquals('foo', $obj->getFoo()); + $this->assertEquals('bar', $obj->getBar()); + } + + public function testDenormalizeNonExistingAttribute() + { + $this->assertEquals( + new PropertyDummy(), + $this->normalizer->denormalize(array('non_existing' => true), __NAMESPACE__.'\PropertyDummy') + ); + } + + public function testNoTraversableSupport() + { + $this->assertFalse($this->normalizer->supportsNormalization(new \ArrayObject())); + } } class GetSetDummy @@ -459,3 +668,67 @@ public function otherMethod() throw new \RuntimeException('Dummy::otherMethod() should not be called'); } } + +class GetConstructorArgsWithDefaultValueDummy +{ + protected $foo; + protected $bar; + + public function __construct($foo = array(), $bar) + { + $this->foo = $foo; + $this->bar = $bar; + } + + public function getFoo() + { + return $this->foo; + } + + public function getBar() + { + return $this->bar; + } + + public function otherMethod() + { + throw new \RuntimeException('Dummy::otherMethod() should not be called'); + } +} + +class GetCamelizedDummy +{ + private $kevinDunglas; + private $fooBar; + private $bar_foo; + + public function __construct($kevinDunglas = null) + { + $this->kevinDunglas = $kevinDunglas; + } + + public function getKevinDunglas() + { + return $this->kevinDunglas; + } + + public function setFooBar($fooBar) + { + $this->fooBar = $fooBar; + } + + public function getFooBar() + { + return $this->fooBar; + } + + public function setBar_foo($bar_foo) + { + $this->bar_foo = $bar_foo; + } + + public function getBar_foo() + { + return $this->bar_foo; + } +} diff --git a/core/vendor/symfony/serializer/Tests/Normalizer/ObjectNormalizerTest.php b/core/vendor/symfony/serializer/Tests/Normalizer/ObjectNormalizerTest.php new file mode 100644 index 0000000000000000000000000000000000000000..14a268f5bc0eb3c439af1f778a42da36eb5dfbfc --- /dev/null +++ b/core/vendor/symfony/serializer/Tests/Normalizer/ObjectNormalizerTest.php @@ -0,0 +1,604 @@ +<?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\Serializer\Tests\Normalizer; + +use Doctrine\Common\Annotations\AnnotationReader; +use Symfony\Component\Serializer\NameConverter\CamelCaseToSnakeCaseNameConverter; +use Symfony\Component\Serializer\Normalizer\ObjectNormalizer; +use Symfony\Component\Serializer\Serializer; +use Symfony\Component\Serializer\SerializerInterface; +use Symfony\Component\Serializer\Normalizer\NormalizerInterface; +use Symfony\Component\Serializer\Tests\Fixtures\CircularReferenceDummy; +use Symfony\Component\Serializer\Tests\Fixtures\SiblingHolder; +use Symfony\Component\Serializer\Mapping\Loader\AnnotationLoader; +use Symfony\Component\Serializer\Mapping\Factory\ClassMetadataFactory; +use Symfony\Component\Serializer\Tests\Fixtures\GroupDummy; + +/** + * @author Kévin Dunglas <dunglas@gmail.com> + */ +class ObjectNormalizerTest extends \PHPUnit_Framework_TestCase +{ + /** + * @var ObjectNormalizerTest + */ + private $normalizer; + /** + * @var SerializerInterface + */ + private $serializer; + + protected function setUp() + { + $this->serializer = $this->getMock(__NAMESPACE__.'\ObjectSerializerNormalizer'); + $this->normalizer = new ObjectNormalizer(); + $this->normalizer->setSerializer($this->serializer); + } + + public function testNormalize() + { + $obj = new ObjectDummy(); + $object = new \stdClass(); + $obj->setFoo('foo'); + $obj->bar = 'bar'; + $obj->setBaz(true); + $obj->setCamelCase('camelcase'); + $obj->setObject($object); + + $this->serializer + ->expects($this->once()) + ->method('normalize') + ->with($object, 'any') + ->will($this->returnValue('string_object')) + ; + + $this->assertEquals( + array( + 'foo' => 'foo', + 'bar' => 'bar', + 'baz' => true, + 'fooBar' => 'foobar', + 'camelCase' => 'camelcase', + 'object' => 'string_object', + ), + $this->normalizer->normalize($obj, 'any') + ); + } + + public function testDenormalize() + { + $obj = $this->normalizer->denormalize( + array('foo' => 'foo', 'bar' => 'bar', 'baz' => true, 'fooBar' => 'foobar'), + __NAMESPACE__.'\ObjectDummy', + 'any' + ); + $this->assertEquals('foo', $obj->getFoo()); + $this->assertEquals('bar', $obj->bar); + $this->assertTrue($obj->isBaz()); + } + + public function testDenormalizeWithObject() + { + $data = new \stdClass(); + $data->foo = 'foo'; + $data->bar = 'bar'; + $data->fooBar = 'foobar'; + $obj = $this->normalizer->denormalize($data, __NAMESPACE__.'\ObjectDummy', 'any'); + $this->assertEquals('foo', $obj->getFoo()); + $this->assertEquals('bar', $obj->bar); + } + + /** + * @group legacy + */ + public function testLegacyDenormalizeOnCamelCaseFormat() + { + $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED); + + $this->normalizer->setCamelizedAttributes(array('camel_case')); + $obj = $this->normalizer->denormalize( + array('camel_case' => 'camelCase'), + __NAMESPACE__.'\ObjectDummy' + ); + $this->assertEquals('camelCase', $obj->getCamelCase()); + } + + public function testNameConverterSupport() + { + $this->normalizer = new ObjectNormalizer(null, new CamelCaseToSnakeCaseNameConverter()); + $obj = $this->normalizer->denormalize( + array('camel_case' => 'camelCase'), + __NAMESPACE__.'\ObjectDummy' + ); + $this->assertEquals('camelCase', $obj->getCamelCase()); + } + + public function testDenormalizeNull() + { + $this->assertEquals(new ObjectDummy(), $this->normalizer->denormalize(null, __NAMESPACE__.'\ObjectDummy')); + } + + public function testConstructorDenormalize() + { + $obj = $this->normalizer->denormalize( + array('foo' => 'foo', 'bar' => 'bar', 'baz' => true, 'fooBar' => 'foobar'), + __NAMESPACE__.'\ObjectConstructorDummy', 'any'); + $this->assertEquals('foo', $obj->getFoo()); + $this->assertEquals('bar', $obj->bar); + $this->assertTrue($obj->isBaz()); + } + + public function testConstructorDenormalizeWithNullArgument() + { + $obj = $this->normalizer->denormalize( + array('foo' => 'foo', 'bar' => null, 'baz' => true), + __NAMESPACE__.'\ObjectConstructorDummy', 'any'); + $this->assertEquals('foo', $obj->getFoo()); + $this->assertNull($obj->bar); + $this->assertTrue($obj->isBaz()); + } + + public function testConstructorDenormalizeWithMissingOptionalArgument() + { + $obj = $this->normalizer->denormalize( + array('foo' => 'test', 'baz' => array(1, 2, 3)), + __NAMESPACE__.'\ObjectConstructorOptionalArgsDummy', 'any'); + $this->assertEquals('test', $obj->getFoo()); + $this->assertEquals(array(), $obj->bar); + $this->assertEquals(array(1, 2, 3), $obj->getBaz()); + } + + public function testConstructorDenormalizeWithOptionalDefaultArgument() + { + $obj = $this->normalizer->denormalize( + array('bar' => 'test'), + __NAMESPACE__.'\ObjectConstructorArgsWithDefaultValueDummy', 'any'); + $this->assertEquals(array(), $obj->getFoo()); + $this->assertEquals('test', $obj->getBar()); + } + + public function testConstructorWithObjectDenormalize() + { + $data = new \stdClass(); + $data->foo = 'foo'; + $data->bar = 'bar'; + $data->baz = true; + $data->fooBar = 'foobar'; + $obj = $this->normalizer->denormalize($data, __NAMESPACE__.'\ObjectConstructorDummy', 'any'); + $this->assertEquals('foo', $obj->getFoo()); + $this->assertEquals('bar', $obj->bar); + } + + public function testGroupsNormalize() + { + $classMetadataFactory = new ClassMetadataFactory(new AnnotationLoader(new AnnotationReader())); + $this->normalizer = new ObjectNormalizer($classMetadataFactory); + $this->normalizer->setSerializer($this->serializer); + + $obj = new GroupDummy(); + $obj->setFoo('foo'); + $obj->setBar('bar'); + $obj->setFooBar('fooBar'); + $obj->setSymfony('symfony'); + $obj->setKevin('kevin'); + $obj->setCoopTilleuls('coopTilleuls'); + + $this->assertEquals(array( + 'bar' => 'bar', + ), $this->normalizer->normalize($obj, null, array('groups' => array('c')))); + + $this->assertEquals(array( + 'symfony' => 'symfony', + 'foo' => 'foo', + 'fooBar' => 'fooBar', + 'bar' => 'bar', + 'kevin' => 'kevin', + 'coopTilleuls' => 'coopTilleuls', + ), $this->normalizer->normalize($obj, null, array('groups' => array('a', 'c')))); + } + + public function testGroupsDenormalize() + { + $classMetadataFactory = new ClassMetadataFactory(new AnnotationLoader(new AnnotationReader())); + $this->normalizer = new ObjectNormalizer($classMetadataFactory); + $this->normalizer->setSerializer($this->serializer); + + $obj = new GroupDummy(); + $obj->setFoo('foo'); + + $toNormalize = array('foo' => 'foo', 'bar' => 'bar'); + + $normalized = $this->normalizer->denormalize( + $toNormalize, + 'Symfony\Component\Serializer\Tests\Fixtures\GroupDummy', + null, + array('groups' => array('a')) + ); + $this->assertEquals($obj, $normalized); + + $obj->setBar('bar'); + + $normalized = $this->normalizer->denormalize( + $toNormalize, + 'Symfony\Component\Serializer\Tests\Fixtures\GroupDummy', + null, + array('groups' => array('a', 'b')) + ); + $this->assertEquals($obj, $normalized); + } + + public function testGroupsNormalizeWithNameConverter() + { + $classMetadataFactory = new ClassMetadataFactory(new AnnotationLoader(new AnnotationReader())); + $this->normalizer = new ObjectNormalizer($classMetadataFactory, new CamelCaseToSnakeCaseNameConverter()); + $this->normalizer->setSerializer($this->serializer); + + $obj = new GroupDummy(); + $obj->setFooBar('@dunglas'); + $obj->setSymfony('@coopTilleuls'); + $obj->setCoopTilleuls('les-tilleuls.coop'); + + $this->assertEquals( + array( + 'bar' => null, + 'foo_bar' => '@dunglas', + 'symfony' => '@coopTilleuls', + ), + $this->normalizer->normalize($obj, null, array('groups' => array('name_converter'))) + ); + } + + public function testGroupsDenormalizeWithNameConverter() + { + $classMetadataFactory = new ClassMetadataFactory(new AnnotationLoader(new AnnotationReader())); + $this->normalizer = new ObjectNormalizer($classMetadataFactory, new CamelCaseToSnakeCaseNameConverter()); + $this->normalizer->setSerializer($this->serializer); + + $obj = new GroupDummy(); + $obj->setFooBar('@dunglas'); + $obj->setSymfony('@coopTilleuls'); + + $this->assertEquals( + $obj, + $this->normalizer->denormalize(array( + 'bar' => null, + 'foo_bar' => '@dunglas', + 'symfony' => '@coopTilleuls', + 'coop_tilleuls' => 'les-tilleuls.coop', + ), 'Symfony\Component\Serializer\Tests\Fixtures\GroupDummy', null, array('groups' => array('name_converter'))) + ); + } + + /** + * @dataProvider provideCallbacks + */ + public function testCallbacks($callbacks, $value, $result, $message) + { + $this->normalizer->setCallbacks($callbacks); + + $obj = new ObjectConstructorDummy('', $value, true); + + $this->assertEquals( + $result, + $this->normalizer->normalize($obj, 'any'), + $message + ); + } + + /** + * @expectedException \InvalidArgumentException + */ + public function testUncallableCallbacks() + { + $this->normalizer->setCallbacks(array('bar' => null)); + + $obj = new ObjectConstructorDummy('baz', 'quux', true); + + $this->normalizer->normalize($obj, 'any'); + } + + public function testIgnoredAttributes() + { + $this->normalizer->setIgnoredAttributes(array('foo', 'bar', 'baz', 'camelCase', 'object')); + + $obj = new ObjectDummy(); + $obj->setFoo('foo'); + $obj->bar = 'bar'; + $obj->setBaz(true); + + $this->assertEquals( + array('fooBar' => 'foobar'), + $this->normalizer->normalize($obj, 'any') + ); + } + + public function provideCallbacks() + { + return array( + array( + array( + 'bar' => function ($bar) { + return 'baz'; + }, + ), + 'baz', + array('foo' => '', 'bar' => 'baz', 'baz' => true), + 'Change a string', + ), + array( + array( + 'bar' => function ($bar) { + return; + }, + ), + 'baz', + array('foo' => '', 'bar' => null, 'baz' => true), + 'Null an item', + ), + array( + array( + 'bar' => function ($bar) { + return $bar->format('d-m-Y H:i:s'); + }, + ), + new \DateTime('2011-09-10 06:30:00'), + array('foo' => '', 'bar' => '10-09-2011 06:30:00', 'baz' => true), + 'Format a date', + ), + array( + array( + 'bar' => function ($bars) { + $foos = ''; + foreach ($bars as $bar) { + $foos .= $bar->getFoo(); + } + + return $foos; + }, + ), + array(new ObjectConstructorDummy('baz', '', false), new ObjectConstructorDummy('quux', '', false)), + array('foo' => '', 'bar' => 'bazquux', 'baz' => true), + 'Collect a property', + ), + array( + array( + 'bar' => function ($bars) { + return count($bars); + }, + ), + array(new ObjectConstructorDummy('baz', '', false), new ObjectConstructorDummy('quux', '', false)), + array('foo' => '', 'bar' => 2, 'baz' => true), + 'Count a property', + ), + ); + } + + /** + * @expectedException \Symfony\Component\Serializer\Exception\LogicException + * @expectedExceptionMessage Cannot normalize attribute "object" because injected serializer is not a normalizer + */ + public function testUnableToNormalizeObjectAttribute() + { + $serializer = $this->getMock('Symfony\Component\Serializer\SerializerInterface'); + $this->normalizer->setSerializer($serializer); + + $obj = new ObjectDummy(); + $object = new \stdClass(); + $obj->setObject($object); + + $this->normalizer->normalize($obj, 'any'); + } + + /** + * @expectedException \Symfony\Component\Serializer\Exception\CircularReferenceException + */ + public function testUnableToNormalizeCircularReference() + { + $serializer = new Serializer(array($this->normalizer)); + $this->normalizer->setSerializer($serializer); + $this->normalizer->setCircularReferenceLimit(2); + + $obj = new CircularReferenceDummy(); + + $this->normalizer->normalize($obj); + } + + public function testSiblingReference() + { + $serializer = new Serializer(array($this->normalizer)); + $this->normalizer->setSerializer($serializer); + + $siblingHolder = new SiblingHolder(); + + $expected = array( + 'sibling0' => array('coopTilleuls' => 'Les-Tilleuls.coop'), + 'sibling1' => array('coopTilleuls' => 'Les-Tilleuls.coop'), + 'sibling2' => array('coopTilleuls' => 'Les-Tilleuls.coop'), + ); + $this->assertEquals($expected, $this->normalizer->normalize($siblingHolder)); + } + + public function testCircularReferenceHandler() + { + $serializer = new Serializer(array($this->normalizer)); + $this->normalizer->setSerializer($serializer); + $this->normalizer->setCircularReferenceHandler(function ($obj) { + return get_class($obj); + }); + + $obj = new CircularReferenceDummy(); + + $expected = array('me' => 'Symfony\Component\Serializer\Tests\Fixtures\CircularReferenceDummy'); + $this->assertEquals($expected, $this->normalizer->normalize($obj)); + } + + public function testDenormalizeNonExistingAttribute() + { + $this->assertEquals( + new ObjectDummy(), + $this->normalizer->denormalize(array('non_existing' => true), __NAMESPACE__.'\ObjectDummy') + ); + } + + public function testNoTraversableSupport() + { + $this->assertFalse($this->normalizer->supportsNormalization(new \ArrayObject())); + } +} + +class ObjectDummy +{ + protected $foo; + public $bar; + private $baz; + protected $camelCase; + protected $object; + + public function getFoo() + { + return $this->foo; + } + + public function setFoo($foo) + { + $this->foo = $foo; + } + + public function isBaz() + { + return $this->baz; + } + + public function setBaz($baz) + { + $this->baz = $baz; + } + + public function getFooBar() + { + return $this->foo.$this->bar; + } + + public function getCamelCase() + { + return $this->camelCase; + } + + public function setCamelCase($camelCase) + { + $this->camelCase = $camelCase; + } + + public function otherMethod() + { + throw new \RuntimeException('Dummy::otherMethod() should not be called'); + } + + public function setObject($object) + { + $this->object = $object; + } + + public function getObject() + { + return $this->object; + } +} + +class ObjectConstructorDummy +{ + protected $foo; + public $bar; + private $baz; + + public function __construct($foo, $bar, $baz) + { + $this->foo = $foo; + $this->bar = $bar; + $this->baz = $baz; + } + + public function getFoo() + { + return $this->foo; + } + + public function isBaz() + { + return $this->baz; + } + + public function otherMethod() + { + throw new \RuntimeException('Dummy::otherMethod() should not be called'); + } +} + +abstract class ObjectSerializerNormalizer implements SerializerInterface, NormalizerInterface +{ +} + +class ObjectConstructorOptionalArgsDummy +{ + protected $foo; + public $bar; + private $baz; + + public function __construct($foo, $bar = array(), $baz = array()) + { + $this->foo = $foo; + $this->bar = $bar; + $this->baz = $baz; + } + + public function getFoo() + { + return $this->foo; + } + + public function getBaz() + { + return $this->baz; + } + + public function otherMethod() + { + throw new \RuntimeException('Dummy::otherMethod() should not be called'); + } +} + +class ObjectConstructorArgsWithDefaultValueDummy +{ + protected $foo; + protected $bar; + + public function __construct($foo = array(), $bar) + { + $this->foo = $foo; + $this->bar = $bar; + } + + public function getFoo() + { + return $this->foo; + } + + public function getBar() + { + return $this->bar; + } + + public function otherMethod() + { + throw new \RuntimeException('Dummy::otherMethod() should not be called'); + } +} diff --git a/core/vendor/symfony/serializer/Tests/Normalizer/PropertyNormalizerTest.php b/core/vendor/symfony/serializer/Tests/Normalizer/PropertyNormalizerTest.php new file mode 100644 index 0000000000000000000000000000000000000000..52ce54087c343c79249a73513e873d5869812439 --- /dev/null +++ b/core/vendor/symfony/serializer/Tests/Normalizer/PropertyNormalizerTest.php @@ -0,0 +1,499 @@ +<?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\Serializer\Tests\Normalizer; + +use Doctrine\Common\Annotations\AnnotationReader; +use Symfony\Component\Serializer\Mapping\Factory\ClassMetadataFactory; +use Symfony\Component\Serializer\Mapping\Loader\AnnotationLoader; +use Symfony\Component\Serializer\NameConverter\CamelCaseToSnakeCaseNameConverter; +use Symfony\Component\Serializer\Normalizer\PropertyNormalizer; +use Symfony\Component\Serializer\Serializer; +use Symfony\Component\Serializer\SerializerInterface; +use Symfony\Component\Serializer\Tests\Fixtures\GroupDummy; +use Symfony\Component\Serializer\Tests\Fixtures\PropertyCircularReferenceDummy; +use Symfony\Component\Serializer\Tests\Fixtures\PropertySiblingHolder; + +class PropertyNormalizerTest extends \PHPUnit_Framework_TestCase +{ + /** + * @var PropertyNormalizer + */ + private $normalizer; + /** + * @var SerializerInterface + */ + private $serializer; + + protected function setUp() + { + $this->serializer = $this->getMock('Symfony\Component\Serializer\SerializerInterface'); + $this->normalizer = new PropertyNormalizer(); + $this->normalizer->setSerializer($this->serializer); + } + + public function testNormalize() + { + $obj = new PropertyDummy(); + $obj->foo = 'foo'; + $obj->setBar('bar'); + $obj->setCamelCase('camelcase'); + $this->assertEquals( + array('foo' => 'foo', 'bar' => 'bar', 'camelCase' => 'camelcase'), + $this->normalizer->normalize($obj, 'any') + ); + } + + public function testDenormalize() + { + $obj = $this->normalizer->denormalize( + array('foo' => 'foo', 'bar' => 'bar'), + __NAMESPACE__.'\PropertyDummy', + 'any' + ); + $this->assertEquals('foo', $obj->foo); + $this->assertEquals('bar', $obj->getBar()); + } + + /** + * @group legacy + */ + public function testLegacyDenormalizeOnCamelCaseFormat() + { + $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED); + + $this->normalizer->setCamelizedAttributes(array('camel_case')); + $obj = $this->normalizer->denormalize( + array('camel_case' => 'value'), + __NAMESPACE__.'\PropertyDummy' + ); + $this->assertEquals('value', $obj->getCamelCase()); + } + + /** + * @group legacy + */ + public function testLegacyCamelizedAttributesNormalize() + { + $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED); + + $obj = new PropertyCamelizedDummy('dunglas.fr'); + $obj->fooBar = 'les-tilleuls.coop'; + $obj->bar_foo = 'lostinthesupermarket.fr'; + + $this->normalizer->setCamelizedAttributes(array('kevin_dunglas')); + $this->assertEquals($this->normalizer->normalize($obj), array( + 'kevin_dunglas' => 'dunglas.fr', + 'fooBar' => 'les-tilleuls.coop', + 'bar_foo' => 'lostinthesupermarket.fr', + )); + + $this->normalizer->setCamelizedAttributes(array('foo_bar')); + $this->assertEquals($this->normalizer->normalize($obj), array( + 'kevinDunglas' => 'dunglas.fr', + 'foo_bar' => 'les-tilleuls.coop', + 'bar_foo' => 'lostinthesupermarket.fr', + )); + } + + /** + * @group legacy + */ + public function testLegacyCamelizedAttributesDenormalize() + { + $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED); + + $obj = new PropertyCamelizedDummy('dunglas.fr'); + $obj->fooBar = 'les-tilleuls.coop'; + $obj->bar_foo = 'lostinthesupermarket.fr'; + + $this->normalizer->setCamelizedAttributes(array('kevin_dunglas')); + $this->assertEquals($this->normalizer->denormalize(array( + 'kevin_dunglas' => 'dunglas.fr', + 'fooBar' => 'les-tilleuls.coop', + 'bar_foo' => 'lostinthesupermarket.fr', + ), __NAMESPACE__.'\PropertyCamelizedDummy'), $obj); + + $this->normalizer->setCamelizedAttributes(array('foo_bar')); + $this->assertEquals($this->normalizer->denormalize(array( + 'kevinDunglas' => 'dunglas.fr', + 'foo_bar' => 'les-tilleuls.coop', + 'bar_foo' => 'lostinthesupermarket.fr', + ), __NAMESPACE__.'\PropertyCamelizedDummy'), $obj); + } + + public function testNameConverterSupport() + { + $this->normalizer = new PropertyNormalizer(null, new CamelCaseToSnakeCaseNameConverter()); + $obj = $this->normalizer->denormalize( + array('camel_case' => 'camelCase'), + __NAMESPACE__.'\PropertyDummy' + ); + $this->assertEquals('camelCase', $obj->getCamelCase()); + } + + public function testConstructorDenormalize() + { + $obj = $this->normalizer->denormalize( + array('foo' => 'foo', 'bar' => 'bar'), + __NAMESPACE__.'\PropertyConstructorDummy', + 'any' + ); + $this->assertEquals('foo', $obj->getFoo()); + $this->assertEquals('bar', $obj->getBar()); + } + + public function testConstructorDenormalizeWithNullArgument() + { + $obj = $this->normalizer->denormalize( + array('foo' => null, 'bar' => 'bar'), + __NAMESPACE__.'\PropertyConstructorDummy', ' + any' + ); + $this->assertNull($obj->getFoo()); + $this->assertEquals('bar', $obj->getBar()); + } + + /** + * @dataProvider provideCallbacks + */ + public function testCallbacks($callbacks, $value, $result, $message) + { + $this->normalizer->setCallbacks($callbacks); + + $obj = new PropertyConstructorDummy('', $value); + + $this->assertEquals( + $result, + $this->normalizer->normalize($obj, 'any'), + $message + ); + } + + /** + * @expectedException \InvalidArgumentException + */ + public function testUncallableCallbacks() + { + $this->normalizer->setCallbacks(array('bar' => null)); + + $obj = new PropertyConstructorDummy('baz', 'quux'); + + $this->normalizer->normalize($obj, 'any'); + } + + public function testIgnoredAttributes() + { + $this->normalizer->setIgnoredAttributes(array('foo', 'bar', 'camelCase')); + + $obj = new PropertyDummy(); + $obj->foo = 'foo'; + $obj->setBar('bar'); + + $this->assertEquals( + array(), + $this->normalizer->normalize($obj, 'any') + ); + } + + public function testGroupsNormalize() + { + $classMetadataFactory = new ClassMetadataFactory(new AnnotationLoader(new AnnotationReader())); + $this->normalizer = new PropertyNormalizer($classMetadataFactory); + $this->normalizer->setSerializer($this->serializer); + + $obj = new GroupDummy(); + $obj->setFoo('foo'); + $obj->setBar('bar'); + $obj->setFooBar('fooBar'); + $obj->setSymfony('symfony'); + $obj->setKevin('kevin'); + $obj->setCoopTilleuls('coopTilleuls'); + + $this->assertEquals(array( + 'bar' => 'bar', + ), $this->normalizer->normalize($obj, null, array('groups' => array('c')))); + + // The PropertyNormalizer is not able to hydrate properties from parent classes + $this->assertEquals(array( + 'symfony' => 'symfony', + 'foo' => 'foo', + 'fooBar' => 'fooBar', + 'bar' => 'bar', + ), $this->normalizer->normalize($obj, null, array('groups' => array('a', 'c')))); + } + + public function testGroupsDenormalize() + { + $classMetadataFactory = new ClassMetadataFactory(new AnnotationLoader(new AnnotationReader())); + $this->normalizer = new PropertyNormalizer($classMetadataFactory); + $this->normalizer->setSerializer($this->serializer); + + $obj = new GroupDummy(); + $obj->setFoo('foo'); + + $toNormalize = array('foo' => 'foo', 'bar' => 'bar'); + + $normalized = $this->normalizer->denormalize( + $toNormalize, + 'Symfony\Component\Serializer\Tests\Fixtures\GroupDummy', + null, + array('groups' => array('a')) + ); + $this->assertEquals($obj, $normalized); + + $obj->setBar('bar'); + + $normalized = $this->normalizer->denormalize( + $toNormalize, + 'Symfony\Component\Serializer\Tests\Fixtures\GroupDummy', + null, + array('groups' => array('a', 'b')) + ); + $this->assertEquals($obj, $normalized); + } + + public function testGroupsNormalizeWithNameConverter() + { + $classMetadataFactory = new ClassMetadataFactory(new AnnotationLoader(new AnnotationReader())); + $this->normalizer = new PropertyNormalizer($classMetadataFactory, new CamelCaseToSnakeCaseNameConverter()); + $this->normalizer->setSerializer($this->serializer); + + $obj = new GroupDummy(); + $obj->setFooBar('@dunglas'); + $obj->setSymfony('@coopTilleuls'); + $obj->setCoopTilleuls('les-tilleuls.coop'); + + $this->assertEquals( + array( + 'bar' => null, + 'foo_bar' => '@dunglas', + 'symfony' => '@coopTilleuls', + ), + $this->normalizer->normalize($obj, null, array('groups' => array('name_converter'))) + ); + } + + public function testGroupsDenormalizeWithNameConverter() + { + $classMetadataFactory = new ClassMetadataFactory(new AnnotationLoader(new AnnotationReader())); + $this->normalizer = new PropertyNormalizer($classMetadataFactory, new CamelCaseToSnakeCaseNameConverter()); + $this->normalizer->setSerializer($this->serializer); + + $obj = new GroupDummy(); + $obj->setFooBar('@dunglas'); + $obj->setSymfony('@coopTilleuls'); + + $this->assertEquals( + $obj, + $this->normalizer->denormalize(array( + 'bar' => null, + 'foo_bar' => '@dunglas', + 'symfony' => '@coopTilleuls', + 'coop_tilleuls' => 'les-tilleuls.coop', + ), 'Symfony\Component\Serializer\Tests\Fixtures\GroupDummy', null, array('groups' => array('name_converter'))) + ); + } + + public function provideCallbacks() + { + return array( + array( + array( + 'bar' => function ($bar) { + return 'baz'; + }, + ), + 'baz', + array('foo' => '', 'bar' => 'baz'), + 'Change a string', + ), + array( + array( + 'bar' => function ($bar) { + return; + }, + ), + 'baz', + array('foo' => '', 'bar' => null), + 'Null an item', + ), + array( + array( + 'bar' => function ($bar) { + return $bar->format('d-m-Y H:i:s'); + }, + ), + new \DateTime('2011-09-10 06:30:00'), + array('foo' => '', 'bar' => '10-09-2011 06:30:00'), + 'Format a date', + ), + array( + array( + 'bar' => function ($bars) { + $foos = ''; + foreach ($bars as $bar) { + $foos .= $bar->getFoo(); + } + + return $foos; + }, + ), + array(new PropertyConstructorDummy('baz', ''), new PropertyConstructorDummy('quux', '')), + array('foo' => '', 'bar' => 'bazquux'), + 'Collect a property', + ), + array( + array( + 'bar' => function ($bars) { + return count($bars); + }, + ), + array(new PropertyConstructorDummy('baz', ''), new PropertyConstructorDummy('quux', '')), + array('foo' => '', 'bar' => 2), + 'Count a property', + ), + ); + } + + /** + * @expectedException \Symfony\Component\Serializer\Exception\CircularReferenceException + */ + public function testUnableToNormalizeCircularReference() + { + $serializer = new Serializer(array($this->normalizer)); + $this->normalizer->setSerializer($serializer); + $this->normalizer->setCircularReferenceLimit(2); + + $obj = new PropertyCircularReferenceDummy(); + + $this->normalizer->normalize($obj); + } + + public function testSiblingReference() + { + $serializer = new Serializer(array($this->normalizer)); + $this->normalizer->setSerializer($serializer); + + $siblingHolder = new PropertySiblingHolder(); + + $expected = array( + 'sibling0' => array('coopTilleuls' => 'Les-Tilleuls.coop'), + 'sibling1' => array('coopTilleuls' => 'Les-Tilleuls.coop'), + 'sibling2' => array('coopTilleuls' => 'Les-Tilleuls.coop'), + ); + $this->assertEquals($expected, $this->normalizer->normalize($siblingHolder)); + } + + public function testCircularReferenceHandler() + { + $serializer = new Serializer(array($this->normalizer)); + $this->normalizer->setSerializer($serializer); + $this->normalizer->setCircularReferenceHandler(function ($obj) { + return get_class($obj); + }); + + $obj = new PropertyCircularReferenceDummy(); + + $expected = array('me' => 'Symfony\Component\Serializer\Tests\Fixtures\PropertyCircularReferenceDummy'); + $this->assertEquals($expected, $this->normalizer->normalize($obj)); + } + + public function testDenormalizeNonExistingAttribute() + { + $this->assertEquals( + new PropertyDummy(), + $this->normalizer->denormalize(array('non_existing' => true), __NAMESPACE__.'\PropertyDummy') + ); + } + + /** + * @expectedException \Symfony\Component\Serializer\Exception\LogicException + * @expectedExceptionMessage Cannot normalize attribute "bar" because injected serializer is not a normalizer + */ + public function testUnableToNormalizeObjectAttribute() + { + $serializer = $this->getMock('Symfony\Component\Serializer\SerializerInterface'); + $this->normalizer->setSerializer($serializer); + + $obj = new PropertyDummy(); + $object = new \stdClass(); + $obj->setBar($object); + + $this->normalizer->normalize($obj, 'any'); + } + + public function testNoTraversableSupport() + { + $this->assertFalse($this->normalizer->supportsNormalization(new \ArrayObject())); + } +} + +class PropertyDummy +{ + public $foo; + private $bar; + protected $camelCase; + + public function getBar() + { + return $this->bar; + } + + public function setBar($bar) + { + $this->bar = $bar; + } + + public function getCamelCase() + { + return $this->camelCase; + } + + public function setCamelCase($camelCase) + { + $this->camelCase = $camelCase; + } +} + +class PropertyConstructorDummy +{ + protected $foo; + private $bar; + + public function __construct($foo, $bar) + { + $this->foo = $foo; + $this->bar = $bar; + } + + public function getFoo() + { + return $this->foo; + } + + public function getBar() + { + return $this->bar; + } +} + +class PropertyCamelizedDummy +{ + private $kevinDunglas; + public $fooBar; + public $bar_foo; + + public function __construct($kevinDunglas = null) + { + $this->kevinDunglas = $kevinDunglas; + } +} diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Normalizer/TestDenormalizer.php b/core/vendor/symfony/serializer/Tests/Normalizer/TestDenormalizer.php similarity index 100% rename from core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Normalizer/TestDenormalizer.php rename to core/vendor/symfony/serializer/Tests/Normalizer/TestDenormalizer.php diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Normalizer/TestNormalizer.php b/core/vendor/symfony/serializer/Tests/Normalizer/TestNormalizer.php similarity index 100% rename from core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/Normalizer/TestNormalizer.php rename to core/vendor/symfony/serializer/Tests/Normalizer/TestNormalizer.php diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/SerializerTest.php b/core/vendor/symfony/serializer/Tests/SerializerTest.php similarity index 89% rename from core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/SerializerTest.php rename to core/vendor/symfony/serializer/Tests/SerializerTest.php index c2a231b11eef00f2a7d96f083b96181fb2f078e7..68f70fcfe51ad07ab91f72167309b6724147235d 100644 --- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/Tests/SerializerTest.php +++ b/core/vendor/symfony/serializer/Tests/SerializerTest.php @@ -22,6 +22,17 @@ class SerializerTest extends \PHPUnit_Framework_TestCase { + public function testInterface() + { + $serializer = new Serializer(); + + $this->assertInstanceOf('Symfony\Component\Serializer\SerializerInterface', $serializer); + $this->assertInstanceOf('Symfony\Component\Serializer\Normalizer\NormalizerInterface', $serializer); + $this->assertInstanceOf('Symfony\Component\Serializer\Normalizer\DenormalizerInterface', $serializer); + $this->assertInstanceOf('Symfony\Component\Serializer\Encoder\EncoderInterface', $serializer); + $this->assertInstanceOf('Symfony\Component\Serializer\Encoder\DecoderInterface', $serializer); + } + /** * @expectedException \Symfony\Component\Serializer\Exception\UnexpectedValueException */ @@ -73,6 +84,15 @@ public function testDenormalizeOnNormalizer() $this->assertTrue($this->serializer->denormalize(json_encode($data), 'stdClass', 'json')); } + public function testCustomNormalizerCanNormalizeCollectionsAndScalar() + { + $this->serializer = new Serializer(array(new TestNormalizer()), array()); + $this->assertNull($this->serializer->normalize(array('a', 'b'))); + $this->assertNull($this->serializer->normalize(new \ArrayObject(array('c', 'd')))); + $this->assertNull($this->serializer->normalize(array())); + $this->assertNull($this->serializer->normalize('test')); + } + public function testSerialize() { $this->serializer = new Serializer(array(new GetSetMethodNormalizer()), array('json' => new JsonEncoder())); diff --git a/core/vendor/symfony/serializer/composer.json b/core/vendor/symfony/serializer/composer.json new file mode 100644 index 0000000000000000000000000000000000000000..0f28b518b8ac733195f8c5e04ce86d0ed225e937 --- /dev/null +++ b/core/vendor/symfony/serializer/composer.json @@ -0,0 +1,45 @@ +{ + "name": "symfony/serializer", + "type": "library", + "description": "Symfony Serializer Component", + "keywords": [], + "homepage": "https://symfony.com", + "license": "MIT", + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "require": { + "php": ">=5.3.9" + }, + "require-dev": { + "symfony/phpunit-bridge": "~2.7", + "symfony/yaml": "~2.0", + "symfony/config": "~2.2", + "symfony/property-access": "~2.3", + "doctrine/annotations": "~1.0", + "doctrine/cache": "~1.0" + }, + "suggest": { + "doctrine/annotations": "For using the annotation mapping. You will also need doctrine/cache.", + "doctrine/cache": "For using the default cached annotation reader and metadata cache.", + "symfony/yaml": "For using the default YAML mapping loader.", + "symfony/config": "For using the XML mapping loader.", + "symfony/property-access": "For using the ObjectNormalizer." + }, + "autoload": { + "psr-4": { "Symfony\\Component\\Serializer\\": "" } + }, + "minimum-stability": "dev", + "extra": { + "branch-alias": { + "dev-master": "2.7-dev" + } + } +} diff --git a/core/vendor/symfony/serializer/Symfony/Component/Serializer/phpunit.xml.dist b/core/vendor/symfony/serializer/phpunit.xml.dist similarity index 99% rename from core/vendor/symfony/serializer/Symfony/Component/Serializer/phpunit.xml.dist rename to core/vendor/symfony/serializer/phpunit.xml.dist index da0540137b19a27a10c79321503ed13e525f28fb..279e1eb3aa53c1a487f62f92f5c06dceb9950dfb 100644 --- a/core/vendor/symfony/serializer/Symfony/Component/Serializer/phpunit.xml.dist +++ b/core/vendor/symfony/serializer/phpunit.xml.dist @@ -9,6 +9,7 @@ <php> <ini name="error_reporting" value="-1" /> </php> + <testsuites> <testsuite name="Symfony Serializer Component Test Suite"> <directory>./Tests/</directory> diff --git a/core/vendor/symfony/translation/CHANGELOG.md b/core/vendor/symfony/translation/CHANGELOG.md new file mode 100644 index 0000000000000000000000000000000000000000..157752ca7718005db47ac773f18482e08f7c0ecf --- /dev/null +++ b/core/vendor/symfony/translation/CHANGELOG.md @@ -0,0 +1,47 @@ +CHANGELOG +========= + +2.7.0 +----- + + * added DataCollectorTranslator for collecting the translated messages. + +2.6.0 +----- + + * added possibility to cache catalogues + * added TranslatorBagInterface + * added LoggingTranslator + * added Translator::getMessages() for retrieving the message catalogue as an array + +2.5.0 +----- + + * added relative file path template to the file dumpers + * added optional backup to the file dumpers + * changed IcuResFileDumper to extend FileDumper + +2.3.0 +----- + + * added classes to make operations on catalogues (like making a diff or a merge on 2 catalogues) + * added Translator::getFallbackLocales() + * deprecated Translator::setFallbackLocale() in favor of the new Translator::setFallbackLocales() method + +2.2.0 +----- + + * QtTranslationsLoader class renamed to QtFileLoader. QtTranslationsLoader is deprecated and will be removed in 2.3. + * [BC BREAK] uniformized the exception thrown by the load() method when an error occurs. The load() method now + throws Symfony\Component\Translation\Exception\NotFoundResourceException when a resource cannot be found + and Symfony\Component\Translation\Exception\InvalidResourceException when a resource is invalid. + * changed the exception class thrown by some load() methods from \RuntimeException to \InvalidArgumentException + (IcuDatFileLoader, IcuResFileLoader and QtFileLoader) + +2.1.0 +----- + + * added support for more than one fallback locale + * added support for extracting translation messages from templates (Twig and PHP) + * added dumpers for translation catalogs + * added support for QT, gettext, and ResourceBundles diff --git a/core/vendor/symfony/translation/Catalogue/AbstractOperation.php b/core/vendor/symfony/translation/Catalogue/AbstractOperation.php new file mode 100644 index 0000000000000000000000000000000000000000..062056b7317c434e229f42cb163ff0e7944bdd66 --- /dev/null +++ b/core/vendor/symfony/translation/Catalogue/AbstractOperation.php @@ -0,0 +1,146 @@ +<?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\Translation\Catalogue; + +use Symfony\Component\Translation\MessageCatalogue; +use Symfony\Component\Translation\MessageCatalogueInterface; + +/** + * Base catalogues binary operation class. + * + * @author Jean-François Simon <contact@jfsimon.fr> + */ +abstract class AbstractOperation implements OperationInterface +{ + /** + * @var MessageCatalogueInterface + */ + protected $source; + + /** + * @var MessageCatalogueInterface + */ + protected $target; + + /** + * @var MessageCatalogue + */ + protected $result; + + /** + * @var null|array + */ + private $domains; + + /** + * @var array + */ + protected $messages; + + /** + * @param MessageCatalogueInterface $source + * @param MessageCatalogueInterface $target + * + * @throws \LogicException + */ + public function __construct(MessageCatalogueInterface $source, MessageCatalogueInterface $target) + { + if ($source->getLocale() !== $target->getLocale()) { + throw new \LogicException('Operated catalogues must belong to the same locale.'); + } + + $this->source = $source; + $this->target = $target; + $this->result = new MessageCatalogue($source->getLocale()); + $this->domains = null; + $this->messages = array(); + } + + /** + * {@inheritdoc} + */ + public function getDomains() + { + if (null === $this->domains) { + $this->domains = array_values(array_unique(array_merge($this->source->getDomains(), $this->target->getDomains()))); + } + + return $this->domains; + } + + /** + * {@inheritdoc} + */ + public function getMessages($domain) + { + if (!in_array($domain, $this->getDomains())) { + throw new \InvalidArgumentException(sprintf('Invalid domain: %s.', $domain)); + } + + if (!isset($this->messages[$domain]['all'])) { + $this->processDomain($domain); + } + + return $this->messages[$domain]['all']; + } + + /** + * {@inheritdoc} + */ + public function getNewMessages($domain) + { + if (!in_array($domain, $this->getDomains())) { + throw new \InvalidArgumentException(sprintf('Invalid domain: %s.', $domain)); + } + + if (!isset($this->messages[$domain]['new'])) { + $this->processDomain($domain); + } + + return $this->messages[$domain]['new']; + } + + /** + * {@inheritdoc} + */ + public function getObsoleteMessages($domain) + { + if (!in_array($domain, $this->getDomains())) { + throw new \InvalidArgumentException(sprintf('Invalid domain: %s.', $domain)); + } + + if (!isset($this->messages[$domain]['obsolete'])) { + $this->processDomain($domain); + } + + return $this->messages[$domain]['obsolete']; + } + + /** + * {@inheritdoc} + */ + public function getResult() + { + foreach ($this->getDomains() as $domain) { + if (!isset($this->messages[$domain])) { + $this->processDomain($domain); + } + } + + return $this->result; + } + + /** + * @param string $domain + */ + abstract protected function processDomain($domain); +} diff --git a/core/vendor/symfony/translation/Catalogue/DiffOperation.php b/core/vendor/symfony/translation/Catalogue/DiffOperation.php new file mode 100644 index 0000000000000000000000000000000000000000..2d1994ee279146d54203ce6bca92fbe44b70b1c1 --- /dev/null +++ b/core/vendor/symfony/translation/Catalogue/DiffOperation.php @@ -0,0 +1,55 @@ +<?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\Translation\Catalogue; + +/** + * Diff operation between two catalogues. + * + * @author Jean-François Simon <contact@jfsimon.fr> + */ +class DiffOperation extends AbstractOperation +{ + /** + * {@inheritdoc} + */ + protected function processDomain($domain) + { + $this->messages[$domain] = array( + 'all' => array(), + 'new' => array(), + 'obsolete' => array(), + ); + + foreach ($this->source->all($domain) as $id => $message) { + if ($this->target->has($id, $domain)) { + $this->messages[$domain]['all'][$id] = $message; + $this->result->add(array($id => $message), $domain); + if (null !== $keyMetadata = $this->source->getMetadata($id, $domain)) { + $this->result->setMetadata($id, $keyMetadata, $domain); + } + } else { + $this->messages[$domain]['obsolete'][$id] = $message; + } + } + + foreach ($this->target->all($domain) as $id => $message) { + if (!$this->source->has($id, $domain)) { + $this->messages[$domain]['all'][$id] = $message; + $this->messages[$domain]['new'][$id] = $message; + $this->result->add(array($id => $message), $domain); + if (null !== $keyMetadata = $this->target->getMetadata($id, $domain)) { + $this->result->setMetadata($id, $keyMetadata, $domain); + } + } + } + } +} diff --git a/core/vendor/symfony/translation/Catalogue/MergeOperation.php b/core/vendor/symfony/translation/Catalogue/MergeOperation.php new file mode 100644 index 0000000000000000000000000000000000000000..562ca0ea0854aa6d4a92836fd7596cd48960a87f --- /dev/null +++ b/core/vendor/symfony/translation/Catalogue/MergeOperation.php @@ -0,0 +1,51 @@ +<?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\Translation\Catalogue; + +/** + * Merge operation between two catalogues. + * + * @author Jean-François Simon <contact@jfsimon.fr> + */ +class MergeOperation extends AbstractOperation +{ + /** + * {@inheritdoc} + */ + protected function processDomain($domain) + { + $this->messages[$domain] = array( + 'all' => array(), + 'new' => array(), + 'obsolete' => array(), + ); + + foreach ($this->source->all($domain) as $id => $message) { + $this->messages[$domain]['all'][$id] = $message; + $this->result->add(array($id => $message), $domain); + if (null !== $keyMetadata = $this->source->getMetadata($id, $domain)) { + $this->result->setMetadata($id, $keyMetadata, $domain); + } + } + + foreach ($this->target->all($domain) as $id => $message) { + if (!$this->source->has($id, $domain)) { + $this->messages[$domain]['all'][$id] = $message; + $this->messages[$domain]['new'][$id] = $message; + $this->result->add(array($id => $message), $domain); + if (null !== $keyMetadata = $this->target->getMetadata($id, $domain)) { + $this->result->setMetadata($id, $keyMetadata, $domain); + } + } + } + } +} diff --git a/core/vendor/symfony/translation/Catalogue/OperationInterface.php b/core/vendor/symfony/translation/Catalogue/OperationInterface.php new file mode 100644 index 0000000000000000000000000000000000000000..d72378a3b3c175a53713ace530eb49cd26107078 --- /dev/null +++ b/core/vendor/symfony/translation/Catalogue/OperationInterface.php @@ -0,0 +1,63 @@ +<?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\Translation\Catalogue; + +use Symfony\Component\Translation\MessageCatalogueInterface; + +/** + * Represents an operation on catalogue(s). + * + * @author Jean-François Simon <jeanfrancois.simon@sensiolabs.com> + */ +interface OperationInterface +{ + /** + * Returns domains affected by operation. + * + * @return array + */ + public function getDomains(); + + /** + * Returns all valid messages after operation. + * + * @param string $domain + * + * @return array + */ + public function getMessages($domain); + + /** + * Returns new messages after operation. + * + * @param string $domain + * + * @return array + */ + public function getNewMessages($domain); + + /** + * Returns obsolete messages after operation. + * + * @param string $domain + * + * @return array + */ + public function getObsoleteMessages($domain); + + /** + * Returns resulting catalogue. + * + * @return MessageCatalogueInterface + */ + public function getResult(); +} diff --git a/core/vendor/symfony/translation/DataCollector/TranslationDataCollector.php b/core/vendor/symfony/translation/DataCollector/TranslationDataCollector.php new file mode 100644 index 0000000000000000000000000000000000000000..eb9d1e733306738726e8ca5de43b89c5fc8c2138 --- /dev/null +++ b/core/vendor/symfony/translation/DataCollector/TranslationDataCollector.php @@ -0,0 +1,145 @@ +<?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\Translation\DataCollector; + +use Symfony\Component\HttpFoundation\Request; +use Symfony\Component\HttpFoundation\Response; +use Symfony\Component\HttpKernel\DataCollector\DataCollector; +use Symfony\Component\HttpKernel\DataCollector\LateDataCollectorInterface; +use Symfony\Component\Translation\DataCollectorTranslator; + +/** + * @author Abdellatif Ait boudad <a.aitboudad@gmail.com> + */ +class TranslationDataCollector extends DataCollector implements LateDataCollectorInterface +{ + /** + * @var DataCollectorTranslator + */ + private $translator; + + /** + * @param DataCollectorTranslator $translator + */ + public function __construct(DataCollectorTranslator $translator) + { + $this->translator = $translator; + } + + /** + * {@inheritdoc} + */ + public function lateCollect() + { + $messages = $this->sanitizeCollectedMessages($this->translator->getCollectedMessages()); + + $this->data = $this->computeCount($messages); + $this->data['messages'] = $messages; + } + + /** + * {@inheritdoc} + */ + public function collect(Request $request, Response $response, \Exception $exception = null) + { + } + + /** + * @return array + */ + public function getMessages() + { + return isset($this->data['messages']) ? $this->data['messages'] : array(); + } + + /** + * @return int + */ + public function getCountMissings() + { + return isset($this->data[DataCollectorTranslator::MESSAGE_MISSING]) ? $this->data[DataCollectorTranslator::MESSAGE_MISSING] : 0; + } + + /** + * @return int + */ + public function getCountFallbacks() + { + return isset($this->data[DataCollectorTranslator::MESSAGE_EQUALS_FALLBACK]) ? $this->data[DataCollectorTranslator::MESSAGE_EQUALS_FALLBACK] : 0; + } + + /** + * @return int + */ + public function getCountDefines() + { + return isset($this->data[DataCollectorTranslator::MESSAGE_DEFINED]) ? $this->data[DataCollectorTranslator::MESSAGE_DEFINED] : 0; + } + + /** + * {@inheritdoc} + */ + public function getName() + { + return 'translation'; + } + + private function sanitizeCollectedMessages($messages) + { + $result = array(); + foreach ($messages as $key => $message) { + $messageId = $message['locale'].$message['domain'].$message['id']; + + if (!isset($result[$messageId])) { + $message['count'] = 1; + $messages[$key]['translation'] = $this->sanitizeString($message['translation']); + $result[$messageId] = $message; + } else { + $result[$messageId]['count']++; + } + + unset($messages[$key]); + } + + return $result; + } + + private function computeCount($messages) + { + $count = array( + DataCollectorTranslator::MESSAGE_DEFINED => 0, + DataCollectorTranslator::MESSAGE_MISSING => 0, + DataCollectorTranslator::MESSAGE_EQUALS_FALLBACK => 0, + ); + + foreach ($messages as $message) { + ++$count[$message['state']]; + } + + return $count; + } + + private function sanitizeString($string, $length = 80) + { + $string = trim(preg_replace('/\s+/', ' ', $string)); + + if (function_exists('mb_strlen') && false !== $encoding = mb_detect_encoding($string)) { + if (mb_strlen($string, $encoding) > $length) { + return mb_substr($string, 0, $length - 3, $encoding).'...'; + } + } elseif (strlen($string) > $length) { + return substr($string, 0, $length - 3).'...'; + } + + return $string; + } +} diff --git a/core/vendor/symfony/translation/DataCollectorTranslator.php b/core/vendor/symfony/translation/DataCollectorTranslator.php new file mode 100644 index 0000000000000000000000000000000000000000..813a85760ae141e0662b59d12fab17e91bf29c72 --- /dev/null +++ b/core/vendor/symfony/translation/DataCollectorTranslator.php @@ -0,0 +1,152 @@ +<?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\Translation; + +/** + * @author Abdellatif Ait boudad <a.aitboudad@gmail.com> + */ +class DataCollectorTranslator implements TranslatorInterface, TranslatorBagInterface +{ + const MESSAGE_DEFINED = 0; + const MESSAGE_MISSING = 1; + const MESSAGE_EQUALS_FALLBACK = 2; + + /** + * @var TranslatorInterface|TranslatorBagInterface + */ + private $translator; + + /** + * @var array + */ + private $messages = array(); + + /** + * @param TranslatorInterface $translator The translator must implement TranslatorBagInterface + */ + public function __construct(TranslatorInterface $translator) + { + if (!$translator instanceof TranslatorBagInterface) { + throw new \InvalidArgumentException(sprintf('The Translator "%s" must implement TranslatorInterface and TranslatorBagInterface.', get_class($translator))); + } + + $this->translator = $translator; + } + + /** + * {@inheritdoc} + */ + public function trans($id, array $parameters = array(), $domain = null, $locale = null) + { + $trans = $this->translator->trans($id, $parameters, $domain, $locale); + $this->collectMessage($locale, $domain, $id, $trans); + + return $trans; + } + + /** + * {@inheritdoc} + */ + public function transChoice($id, $number, array $parameters = array(), $domain = null, $locale = null) + { + $trans = $this->translator->transChoice($id, $number, $parameters, $domain, $locale); + $this->collectMessage($locale, $domain, $id, $trans); + + return $trans; + } + + /** + * {@inheritdoc} + * + * @api + */ + public function setLocale($locale) + { + $this->translator->setLocale($locale); + } + + /** + * {@inheritdoc} + * + * @api + */ + public function getLocale() + { + return $this->translator->getLocale(); + } + + /** + * {@inheritdoc} + */ + public function getCatalogue($locale = null) + { + return $this->translator->getCatalogue($locale); + } + + /** + * Passes through all unknown calls onto the translator object. + */ + public function __call($method, $args) + { + return call_user_func_array(array($this->translator, $method), $args); + } + + /** + * @return array + */ + public function getCollectedMessages() + { + return $this->messages; + } + + /** + * @param string|null $locale + * @param string|null $domain + * @param string $id + * @param string $trans + */ + private function collectMessage($locale, $domain, $id, $translation) + { + if (null === $domain) { + $domain = 'messages'; + } + + $id = (string) $id; + $catalogue = $this->translator->getCatalogue($locale); + $locale = $catalogue->getLocale(); + if ($catalogue->defines($id, $domain)) { + $state = self::MESSAGE_DEFINED; + } elseif ($catalogue->has($id, $domain)) { + $state = self::MESSAGE_EQUALS_FALLBACK; + + $fallbackCatalogue = $catalogue->getFallBackCatalogue(); + while ($fallbackCatalogue) { + if ($fallbackCatalogue->defines($id, $domain)) { + $locale = $fallbackCatalogue->getLocale(); + break; + } + + $fallbackCatalogue = $fallbackCatalogue->getFallBackCatalogue(); + } + } else { + $state = self::MESSAGE_MISSING; + } + + $this->messages[] = array( + 'locale' => $locale, + 'domain' => $domain, + 'id' => $id, + 'translation' => $translation, + 'state' => $state, + ); + } +} diff --git a/core/vendor/symfony/translation/Dumper/CsvFileDumper.php b/core/vendor/symfony/translation/Dumper/CsvFileDumper.php new file mode 100644 index 0000000000000000000000000000000000000000..08005b097d54d65ac0ba22f23a06a5f914e0b77d --- /dev/null +++ b/core/vendor/symfony/translation/Dumper/CsvFileDumper.php @@ -0,0 +1,63 @@ +<?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\Translation\Dumper; + +use Symfony\Component\Translation\MessageCatalogue; + +/** + * CsvFileDumper generates a csv formatted string representation of a message catalogue. + * + * @author Stealth35 + */ +class CsvFileDumper extends FileDumper +{ + private $delimiter = ';'; + private $enclosure = '"'; + + /** + * {@inheritdoc} + */ + public function format(MessageCatalogue $messages, $domain = 'messages') + { + $handle = fopen('php://memory', 'rb+'); + + foreach ($messages->all($domain) as $source => $target) { + fputcsv($handle, array($source, $target), $this->delimiter, $this->enclosure); + } + + rewind($handle); + $output = stream_get_contents($handle); + fclose($handle); + + return $output; + } + + /** + * Sets the delimiter and escape character for CSV. + * + * @param string $delimiter delimiter character + * @param string $enclosure enclosure character + */ + public function setCsvControl($delimiter = ';', $enclosure = '"') + { + $this->delimiter = $delimiter; + $this->enclosure = $enclosure; + } + + /** + * {@inheritdoc} + */ + protected function getExtension() + { + return 'csv'; + } +} diff --git a/core/vendor/symfony/translation/Dumper/DumperInterface.php b/core/vendor/symfony/translation/Dumper/DumperInterface.php new file mode 100644 index 0000000000000000000000000000000000000000..cebc65ed89d90f6b1a2c7e5f627d5b6afce60353 --- /dev/null +++ b/core/vendor/symfony/translation/Dumper/DumperInterface.php @@ -0,0 +1,31 @@ +<?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\Translation\Dumper; + +use Symfony\Component\Translation\MessageCatalogue; + +/** + * DumperInterface is the interface implemented by all translation dumpers. + * There is no common option. + * + * @author Michel Salib <michelsalib@hotmail.com> + */ +interface DumperInterface +{ + /** + * Dumps the message catalogue. + * + * @param MessageCatalogue $messages The message catalogue + * @param array $options Options that are used by the dumper + */ + public function dump(MessageCatalogue $messages, $options = array()); +} diff --git a/core/vendor/symfony/translation/Dumper/FileDumper.php b/core/vendor/symfony/translation/Dumper/FileDumper.php new file mode 100644 index 0000000000000000000000000000000000000000..f2f17d64fde16b29f9a9dc5eb4d27b5f0f919ca2 --- /dev/null +++ b/core/vendor/symfony/translation/Dumper/FileDumper.php @@ -0,0 +1,122 @@ +<?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\Translation\Dumper; + +use Symfony\Component\Translation\MessageCatalogue; + +/** + * FileDumper is an implementation of DumperInterface that dump a message catalogue to file(s). + * Performs backup of already existing files. + * + * Options: + * - path (mandatory): the directory where the files should be saved + * + * @author Michel Salib <michelsalib@hotmail.com> + */ +abstract class FileDumper implements DumperInterface +{ + /** + * A template for the relative paths to files. + * + * @var string + */ + protected $relativePathTemplate = '%domain%.%locale%.%extension%'; + + /** + * Make file backup before the dump. + * + * @var bool + */ + private $backup = true; + + /** + * Sets the template for the relative paths to files. + * + * @param string $relativePathTemplate A template for the relative paths to files + */ + public function setRelativePathTemplate($relativePathTemplate) + { + $this->relativePathTemplate = $relativePathTemplate; + } + + /** + * Sets backup flag. + * + * @param bool + */ + public function setBackup($backup) + { + $this->backup = $backup; + } + + /** + * {@inheritdoc} + */ + public function dump(MessageCatalogue $messages, $options = array()) + { + if (!array_key_exists('path', $options)) { + throw new \InvalidArgumentException('The file dumper needs a path option.'); + } + + // save a file for each domain + foreach ($messages->getDomains() as $domain) { + // backup + $fullpath = $options['path'].'/'.$this->getRelativePath($domain, $messages->getLocale()); + if (file_exists($fullpath)) { + if ($this->backup) { + copy($fullpath, $fullpath.'~'); + } + } else { + $directory = dirname($fullpath); + if (!file_exists($directory) && !@mkdir($directory, 0777, true)) { + throw new \RuntimeException(sprintf('Unable to create directory "%s".', $directory)); + } + } + // save file + file_put_contents($fullpath, $this->format($messages, $domain)); + } + } + + /** + * Transforms a domain of a message catalogue to its string representation. + * + * @param MessageCatalogue $messages + * @param string $domain + * + * @return string representation + */ + abstract protected function format(MessageCatalogue $messages, $domain); + + /** + * Gets the file extension of the dumper. + * + * @return string file extension + */ + abstract protected function getExtension(); + + /** + * Gets the relative file path using the template. + * + * @param string $domain The domain + * @param string $locale The locale + * + * @return string The relative file path + */ + private function getRelativePath($domain, $locale) + { + return strtr($this->relativePathTemplate, array( + '%domain%' => $domain, + '%locale%' => $locale, + '%extension%' => $this->getExtension(), + )); + } +} diff --git a/core/vendor/symfony/translation/Dumper/IcuResFileDumper.php b/core/vendor/symfony/translation/Dumper/IcuResFileDumper.php new file mode 100644 index 0000000000000000000000000000000000000000..0a2ed9f737335b3672993d774b43275331d90a94 --- /dev/null +++ b/core/vendor/symfony/translation/Dumper/IcuResFileDumper.php @@ -0,0 +1,112 @@ +<?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\Translation\Dumper; + +use Symfony\Component\Translation\MessageCatalogue; + +/** + * IcuResDumper generates an ICU ResourceBundle formatted string representation of a message catalogue. + * + * @author Stealth35 + */ +class IcuResFileDumper extends FileDumper +{ + /** + * {@inheritdoc} + */ + protected $relativePathTemplate = '%domain%/%locale%.%extension%'; + + /** + * {@inheritdoc} + */ + public function format(MessageCatalogue $messages, $domain = 'messages') + { + $data = $indexes = $resources = ''; + + foreach ($messages->all($domain) as $source => $target) { + $indexes .= pack('v', strlen($data) + 28); + $data .= $source."\0"; + } + + $data .= $this->writePadding($data); + + $keyTop = $this->getPosition($data); + + foreach ($messages->all($domain) as $source => $target) { + $resources .= pack('V', $this->getPosition($data)); + + $data .= pack('V', strlen($target)) + .mb_convert_encoding($target."\0", 'UTF-16LE', 'UTF-8') + .$this->writePadding($data) + ; + } + + $resOffset = $this->getPosition($data); + + $data .= pack('v', count($messages)) + .$indexes + .$this->writePadding($data) + .$resources + ; + + $bundleTop = $this->getPosition($data); + + $root = pack('V7', + $resOffset + (2 << 28), // Resource Offset + Resource Type + 6, // Index length + $keyTop, // Index keys top + $bundleTop, // Index resources top + $bundleTop, // Index bundle top + count($messages), // Index max table length + 0 // Index attributes + ); + + $header = pack('vC2v4C12@32', + 32, // Header size + 0xDA, 0x27, // Magic number 1 and 2 + 20, 0, 0, 2, // Rest of the header, ..., Size of a char + 0x52, 0x65, 0x73, 0x42, // Data format identifier + 1, 2, 0, 0, // Data version + 1, 4, 0, 0 // Unicode version + ); + + $output = $header + .$root + .$data; + + return $output; + } + + private function writePadding($data) + { + $padding = strlen($data) % 4; + + if ($padding) { + return str_repeat("\xAA", 4 - $padding); + } + } + + private function getPosition($data) + { + $position = (strlen($data) + 28) / 4; + + return $position; + } + + /** + * {@inheritdoc} + */ + protected function getExtension() + { + return 'res'; + } +} diff --git a/core/vendor/symfony/translation/Dumper/IniFileDumper.php b/core/vendor/symfony/translation/Dumper/IniFileDumper.php new file mode 100644 index 0000000000000000000000000000000000000000..45df389bd6987844c2218150273b2f802b3cfa11 --- /dev/null +++ b/core/vendor/symfony/translation/Dumper/IniFileDumper.php @@ -0,0 +1,45 @@ +<?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\Translation\Dumper; + +use Symfony\Component\Translation\MessageCatalogue; + +/** + * IniFileDumper generates an ini formatted string representation of a message catalogue. + * + * @author Stealth35 + */ +class IniFileDumper extends FileDumper +{ + /** + * {@inheritdoc} + */ + public function format(MessageCatalogue $messages, $domain = 'messages') + { + $output = ''; + + foreach ($messages->all($domain) as $source => $target) { + $escapeTarget = str_replace('"', '\"', $target); + $output .= $source.'="'.$escapeTarget."\"\n"; + } + + return $output; + } + + /** + * {@inheritdoc} + */ + protected function getExtension() + { + return 'ini'; + } +} diff --git a/core/vendor/symfony/translation/Dumper/JsonFileDumper.php b/core/vendor/symfony/translation/Dumper/JsonFileDumper.php new file mode 100644 index 0000000000000000000000000000000000000000..7ad35184cd55e98041266b4d01c3c653ffe7e83d --- /dev/null +++ b/core/vendor/symfony/translation/Dumper/JsonFileDumper.php @@ -0,0 +1,38 @@ +<?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\Translation\Dumper; + +use Symfony\Component\Translation\MessageCatalogue; + +/** + * JsonFileDumper generates an json formatted string representation of a message catalogue. + * + * @author singles + */ +class JsonFileDumper extends FileDumper +{ + /** + * {@inheritdoc} + */ + public function format(MessageCatalogue $messages, $domain = 'messages') + { + return json_encode($messages->all($domain), defined('JSON_PRETTY_PRINT') ? JSON_PRETTY_PRINT : 0); + } + + /** + * {@inheritdoc} + */ + protected function getExtension() + { + return 'json'; + } +} diff --git a/core/vendor/symfony/translation/Dumper/MoFileDumper.php b/core/vendor/symfony/translation/Dumper/MoFileDumper.php new file mode 100644 index 0000000000000000000000000000000000000000..f8dc6ac395fc492a6f3caabdc82ed47b02abe67b --- /dev/null +++ b/core/vendor/symfony/translation/Dumper/MoFileDumper.php @@ -0,0 +1,82 @@ +<?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\Translation\Dumper; + +use Symfony\Component\Translation\MessageCatalogue; +use Symfony\Component\Translation\Loader\MoFileLoader; + +/** + * MoFileDumper generates a gettext formatted string representation of a message catalogue. + * + * @author Stealth35 + */ +class MoFileDumper extends FileDumper +{ + /** + * {@inheritdoc} + */ + public function format(MessageCatalogue $messages, $domain = 'messages') + { + $output = $sources = $targets = $sourceOffsets = $targetOffsets = ''; + $offsets = array(); + $size = 0; + + foreach ($messages->all($domain) as $source => $target) { + $offsets[] = array_map('strlen', array($sources, $source, $targets, $target)); + $sources .= "\0".$source; + $targets .= "\0".$target; + ++$size; + } + + $header = array( + 'magicNumber' => MoFileLoader::MO_LITTLE_ENDIAN_MAGIC, + 'formatRevision' => 0, + 'count' => $size, + 'offsetId' => MoFileLoader::MO_HEADER_SIZE, + 'offsetTranslated' => MoFileLoader::MO_HEADER_SIZE + (8 * $size), + 'sizeHashes' => 0, + 'offsetHashes' => MoFileLoader::MO_HEADER_SIZE + (16 * $size), + ); + + $sourcesSize = strlen($sources); + $sourcesStart = $header['offsetHashes'] + 1; + + foreach ($offsets as $offset) { + $sourceOffsets .= $this->writeLong($offset[1]) + .$this->writeLong($offset[0] + $sourcesStart); + $targetOffsets .= $this->writeLong($offset[3]) + .$this->writeLong($offset[2] + $sourcesStart + $sourcesSize); + } + + $output = implode(array_map(array($this, 'writeLong'), $header)) + .$sourceOffsets + .$targetOffsets + .$sources + .$targets + ; + + return $output; + } + + /** + * {@inheritdoc} + */ + protected function getExtension() + { + return 'mo'; + } + + private function writeLong($str) + { + return pack('V*', $str); + } +} diff --git a/core/vendor/symfony/translation/Dumper/PhpFileDumper.php b/core/vendor/symfony/translation/Dumper/PhpFileDumper.php new file mode 100644 index 0000000000000000000000000000000000000000..b354c1245c993915b1c413f11fa8861438b44ac6 --- /dev/null +++ b/core/vendor/symfony/translation/Dumper/PhpFileDumper.php @@ -0,0 +1,40 @@ +<?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\Translation\Dumper; + +use Symfony\Component\Translation\MessageCatalogue; + +/** + * PhpFileDumper generates PHP files from a message catalogue. + * + * @author Michel Salib <michelsalib@hotmail.com> + */ +class PhpFileDumper extends FileDumper +{ + /** + * {@inheritdoc} + */ + protected function format(MessageCatalogue $messages, $domain) + { + $output = "<?php\n\nreturn ".var_export($messages->all($domain), true).";\n"; + + return $output; + } + + /** + * {@inheritdoc} + */ + protected function getExtension() + { + return 'php'; + } +} diff --git a/core/vendor/symfony/translation/Dumper/PoFileDumper.php b/core/vendor/symfony/translation/Dumper/PoFileDumper.php new file mode 100644 index 0000000000000000000000000000000000000000..983064b5d7ca9e68c5c361d4e0edf05aec5775cc --- /dev/null +++ b/core/vendor/symfony/translation/Dumper/PoFileDumper.php @@ -0,0 +1,61 @@ +<?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\Translation\Dumper; + +use Symfony\Component\Translation\MessageCatalogue; + +/** + * PoFileDumper generates a gettext formatted string representation of a message catalogue. + * + * @author Stealth35 + */ +class PoFileDumper extends FileDumper +{ + /** + * {@inheritdoc} + */ + public function format(MessageCatalogue $messages, $domain = 'messages') + { + $output = 'msgid ""'."\n"; + $output .= 'msgstr ""'."\n"; + $output .= '"Content-Type: text/plain; charset=UTF-8\n"'."\n"; + $output .= '"Content-Transfer-Encoding: 8bit\n"'."\n"; + $output .= '"Language: '.$messages->getLocale().'\n"'."\n"; + $output .= "\n"; + + $newLine = false; + foreach ($messages->all($domain) as $source => $target) { + if ($newLine) { + $output .= "\n"; + } else { + $newLine = true; + } + $output .= sprintf('msgid "%s"'."\n", $this->escape($source)); + $output .= sprintf('msgstr "%s"', $this->escape($target)); + } + + return $output; + } + + /** + * {@inheritdoc} + */ + protected function getExtension() + { + return 'po'; + } + + private function escape($str) + { + return addcslashes($str, "\0..\37\42\134"); + } +} diff --git a/core/vendor/symfony/translation/Dumper/QtFileDumper.php b/core/vendor/symfony/translation/Dumper/QtFileDumper.php new file mode 100644 index 0000000000000000000000000000000000000000..42aa0934814932fb417471a5d74b4456b71bdf39 --- /dev/null +++ b/core/vendor/symfony/translation/Dumper/QtFileDumper.php @@ -0,0 +1,50 @@ +<?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\Translation\Dumper; + +use Symfony\Component\Translation\MessageCatalogue; + +/** + * QtFileDumper generates ts files from a message catalogue. + * + * @author Benjamin Eberlei <kontakt@beberlei.de> + */ +class QtFileDumper extends FileDumper +{ + /** + * {@inheritdoc} + */ + public function format(MessageCatalogue $messages, $domain) + { + $dom = new \DOMDocument('1.0', 'utf-8'); + $dom->formatOutput = true; + $ts = $dom->appendChild($dom->createElement('TS')); + $context = $ts->appendChild($dom->createElement('context')); + $context->appendChild($dom->createElement('name', $domain)); + + foreach ($messages->all($domain) as $source => $target) { + $message = $context->appendChild($dom->createElement('message')); + $message->appendChild($dom->createElement('source', $source)); + $message->appendChild($dom->createElement('translation', $target)); + } + + return $dom->saveXML(); + } + + /** + * {@inheritdoc} + */ + protected function getExtension() + { + return 'ts'; + } +} diff --git a/core/vendor/symfony/translation/Dumper/XliffFileDumper.php b/core/vendor/symfony/translation/Dumper/XliffFileDumper.php new file mode 100644 index 0000000000000000000000000000000000000000..58d19733dbb36a65dfc337812b53783915bb248e --- /dev/null +++ b/core/vendor/symfony/translation/Dumper/XliffFileDumper.php @@ -0,0 +1,109 @@ +<?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\Translation\Dumper; + +use Symfony\Component\Translation\MessageCatalogue; + +/** + * XliffFileDumper generates xliff files from a message catalogue. + * + * @author Michel Salib <michelsalib@hotmail.com> + */ +class XliffFileDumper extends FileDumper +{ + /** + * @var string + */ + private $defaultLocale; + + /** + * {@inheritdoc} + */ + public function dump(MessageCatalogue $messages, $options = array()) + { + if (array_key_exists('default_locale', $options)) { + $this->defaultLocale = $options['default_locale']; + } else { + $this->defaultLocale = \Locale::getDefault(); + } + + parent::dump($messages, $options); + } + + /** + * {@inheritdoc} + */ + protected function format(MessageCatalogue $messages, $domain) + { + $dom = new \DOMDocument('1.0', 'utf-8'); + $dom->formatOutput = true; + + $xliff = $dom->appendChild($dom->createElement('xliff')); + $xliff->setAttribute('version', '1.2'); + $xliff->setAttribute('xmlns', 'urn:oasis:names:tc:xliff:document:1.2'); + + $xliffFile = $xliff->appendChild($dom->createElement('file')); + $xliffFile->setAttribute('source-language', str_replace('_', '-', $this->defaultLocale)); + $xliffFile->setAttribute('target-language', str_replace('_', '-', $messages->getLocale())); + $xliffFile->setAttribute('datatype', 'plaintext'); + $xliffFile->setAttribute('original', 'file.ext'); + + $xliffBody = $xliffFile->appendChild($dom->createElement('body')); + foreach ($messages->all($domain) as $source => $target) { + $translation = $dom->createElement('trans-unit'); + + $translation->setAttribute('id', md5($source)); + $translation->setAttribute('resname', $source); + + $s = $translation->appendChild($dom->createElement('source')); + $s->appendChild($dom->createTextNode($source)); + + // Does the target contain characters requiring a CDATA section? + $text = 1 === preg_match('/[&<>]/', $target) ? $dom->createCDATASection($target) : $dom->createTextNode($target); + + $t = $translation->appendChild($dom->createElement('target')); + $t->appendChild($text); + + $metadata = $messages->getMetadata($source, $domain); + if (null !== $metadata && array_key_exists('notes', $metadata) && is_array($metadata['notes'])) { + foreach ($metadata['notes'] as $note) { + if (!isset($note['content'])) { + continue; + } + + $n = $translation->appendChild($dom->createElement('note')); + $n->appendChild($dom->createTextNode($note['content'])); + + if (isset($note['priority'])) { + $n->setAttribute('priority', $note['priority']); + } + + if (isset($note['from'])) { + $n->setAttribute('from', $note['from']); + } + } + } + + $xliffBody->appendChild($translation); + } + + return $dom->saveXML(); + } + + /** + * {@inheritdoc} + */ + protected function getExtension() + { + return 'xlf'; + } +} diff --git a/core/vendor/symfony/translation/Dumper/YamlFileDumper.php b/core/vendor/symfony/translation/Dumper/YamlFileDumper.php new file mode 100644 index 0000000000000000000000000000000000000000..870fb9838042da23f0c2ecbb959a3b8f0fb7a650 --- /dev/null +++ b/core/vendor/symfony/translation/Dumper/YamlFileDumper.php @@ -0,0 +1,43 @@ +<?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\Translation\Dumper; + +use Symfony\Component\Translation\MessageCatalogue; +use Symfony\Component\Yaml\Yaml; + +/** + * YamlFileDumper generates yaml files from a message catalogue. + * + * @author Michel Salib <michelsalib@hotmail.com> + */ +class YamlFileDumper extends FileDumper +{ + /** + * {@inheritdoc} + */ + protected function format(MessageCatalogue $messages, $domain) + { + if (!class_exists('Symfony\Component\Yaml\Yaml')) { + throw new \LogicException('Dumping translations in the YAML format requires the Symfony Yaml component.'); + } + + return Yaml::dump($messages->all($domain)); + } + + /** + * {@inheritdoc} + */ + protected function getExtension() + { + return 'yml'; + } +} diff --git a/core/vendor/symfony/console/Symfony/Component/Console/Helper/TableSeparator.php b/core/vendor/symfony/translation/Exception/ExceptionInterface.php similarity index 65% rename from core/vendor/symfony/console/Symfony/Component/Console/Helper/TableSeparator.php rename to core/vendor/symfony/translation/Exception/ExceptionInterface.php index 1f6981b03865d5ae805792e4ea55e793a7d96904..7757e669a0cc95072481f1529535f72e1f66ed6a 100644 --- a/core/vendor/symfony/console/Symfony/Component/Console/Helper/TableSeparator.php +++ b/core/vendor/symfony/translation/Exception/ExceptionInterface.php @@ -9,13 +9,15 @@ * file that was distributed with this source code. */ -namespace Symfony\Component\Console\Helper; +namespace Symfony\Component\Translation\Exception; /** - * Marks a row as being a separator. + * Exception interface for all exceptions thrown by the component. * * @author Fabien Potencier <fabien@symfony.com> + * + * @api */ -class TableSeparator +interface ExceptionInterface { } diff --git a/core/vendor/symfony/translation/Exception/InvalidResourceException.php b/core/vendor/symfony/translation/Exception/InvalidResourceException.php new file mode 100644 index 0000000000000000000000000000000000000000..6413f1ae79ee574e7ce62501078e9ee12aa73c35 --- /dev/null +++ b/core/vendor/symfony/translation/Exception/InvalidResourceException.php @@ -0,0 +1,23 @@ +<?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\Translation\Exception; + +/** + * Thrown when a resource cannot be loaded. + * + * @author Fabien Potencier <fabien@symfony.com> + * + * @api + */ +class InvalidResourceException extends \InvalidArgumentException implements ExceptionInterface +{ +} diff --git a/core/vendor/symfony/translation/Exception/NotFoundResourceException.php b/core/vendor/symfony/translation/Exception/NotFoundResourceException.php new file mode 100644 index 0000000000000000000000000000000000000000..7826e5ce51bef6b125e80aa10f8225179303bf61 --- /dev/null +++ b/core/vendor/symfony/translation/Exception/NotFoundResourceException.php @@ -0,0 +1,23 @@ +<?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\Translation\Exception; + +/** + * Thrown when a resource does not exist. + * + * @author Fabien Potencier <fabien@symfony.com> + * + * @api + */ +class NotFoundResourceException extends \InvalidArgumentException implements ExceptionInterface +{ +} diff --git a/core/vendor/symfony/translation/Extractor/AbstractFileExtractor.php b/core/vendor/symfony/translation/Extractor/AbstractFileExtractor.php new file mode 100644 index 0000000000000000000000000000000000000000..196bc3341060aa718dc86a31d32aabacd236faf7 --- /dev/null +++ b/core/vendor/symfony/translation/Extractor/AbstractFileExtractor.php @@ -0,0 +1,83 @@ +<?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\Translation\Extractor; + +/** + * Base class used by classes that extract translation messages from files. + * + * @author Marcos D. Sánchez <marcosdsanchez@gmail.com> + */ +abstract class AbstractFileExtractor +{ + /** + * @param string|array $resource files, a file or a directory + * + * @return array + */ + protected function extractFiles($resource) + { + if (is_array($resource) || $resource instanceof \Traversable) { + $files = array(); + foreach ($resource as $file) { + if ($this->canBeExtracted($file)) { + $files[] = $this->toSplFileInfo($file); + } + } + } elseif (is_file($resource)) { + $files = $this->canBeExtracted($resource) ? array($this->toSplFileInfo($resource)) : array(); + } else { + $files = $this->extractFromDirectory($resource); + } + + return $files; + } + + /** + * @param string $file + * + * @return \SplFileInfo + */ + private function toSplFileInfo($file) + { + return ($file instanceof \SplFileInfo) ? $file : new \SplFileInfo($file); + } + + /** + * @param string $file + * + * @throws \InvalidArgumentException + * + * @return bool + */ + protected function isFile($file) + { + if (!is_file($file)) { + throw new \InvalidArgumentException(sprintf('The "%s" file does not exist.', $file)); + } + + return true; + } + + /** + * @param string $file + * + * @return bool + */ + abstract protected function canBeExtracted($file); + + /** + * @param string|array $resource files, a file or a directory + * + * @return array files to be extracted + */ + abstract protected function extractFromDirectory($resource); +} diff --git a/core/vendor/symfony/translation/Extractor/ChainExtractor.php b/core/vendor/symfony/translation/Extractor/ChainExtractor.php new file mode 100644 index 0000000000000000000000000000000000000000..50e3c84579f2bcbcd1174cf9de019904e7c1d6fc --- /dev/null +++ b/core/vendor/symfony/translation/Extractor/ChainExtractor.php @@ -0,0 +1,60 @@ +<?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\Translation\Extractor; + +use Symfony\Component\Translation\MessageCatalogue; + +/** + * ChainExtractor extracts translation messages from template files. + * + * @author Michel Salib <michelsalib@hotmail.com> + */ +class ChainExtractor implements ExtractorInterface +{ + /** + * The extractors. + * + * @var ExtractorInterface[] + */ + private $extractors = array(); + + /** + * Adds a loader to the translation extractor. + * + * @param string $format The format of the loader + * @param ExtractorInterface $extractor The loader + */ + public function addExtractor($format, ExtractorInterface $extractor) + { + $this->extractors[$format] = $extractor; + } + + /** + * {@inheritdoc} + */ + public function setPrefix($prefix) + { + foreach ($this->extractors as $extractor) { + $extractor->setPrefix($prefix); + } + } + + /** + * {@inheritdoc} + */ + public function extract($directory, MessageCatalogue $catalogue) + { + foreach ($this->extractors as $extractor) { + $extractor->extract($directory, $catalogue); + } + } +} diff --git a/core/vendor/symfony/translation/Extractor/ExtractorInterface.php b/core/vendor/symfony/translation/Extractor/ExtractorInterface.php new file mode 100644 index 0000000000000000000000000000000000000000..438f80b32f053a026ca3cecb640dd9e5c34c0626 --- /dev/null +++ b/core/vendor/symfony/translation/Extractor/ExtractorInterface.php @@ -0,0 +1,38 @@ +<?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\Translation\Extractor; + +use Symfony\Component\Translation\MessageCatalogue; + +/** + * Extracts translation messages from a directory or files to the catalogue. + * New found messages are injected to the catalogue using the prefix. + * + * @author Michel Salib <michelsalib@hotmail.com> + */ +interface ExtractorInterface +{ + /** + * Extracts translation messages from files, a file or a directory to the catalogue. + * + * @param string|array $resource files, a file or a directory + * @param MessageCatalogue $catalogue The catalogue + */ + public function extract($resource, MessageCatalogue $catalogue); + + /** + * Sets the prefix that should be used for new found messages. + * + * @param string $prefix The prefix + */ + public function setPrefix($prefix); +} diff --git a/core/vendor/symfony/translation/IdentityTranslator.php b/core/vendor/symfony/translation/IdentityTranslator.php new file mode 100644 index 0000000000000000000000000000000000000000..9c9212e80305028c0cde67208d719c4780f2939a --- /dev/null +++ b/core/vendor/symfony/translation/IdentityTranslator.php @@ -0,0 +1,77 @@ +<?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\Translation; + +/** + * IdentityTranslator does not translate anything. + * + * @author Fabien Potencier <fabien@symfony.com> + * + * @api + */ +class IdentityTranslator implements TranslatorInterface +{ + private $selector; + private $locale; + + /** + * Constructor. + * + * @param MessageSelector|null $selector The message selector for pluralization + * + * @api + */ + public function __construct(MessageSelector $selector = null) + { + $this->selector = $selector ?: new MessageSelector(); + } + + /** + * {@inheritdoc} + * + * @api + */ + public function setLocale($locale) + { + $this->locale = $locale; + } + + /** + * {@inheritdoc} + * + * @api + */ + public function getLocale() + { + return $this->locale ?: \Locale::getDefault(); + } + + /** + * {@inheritdoc} + * + * @api + */ + public function trans($id, array $parameters = array(), $domain = null, $locale = null) + { + return strtr((string) $id, $parameters); + } + + /** + * {@inheritdoc} + * + * @api + */ + public function transChoice($id, $number, array $parameters = array(), $domain = null, $locale = null) + { + return strtr($this->selector->choose((string) $id, (int) $number, $locale ?: $this->getLocale()), $parameters); + } +} diff --git a/core/vendor/symfony/translation/Interval.php b/core/vendor/symfony/translation/Interval.php new file mode 100644 index 0000000000000000000000000000000000000000..2a51156ef73560e9bea2a419f392f930fcf632ef --- /dev/null +++ b/core/vendor/symfony/translation/Interval.php @@ -0,0 +1,107 @@ +<?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\Translation; + +/** + * Tests if a given number belongs to a given math interval. + * + * An interval can represent a finite set of numbers: + * + * {1,2,3,4} + * + * An interval can represent numbers between two numbers: + * + * [1, +Inf] + * ]-1,2[ + * + * The left delimiter can be [ (inclusive) or ] (exclusive). + * The right delimiter can be [ (exclusive) or ] (inclusive). + * Beside numbers, you can use -Inf and +Inf for the infinite. + * + * @author Fabien Potencier <fabien@symfony.com> + * + * @see http://en.wikipedia.org/wiki/Interval_%28mathematics%29#The_ISO_notation + */ +class Interval +{ + /** + * Tests if the given number is in the math interval. + * + * @param int $number A number + * @param string $interval An interval + * + * @return bool + * + * @throws \InvalidArgumentException + */ + public static function test($number, $interval) + { + $interval = trim($interval); + + if (!preg_match('/^'.self::getIntervalRegexp().'$/x', $interval, $matches)) { + throw new \InvalidArgumentException(sprintf('"%s" is not a valid interval.', $interval)); + } + + if ($matches[1]) { + foreach (explode(',', $matches[2]) as $n) { + if ($number == $n) { + return true; + } + } + } else { + $leftNumber = self::convertNumber($matches['left']); + $rightNumber = self::convertNumber($matches['right']); + + return + ('[' === $matches['left_delimiter'] ? $number >= $leftNumber : $number > $leftNumber) + && (']' === $matches['right_delimiter'] ? $number <= $rightNumber : $number < $rightNumber) + ; + } + + return false; + } + + /** + * Returns a Regexp that matches valid intervals. + * + * @return string A Regexp (without the delimiters) + */ + public static function getIntervalRegexp() + { + return <<<EOF + ({\s* + (\-?\d+(\.\d+)?[\s*,\s*\-?\d+(\.\d+)?]*) + \s*}) + + | + + (?P<left_delimiter>[\[\]]) + \s* + (?P<left>-Inf|\-?\d+(\.\d+)?) + \s*,\s* + (?P<right>\+?Inf|\-?\d+(\.\d+)?) + \s* + (?P<right_delimiter>[\[\]]) +EOF; + } + + private static function convertNumber($number) + { + if ('-Inf' === $number) { + return log(0); + } elseif ('+Inf' === $number || 'Inf' === $number) { + return -log(0); + } + + return (float) $number; + } +} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/LICENSE b/core/vendor/symfony/translation/LICENSE similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/LICENSE rename to core/vendor/symfony/translation/LICENSE diff --git a/core/vendor/symfony/translation/Loader/ArrayLoader.php b/core/vendor/symfony/translation/Loader/ArrayLoader.php new file mode 100644 index 0000000000000000000000000000000000000000..68ba81d4658d141853d0471711c1a15bdcad5d4c --- /dev/null +++ b/core/vendor/symfony/translation/Loader/ArrayLoader.php @@ -0,0 +1,70 @@ +<?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\Translation\Loader; + +use Symfony\Component\Translation\MessageCatalogue; + +/** + * ArrayLoader loads translations from a PHP array. + * + * @author Fabien Potencier <fabien@symfony.com> + * + * @api + */ +class ArrayLoader implements LoaderInterface +{ + /** + * {@inheritdoc} + * + * @api + */ + public function load($resource, $locale, $domain = 'messages') + { + $this->flatten($resource); + $catalogue = new MessageCatalogue($locale); + $catalogue->add($resource, $domain); + + return $catalogue; + } + + /** + * Flattens an nested array of translations. + * + * The scheme used is: + * 'key' => array('key2' => array('key3' => 'value')) + * Becomes: + * 'key.key2.key3' => 'value' + * + * This function takes an array by reference and will modify it + * + * @param array &$messages The array that will be flattened + * @param array $subnode Current subnode being parsed, used internally for recursive calls + * @param string $path Current path being parsed, used internally for recursive calls + */ + private function flatten(array &$messages, array $subnode = null, $path = null) + { + if (null === $subnode) { + $subnode = &$messages; + } + foreach ($subnode as $key => $value) { + if (is_array($value)) { + $nodePath = $path ? $path.'.'.$key : $key; + $this->flatten($messages, $value, $nodePath); + if (null === $path) { + unset($messages[$key]); + } + } elseif (null !== $path) { + $messages[$path.'.'.$key] = $value; + } + } + } +} diff --git a/core/vendor/symfony/translation/Loader/CsvFileLoader.php b/core/vendor/symfony/translation/Loader/CsvFileLoader.php new file mode 100644 index 0000000000000000000000000000000000000000..fc927601d900eb45b271a46daa1929998ba855e2 --- /dev/null +++ b/core/vendor/symfony/translation/Loader/CsvFileLoader.php @@ -0,0 +1,95 @@ +<?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\Translation\Loader; + +use Symfony\Component\Translation\Exception\InvalidResourceException; +use Symfony\Component\Translation\Exception\NotFoundResourceException; +use Symfony\Component\Config\Resource\FileResource; + +/** + * CsvFileLoader loads translations from CSV files. + * + * @author SaÅ¡a Stamenković <umpirsky@gmail.com> + * + * @api + */ +class CsvFileLoader extends ArrayLoader +{ + private $delimiter = ';'; + private $enclosure = '"'; + private $escape = '\\'; + + /** + * {@inheritdoc} + * + * @api + */ + public function load($resource, $locale, $domain = 'messages') + { + if (!stream_is_local($resource)) { + throw new InvalidResourceException(sprintf('This is not a local file "%s".', $resource)); + } + + if (!file_exists($resource)) { + throw new NotFoundResourceException(sprintf('File "%s" not found.', $resource)); + } + + $messages = array(); + + try { + $file = new \SplFileObject($resource, 'rb'); + } catch (\RuntimeException $e) { + throw new NotFoundResourceException(sprintf('Error opening file "%s".', $resource), 0, $e); + } + + $file->setFlags(\SplFileObject::READ_CSV | \SplFileObject::SKIP_EMPTY); + $file->setCsvControl($this->delimiter, $this->enclosure, $this->escape); + + foreach ($file as $data) { + if (substr($data[0], 0, 1) === '#') { + continue; + } + + if (!isset($data[1])) { + continue; + } + + if (count($data) == 2) { + $messages[$data[0]] = $data[1]; + } else { + continue; + } + } + + $catalogue = parent::load($messages, $locale, $domain); + + if (class_exists('Symfony\Component\Config\Resource\FileResource')) { + $catalogue->addResource(new FileResource($resource)); + } + + return $catalogue; + } + + /** + * Sets the delimiter, enclosure, and escape character for CSV. + * + * @param string $delimiter delimiter character + * @param string $enclosure enclosure character + * @param string $escape escape character + */ + public function setCsvControl($delimiter = ';', $enclosure = '"', $escape = '\\') + { + $this->delimiter = $delimiter; + $this->enclosure = $enclosure; + $this->escape = $escape; + } +} diff --git a/core/vendor/symfony/translation/Loader/IcuDatFileLoader.php b/core/vendor/symfony/translation/Loader/IcuDatFileLoader.php new file mode 100644 index 0000000000000000000000000000000000000000..71ba90a39d9cc118f6ee9622029632b193c35eff --- /dev/null +++ b/core/vendor/symfony/translation/Loader/IcuDatFileLoader.php @@ -0,0 +1,62 @@ +<?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\Translation\Loader; + +use Symfony\Component\Translation\MessageCatalogue; +use Symfony\Component\Translation\Exception\InvalidResourceException; +use Symfony\Component\Translation\Exception\NotFoundResourceException; +use Symfony\Component\Config\Resource\FileResource; + +/** + * IcuResFileLoader loads translations from a resource bundle. + * + * @author stealth35 + */ +class IcuDatFileLoader extends IcuResFileLoader +{ + /** + * {@inheritdoc} + */ + public function load($resource, $locale, $domain = 'messages') + { + if (!stream_is_local($resource.'.dat')) { + throw new InvalidResourceException(sprintf('This is not a local file "%s".', $resource)); + } + + if (!file_exists($resource.'.dat')) { + throw new NotFoundResourceException(sprintf('File "%s" not found.', $resource)); + } + + try { + $rb = new \ResourceBundle($locale, $resource); + } catch (\Exception $e) { + // HHVM compatibility: constructor throws on invalid resource + $rb = null; + } + + if (!$rb) { + throw new InvalidResourceException(sprintf('Cannot load resource "%s"', $resource)); + } elseif (intl_is_failure($rb->getErrorCode())) { + throw new InvalidResourceException($rb->getErrorMessage(), $rb->getErrorCode()); + } + + $messages = $this->flatten($rb); + $catalogue = new MessageCatalogue($locale); + $catalogue->add($messages, $domain); + + if (class_exists('Symfony\Component\Config\Resource\FileResource')) { + $catalogue->addResource(new FileResource($resource.'.dat')); + } + + return $catalogue; + } +} diff --git a/core/vendor/symfony/translation/Loader/IcuResFileLoader.php b/core/vendor/symfony/translation/Loader/IcuResFileLoader.php new file mode 100644 index 0000000000000000000000000000000000000000..2f8037fb164d8a70ad2210f4e21130f92d1039fe --- /dev/null +++ b/core/vendor/symfony/translation/Loader/IcuResFileLoader.php @@ -0,0 +1,92 @@ +<?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\Translation\Loader; + +use Symfony\Component\Translation\MessageCatalogue; +use Symfony\Component\Translation\Exception\InvalidResourceException; +use Symfony\Component\Translation\Exception\NotFoundResourceException; +use Symfony\Component\Config\Resource\DirectoryResource; + +/** + * IcuResFileLoader loads translations from a resource bundle. + * + * @author stealth35 + */ +class IcuResFileLoader implements LoaderInterface +{ + /** + * {@inheritdoc} + */ + public function load($resource, $locale, $domain = 'messages') + { + if (!stream_is_local($resource)) { + throw new InvalidResourceException(sprintf('This is not a local file "%s".', $resource)); + } + + if (!is_dir($resource)) { + throw new NotFoundResourceException(sprintf('File "%s" not found.', $resource)); + } + + try { + $rb = new \ResourceBundle($locale, $resource); + } catch (\Exception $e) { + // HHVM compatibility: constructor throws on invalid resource + $rb = null; + } + + if (!$rb) { + throw new InvalidResourceException(sprintf('Cannot load resource "%s"', $resource)); + } elseif (intl_is_failure($rb->getErrorCode())) { + throw new InvalidResourceException($rb->getErrorMessage(), $rb->getErrorCode()); + } + + $messages = $this->flatten($rb); + $catalogue = new MessageCatalogue($locale); + $catalogue->add($messages, $domain); + + if (class_exists('Symfony\Component\Config\Resource\DirectoryResource')) { + $catalogue->addResource(new DirectoryResource($resource)); + } + + return $catalogue; + } + + /** + * Flattens an ResourceBundle. + * + * The scheme used is: + * key { key2 { key3 { "value" } } } + * Becomes: + * 'key.key2.key3' => 'value' + * + * This function takes an array by reference and will modify it + * + * @param \ResourceBundle $rb the ResourceBundle that will be flattened + * @param array $messages used internally for recursive calls + * @param string $path current path being parsed, used internally for recursive calls + * + * @return array the flattened ResourceBundle + */ + protected function flatten(\ResourceBundle $rb, array &$messages = array(), $path = null) + { + foreach ($rb as $key => $value) { + $nodePath = $path ? $path.'.'.$key : $key; + if ($value instanceof \ResourceBundle) { + $this->flatten($value, $messages, $nodePath); + } else { + $messages[$nodePath] = $value; + } + } + + return $messages; + } +} diff --git a/core/vendor/symfony/translation/Loader/IniFileLoader.php b/core/vendor/symfony/translation/Loader/IniFileLoader.php new file mode 100644 index 0000000000000000000000000000000000000000..1b3a7b19118ff4cf4d302231b1931d56a7feed9e --- /dev/null +++ b/core/vendor/symfony/translation/Loader/IniFileLoader.php @@ -0,0 +1,48 @@ +<?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\Translation\Loader; + +use Symfony\Component\Translation\Exception\InvalidResourceException; +use Symfony\Component\Translation\Exception\NotFoundResourceException; +use Symfony\Component\Config\Resource\FileResource; + +/** + * IniFileLoader loads translations from an ini file. + * + * @author stealth35 + */ +class IniFileLoader extends ArrayLoader +{ + /** + * {@inheritdoc} + */ + public function load($resource, $locale, $domain = 'messages') + { + if (!stream_is_local($resource)) { + throw new InvalidResourceException(sprintf('This is not a local file "%s".', $resource)); + } + + if (!file_exists($resource)) { + throw new NotFoundResourceException(sprintf('File "%s" not found.', $resource)); + } + + $messages = parse_ini_file($resource, true); + + $catalogue = parent::load($messages, $locale, $domain); + + if (class_exists('Symfony\Component\Config\Resource\FileResource')) { + $catalogue->addResource(new FileResource($resource)); + } + + return $catalogue; + } +} diff --git a/core/vendor/symfony/translation/Loader/JsonFileLoader.php b/core/vendor/symfony/translation/Loader/JsonFileLoader.php new file mode 100644 index 0000000000000000000000000000000000000000..8327c63b57f109713ae20c904c025201aebe9237 --- /dev/null +++ b/core/vendor/symfony/translation/Loader/JsonFileLoader.php @@ -0,0 +1,78 @@ +<?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\Translation\Loader; + +use Symfony\Component\Translation\Exception\InvalidResourceException; +use Symfony\Component\Translation\Exception\NotFoundResourceException; +use Symfony\Component\Config\Resource\FileResource; + +/** + * JsonFileLoader loads translations from an json file. + * + * @author singles + */ +class JsonFileLoader extends ArrayLoader implements LoaderInterface +{ + /** + * {@inheritdoc} + */ + public function load($resource, $locale, $domain = 'messages') + { + if (!stream_is_local($resource)) { + throw new InvalidResourceException(sprintf('This is not a local file "%s".', $resource)); + } + + if (!file_exists($resource)) { + throw new NotFoundResourceException(sprintf('File "%s" not found.', $resource)); + } + + $messages = json_decode(file_get_contents($resource), true); + + if (0 < $errorCode = json_last_error()) { + throw new InvalidResourceException(sprintf('Error parsing JSON - %s', $this->getJSONErrorMessage($errorCode))); + } + + if (null === $messages) { + $messages = array(); + } + + $catalogue = parent::load($messages, $locale, $domain); + $catalogue->addResource(new FileResource($resource)); + + return $catalogue; + } + + /** + * Translates JSON_ERROR_* constant into meaningful message. + * + * @param int $errorCode Error code returned by json_last_error() call + * + * @return string Message string + */ + private function getJSONErrorMessage($errorCode) + { + switch ($errorCode) { + case JSON_ERROR_DEPTH: + return 'Maximum stack depth exceeded'; + case JSON_ERROR_STATE_MISMATCH: + return 'Underflow or the modes mismatch'; + case JSON_ERROR_CTRL_CHAR: + return 'Unexpected control character found'; + case JSON_ERROR_SYNTAX: + return 'Syntax error, malformed JSON'; + case JSON_ERROR_UTF8: + return 'Malformed UTF-8 characters, possibly incorrectly encoded'; + default: + return 'Unknown error'; + } + } +} diff --git a/core/vendor/symfony/translation/Loader/LoaderInterface.php b/core/vendor/symfony/translation/Loader/LoaderInterface.php new file mode 100644 index 0000000000000000000000000000000000000000..0b28e14a0de82232cc9fde3fd676f2e25ee9d6c8 --- /dev/null +++ b/core/vendor/symfony/translation/Loader/LoaderInterface.php @@ -0,0 +1,42 @@ +<?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\Translation\Loader; + +use Symfony\Component\Translation\MessageCatalogue; +use Symfony\Component\Translation\Exception\InvalidResourceException; +use Symfony\Component\Translation\Exception\NotFoundResourceException; + +/** + * LoaderInterface is the interface implemented by all translation loaders. + * + * @author Fabien Potencier <fabien@symfony.com> + * + * @api + */ +interface LoaderInterface +{ + /** + * Loads a locale. + * + * @param mixed $resource A resource + * @param string $locale A locale + * @param string $domain The domain + * + * @return MessageCatalogue A MessageCatalogue instance + * + * @api + * + * @throws NotFoundResourceException when the resource cannot be found + * @throws InvalidResourceException when the resource cannot be loaded + */ + public function load($resource, $locale, $domain = 'messages'); +} diff --git a/core/vendor/symfony/translation/Loader/MoFileLoader.php b/core/vendor/symfony/translation/Loader/MoFileLoader.php new file mode 100644 index 0000000000000000000000000000000000000000..ab4e7a9574cd69cb705b1e61d2697c13b8a7bbfd --- /dev/null +++ b/core/vendor/symfony/translation/Loader/MoFileLoader.php @@ -0,0 +1,191 @@ +<?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\Translation\Loader; + +use Symfony\Component\Translation\Exception\InvalidResourceException; +use Symfony\Component\Translation\Exception\NotFoundResourceException; +use Symfony\Component\Config\Resource\FileResource; + +/** + * @copyright Copyright (c) 2010, Union of RAD http://union-of-rad.org (http://lithify.me/) + */ +class MoFileLoader extends ArrayLoader +{ + /** + * Magic used for validating the format of a MO file as well as + * detecting if the machine used to create that file was little endian. + * + * @var float + */ + const MO_LITTLE_ENDIAN_MAGIC = 0x950412de; + + /** + * Magic used for validating the format of a MO file as well as + * detecting if the machine used to create that file was big endian. + * + * @var float + */ + const MO_BIG_ENDIAN_MAGIC = 0xde120495; + + /** + * The size of the header of a MO file in bytes. + * + * @var int Number of bytes. + */ + const MO_HEADER_SIZE = 28; + + public function load($resource, $locale, $domain = 'messages') + { + if (!stream_is_local($resource)) { + throw new InvalidResourceException(sprintf('This is not a local file "%s".', $resource)); + } + + if (!file_exists($resource)) { + throw new NotFoundResourceException(sprintf('File "%s" not found.', $resource)); + } + + $messages = $this->parse($resource); + + // empty file + if (null === $messages) { + $messages = array(); + } + + // not an array + if (!is_array($messages)) { + throw new InvalidResourceException(sprintf('The file "%s" must contain a valid mo file.', $resource)); + } + + $catalogue = parent::load($messages, $locale, $domain); + + if (class_exists('Symfony\Component\Config\Resource\FileResource')) { + $catalogue->addResource(new FileResource($resource)); + } + + return $catalogue; + } + + /** + * Parses machine object (MO) format, independent of the machine's endian it + * was created on. Both 32bit and 64bit systems are supported. + * + * @param resource $resource + * + * @return array + * + * @throws InvalidResourceException If stream content has an invalid format. + */ + private function parse($resource) + { + $stream = fopen($resource, 'r'); + + $stat = fstat($stream); + + if ($stat['size'] < self::MO_HEADER_SIZE) { + throw new InvalidResourceException('MO stream content has an invalid format.'); + } + $magic = unpack('V1', fread($stream, 4)); + $magic = hexdec(substr(dechex(current($magic)), -8)); + + if ($magic == self::MO_LITTLE_ENDIAN_MAGIC) { + $isBigEndian = false; + } elseif ($magic == self::MO_BIG_ENDIAN_MAGIC) { + $isBigEndian = true; + } else { + throw new InvalidResourceException('MO stream content has an invalid format.'); + } + + // formatRevision + $this->readLong($stream, $isBigEndian); + $count = $this->readLong($stream, $isBigEndian); + $offsetId = $this->readLong($stream, $isBigEndian); + $offsetTranslated = $this->readLong($stream, $isBigEndian); + // sizeHashes + $this->readLong($stream, $isBigEndian); + // offsetHashes + $this->readLong($stream, $isBigEndian); + + $messages = array(); + + for ($i = 0; $i < $count; $i++) { + $singularId = $pluralId = null; + $translated = null; + + fseek($stream, $offsetId + $i * 8); + + $length = $this->readLong($stream, $isBigEndian); + $offset = $this->readLong($stream, $isBigEndian); + + if ($length < 1) { + continue; + } + + fseek($stream, $offset); + $singularId = fread($stream, $length); + + if (strpos($singularId, "\000") !== false) { + list($singularId, $pluralId) = explode("\000", $singularId); + } + + fseek($stream, $offsetTranslated + $i * 8); + $length = $this->readLong($stream, $isBigEndian); + $offset = $this->readLong($stream, $isBigEndian); + + if ($length < 1) { + continue; + } + + fseek($stream, $offset); + $translated = fread($stream, $length); + + if (strpos($translated, "\000") !== false) { + $translated = explode("\000", $translated); + } + + $ids = array('singular' => $singularId, 'plural' => $pluralId); + $item = compact('ids', 'translated'); + + if (is_array($item['translated'])) { + $messages[$item['ids']['singular']] = stripcslashes($item['translated'][0]); + if (isset($item['ids']['plural'])) { + $plurals = array(); + foreach ($item['translated'] as $plural => $translated) { + $plurals[] = sprintf('{%d} %s', $plural, $translated); + } + $messages[$item['ids']['plural']] = stripcslashes(implode('|', $plurals)); + } + } elseif (!empty($item['ids']['singular'])) { + $messages[$item['ids']['singular']] = stripcslashes($item['translated']); + } + } + + fclose($stream); + + return array_filter($messages); + } + + /** + * Reads an unsigned long from stream respecting endianess. + * + * @param resource $stream + * @param bool $isBigEndian + * + * @return int + */ + private function readLong($stream, $isBigEndian) + { + $result = unpack($isBigEndian ? 'N1' : 'V1', fread($stream, 4)); + $result = current($result); + + return (int) substr($result, -8); + } +} diff --git a/core/vendor/symfony/translation/Loader/PhpFileLoader.php b/core/vendor/symfony/translation/Loader/PhpFileLoader.php new file mode 100644 index 0000000000000000000000000000000000000000..9ce2e7d2fa0debcf9e1558becd2729b0699fb43c --- /dev/null +++ b/core/vendor/symfony/translation/Loader/PhpFileLoader.php @@ -0,0 +1,52 @@ +<?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\Translation\Loader; + +use Symfony\Component\Translation\Exception\InvalidResourceException; +use Symfony\Component\Translation\Exception\NotFoundResourceException; +use Symfony\Component\Config\Resource\FileResource; + +/** + * PhpFileLoader loads translations from PHP files returning an array of translations. + * + * @author Fabien Potencier <fabien@symfony.com> + * + * @api + */ +class PhpFileLoader extends ArrayLoader +{ + /** + * {@inheritdoc} + * + * @api + */ + public function load($resource, $locale, $domain = 'messages') + { + if (!stream_is_local($resource)) { + throw new InvalidResourceException(sprintf('This is not a local file "%s".', $resource)); + } + + if (!file_exists($resource)) { + throw new NotFoundResourceException(sprintf('File "%s" not found.', $resource)); + } + + $messages = require $resource; + + $catalogue = parent::load($messages, $locale, $domain); + + if (class_exists('Symfony\Component\Config\Resource\FileResource')) { + $catalogue->addResource(new FileResource($resource)); + } + + return $catalogue; + } +} diff --git a/core/vendor/symfony/translation/Loader/PoFileLoader.php b/core/vendor/symfony/translation/Loader/PoFileLoader.php new file mode 100644 index 0000000000000000000000000000000000000000..b5d12e98216437bdb28fde1230f6ba464130d435 --- /dev/null +++ b/core/vendor/symfony/translation/Loader/PoFileLoader.php @@ -0,0 +1,180 @@ +<?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\Translation\Loader; + +use Symfony\Component\Translation\Exception\InvalidResourceException; +use Symfony\Component\Translation\Exception\NotFoundResourceException; +use Symfony\Component\Config\Resource\FileResource; + +/** + * @copyright Copyright (c) 2010, Union of RAD http://union-of-rad.org (http://lithify.me/) + * @copyright Copyright (c) 2012, Clemens Tolboom + */ +class PoFileLoader extends ArrayLoader +{ + public function load($resource, $locale, $domain = 'messages') + { + if (!stream_is_local($resource)) { + throw new InvalidResourceException(sprintf('This is not a local file "%s".', $resource)); + } + + if (!file_exists($resource)) { + throw new NotFoundResourceException(sprintf('File "%s" not found.', $resource)); + } + + $messages = $this->parse($resource); + + // empty file + if (null === $messages) { + $messages = array(); + } + + // not an array + if (!is_array($messages)) { + throw new InvalidResourceException(sprintf('The file "%s" must contain a valid po file.', $resource)); + } + + $catalogue = parent::load($messages, $locale, $domain); + + if (class_exists('Symfony\Component\Config\Resource\FileResource')) { + $catalogue->addResource(new FileResource($resource)); + } + + return $catalogue; + } + + /** + * Parses portable object (PO) format. + * + * From http://www.gnu.org/software/gettext/manual/gettext.html#PO-Files + * we should be able to parse files having: + * + * white-space + * # translator-comments + * #. extracted-comments + * #: reference... + * #, flag... + * #| msgid previous-untranslated-string + * msgid untranslated-string + * msgstr translated-string + * + * extra or different lines are: + * + * #| msgctxt previous-context + * #| msgid previous-untranslated-string + * msgctxt context + * + * #| msgid previous-untranslated-string-singular + * #| msgid_plural previous-untranslated-string-plural + * msgid untranslated-string-singular + * msgid_plural untranslated-string-plural + * msgstr[0] translated-string-case-0 + * ... + * msgstr[N] translated-string-case-n + * + * The definition states: + * - white-space and comments are optional. + * - msgid "" that an empty singleline defines a header. + * + * This parser sacrifices some features of the reference implementation the + * differences to that implementation are as follows. + * - No support for comments spanning multiple lines. + * - Translator and extracted comments are treated as being the same type. + * - Message IDs are allowed to have other encodings as just US-ASCII. + * + * Items with an empty id are ignored. + * + * @param resource $resource + * + * @return array + */ + private function parse($resource) + { + $stream = fopen($resource, 'r'); + + $defaults = array( + 'ids' => array(), + 'translated' => null, + ); + + $messages = array(); + $item = $defaults; + + while ($line = fgets($stream)) { + $line = trim($line); + + if ($line === '') { + // Whitespace indicated current item is done + $this->addMessage($messages, $item); + $item = $defaults; + } elseif (substr($line, 0, 7) === 'msgid "') { + // We start a new msg so save previous + // TODO: this fails when comments or contexts are added + $this->addMessage($messages, $item); + $item = $defaults; + $item['ids']['singular'] = substr($line, 7, -1); + } elseif (substr($line, 0, 8) === 'msgstr "') { + $item['translated'] = substr($line, 8, -1); + } elseif ($line[0] === '"') { + $continues = isset($item['translated']) ? 'translated' : 'ids'; + + if (is_array($item[$continues])) { + end($item[$continues]); + $item[$continues][key($item[$continues])] .= substr($line, 1, -1); + } else { + $item[$continues] .= substr($line, 1, -1); + } + } elseif (substr($line, 0, 14) === 'msgid_plural "') { + $item['ids']['plural'] = substr($line, 14, -1); + } elseif (substr($line, 0, 7) === 'msgstr[') { + $size = strpos($line, ']'); + $item['translated'][(int) substr($line, 7, 1)] = substr($line, $size + 3, -1); + } + } + // save last item + $this->addMessage($messages, $item); + fclose($stream); + + return $messages; + } + + /** + * Save a translation item to the messages. + * + * A .po file could contain by error missing plural indexes. We need to + * fix these before saving them. + * + * @param array $messages + * @param array $item + */ + private function addMessage(array &$messages, array $item) + { + if (is_array($item['translated'])) { + $messages[stripcslashes($item['ids']['singular'])] = stripcslashes($item['translated'][0]); + if (isset($item['ids']['plural'])) { + $plurals = $item['translated']; + // PO are by definition indexed so sort by index. + ksort($plurals); + // Make sure every index is filled. + end($plurals); + $count = key($plurals); + // Fill missing spots with '-'. + $empties = array_fill(0, $count + 1, '-'); + $plurals += $empties; + ksort($plurals); + $messages[stripcslashes($item['ids']['plural'])] = stripcslashes(implode('|', $plurals)); + } + } elseif (!empty($item['ids']['singular'])) { + $messages[stripcslashes($item['ids']['singular'])] = stripcslashes($item['translated']); + } + } +} diff --git a/core/vendor/symfony/translation/Loader/QtFileLoader.php b/core/vendor/symfony/translation/Loader/QtFileLoader.php new file mode 100644 index 0000000000000000000000000000000000000000..6dd0696c6f5ffb26f385cc8940e62bf7f0b1ee13 --- /dev/null +++ b/core/vendor/symfony/translation/Loader/QtFileLoader.php @@ -0,0 +1,81 @@ +<?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\Translation\Loader; + +use Symfony\Component\Config\Util\XmlUtils; +use Symfony\Component\Translation\MessageCatalogue; +use Symfony\Component\Translation\Exception\InvalidResourceException; +use Symfony\Component\Translation\Exception\NotFoundResourceException; +use Symfony\Component\Config\Resource\FileResource; + +/** + * QtFileLoader loads translations from QT Translations XML files. + * + * @author Benjamin Eberlei <kontakt@beberlei.de> + * + * @api + */ +class QtFileLoader implements LoaderInterface +{ + /** + * {@inheritdoc} + * + * @api + */ + public function load($resource, $locale, $domain = 'messages') + { + if (!stream_is_local($resource)) { + throw new InvalidResourceException(sprintf('This is not a local file "%s".', $resource)); + } + + if (!file_exists($resource)) { + throw new NotFoundResourceException(sprintf('File "%s" not found.', $resource)); + } + + try { + $dom = XmlUtils::loadFile($resource); + } catch (\InvalidArgumentException $e) { + throw new InvalidResourceException(sprintf('Unable to load "%s".', $resource), $e->getCode(), $e); + } + + $internalErrors = libxml_use_internal_errors(true); + libxml_clear_errors(); + + $xpath = new \DOMXPath($dom); + $nodes = $xpath->evaluate('//TS/context/name[text()="'.$domain.'"]'); + + $catalogue = new MessageCatalogue($locale); + if ($nodes->length == 1) { + $translations = $nodes->item(0)->nextSibling->parentNode->parentNode->getElementsByTagName('message'); + foreach ($translations as $translation) { + $translationValue = (string) $translation->getElementsByTagName('translation')->item(0)->nodeValue; + + if (!empty($translationValue)) { + $catalogue->set( + (string) $translation->getElementsByTagName('source')->item(0)->nodeValue, + $translationValue, + $domain + ); + } + $translation = $translation->nextSibling; + } + + if (class_exists('Symfony\Component\Config\Resource\FileResource')) { + $catalogue->addResource(new FileResource($resource)); + } + } + + libxml_use_internal_errors($internalErrors); + + return $catalogue; + } +} diff --git a/core/vendor/symfony/translation/Loader/XliffFileLoader.php b/core/vendor/symfony/translation/Loader/XliffFileLoader.php new file mode 100644 index 0000000000000000000000000000000000000000..99761e7f246cae64414b367b1ed2da5571dc1a4a --- /dev/null +++ b/core/vendor/symfony/translation/Loader/XliffFileLoader.php @@ -0,0 +1,188 @@ +<?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\Translation\Loader; + +use Symfony\Component\Config\Util\XmlUtils; +use Symfony\Component\Translation\MessageCatalogue; +use Symfony\Component\Translation\Exception\InvalidResourceException; +use Symfony\Component\Translation\Exception\NotFoundResourceException; +use Symfony\Component\Config\Resource\FileResource; + +/** + * XliffFileLoader loads translations from XLIFF files. + * + * @author Fabien Potencier <fabien@symfony.com> + * + * @api + */ +class XliffFileLoader implements LoaderInterface +{ + /** + * {@inheritdoc} + * + * @api + */ + public function load($resource, $locale, $domain = 'messages') + { + if (!stream_is_local($resource)) { + throw new InvalidResourceException(sprintf('This is not a local file "%s".', $resource)); + } + + if (!file_exists($resource)) { + throw new NotFoundResourceException(sprintf('File "%s" not found.', $resource)); + } + + list($xml, $encoding) = $this->parseFile($resource); + $xml->registerXPathNamespace('xliff', 'urn:oasis:names:tc:xliff:document:1.2'); + + $catalogue = new MessageCatalogue($locale); + foreach ($xml->xpath('//xliff:trans-unit') as $translation) { + $attributes = $translation->attributes(); + + if (!(isset($attributes['resname']) || isset($translation->source)) || !isset($translation->target)) { + continue; + } + + $source = isset($attributes['resname']) && $attributes['resname'] ? $attributes['resname'] : $translation->source; + // If the xlf file has another encoding specified, try to convert it because + // simple_xml will always return utf-8 encoded values + $target = $this->utf8ToCharset((string) $translation->target, $encoding); + + $catalogue->set((string) $source, $target, $domain); + + if (isset($translation->note)) { + $notes = array(); + foreach ($translation->note as $xmlNote) { + $noteAttributes = $xmlNote->attributes(); + $note = array('content' => $this->utf8ToCharset((string) $xmlNote, $encoding)); + if (isset($noteAttributes['priority'])) { + $note['priority'] = (int) $noteAttributes['priority']; + } + + if (isset($noteAttributes['from'])) { + $note['from'] = (string) $noteAttributes['from']; + } + + $notes[] = $note; + } + + $catalogue->setMetadata((string) $source, array('notes' => $notes), $domain); + } + } + + if (class_exists('Symfony\Component\Config\Resource\FileResource')) { + $catalogue->addResource(new FileResource($resource)); + } + + return $catalogue; + } + + /** + * Convert a UTF8 string to the specified encoding. + * + * @param string $content String to decode + * @param string $encoding Target encoding + * + * @return string + */ + private function utf8ToCharset($content, $encoding = null) + { + if ('UTF-8' !== $encoding && !empty($encoding)) { + if (function_exists('mb_convert_encoding')) { + return mb_convert_encoding($content, $encoding, 'UTF-8'); + } + + if (function_exists('iconv')) { + return iconv('UTF-8', $encoding, $content); + } + + throw new \RuntimeException('No suitable convert encoding function (use UTF-8 as your encoding or install the iconv or mbstring extension).'); + } + + return $content; + } + + /** + * Validates and parses the given file into a SimpleXMLElement. + * + * @param string $file + * + * @throws \RuntimeException + * + * @return \SimpleXMLElement + * + * @throws InvalidResourceException + */ + private function parseFile($file) + { + try { + $dom = XmlUtils::loadFile($file); + } catch (\InvalidArgumentException $e) { + throw new InvalidResourceException(sprintf('Unable to load "%s": %s', $file, $e->getMessage()), $e->getCode(), $e); + } + + $internalErrors = libxml_use_internal_errors(true); + + $location = str_replace('\\', '/', __DIR__).'/schema/dic/xliff-core/xml.xsd'; + $parts = explode('/', $location); + if (0 === stripos($location, 'phar://')) { + $tmpfile = tempnam(sys_get_temp_dir(), 'sf2'); + if ($tmpfile) { + copy($location, $tmpfile); + $parts = explode('/', str_replace('\\', '/', $tmpfile)); + } + } + $drive = '\\' === DIRECTORY_SEPARATOR ? array_shift($parts).'/' : ''; + $location = 'file:///'.$drive.implode('/', array_map('rawurlencode', $parts)); + + $source = file_get_contents(__DIR__.'/schema/dic/xliff-core/xliff-core-1.2-strict.xsd'); + $source = str_replace('http://www.w3.org/2001/xml.xsd', $location, $source); + + if (!@$dom->schemaValidateSource($source)) { + throw new InvalidResourceException(implode("\n", $this->getXmlErrors($internalErrors))); + } + + $dom->normalizeDocument(); + + libxml_clear_errors(); + libxml_use_internal_errors($internalErrors); + + return array(simplexml_import_dom($dom), strtoupper($dom->encoding)); + } + + /** + * Returns the XML errors of the internal XML parser. + * + * @param bool $internalErrors + * + * @return array An array of errors + */ + private function getXmlErrors($internalErrors) + { + $errors = array(); + foreach (libxml_get_errors() as $error) { + $errors[] = sprintf('[%s %s] %s (in %s - line %d, column %d)', + LIBXML_ERR_WARNING == $error->level ? 'WARNING' : 'ERROR', + $error->code, + trim($error->message), + $error->file ?: 'n/a', + $error->line, + $error->column + ); + } + + libxml_clear_errors(); + libxml_use_internal_errors($internalErrors); + + return $errors; + } +} diff --git a/core/vendor/symfony/translation/Loader/YamlFileLoader.php b/core/vendor/symfony/translation/Loader/YamlFileLoader.php new file mode 100644 index 0000000000000000000000000000000000000000..fb0946cc577f5a6a4135fc5625dfde3d170de9c5 --- /dev/null +++ b/core/vendor/symfony/translation/Loader/YamlFileLoader.php @@ -0,0 +1,78 @@ +<?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\Translation\Loader; + +use Symfony\Component\Translation\Exception\InvalidResourceException; +use Symfony\Component\Translation\Exception\NotFoundResourceException; +use Symfony\Component\Config\Resource\FileResource; +use Symfony\Component\Yaml\Parser as YamlParser; +use Symfony\Component\Yaml\Exception\ParseException; + +/** + * YamlFileLoader loads translations from Yaml files. + * + * @author Fabien Potencier <fabien@symfony.com> + * + * @api + */ +class YamlFileLoader extends ArrayLoader +{ + private $yamlParser; + + /** + * {@inheritdoc} + * + * @api + */ + public function load($resource, $locale, $domain = 'messages') + { + if (!stream_is_local($resource)) { + throw new InvalidResourceException(sprintf('This is not a local file "%s".', $resource)); + } + + if (!file_exists($resource)) { + throw new NotFoundResourceException(sprintf('File "%s" not found.', $resource)); + } + + if (!class_exists('Symfony\Component\Yaml\Parser')) { + throw new \LogicException('Loading translations from the YAML format requires the Symfony Yaml component.'); + } + + if (null === $this->yamlParser) { + $this->yamlParser = new YamlParser(); + } + + try { + $messages = $this->yamlParser->parse(file_get_contents($resource)); + } catch (ParseException $e) { + throw new InvalidResourceException(sprintf('Error parsing YAML, invalid file "%s"', $resource), 0, $e); + } + + // empty file + if (null === $messages) { + $messages = array(); + } + + // not an array + if (!is_array($messages)) { + throw new InvalidResourceException(sprintf('The file "%s" must contain a YAML array.', $resource)); + } + + $catalogue = parent::load($messages, $locale, $domain); + + if (class_exists('Symfony\Component\Config\Resource\FileResource')) { + $catalogue->addResource(new FileResource($resource)); + } + + return $catalogue; + } +} diff --git a/core/vendor/symfony/translation/Loader/schema/dic/xliff-core/xliff-core-1.2-strict.xsd b/core/vendor/symfony/translation/Loader/schema/dic/xliff-core/xliff-core-1.2-strict.xsd new file mode 100644 index 0000000000000000000000000000000000000000..3ce2a8e8ab73fbf27bd55bde01579962bc3060f5 --- /dev/null +++ b/core/vendor/symfony/translation/Loader/schema/dic/xliff-core/xliff-core-1.2-strict.xsd @@ -0,0 +1,2223 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- + +May-19-2004: +- Changed the <choice> for ElemType_header, moving minOccurs="0" maxOccurs="unbounded" from its elements +to <choice> itself. +- Added <choice> for ElemType_trans-unit to allow "any order" for <context-group>, <count-group>, <prop-group>, <note>, and +<alt-trans>. + +Oct-2005 +- updated version info to 1.2 +- equiv-trans attribute to <trans-unit> element +- merged-trans attribute for <group> element +- Add the <seg-source> element as optional in the <trans-unit> and <alt-trans> content models, at the same level as <source> +- Create a new value "seg" for the mtype attribute of the <mrk> element +- Add mid as an optional attribute for the <alt-trans> element + +Nov-14-2005 +- Changed name attribute for <context-group> from required to optional +- Added extension point at <xliff> + +Jan-9-2006 +- Added alttranstype type attribute to <alt-trans>, and values + +Jan-10-2006 +- Corrected error with overwritten purposeValueList +- Corrected name="AttrType_Version", attribute should have been "name" + +--> +<xsd:schema xmlns:xlf="urn:oasis:names:tc:xliff:document:1.2" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="urn:oasis:names:tc:xliff:document:1.2" xml:lang="en"> + <!-- Import for xml:lang and xml:space --> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/> + <!-- Attributes Lists --> + <xsd:simpleType name="XTend"> + <xsd:restriction base="xsd:string"> + <xsd:pattern value="x-[^\s]+"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="context-typeValueList"> + <xsd:annotation> + <xsd:documentation>Values for the attribute 'context-type'.</xsd:documentation> + </xsd:annotation> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="database"> + <xsd:annotation> + <xsd:documentation>Indicates a database content.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="element"> + <xsd:annotation> + <xsd:documentation>Indicates the content of an element within an XML document.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="elementtitle"> + <xsd:annotation> + <xsd:documentation>Indicates the name of an element within an XML document.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="linenumber"> + <xsd:annotation> + <xsd:documentation>Indicates the line number from the sourcefile (see context-type="sourcefile") where the <source> is found.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="numparams"> + <xsd:annotation> + <xsd:documentation>Indicates a the number of parameters contained within the <source>.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="paramnotes"> + <xsd:annotation> + <xsd:documentation>Indicates notes pertaining to the parameters in the <source>.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="record"> + <xsd:annotation> + <xsd:documentation>Indicates the content of a record within a database.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="recordtitle"> + <xsd:annotation> + <xsd:documentation>Indicates the name of a record within a database.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="sourcefile"> + <xsd:annotation> + <xsd:documentation>Indicates the original source file in the case that multiple files are merged to form the original file from which the XLIFF file is created. This differs from the original <file> attribute in that this sourcefile is one of many that make up that file.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="count-typeValueList"> + <xsd:annotation> + <xsd:documentation>Values for the attribute 'count-type'.</xsd:documentation> + </xsd:annotation> + <xsd:restriction base="xsd:NMTOKEN"> + <xsd:enumeration value="num-usages"> + <xsd:annotation> + <xsd:documentation>Indicates the count units are items that are used X times in a certain context; example: this is a reusable text unit which is used 42 times in other texts.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="repetition"> + <xsd:annotation> + <xsd:documentation>Indicates the count units are translation units existing already in the same document.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="total"> + <xsd:annotation> + <xsd:documentation>Indicates a total count.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="InlineDelimitersValueList"> + <xsd:annotation> + <xsd:documentation>Values for the attribute 'ctype' when used other elements than <ph> or <x>.</xsd:documentation> + </xsd:annotation> + <xsd:restriction base="xsd:NMTOKEN"> + <xsd:enumeration value="bold"> + <xsd:annotation> + <xsd:documentation>Indicates a run of bolded text.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="italic"> + <xsd:annotation> + <xsd:documentation>Indicates a run of text in italics.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="underlined"> + <xsd:annotation> + <xsd:documentation>Indicates a run of underlined text.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="link"> + <xsd:annotation> + <xsd:documentation>Indicates a run of hyper-text.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="InlinePlaceholdersValueList"> + <xsd:annotation> + <xsd:documentation>Values for the attribute 'ctype' when used with <ph> or <x>.</xsd:documentation> + </xsd:annotation> + <xsd:restriction base="xsd:NMTOKEN"> + <xsd:enumeration value="image"> + <xsd:annotation> + <xsd:documentation>Indicates a inline image.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="pb"> + <xsd:annotation> + <xsd:documentation>Indicates a page break.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="lb"> + <xsd:annotation> + <xsd:documentation>Indicates a line break.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="mime-typeValueList"> + <xsd:restriction base="xsd:string"> + <xsd:pattern value="(text|multipart|message|application|image|audio|video|model)(/.+)*"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="datatypeValueList"> + <xsd:annotation> + <xsd:documentation>Values for the attribute 'datatype'.</xsd:documentation> + </xsd:annotation> + <xsd:restriction base="xsd:NMTOKEN"> + <xsd:enumeration value="asp"> + <xsd:annotation> + <xsd:documentation>Indicates Active Server Page data.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="c"> + <xsd:annotation> + <xsd:documentation>Indicates C source file data.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="cdf"> + <xsd:annotation> + <xsd:documentation>Indicates Channel Definition Format (CDF) data.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="cfm"> + <xsd:annotation> + <xsd:documentation>Indicates ColdFusion data.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="cpp"> + <xsd:annotation> + <xsd:documentation>Indicates C++ source file data.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="csharp"> + <xsd:annotation> + <xsd:documentation>Indicates C-Sharp data.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="cstring"> + <xsd:annotation> + <xsd:documentation>Indicates strings from C, ASM, and driver files data.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="csv"> + <xsd:annotation> + <xsd:documentation>Indicates comma-separated values data.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="database"> + <xsd:annotation> + <xsd:documentation>Indicates database data.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="documentfooter"> + <xsd:annotation> + <xsd:documentation>Indicates portions of document that follows data and contains metadata.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="documentheader"> + <xsd:annotation> + <xsd:documentation>Indicates portions of document that precedes data and contains metadata.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="filedialog"> + <xsd:annotation> + <xsd:documentation>Indicates data from standard UI file operations dialogs (e.g., Open, Save, Save As, Export, Import).</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="form"> + <xsd:annotation> + <xsd:documentation>Indicates standard user input screen data.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="html"> + <xsd:annotation> + <xsd:documentation>Indicates HyperText Markup Language (HTML) data - document instance.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="htmlbody"> + <xsd:annotation> + <xsd:documentation>Indicates content within an HTML document’s <body> element.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="ini"> + <xsd:annotation> + <xsd:documentation>Indicates Windows INI file data.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="interleaf"> + <xsd:annotation> + <xsd:documentation>Indicates Interleaf data.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="javaclass"> + <xsd:annotation> + <xsd:documentation>Indicates Java source file data (extension '.java').</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="javapropertyresourcebundle"> + <xsd:annotation> + <xsd:documentation>Indicates Java property resource bundle data.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="javalistresourcebundle"> + <xsd:annotation> + <xsd:documentation>Indicates Java list resource bundle data.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="javascript"> + <xsd:annotation> + <xsd:documentation>Indicates JavaScript source file data.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="jscript"> + <xsd:annotation> + <xsd:documentation>Indicates JScript source file data.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="layout"> + <xsd:annotation> + <xsd:documentation>Indicates information relating to formatting.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="lisp"> + <xsd:annotation> + <xsd:documentation>Indicates LISP source file data.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="margin"> + <xsd:annotation> + <xsd:documentation>Indicates information relating to margin formats.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="menufile"> + <xsd:annotation> + <xsd:documentation>Indicates a file containing menu.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="messagefile"> + <xsd:annotation> + <xsd:documentation>Indicates numerically identified string table.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="mif"> + <xsd:annotation> + <xsd:documentation>Indicates Maker Interchange Format (MIF) data.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="mimetype"> + <xsd:annotation> + <xsd:documentation>Indicates that the datatype attribute value is a MIME Type value and is defined in the mime-type attribute.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="mo"> + <xsd:annotation> + <xsd:documentation>Indicates GNU Machine Object data.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="msglib"> + <xsd:annotation> + <xsd:documentation>Indicates Message Librarian strings created by Novell's Message Librarian Tool.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="pagefooter"> + <xsd:annotation> + <xsd:documentation>Indicates information to be displayed at the bottom of each page of a document.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="pageheader"> + <xsd:annotation> + <xsd:documentation>Indicates information to be displayed at the top of each page of a document.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="parameters"> + <xsd:annotation> + <xsd:documentation>Indicates a list of property values (e.g., settings within INI files or preferences dialog).</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="pascal"> + <xsd:annotation> + <xsd:documentation>Indicates Pascal source file data.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="php"> + <xsd:annotation> + <xsd:documentation>Indicates Hypertext Preprocessor data.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="plaintext"> + <xsd:annotation> + <xsd:documentation>Indicates plain text file (no formatting other than, possibly, wrapping).</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="po"> + <xsd:annotation> + <xsd:documentation>Indicates GNU Portable Object file.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="report"> + <xsd:annotation> + <xsd:documentation>Indicates dynamically generated user defined document. e.g. Oracle Report, Crystal Report, etc.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="resources"> + <xsd:annotation> + <xsd:documentation>Indicates Windows .NET binary resources.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="resx"> + <xsd:annotation> + <xsd:documentation>Indicates Windows .NET Resources.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="rtf"> + <xsd:annotation> + <xsd:documentation>Indicates Rich Text Format (RTF) data.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="sgml"> + <xsd:annotation> + <xsd:documentation>Indicates Standard Generalized Markup Language (SGML) data - document instance.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="sgmldtd"> + <xsd:annotation> + <xsd:documentation>Indicates Standard Generalized Markup Language (SGML) data - Document Type Definition (DTD).</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="svg"> + <xsd:annotation> + <xsd:documentation>Indicates Scalable Vector Graphic (SVG) data.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="vbscript"> + <xsd:annotation> + <xsd:documentation>Indicates VisualBasic Script source file.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="warning"> + <xsd:annotation> + <xsd:documentation>Indicates warning message.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="winres"> + <xsd:annotation> + <xsd:documentation>Indicates Windows (Win32) resources (i.e. resources extracted from an RC script, a message file, or a compiled file).</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="xhtml"> + <xsd:annotation> + <xsd:documentation>Indicates Extensible HyperText Markup Language (XHTML) data - document instance.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="xml"> + <xsd:annotation> + <xsd:documentation>Indicates Extensible Markup Language (XML) data - document instance.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="xmldtd"> + <xsd:annotation> + <xsd:documentation>Indicates Extensible Markup Language (XML) data - Document Type Definition (DTD).</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="xsl"> + <xsd:annotation> + <xsd:documentation>Indicates Extensible Stylesheet Language (XSL) data.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="xul"> + <xsd:annotation> + <xsd:documentation>Indicates XUL elements.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="mtypeValueList"> + <xsd:annotation> + <xsd:documentation>Values for the attribute 'mtype'.</xsd:documentation> + </xsd:annotation> + <xsd:restriction base="xsd:NMTOKEN"> + <xsd:enumeration value="abbrev"> + <xsd:annotation> + <xsd:documentation>Indicates the marked text is an abbreviation.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="abbreviated-form"> + <xsd:annotation> + <xsd:documentation>ISO-12620 2.1.8: A term resulting from the omission of any part of the full term while designating the same concept.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="abbreviation"> + <xsd:annotation> + <xsd:documentation>ISO-12620 2.1.8.1: An abbreviated form of a simple term resulting from the omission of some of its letters (e.g. 'adj.' for 'adjective').</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="acronym"> + <xsd:annotation> + <xsd:documentation>ISO-12620 2.1.8.4: An abbreviated form of a term made up of letters from the full form of a multiword term strung together into a sequence pronounced only syllabically (e.g. 'radar' for 'radio detecting and ranging').</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="appellation"> + <xsd:annotation> + <xsd:documentation>ISO-12620: A proper-name term, such as the name of an agency or other proper entity.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="collocation"> + <xsd:annotation> + <xsd:documentation>ISO-12620 2.1.18.1: A recurrent word combination characterized by cohesion in that the components of the collocation must co-occur within an utterance or series of utterances, even though they do not necessarily have to maintain immediate proximity to one another.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="common-name"> + <xsd:annotation> + <xsd:documentation>ISO-12620 2.1.5: A synonym for an international scientific term that is used in general discourse in a given language.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="datetime"> + <xsd:annotation> + <xsd:documentation>Indicates the marked text is a date and/or time.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="equation"> + <xsd:annotation> + <xsd:documentation>ISO-12620 2.1.15: An expression used to represent a concept based on a statement that two mathematical expressions are, for instance, equal as identified by the equal sign (=), or assigned to one another by a similar sign.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="expanded-form"> + <xsd:annotation> + <xsd:documentation>ISO-12620 2.1.7: The complete representation of a term for which there is an abbreviated form.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="formula"> + <xsd:annotation> + <xsd:documentation>ISO-12620 2.1.14: Figures, symbols or the like used to express a concept briefly, such as a mathematical or chemical formula.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="head-term"> + <xsd:annotation> + <xsd:documentation>ISO-12620 2.1.1: The concept designation that has been chosen to head a terminological record.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="initialism"> + <xsd:annotation> + <xsd:documentation>ISO-12620 2.1.8.3: An abbreviated form of a term consisting of some of the initial letters of the words making up a multiword term or the term elements making up a compound term when these letters are pronounced individually (e.g. 'BSE' for 'bovine spongiform encephalopathy').</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="international-scientific-term"> + <xsd:annotation> + <xsd:documentation>ISO-12620 2.1.4: A term that is part of an international scientific nomenclature as adopted by an appropriate scientific body.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="internationalism"> + <xsd:annotation> + <xsd:documentation>ISO-12620 2.1.6: A term that has the same or nearly identical orthographic or phonemic form in many languages.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="logical-expression"> + <xsd:annotation> + <xsd:documentation>ISO-12620 2.1.16: An expression used to represent a concept based on mathematical or logical relations, such as statements of inequality, set relationships, Boolean operations, and the like.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="materials-management-unit"> + <xsd:annotation> + <xsd:documentation>ISO-12620 2.1.17: A unit to track object.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="name"> + <xsd:annotation> + <xsd:documentation>Indicates the marked text is a name.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="near-synonym"> + <xsd:annotation> + <xsd:documentation>ISO-12620 2.1.3: A term that represents the same or a very similar concept as another term in the same language, but for which interchangeability is limited to some contexts and inapplicable in others.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="part-number"> + <xsd:annotation> + <xsd:documentation>ISO-12620 2.1.17.2: A unique alphanumeric designation assigned to an object in a manufacturing system.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="phrase"> + <xsd:annotation> + <xsd:documentation>Indicates the marked text is a phrase.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="phraseological-unit"> + <xsd:annotation> + <xsd:documentation>ISO-12620 2.1.18: Any group of two or more words that form a unit, the meaning of which frequently cannot be deduced based on the combined sense of the words making up the phrase.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="protected"> + <xsd:annotation> + <xsd:documentation>Indicates the marked text should not be translated.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="romanized-form"> + <xsd:annotation> + <xsd:documentation>ISO-12620 2.1.12: A form of a term resulting from an operation whereby non-Latin writing systems are converted to the Latin alphabet.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="seg"> + <xsd:annotation> + <xsd:documentation>Indicates that the marked text represents a segment.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="set-phrase"> + <xsd:annotation> + <xsd:documentation>ISO-12620 2.1.18.2: A fixed, lexicalized phrase.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="short-form"> + <xsd:annotation> + <xsd:documentation>ISO-12620 2.1.8.2: A variant of a multiword term that includes fewer words than the full form of the term (e.g. 'Group of Twenty-four' for 'Intergovernmental Group of Twenty-four on International Monetary Affairs').</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="sku"> + <xsd:annotation> + <xsd:documentation>ISO-12620 2.1.17.1: Stock keeping unit, an inventory item identified by a unique alphanumeric designation assigned to an object in an inventory control system.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="standard-text"> + <xsd:annotation> + <xsd:documentation>ISO-12620 2.1.19: A fixed chunk of recurring text.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="symbol"> + <xsd:annotation> + <xsd:documentation>ISO-12620 2.1.13: A designation of a concept by letters, numerals, pictograms or any combination thereof.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="synonym"> + <xsd:annotation> + <xsd:documentation>ISO-12620 2.1.2: Any term that represents the same or a very similar concept as the main entry term in a term entry.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="synonymous-phrase"> + <xsd:annotation> + <xsd:documentation>ISO-12620 2.1.18.3: Phraseological unit in a language that expresses the same semantic content as another phrase in that same language.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="term"> + <xsd:annotation> + <xsd:documentation>Indicates the marked text is a term.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="transcribed-form"> + <xsd:annotation> + <xsd:documentation>ISO-12620 2.1.11: A form of a term resulting from an operation whereby the characters of one writing system are represented by characters from another writing system, taking into account the pronunciation of the characters converted.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="transliterated-form"> + <xsd:annotation> + <xsd:documentation>ISO-12620 2.1.10: A form of a term resulting from an operation whereby the characters of an alphabetic writing system are represented by characters from another alphabetic writing system.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="truncated-term"> + <xsd:annotation> + <xsd:documentation>ISO-12620 2.1.8.5: An abbreviated form of a term resulting from the omission of one or more term elements or syllables (e.g. 'flu' for 'influenza').</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="variant"> + <xsd:annotation> + <xsd:documentation>ISO-12620 2.1.9: One of the alternate forms of a term.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="restypeValueList"> + <xsd:annotation> + <xsd:documentation>Values for the attribute 'restype'.</xsd:documentation> + </xsd:annotation> + <xsd:restriction base="xsd:NMTOKEN"> + <xsd:enumeration value="auto3state"> + <xsd:annotation> + <xsd:documentation>Indicates a Windows RC AUTO3STATE control.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="autocheckbox"> + <xsd:annotation> + <xsd:documentation>Indicates a Windows RC AUTOCHECKBOX control.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="autoradiobutton"> + <xsd:annotation> + <xsd:documentation>Indicates a Windows RC AUTORADIOBUTTON control.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="bedit"> + <xsd:annotation> + <xsd:documentation>Indicates a Windows RC BEDIT control.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="bitmap"> + <xsd:annotation> + <xsd:documentation>Indicates a bitmap, for example a BITMAP resource in Windows.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="button"> + <xsd:annotation> + <xsd:documentation>Indicates a button object, for example a BUTTON control Windows.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="caption"> + <xsd:annotation> + <xsd:documentation>Indicates a caption, such as the caption of a dialog box.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="cell"> + <xsd:annotation> + <xsd:documentation>Indicates the cell in a table, for example the content of the <td> element in HTML.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="checkbox"> + <xsd:annotation> + <xsd:documentation>Indicates check box object, for example a CHECKBOX control in Windows.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="checkboxmenuitem"> + <xsd:annotation> + <xsd:documentation>Indicates a menu item with an associated checkbox.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="checkedlistbox"> + <xsd:annotation> + <xsd:documentation>Indicates a list box, but with a check-box for each item.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="colorchooser"> + <xsd:annotation> + <xsd:documentation>Indicates a color selection dialog.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="combobox"> + <xsd:annotation> + <xsd:documentation>Indicates a combination of edit box and listbox object, for example a COMBOBOX control in Windows.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="comboboxexitem"> + <xsd:annotation> + <xsd:documentation>Indicates an initialization entry of an extended combobox DLGINIT resource block. (code 0x1234).</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="comboboxitem"> + <xsd:annotation> + <xsd:documentation>Indicates an initialization entry of a combobox DLGINIT resource block (code 0x0403).</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="component"> + <xsd:annotation> + <xsd:documentation>Indicates a UI base class element that cannot be represented by any other element.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="contextmenu"> + <xsd:annotation> + <xsd:documentation>Indicates a context menu.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="ctext"> + <xsd:annotation> + <xsd:documentation>Indicates a Windows RC CTEXT control.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="cursor"> + <xsd:annotation> + <xsd:documentation>Indicates a cursor, for example a CURSOR resource in Windows.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="datetimepicker"> + <xsd:annotation> + <xsd:documentation>Indicates a date/time picker.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="defpushbutton"> + <xsd:annotation> + <xsd:documentation>Indicates a Windows RC DEFPUSHBUTTON control.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="dialog"> + <xsd:annotation> + <xsd:documentation>Indicates a dialog box.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="dlginit"> + <xsd:annotation> + <xsd:documentation>Indicates a Windows RC DLGINIT resource block.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="edit"> + <xsd:annotation> + <xsd:documentation>Indicates an edit box object, for example an EDIT control in Windows.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="file"> + <xsd:annotation> + <xsd:documentation>Indicates a filename.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="filechooser"> + <xsd:annotation> + <xsd:documentation>Indicates a file dialog.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="fn"> + <xsd:annotation> + <xsd:documentation>Indicates a footnote.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="font"> + <xsd:annotation> + <xsd:documentation>Indicates a font name.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="footer"> + <xsd:annotation> + <xsd:documentation>Indicates a footer.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="frame"> + <xsd:annotation> + <xsd:documentation>Indicates a frame object.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="grid"> + <xsd:annotation> + <xsd:documentation>Indicates a XUL grid element.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="groupbox"> + <xsd:annotation> + <xsd:documentation>Indicates a groupbox object, for example a GROUPBOX control in Windows.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="header"> + <xsd:annotation> + <xsd:documentation>Indicates a header item.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="heading"> + <xsd:annotation> + <xsd:documentation>Indicates a heading, such has the content of <h1>, <h2>, etc. in HTML.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="hedit"> + <xsd:annotation> + <xsd:documentation>Indicates a Windows RC HEDIT control.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="hscrollbar"> + <xsd:annotation> + <xsd:documentation>Indicates a horizontal scrollbar.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="icon"> + <xsd:annotation> + <xsd:documentation>Indicates an icon, for example an ICON resource in Windows.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="iedit"> + <xsd:annotation> + <xsd:documentation>Indicates a Windows RC IEDIT control.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="keywords"> + <xsd:annotation> + <xsd:documentation>Indicates keyword list, such as the content of the Keywords meta-data in HTML, or a K footnote in WinHelp RTF.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="label"> + <xsd:annotation> + <xsd:documentation>Indicates a label object.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="linklabel"> + <xsd:annotation> + <xsd:documentation>Indicates a label that is also a HTML link (not necessarily a URL).</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="list"> + <xsd:annotation> + <xsd:documentation>Indicates a list (a group of list-items, for example an <ol> or <ul> element in HTML).</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="listbox"> + <xsd:annotation> + <xsd:documentation>Indicates a listbox object, for example an LISTBOX control in Windows.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="listitem"> + <xsd:annotation> + <xsd:documentation>Indicates an list item (an entry in a list).</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="ltext"> + <xsd:annotation> + <xsd:documentation>Indicates a Windows RC LTEXT control.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="menu"> + <xsd:annotation> + <xsd:documentation>Indicates a menu (a group of menu-items).</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="menubar"> + <xsd:annotation> + <xsd:documentation>Indicates a toolbar containing one or more tope level menus.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="menuitem"> + <xsd:annotation> + <xsd:documentation>Indicates a menu item (an entry in a menu).</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="menuseparator"> + <xsd:annotation> + <xsd:documentation>Indicates a XUL menuseparator element.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="message"> + <xsd:annotation> + <xsd:documentation>Indicates a message, for example an entry in a MESSAGETABLE resource in Windows.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="monthcalendar"> + <xsd:annotation> + <xsd:documentation>Indicates a calendar control.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="numericupdown"> + <xsd:annotation> + <xsd:documentation>Indicates an edit box beside a spin control.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="panel"> + <xsd:annotation> + <xsd:documentation>Indicates a catch all for rectangular areas.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="popupmenu"> + <xsd:annotation> + <xsd:documentation>Indicates a standalone menu not necessarily associated with a menubar.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="pushbox"> + <xsd:annotation> + <xsd:documentation>Indicates a pushbox object, for example a PUSHBOX control in Windows.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="pushbutton"> + <xsd:annotation> + <xsd:documentation>Indicates a Windows RC PUSHBUTTON control.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="radio"> + <xsd:annotation> + <xsd:documentation>Indicates a radio button object.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="radiobuttonmenuitem"> + <xsd:annotation> + <xsd:documentation>Indicates a menuitem with associated radio button.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="rcdata"> + <xsd:annotation> + <xsd:documentation>Indicates raw data resources for an application.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="row"> + <xsd:annotation> + <xsd:documentation>Indicates a row in a table.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="rtext"> + <xsd:annotation> + <xsd:documentation>Indicates a Windows RC RTEXT control.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="scrollpane"> + <xsd:annotation> + <xsd:documentation>Indicates a user navigable container used to show a portion of a document.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="separator"> + <xsd:annotation> + <xsd:documentation>Indicates a generic divider object (e.g. menu group separator).</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="shortcut"> + <xsd:annotation> + <xsd:documentation>Windows accelerators, shortcuts in resource or property files.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="spinner"> + <xsd:annotation> + <xsd:documentation>Indicates a UI control to indicate process activity but not progress.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="splitter"> + <xsd:annotation> + <xsd:documentation>Indicates a splitter bar.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="state3"> + <xsd:annotation> + <xsd:documentation>Indicates a Windows RC STATE3 control.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="statusbar"> + <xsd:annotation> + <xsd:documentation>Indicates a window for providing feedback to the users, like 'read-only', etc.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="string"> + <xsd:annotation> + <xsd:documentation>Indicates a string, for example an entry in a STRINGTABLE resource in Windows.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="tabcontrol"> + <xsd:annotation> + <xsd:documentation>Indicates a layers of controls with a tab to select layers.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="table"> + <xsd:annotation> + <xsd:documentation>Indicates a display and edits regular two-dimensional tables of cells.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="textbox"> + <xsd:annotation> + <xsd:documentation>Indicates a XUL textbox element.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="togglebutton"> + <xsd:annotation> + <xsd:documentation>Indicates a UI button that can be toggled to on or off state.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="toolbar"> + <xsd:annotation> + <xsd:documentation>Indicates an array of controls, usually buttons.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="tooltip"> + <xsd:annotation> + <xsd:documentation>Indicates a pop up tool tip text.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="trackbar"> + <xsd:annotation> + <xsd:documentation>Indicates a bar with a pointer indicating a position within a certain range.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="tree"> + <xsd:annotation> + <xsd:documentation>Indicates a control that displays a set of hierarchical data.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="uri"> + <xsd:annotation> + <xsd:documentation>Indicates a URI (URN or URL).</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="userbutton"> + <xsd:annotation> + <xsd:documentation>Indicates a Windows RC USERBUTTON control.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="usercontrol"> + <xsd:annotation> + <xsd:documentation>Indicates a user-defined control like CONTROL control in Windows.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="var"> + <xsd:annotation> + <xsd:documentation>Indicates the text of a variable.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="versioninfo"> + <xsd:annotation> + <xsd:documentation>Indicates version information about a resource like VERSIONINFO in Windows.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="vscrollbar"> + <xsd:annotation> + <xsd:documentation>Indicates a vertical scrollbar.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="window"> + <xsd:annotation> + <xsd:documentation>Indicates a graphical window.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="size-unitValueList"> + <xsd:annotation> + <xsd:documentation>Values for the attribute 'size-unit'.</xsd:documentation> + </xsd:annotation> + <xsd:restriction base="xsd:NMTOKEN"> + <xsd:enumeration value="byte"> + <xsd:annotation> + <xsd:documentation>Indicates a size in 8-bit bytes.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="char"> + <xsd:annotation> + <xsd:documentation>Indicates a size in Unicode characters.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="col"> + <xsd:annotation> + <xsd:documentation>Indicates a size in columns. Used for HTML text area.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="cm"> + <xsd:annotation> + <xsd:documentation>Indicates a size in centimeters.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="dlgunit"> + <xsd:annotation> + <xsd:documentation>Indicates a size in dialog units, as defined in Windows resources.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="em"> + <xsd:annotation> + <xsd:documentation>Indicates a size in 'font-size' units (as defined in CSS).</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="ex"> + <xsd:annotation> + <xsd:documentation>Indicates a size in 'x-height' units (as defined in CSS).</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="glyph"> + <xsd:annotation> + <xsd:documentation>Indicates a size in glyphs. A glyph is considered to be one or more combined Unicode characters that represent a single displayable text character. Sometimes referred to as a 'grapheme cluster'</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="in"> + <xsd:annotation> + <xsd:documentation>Indicates a size in inches.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="mm"> + <xsd:annotation> + <xsd:documentation>Indicates a size in millimeters.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="percent"> + <xsd:annotation> + <xsd:documentation>Indicates a size in percentage.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="pixel"> + <xsd:annotation> + <xsd:documentation>Indicates a size in pixels.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="point"> + <xsd:annotation> + <xsd:documentation>Indicates a size in point.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="row"> + <xsd:annotation> + <xsd:documentation>Indicates a size in rows. Used for HTML text area.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="stateValueList"> + <xsd:annotation> + <xsd:documentation>Values for the attribute 'state'.</xsd:documentation> + </xsd:annotation> + <xsd:restriction base="xsd:NMTOKEN"> + <xsd:enumeration value="final"> + <xsd:annotation> + <xsd:documentation>Indicates the terminating state.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="needs-adaptation"> + <xsd:annotation> + <xsd:documentation>Indicates only non-textual information needs adaptation.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="needs-l10n"> + <xsd:annotation> + <xsd:documentation>Indicates both text and non-textual information needs adaptation.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="needs-review-adaptation"> + <xsd:annotation> + <xsd:documentation>Indicates only non-textual information needs review.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="needs-review-l10n"> + <xsd:annotation> + <xsd:documentation>Indicates both text and non-textual information needs review.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="needs-review-translation"> + <xsd:annotation> + <xsd:documentation>Indicates that only the text of the item needs to be reviewed.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="needs-translation"> + <xsd:annotation> + <xsd:documentation>Indicates that the item needs to be translated.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="new"> + <xsd:annotation> + <xsd:documentation>Indicates that the item is new. For example, translation units that were not in a previous version of the document.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="signed-off"> + <xsd:annotation> + <xsd:documentation>Indicates that changes are reviewed and approved.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="translated"> + <xsd:annotation> + <xsd:documentation>Indicates that the item has been translated.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="state-qualifierValueList"> + <xsd:annotation> + <xsd:documentation>Values for the attribute 'state-qualifier'.</xsd:documentation> + </xsd:annotation> + <xsd:restriction base="xsd:NMTOKEN"> + <xsd:enumeration value="exact-match"> + <xsd:annotation> + <xsd:documentation>Indicates an exact match. An exact match occurs when a source text of a segment is exactly the same as the source text of a segment that was translated previously.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="fuzzy-match"> + <xsd:annotation> + <xsd:documentation>Indicates a fuzzy match. A fuzzy match occurs when a source text of a segment is very similar to the source text of a segment that was translated previously (e.g. when the difference is casing, a few changed words, white-space discripancy, etc.).</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="id-match"> + <xsd:annotation> + <xsd:documentation>Indicates a match based on matching IDs (in addition to matching text).</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="leveraged-glossary"> + <xsd:annotation> + <xsd:documentation>Indicates a translation derived from a glossary.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="leveraged-inherited"> + <xsd:annotation> + <xsd:documentation>Indicates a translation derived from existing translation.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="leveraged-mt"> + <xsd:annotation> + <xsd:documentation>Indicates a translation derived from machine translation.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="leveraged-repository"> + <xsd:annotation> + <xsd:documentation>Indicates a translation derived from a translation repository.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="leveraged-tm"> + <xsd:annotation> + <xsd:documentation>Indicates a translation derived from a translation memory.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="mt-suggestion"> + <xsd:annotation> + <xsd:documentation>Indicates the translation is suggested by machine translation.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="rejected-grammar"> + <xsd:annotation> + <xsd:documentation>Indicates that the item has been rejected because of incorrect grammar.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="rejected-inaccurate"> + <xsd:annotation> + <xsd:documentation>Indicates that the item has been rejected because it is incorrect.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="rejected-length"> + <xsd:annotation> + <xsd:documentation>Indicates that the item has been rejected because it is too long or too short.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="rejected-spelling"> + <xsd:annotation> + <xsd:documentation>Indicates that the item has been rejected because of incorrect spelling.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="tm-suggestion"> + <xsd:annotation> + <xsd:documentation>Indicates the translation is suggested by translation memory.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="unitValueList"> + <xsd:annotation> + <xsd:documentation>Values for the attribute 'unit'.</xsd:documentation> + </xsd:annotation> + <xsd:restriction base="xsd:NMTOKEN"> + <xsd:enumeration value="word"> + <xsd:annotation> + <xsd:documentation>Refers to words.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="page"> + <xsd:annotation> + <xsd:documentation>Refers to pages.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="trans-unit"> + <xsd:annotation> + <xsd:documentation>Refers to <trans-unit> elements.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="bin-unit"> + <xsd:annotation> + <xsd:documentation>Refers to <bin-unit> elements.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="glyph"> + <xsd:annotation> + <xsd:documentation>Refers to glyphs.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="item"> + <xsd:annotation> + <xsd:documentation>Refers to <trans-unit> and/or <bin-unit> elements.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="instance"> + <xsd:annotation> + <xsd:documentation>Refers to the occurrences of instances defined by the count-type value.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="character"> + <xsd:annotation> + <xsd:documentation>Refers to characters.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="line"> + <xsd:annotation> + <xsd:documentation>Refers to lines.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="sentence"> + <xsd:annotation> + <xsd:documentation>Refers to sentences.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="paragraph"> + <xsd:annotation> + <xsd:documentation>Refers to paragraphs.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="segment"> + <xsd:annotation> + <xsd:documentation>Refers to segments.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="placeable"> + <xsd:annotation> + <xsd:documentation>Refers to placeables (inline elements).</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="priorityValueList"> + <xsd:annotation> + <xsd:documentation>Values for the attribute 'priority'.</xsd:documentation> + </xsd:annotation> + <xsd:restriction base="xsd:positiveInteger"> + <xsd:enumeration value="1"> + <xsd:annotation> + <xsd:documentation>Highest priority.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="2"> + <xsd:annotation> + <xsd:documentation>High priority.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="3"> + <xsd:annotation> + <xsd:documentation>High priority, but not as important as 2.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="4"> + <xsd:annotation> + <xsd:documentation>High priority, but not as important as 3.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="5"> + <xsd:annotation> + <xsd:documentation>Medium priority, but more important than 6.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="6"> + <xsd:annotation> + <xsd:documentation>Medium priority, but less important than 5.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="7"> + <xsd:annotation> + <xsd:documentation>Low priority, but more important than 8.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="8"> + <xsd:annotation> + <xsd:documentation>Low priority, but more important than 9.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="9"> + <xsd:annotation> + <xsd:documentation>Low priority.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="10"> + <xsd:annotation> + <xsd:documentation>Lowest priority.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="reformatValueYesNo"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="yes"> + <xsd:annotation> + <xsd:documentation>This value indicates that all properties can be reformatted. This value must be used alone.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="no"> + <xsd:annotation> + <xsd:documentation>This value indicates that no properties should be reformatted. This value must be used alone.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="reformatValueList"> + <xsd:list> + <xsd:simpleType> + <xsd:union memberTypes="xlf:XTend"> + <xsd:simpleType> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="coord"> + <xsd:annotation> + <xsd:documentation>This value indicates that all information in the coord attribute can be modified.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="coord-x"> + <xsd:annotation> + <xsd:documentation>This value indicates that the x information in the coord attribute can be modified.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="coord-y"> + <xsd:annotation> + <xsd:documentation>This value indicates that the y information in the coord attribute can be modified.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="coord-cx"> + <xsd:annotation> + <xsd:documentation>This value indicates that the cx information in the coord attribute can be modified.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="coord-cy"> + <xsd:annotation> + <xsd:documentation>This value indicates that the cy information in the coord attribute can be modified.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="font"> + <xsd:annotation> + <xsd:documentation>This value indicates that all the information in the font attribute can be modified.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="font-name"> + <xsd:annotation> + <xsd:documentation>This value indicates that the name information in the font attribute can be modified.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="font-size"> + <xsd:annotation> + <xsd:documentation>This value indicates that the size information in the font attribute can be modified.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="font-weight"> + <xsd:annotation> + <xsd:documentation>This value indicates that the weight information in the font attribute can be modified.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="css-style"> + <xsd:annotation> + <xsd:documentation>This value indicates that the information in the css-style attribute can be modified.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="style"> + <xsd:annotation> + <xsd:documentation>This value indicates that the information in the style attribute can be modified.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="ex-style"> + <xsd:annotation> + <xsd:documentation>This value indicates that the information in the exstyle attribute can be modified.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + </xsd:restriction> + </xsd:simpleType> + </xsd:union> + </xsd:simpleType> + </xsd:list> + </xsd:simpleType> + <xsd:simpleType name="purposeValueList"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="information"> + <xsd:annotation> + <xsd:documentation>Indicates that the context is informational in nature, specifying for example, how a term should be translated. Thus, should be displayed to anyone editing the XLIFF document.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="location"> + <xsd:annotation> + <xsd:documentation>Indicates that the context-group is used to specify where the term was found in the translatable source. Thus, it is not displayed.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="match"> + <xsd:annotation> + <xsd:documentation>Indicates that the context information should be used during translation memory lookups. Thus, it is not displayed.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="alttranstypeValueList"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="proposal"> + <xsd:annotation> + <xsd:documentation>Represents a translation proposal from a translation memory or other resource.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="previous-version"> + <xsd:annotation> + <xsd:documentation>Represents a previous version of the target element.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="rejected"> + <xsd:annotation> + <xsd:documentation>Represents a rejected version of the target element.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="reference"> + <xsd:annotation> + <xsd:documentation>Represents a translation to be used for reference purposes only, for example from a related product or a different language.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + <xsd:enumeration value="accepted"> + <xsd:annotation> + <xsd:documentation>Represents a proposed translation that was used for the translation of the trans-unit, possibly modified.</xsd:documentation> + </xsd:annotation> + </xsd:enumeration> + </xsd:restriction> + </xsd:simpleType> + <!-- Other Types --> + <xsd:complexType name="ElemType_ExternalReference"> + <xsd:choice> + <xsd:element ref="xlf:internal-file"/> + <xsd:element ref="xlf:external-file"/> + </xsd:choice> + </xsd:complexType> + <xsd:simpleType name="AttrType_purpose"> + <xsd:list> + <xsd:simpleType> + <xsd:union memberTypes="xlf:purposeValueList xlf:XTend"/> + </xsd:simpleType> + </xsd:list> + </xsd:simpleType> + <xsd:simpleType name="AttrType_datatype"> + <xsd:union memberTypes="xlf:datatypeValueList xlf:XTend"/> + </xsd:simpleType> + <xsd:simpleType name="AttrType_restype"> + <xsd:union memberTypes="xlf:restypeValueList xlf:XTend"/> + </xsd:simpleType> + <xsd:simpleType name="AttrType_alttranstype"> + <xsd:union memberTypes="xlf:alttranstypeValueList xlf:XTend"/> + </xsd:simpleType> + <xsd:simpleType name="AttrType_context-type"> + <xsd:union memberTypes="xlf:context-typeValueList xlf:XTend"/> + </xsd:simpleType> + <xsd:simpleType name="AttrType_state"> + <xsd:union memberTypes="xlf:stateValueList xlf:XTend"/> + </xsd:simpleType> + <xsd:simpleType name="AttrType_state-qualifier"> + <xsd:union memberTypes="xlf:state-qualifierValueList xlf:XTend"/> + </xsd:simpleType> + <xsd:simpleType name="AttrType_count-type"> + <xsd:union memberTypes="xlf:restypeValueList xlf:count-typeValueList xlf:datatypeValueList xlf:stateValueList xlf:state-qualifierValueList xlf:XTend"/> + </xsd:simpleType> + <xsd:simpleType name="AttrType_InlineDelimiters"> + <xsd:union memberTypes="xlf:InlineDelimitersValueList xlf:XTend"/> + </xsd:simpleType> + <xsd:simpleType name="AttrType_InlinePlaceholders"> + <xsd:union memberTypes="xlf:InlinePlaceholdersValueList xlf:XTend"/> + </xsd:simpleType> + <xsd:simpleType name="AttrType_size-unit"> + <xsd:union memberTypes="xlf:size-unitValueList xlf:XTend"/> + </xsd:simpleType> + <xsd:simpleType name="AttrType_mtype"> + <xsd:union memberTypes="xlf:mtypeValueList xlf:XTend"/> + </xsd:simpleType> + <xsd:simpleType name="AttrType_unit"> + <xsd:union memberTypes="xlf:unitValueList xlf:XTend"/> + </xsd:simpleType> + <xsd:simpleType name="AttrType_priority"> + <xsd:union memberTypes="xlf:priorityValueList"/> + </xsd:simpleType> + <xsd:simpleType name="AttrType_reformat"> + <xsd:union memberTypes="xlf:reformatValueYesNo xlf:reformatValueList"/> + </xsd:simpleType> + <xsd:simpleType name="AttrType_YesNo"> + <xsd:restriction base="xsd:NMTOKEN"> + <xsd:enumeration value="yes"/> + <xsd:enumeration value="no"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="AttrType_Position"> + <xsd:restriction base="xsd:NMTOKEN"> + <xsd:enumeration value="open"/> + <xsd:enumeration value="close"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="AttrType_assoc"> + <xsd:restriction base="xsd:NMTOKEN"> + <xsd:enumeration value="preceding"/> + <xsd:enumeration value="following"/> + <xsd:enumeration value="both"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="AttrType_annotates"> + <xsd:restriction base="xsd:NMTOKEN"> + <xsd:enumeration value="source"/> + <xsd:enumeration value="target"/> + <xsd:enumeration value="general"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="AttrType_Coordinates"> + <xsd:annotation> + <xsd:documentation>Values for the attribute 'coord'.</xsd:documentation> + </xsd:annotation> + <xsd:restriction base="xsd:string"> + <xsd:pattern value="(-?\d+|#);(-?\d+|#);(-?\d+|#);(-?\d+|#)"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType name="AttrType_Version"> + <xsd:annotation> + <xsd:documentation>Version values: 1.0 and 1.1 are allowed for backward compatibility.</xsd:documentation> + </xsd:annotation> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="1.2"/> + <xsd:enumeration value="1.1"/> + <xsd:enumeration value="1.0"/> + </xsd:restriction> + </xsd:simpleType> + <!-- Groups --> + <xsd:group name="ElemGroup_TextContent"> + <xsd:choice> + <xsd:element ref="xlf:g"/> + <xsd:element ref="xlf:bpt"/> + <xsd:element ref="xlf:ept"/> + <xsd:element ref="xlf:ph"/> + <xsd:element ref="xlf:it"/> + <xsd:element ref="xlf:mrk"/> + <xsd:element ref="xlf:x"/> + <xsd:element ref="xlf:bx"/> + <xsd:element ref="xlf:ex"/> + </xsd:choice> + </xsd:group> + <xsd:attributeGroup name="AttrGroup_TextContent"> + <xsd:attribute name="id" type="xsd:string" use="required"/> + <xsd:attribute name="xid" type="xsd:string" use="optional"/> + <xsd:attribute name="equiv-text" type="xsd:string" use="optional"/> + <xsd:anyAttribute namespace="##other" processContents="strict"/> + </xsd:attributeGroup> + <!-- XLIFF Structure --> + <xsd:element name="xliff"> + <xsd:complexType> + <xsd:sequence maxOccurs="unbounded"> + <xsd:any maxOccurs="unbounded" minOccurs="0" namespace="##other" processContents="strict"/> + <xsd:element ref="xlf:file"/> + </xsd:sequence> + <xsd:attribute name="version" type="xlf:AttrType_Version" use="required"/> + <xsd:attribute ref="xml:lang" use="optional"/> + <xsd:anyAttribute namespace="##other" processContents="strict"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="file"> + <xsd:complexType> + <xsd:sequence> + <xsd:element minOccurs="0" ref="xlf:header"/> + <xsd:element ref="xlf:body"/> + </xsd:sequence> + <xsd:attribute name="original" type="xsd:string" use="required"/> + <xsd:attribute name="source-language" type="xsd:language" use="required"/> + <xsd:attribute name="datatype" type="xlf:AttrType_datatype" use="required"/> + <xsd:attribute name="tool-id" type="xsd:string" use="optional"/> + <xsd:attribute name="date" type="xsd:dateTime" use="optional"/> + <xsd:attribute ref="xml:space" use="optional"/> + <xsd:attribute name="category" type="xsd:string" use="optional"/> + <xsd:attribute name="target-language" type="xsd:language" use="optional"/> + <xsd:attribute name="product-name" type="xsd:string" use="optional"/> + <xsd:attribute name="product-version" type="xsd:string" use="optional"/> + <xsd:attribute name="build-num" type="xsd:string" use="optional"/> + <xsd:anyAttribute namespace="##other" processContents="strict"/> + </xsd:complexType> + <xsd:unique name="U_group_id"> + <xsd:selector xpath=".//xlf:group"/> + <xsd:field xpath="@id"/> + </xsd:unique> + <xsd:key name="K_unit_id"> + <xsd:selector xpath=".//xlf:trans-unit|.//xlf:bin-unit"/> + <xsd:field xpath="@id"/> + </xsd:key> + <xsd:keyref name="KR_unit_id" refer="xlf:K_unit_id"> + <xsd:selector xpath=".//bpt|.//ept|.//it|.//ph|.//g|.//x|.//bx|.//ex|.//sub"/> + <xsd:field xpath="@xid"/> + </xsd:keyref> + <xsd:key name="K_tool-id"> + <xsd:selector xpath="xlf:header/xlf:tool"/> + <xsd:field xpath="@tool-id"/> + </xsd:key> + <xsd:keyref name="KR_file_tool-id" refer="xlf:K_tool-id"> + <xsd:selector xpath="."/> + <xsd:field xpath="@tool-id"/> + </xsd:keyref> + <xsd:keyref name="KR_phase_tool-id" refer="xlf:K_tool-id"> + <xsd:selector xpath="xlf:header/xlf:phase-group/xlf:phase"/> + <xsd:field xpath="@tool-id"/> + </xsd:keyref> + <xsd:keyref name="KR_alt-trans_tool-id" refer="xlf:K_tool-id"> + <xsd:selector xpath=".//xlf:trans-unit/xlf:alt-trans"/> + <xsd:field xpath="@tool-id"/> + </xsd:keyref> + <xsd:key name="K_count-group_name"> + <xsd:selector xpath=".//xlf:count-group"/> + <xsd:field xpath="@name"/> + </xsd:key> + <xsd:unique name="U_context-group_name"> + <xsd:selector xpath=".//xlf:context-group"/> + <xsd:field xpath="@name"/> + </xsd:unique> + <xsd:key name="K_phase-name"> + <xsd:selector xpath="xlf:header/xlf:phase-group/xlf:phase"/> + <xsd:field xpath="@phase-name"/> + </xsd:key> + <xsd:keyref name="KR_phase-name" refer="xlf:K_phase-name"> + <xsd:selector xpath=".//xlf:count|.//xlf:trans-unit|.//xlf:target|.//bin-unit|.//bin-target"/> + <xsd:field xpath="@phase-name"/> + </xsd:keyref> + <xsd:unique name="U_uid"> + <xsd:selector xpath=".//xlf:external-file"/> + <xsd:field xpath="@uid"/> + </xsd:unique> + </xsd:element> + <xsd:element name="header"> + <xsd:complexType> + <xsd:sequence> + <xsd:element minOccurs="0" name="skl" type="xlf:ElemType_ExternalReference"/> + <xsd:element minOccurs="0" ref="xlf:phase-group"/> + <xsd:choice maxOccurs="unbounded" minOccurs="0"> + <xsd:element name="glossary" type="xlf:ElemType_ExternalReference"/> + <xsd:element name="reference" type="xlf:ElemType_ExternalReference"/> + <xsd:element ref="xlf:count-group"/> + <xsd:element ref="xlf:note"/> + <xsd:element ref="xlf:tool"/> + </xsd:choice> + <xsd:any maxOccurs="unbounded" minOccurs="0" namespace="##other" processContents="strict"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="internal-file"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"> + <xsd:attribute name="form" type="xsd:string"/> + <xsd:attribute name="crc" type="xsd:NMTOKEN"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="external-file"> + <xsd:complexType> + <xsd:attribute name="href" type="xsd:string" use="required"/> + <xsd:attribute name="crc" type="xsd:NMTOKEN"/> + <xsd:attribute name="uid" type="xsd:NMTOKEN"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="note"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"> + <xsd:attribute ref="xml:lang" use="optional"/> + <xsd:attribute default="1" name="priority" type="xlf:AttrType_priority" use="optional"/> + <xsd:attribute name="from" type="xsd:string" use="optional"/> + <xsd:attribute default="general" name="annotates" type="xlf:AttrType_annotates" use="optional"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="phase-group"> + <xsd:complexType> + <xsd:sequence maxOccurs="unbounded"> + <xsd:element ref="xlf:phase"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="phase"> + <xsd:complexType> + <xsd:sequence maxOccurs="unbounded" minOccurs="0"> + <xsd:element ref="xlf:note"/> + </xsd:sequence> + <xsd:attribute name="phase-name" type="xsd:string" use="required"/> + <xsd:attribute name="process-name" type="xsd:string" use="required"/> + <xsd:attribute name="company-name" type="xsd:string" use="optional"/> + <xsd:attribute name="tool-id" type="xsd:string" use="optional"/> + <xsd:attribute name="date" type="xsd:dateTime" use="optional"/> + <xsd:attribute name="job-id" type="xsd:string" use="optional"/> + <xsd:attribute name="contact-name" type="xsd:string" use="optional"/> + <xsd:attribute name="contact-email" type="xsd:string" use="optional"/> + <xsd:attribute name="contact-phone" type="xsd:string" use="optional"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="count-group"> + <xsd:complexType> + <xsd:sequence maxOccurs="unbounded" minOccurs="0"> + <xsd:element ref="xlf:count"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="count"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"> + <xsd:attribute name="count-type" type="xlf:AttrType_count-type" use="optional"/> + <xsd:attribute name="phase-name" type="xsd:string" use="optional"/> + <xsd:attribute default="word" name="unit" type="xlf:AttrType_unit" use="optional"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="context-group"> + <xsd:complexType> + <xsd:sequence maxOccurs="unbounded"> + <xsd:element ref="xlf:context"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="optional"/> + <xsd:attribute name="crc" type="xsd:NMTOKEN" use="optional"/> + <xsd:attribute name="purpose" type="xlf:AttrType_purpose" use="optional"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="context"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"> + <xsd:attribute name="context-type" type="xlf:AttrType_context-type" use="required"/> + <xsd:attribute default="no" name="match-mandatory" type="xlf:AttrType_YesNo" use="optional"/> + <xsd:attribute name="crc" type="xsd:NMTOKEN" use="optional"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="tool"> + <xsd:complexType mixed="true"> + <xsd:sequence> + <xsd:any namespace="##any" processContents="strict" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="tool-id" type="xsd:string" use="required"/> + <xsd:attribute name="tool-name" type="xsd:string" use="required"/> + <xsd:attribute name="tool-version" type="xsd:string" use="optional"/> + <xsd:attribute name="tool-company" type="xsd:string" use="optional"/> + <xsd:anyAttribute namespace="##other" processContents="strict"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="body"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded" minOccurs="0"> + <xsd:element maxOccurs="unbounded" minOccurs="0" ref="xlf:group"/> + <xsd:element maxOccurs="unbounded" minOccurs="0" ref="xlf:trans-unit"/> + <xsd:element maxOccurs="unbounded" minOccurs="0" ref="xlf:bin-unit"/> + </xsd:choice> + </xsd:complexType> + </xsd:element> + <xsd:element name="group"> + <xsd:complexType> + <xsd:sequence> + <xsd:sequence> + <xsd:element maxOccurs="unbounded" minOccurs="0" ref="xlf:context-group"/> + <xsd:element maxOccurs="unbounded" minOccurs="0" ref="xlf:count-group"/> + <xsd:element maxOccurs="unbounded" minOccurs="0" ref="xlf:note"/> + <xsd:any maxOccurs="unbounded" minOccurs="0" namespace="##other" processContents="strict"/> + </xsd:sequence> + <xsd:choice maxOccurs="unbounded"> + <xsd:element maxOccurs="unbounded" minOccurs="0" ref="xlf:group"/> + <xsd:element maxOccurs="unbounded" minOccurs="0" ref="xlf:trans-unit"/> + <xsd:element maxOccurs="unbounded" minOccurs="0" ref="xlf:bin-unit"/> + </xsd:choice> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:string" use="optional"/> + <xsd:attribute name="datatype" type="xlf:AttrType_datatype" use="optional"/> + <xsd:attribute default="default" ref="xml:space" use="optional"/> + <xsd:attribute name="restype" type="xlf:AttrType_restype" use="optional"/> + <xsd:attribute name="resname" type="xsd:string" use="optional"/> + <xsd:attribute name="extradata" type="xsd:string" use="optional"/> + <xsd:attribute name="extype" type="xsd:string" use="optional"/> + <xsd:attribute name="help-id" type="xsd:NMTOKEN" use="optional"/> + <xsd:attribute name="menu" type="xsd:string" use="optional"/> + <xsd:attribute name="menu-option" type="xsd:string" use="optional"/> + <xsd:attribute name="menu-name" type="xsd:string" use="optional"/> + <xsd:attribute name="coord" type="xlf:AttrType_Coordinates" use="optional"/> + <xsd:attribute name="font" type="xsd:string" use="optional"/> + <xsd:attribute name="css-style" type="xsd:string" use="optional"/> + <xsd:attribute name="style" type="xsd:NMTOKEN" use="optional"/> + <xsd:attribute name="exstyle" type="xsd:NMTOKEN" use="optional"/> + <xsd:attribute default="yes" name="translate" type="xlf:AttrType_YesNo" use="optional"/> + <xsd:attribute default="yes" name="reformat" type="xlf:AttrType_reformat" use="optional"/> + <xsd:attribute default="pixel" name="size-unit" type="xlf:AttrType_size-unit" use="optional"/> + <xsd:attribute name="maxwidth" type="xsd:NMTOKEN" use="optional"/> + <xsd:attribute name="minwidth" type="xsd:NMTOKEN" use="optional"/> + <xsd:attribute name="maxheight" type="xsd:NMTOKEN" use="optional"/> + <xsd:attribute name="minheight" type="xsd:NMTOKEN" use="optional"/> + <xsd:attribute name="maxbytes" type="xsd:NMTOKEN" use="optional"/> + <xsd:attribute name="minbytes" type="xsd:NMTOKEN" use="optional"/> + <xsd:attribute name="charclass" type="xsd:string" use="optional"/> + <xsd:attribute default="no" name="merged-trans" type="xlf:AttrType_YesNo" use="optional"/> + <xsd:anyAttribute namespace="##other" processContents="strict"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="trans-unit"> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="xlf:source"/> + <xsd:element minOccurs="0" ref="xlf:seg-source"/> + <xsd:element minOccurs="0" ref="xlf:target"/> + <xsd:choice maxOccurs="unbounded" minOccurs="0"> + <xsd:element ref="xlf:context-group"/> + <xsd:element ref="xlf:count-group"/> + <xsd:element ref="xlf:note"/> + <xsd:element ref="xlf:alt-trans"/> + </xsd:choice> + <xsd:any maxOccurs="unbounded" minOccurs="0" namespace="##other" processContents="strict"/> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:string" use="required"/> + <xsd:attribute name="approved" type="xlf:AttrType_YesNo" use="optional"/> + <xsd:attribute default="yes" name="translate" type="xlf:AttrType_YesNo" use="optional"/> + <xsd:attribute default="yes" name="reformat" type="xlf:AttrType_reformat" use="optional"/> + <xsd:attribute default="default" ref="xml:space" use="optional"/> + <xsd:attribute name="datatype" type="xlf:AttrType_datatype" use="optional"/> + <xsd:attribute name="phase-name" type="xsd:string" use="optional"/> + <xsd:attribute name="restype" type="xlf:AttrType_restype" use="optional"/> + <xsd:attribute name="resname" type="xsd:string" use="optional"/> + <xsd:attribute name="extradata" type="xsd:string" use="optional"/> + <xsd:attribute name="extype" type="xsd:string" use="optional"/> + <xsd:attribute name="help-id" type="xsd:NMTOKEN" use="optional"/> + <xsd:attribute name="menu" type="xsd:string" use="optional"/> + <xsd:attribute name="menu-option" type="xsd:string" use="optional"/> + <xsd:attribute name="menu-name" type="xsd:string" use="optional"/> + <xsd:attribute name="coord" type="xlf:AttrType_Coordinates" use="optional"/> + <xsd:attribute name="font" type="xsd:string" use="optional"/> + <xsd:attribute name="css-style" type="xsd:string" use="optional"/> + <xsd:attribute name="style" type="xsd:NMTOKEN" use="optional"/> + <xsd:attribute name="exstyle" type="xsd:NMTOKEN" use="optional"/> + <xsd:attribute default="pixel" name="size-unit" type="xlf:AttrType_size-unit" use="optional"/> + <xsd:attribute name="maxwidth" type="xsd:NMTOKEN" use="optional"/> + <xsd:attribute name="minwidth" type="xsd:NMTOKEN" use="optional"/> + <xsd:attribute name="maxheight" type="xsd:NMTOKEN" use="optional"/> + <xsd:attribute name="minheight" type="xsd:NMTOKEN" use="optional"/> + <xsd:attribute name="maxbytes" type="xsd:NMTOKEN" use="optional"/> + <xsd:attribute name="minbytes" type="xsd:NMTOKEN" use="optional"/> + <xsd:attribute name="charclass" type="xsd:string" use="optional"/> + <xsd:attribute default="yes" name="merged-trans" type="xlf:AttrType_YesNo" use="optional"/> + <xsd:anyAttribute namespace="##other" processContents="strict"/> + </xsd:complexType> + <xsd:unique name="U_tu_segsrc_mid"> + <xsd:selector xpath="./xlf:seg-source/xlf:mrk"/> + <xsd:field xpath="@mid"/> + </xsd:unique> + <xsd:keyref name="KR_tu_segsrc_mid" refer="xlf:U_tu_segsrc_mid"> + <xsd:selector xpath="./xlf:target/xlf:mrk|./xlf:alt-trans"/> + <xsd:field xpath="@mid"/> + </xsd:keyref> + </xsd:element> + <xsd:element name="source"> + <xsd:complexType mixed="true"> + <xsd:group maxOccurs="unbounded" minOccurs="0" ref="xlf:ElemGroup_TextContent"/> + <xsd:attribute ref="xml:lang" use="optional"/> + <xsd:anyAttribute namespace="##other" processContents="strict"/> + </xsd:complexType> + <xsd:unique name="U_source_bpt_rid"> + <xsd:selector xpath=".//xlf:bpt"/> + <xsd:field xpath="@rid"/> + </xsd:unique> + <xsd:keyref name="KR_source_ept_rid" refer="xlf:U_source_bpt_rid"> + <xsd:selector xpath=".//xlf:ept"/> + <xsd:field xpath="@rid"/> + </xsd:keyref> + <xsd:unique name="U_source_bx_rid"> + <xsd:selector xpath=".//xlf:bx"/> + <xsd:field xpath="@rid"/> + </xsd:unique> + <xsd:keyref name="KR_source_ex_rid" refer="xlf:U_source_bx_rid"> + <xsd:selector xpath=".//xlf:ex"/> + <xsd:field xpath="@rid"/> + </xsd:keyref> + </xsd:element> + <xsd:element name="seg-source"> + <xsd:complexType mixed="true"> + <xsd:group maxOccurs="unbounded" minOccurs="0" ref="xlf:ElemGroup_TextContent"/> + <xsd:attribute ref="xml:lang" use="optional"/> + <xsd:anyAttribute namespace="##other" processContents="strict"/> + </xsd:complexType> + <xsd:unique name="U_segsrc_bpt_rid"> + <xsd:selector xpath=".//xlf:bpt"/> + <xsd:field xpath="@rid"/> + </xsd:unique> + <xsd:keyref name="KR_segsrc_ept_rid" refer="xlf:U_segsrc_bpt_rid"> + <xsd:selector xpath=".//xlf:ept"/> + <xsd:field xpath="@rid"/> + </xsd:keyref> + <xsd:unique name="U_segsrc_bx_rid"> + <xsd:selector xpath=".//xlf:bx"/> + <xsd:field xpath="@rid"/> + </xsd:unique> + <xsd:keyref name="KR_segsrc_ex_rid" refer="xlf:U_segsrc_bx_rid"> + <xsd:selector xpath=".//xlf:ex"/> + <xsd:field xpath="@rid"/> + </xsd:keyref> + </xsd:element> + <xsd:element name="target"> + <xsd:complexType mixed="true"> + <xsd:group maxOccurs="unbounded" minOccurs="0" ref="xlf:ElemGroup_TextContent"/> + <xsd:attribute name="state" type="xlf:AttrType_state" use="optional"/> + <xsd:attribute name="state-qualifier" type="xlf:AttrType_state-qualifier" use="optional"/> + <xsd:attribute name="phase-name" type="xsd:NMTOKEN" use="optional"/> + <xsd:attribute ref="xml:lang" use="optional"/> + <xsd:attribute name="resname" type="xsd:string" use="optional"/> + <xsd:attribute name="coord" type="xlf:AttrType_Coordinates" use="optional"/> + <xsd:attribute name="font" type="xsd:string" use="optional"/> + <xsd:attribute name="css-style" type="xsd:string" use="optional"/> + <xsd:attribute name="style" type="xsd:NMTOKEN" use="optional"/> + <xsd:attribute name="exstyle" type="xsd:NMTOKEN" use="optional"/> + <xsd:attribute default="yes" name="equiv-trans" type="xlf:AttrType_YesNo" use="optional"/> + <xsd:anyAttribute namespace="##other" processContents="strict"/> + </xsd:complexType> + <xsd:unique name="U_target_bpt_rid"> + <xsd:selector xpath=".//xlf:bpt"/> + <xsd:field xpath="@rid"/> + </xsd:unique> + <xsd:keyref name="KR_target_ept_rid" refer="xlf:U_target_bpt_rid"> + <xsd:selector xpath=".//xlf:ept"/> + <xsd:field xpath="@rid"/> + </xsd:keyref> + <xsd:unique name="U_target_bx_rid"> + <xsd:selector xpath=".//xlf:bx"/> + <xsd:field xpath="@rid"/> + </xsd:unique> + <xsd:keyref name="KR_target_ex_rid" refer="xlf:U_target_bx_rid"> + <xsd:selector xpath=".//xlf:ex"/> + <xsd:field xpath="@rid"/> + </xsd:keyref> + </xsd:element> + <xsd:element name="alt-trans"> + <xsd:complexType> + <xsd:sequence> + <xsd:element minOccurs="0" ref="xlf:source"/> + <xsd:element minOccurs="0" ref="xlf:seg-source"/> + <xsd:element maxOccurs="1" ref="xlf:target"/> + <xsd:element maxOccurs="unbounded" minOccurs="0" ref="xlf:context-group"/> + <xsd:element maxOccurs="unbounded" minOccurs="0" ref="xlf:note"/> + <xsd:any maxOccurs="unbounded" minOccurs="0" namespace="##other" processContents="strict"/> + </xsd:sequence> + <xsd:attribute name="match-quality" type="xsd:string" use="optional"/> + <xsd:attribute name="tool-id" type="xsd:string" use="optional"/> + <xsd:attribute name="crc" type="xsd:NMTOKEN" use="optional"/> + <xsd:attribute ref="xml:lang" use="optional"/> + <xsd:attribute name="origin" type="xsd:string" use="optional"/> + <xsd:attribute name="datatype" type="xlf:AttrType_datatype" use="optional"/> + <xsd:attribute default="default" ref="xml:space" use="optional"/> + <xsd:attribute name="restype" type="xlf:AttrType_restype" use="optional"/> + <xsd:attribute name="resname" type="xsd:string" use="optional"/> + <xsd:attribute name="extradata" type="xsd:string" use="optional"/> + <xsd:attribute name="extype" type="xsd:string" use="optional"/> + <xsd:attribute name="help-id" type="xsd:NMTOKEN" use="optional"/> + <xsd:attribute name="menu" type="xsd:string" use="optional"/> + <xsd:attribute name="menu-option" type="xsd:string" use="optional"/> + <xsd:attribute name="menu-name" type="xsd:string" use="optional"/> + <xsd:attribute name="mid" type="xsd:NMTOKEN" use="optional"/> + <xsd:attribute name="coord" type="xlf:AttrType_Coordinates" use="optional"/> + <xsd:attribute name="font" type="xsd:string" use="optional"/> + <xsd:attribute name="css-style" type="xsd:string" use="optional"/> + <xsd:attribute name="style" type="xsd:NMTOKEN" use="optional"/> + <xsd:attribute name="exstyle" type="xsd:NMTOKEN" use="optional"/> + <xsd:attribute name="phase-name" type="xsd:NMTOKEN" use="optional"/> + <xsd:attribute default="proposal" name="alttranstype" type="xlf:AttrType_alttranstype" use="optional"/> + <xsd:anyAttribute namespace="##other" processContents="strict"/> + </xsd:complexType> + <xsd:unique name="U_at_segsrc_mid"> + <xsd:selector xpath="./xlf:seg-source/xlf:mrk"/> + <xsd:field xpath="@mid"/> + </xsd:unique> + <xsd:keyref name="KR_at_segsrc_mid" refer="xlf:U_at_segsrc_mid"> + <xsd:selector xpath="./xlf:target/xlf:mrk"/> + <xsd:field xpath="@mid"/> + </xsd:keyref> + </xsd:element> + <xsd:element name="bin-unit"> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="xlf:bin-source"/> + <xsd:element minOccurs="0" ref="xlf:bin-target"/> + <xsd:choice maxOccurs="unbounded" minOccurs="0"> + <xsd:element ref="xlf:context-group"/> + <xsd:element ref="xlf:count-group"/> + <xsd:element ref="xlf:note"/> + <xsd:element ref="xlf:trans-unit"/> + </xsd:choice> + <xsd:any maxOccurs="unbounded" minOccurs="0" namespace="##other" processContents="strict"/> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:string" use="required"/> + <xsd:attribute name="mime-type" type="xlf:mime-typeValueList" use="required"/> + <xsd:attribute name="approved" type="xlf:AttrType_YesNo" use="optional"/> + <xsd:attribute default="yes" name="translate" type="xlf:AttrType_YesNo" use="optional"/> + <xsd:attribute default="yes" name="reformat" type="xlf:AttrType_reformat" use="optional"/> + <xsd:attribute name="restype" type="xlf:AttrType_restype" use="optional"/> + <xsd:attribute name="resname" type="xsd:string" use="optional"/> + <xsd:attribute name="phase-name" type="xsd:string" use="optional"/> + <xsd:anyAttribute namespace="##other" processContents="strict"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="bin-source"> + <xsd:complexType> + <xsd:choice> + <xsd:element ref="xlf:internal-file"/> + <xsd:element ref="xlf:external-file"/> + </xsd:choice> + <xsd:anyAttribute namespace="##other" processContents="strict"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="bin-target"> + <xsd:complexType> + <xsd:choice> + <xsd:element ref="xlf:internal-file"/> + <xsd:element ref="xlf:external-file"/> + </xsd:choice> + <xsd:attribute name="mime-type" type="xlf:mime-typeValueList" use="optional"/> + <xsd:attribute name="state" type="xlf:AttrType_state" use="optional"/> + <xsd:attribute name="state-qualifier" type="xlf:AttrType_state-qualifier" use="optional"/> + <xsd:attribute name="phase-name" type="xsd:NMTOKEN" use="optional"/> + <xsd:attribute name="restype" type="xlf:AttrType_restype" use="optional"/> + <xsd:attribute name="resname" type="xsd:string" use="optional"/> + <xsd:anyAttribute namespace="##other" processContents="strict"/> + </xsd:complexType> + </xsd:element> + <!-- Element for inline codes --> + <xsd:element name="g"> + <xsd:complexType mixed="true"> + <xsd:group maxOccurs="unbounded" minOccurs="0" ref="xlf:ElemGroup_TextContent"/> + <xsd:attribute name="ctype" type="xlf:AttrType_InlineDelimiters" use="optional"/> + <xsd:attribute default="yes" name="clone" type="xlf:AttrType_YesNo" use="optional"/> + <xsd:attributeGroup ref="xlf:AttrGroup_TextContent"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="x"> + <xsd:complexType> + <xsd:attribute name="ctype" type="xlf:AttrType_InlinePlaceholders" use="optional"/> + <xsd:attribute default="yes" name="clone" type="xlf:AttrType_YesNo" use="optional"/> + <xsd:attributeGroup ref="xlf:AttrGroup_TextContent"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="bx"> + <xsd:complexType> + <xsd:attribute name="rid" type="xsd:NMTOKEN" use="optional"/> + <xsd:attribute name="ctype" type="xlf:AttrType_InlineDelimiters" use="optional"/> + <xsd:attribute default="yes" name="clone" type="xlf:AttrType_YesNo" use="optional"/> + <xsd:attributeGroup ref="xlf:AttrGroup_TextContent"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="ex"> + <xsd:complexType> + <xsd:attribute name="rid" type="xsd:NMTOKEN" use="optional"/> + <xsd:attributeGroup ref="xlf:AttrGroup_TextContent"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="ph"> + <xsd:complexType mixed="true"> + <xsd:sequence maxOccurs="unbounded" minOccurs="0"> + <xsd:element ref="xlf:sub"/> + </xsd:sequence> + <xsd:attribute name="ctype" type="xlf:AttrType_InlinePlaceholders" use="optional"/> + <xsd:attribute name="crc" type="xsd:string" use="optional"/> + <xsd:attribute name="assoc" type="xlf:AttrType_assoc" use="optional"/> + <xsd:attributeGroup ref="xlf:AttrGroup_TextContent"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="bpt"> + <xsd:complexType mixed="true"> + <xsd:sequence maxOccurs="unbounded" minOccurs="0"> + <xsd:element ref="xlf:sub"/> + </xsd:sequence> + <xsd:attribute name="rid" type="xsd:NMTOKEN" use="optional"/> + <xsd:attribute name="ctype" type="xlf:AttrType_InlineDelimiters" use="optional"/> + <xsd:attribute name="crc" type="xsd:string" use="optional"/> + <xsd:attributeGroup ref="xlf:AttrGroup_TextContent"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="ept"> + <xsd:complexType mixed="true"> + <xsd:sequence maxOccurs="unbounded" minOccurs="0"> + <xsd:element ref="xlf:sub"/> + </xsd:sequence> + <xsd:attribute name="rid" type="xsd:NMTOKEN" use="optional"/> + <xsd:attribute name="crc" type="xsd:string" use="optional"/> + <xsd:attributeGroup ref="xlf:AttrGroup_TextContent"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="it"> + <xsd:complexType mixed="true"> + <xsd:sequence maxOccurs="unbounded" minOccurs="0"> + <xsd:element ref="xlf:sub"/> + </xsd:sequence> + <xsd:attribute name="pos" type="xlf:AttrType_Position" use="required"/> + <xsd:attribute name="rid" type="xsd:NMTOKEN" use="optional"/> + <xsd:attribute name="ctype" type="xlf:AttrType_InlineDelimiters" use="optional"/> + <xsd:attribute name="crc" type="xsd:string" use="optional"/> + <xsd:attributeGroup ref="xlf:AttrGroup_TextContent"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="sub"> + <xsd:complexType mixed="true"> + <xsd:group maxOccurs="unbounded" minOccurs="0" ref="xlf:ElemGroup_TextContent"/> + <xsd:attribute name="datatype" type="xlf:AttrType_datatype" use="optional"/> + <xsd:attribute name="ctype" type="xlf:AttrType_InlineDelimiters" use="optional"/> + <xsd:attribute name="xid" type="xsd:string" use="optional"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="mrk"> + <xsd:complexType mixed="true"> + <xsd:group maxOccurs="unbounded" minOccurs="0" ref="xlf:ElemGroup_TextContent"/> + <xsd:attribute name="mtype" type="xlf:AttrType_mtype" use="required"/> + <xsd:attribute name="mid" type="xsd:NMTOKEN" use="optional"/> + <xsd:attribute name="comment" type="xsd:string" use="optional"/> + <xsd:anyAttribute namespace="##other" processContents="strict"/> + </xsd:complexType> + </xsd:element> +</xsd:schema> diff --git a/core/vendor/symfony/translation/Loader/schema/dic/xliff-core/xml.xsd b/core/vendor/symfony/translation/Loader/schema/dic/xliff-core/xml.xsd new file mode 100644 index 0000000000000000000000000000000000000000..a46162a7a7a647cd1b0c90f30783c6d0b9c27aa7 --- /dev/null +++ b/core/vendor/symfony/translation/Loader/schema/dic/xliff-core/xml.xsd @@ -0,0 +1,309 @@ +<?xml version='1.0'?> +<?xml-stylesheet href="../2008/09/xsd.xsl" type="text/xsl"?> +<xs:schema targetNamespace="http://www.w3.org/XML/1998/namespace" + xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns ="http://www.w3.org/1999/xhtml" + xml:lang="en"> + + <xs:annotation> + <xs:documentation> + <div> + <h1>About the XML namespace</h1> + + <div class="bodytext"> + <p> + + This schema document describes the XML namespace, in a form + suitable for import by other schema documents. + </p> + <p> + See <a href="http://www.w3.org/XML/1998/namespace.html"> + http://www.w3.org/XML/1998/namespace.html</a> and + <a href="http://www.w3.org/TR/REC-xml"> + http://www.w3.org/TR/REC-xml</a> for information + about this namespace. + </p> + + <p> + Note that local names in this namespace are intended to be + defined only by the World Wide Web Consortium or its subgroups. + The names currently defined in this namespace are listed below. + They should not be used with conflicting semantics by any Working + Group, specification, or document instance. + </p> + <p> + See further below in this document for more information about <a + href="#usage">how to refer to this schema document from your own + XSD schema documents</a> and about <a href="#nsversioning">the + namespace-versioning policy governing this schema document</a>. + </p> + </div> + </div> + + </xs:documentation> + </xs:annotation> + + <xs:attribute name="lang"> + <xs:annotation> + <xs:documentation> + <div> + + <h3>lang (as an attribute name)</h3> + <p> + + denotes an attribute whose value + is a language code for the natural language of the content of + any element; its value is inherited. This name is reserved + by virtue of its definition in the XML specification.</p> + + </div> + <div> + <h4>Notes</h4> + <p> + Attempting to install the relevant ISO 2- and 3-letter + codes as the enumerated possible values is probably never + going to be a realistic possibility. + </p> + <p> + + See BCP 47 at <a href="http://www.rfc-editor.org/rfc/bcp/bcp47.txt"> + http://www.rfc-editor.org/rfc/bcp/bcp47.txt</a> + and the IANA language subtag registry at + <a href="http://www.iana.org/assignments/language-subtag-registry"> + http://www.iana.org/assignments/language-subtag-registry</a> + for further information. + </p> + <p> + + The union allows for the 'un-declaration' of xml:lang with + the empty string. + </p> + </div> + </xs:documentation> + </xs:annotation> + <xs:simpleType> + <xs:union memberTypes="xs:language"> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:enumeration value=""/> + + </xs:restriction> + </xs:simpleType> + </xs:union> + </xs:simpleType> + </xs:attribute> + + <xs:attribute name="space"> + <xs:annotation> + <xs:documentation> + + <div> + + <h3>space (as an attribute name)</h3> + <p> + denotes an attribute whose + value is a keyword indicating what whitespace processing + discipline is intended for the content of the element; its + value is inherited. This name is reserved by virtue of its + definition in the XML specification.</p> + + </div> + </xs:documentation> + </xs:annotation> + <xs:simpleType> + + <xs:restriction base="xs:NCName"> + <xs:enumeration value="default"/> + <xs:enumeration value="preserve"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + + <xs:attribute name="base" type="xs:anyURI"> <xs:annotation> + <xs:documentation> + + <div> + + <h3>base (as an attribute name)</h3> + <p> + denotes an attribute whose value + provides a URI to be used as the base for interpreting any + relative URIs in the scope of the element on which it + appears; its value is inherited. This name is reserved + by virtue of its definition in the XML Base specification.</p> + + <p> + See <a + href="http://www.w3.org/TR/xmlbase/">http://www.w3.org/TR/xmlbase/</a> + for information about this attribute. + </p> + + </div> + </xs:documentation> + </xs:annotation> + </xs:attribute> + + <xs:attribute name="id" type="xs:ID"> + <xs:annotation> + <xs:documentation> + <div> + + <h3>id (as an attribute name)</h3> + <p> + + denotes an attribute whose value + should be interpreted as if declared to be of type ID. + This name is reserved by virtue of its definition in the + xml:id specification.</p> + + <p> + See <a + href="http://www.w3.org/TR/xml-id/">http://www.w3.org/TR/xml-id/</a> + for information about this attribute. + </p> + </div> + </xs:documentation> + </xs:annotation> + + </xs:attribute> + + <xs:attributeGroup name="specialAttrs"> + <xs:attribute ref="xml:base"/> + <xs:attribute ref="xml:lang"/> + <xs:attribute ref="xml:space"/> + <xs:attribute ref="xml:id"/> + </xs:attributeGroup> + + <xs:annotation> + + <xs:documentation> + <div> + + <h3>Father (in any context at all)</h3> + + <div class="bodytext"> + <p> + denotes Jon Bosak, the chair of + the original XML Working Group. This name is reserved by + the following decision of the W3C XML Plenary and + XML Coordination groups: + </p> + <blockquote> + <p> + + In appreciation for his vision, leadership and + dedication the W3C XML Plenary on this 10th day of + February, 2000, reserves for Jon Bosak in perpetuity + the XML name "xml:Father". + </p> + </blockquote> + </div> + </div> + </xs:documentation> + </xs:annotation> + + <xs:annotation> + <xs:documentation> + + <div xml:id="usage" id="usage"> + <h2><a name="usage">About this schema document</a></h2> + + <div class="bodytext"> + <p> + This schema defines attributes and an attribute group suitable + for use by schemas wishing to allow <code>xml:base</code>, + <code>xml:lang</code>, <code>xml:space</code> or + <code>xml:id</code> attributes on elements they define. + </p> + + <p> + To enable this, such a schema must import this schema for + the XML namespace, e.g. as follows: + </p> + <pre> + <schema.. .> + .. . + <import namespace="http://www.w3.org/XML/1998/namespace" + schemaLocation="http://www.w3.org/2001/xml.xsd"/> + </pre> + <p> + or + </p> + <pre> + + <import namespace="http://www.w3.org/XML/1998/namespace" + schemaLocation="http://www.w3.org/2009/01/xml.xsd"/> + </pre> + <p> + Subsequently, qualified reference to any of the attributes or the + group defined below will have the desired effect, e.g. + </p> + <pre> + <type.. .> + .. . + <attributeGroup ref="xml:specialAttrs"/> + </pre> + <p> + will define a type which will schema-validate an instance element + with any of those attributes. + </p> + + </div> + </div> + </xs:documentation> + </xs:annotation> + + <xs:annotation> + <xs:documentation> + <div id="nsversioning" xml:id="nsversioning"> + <h2><a name="nsversioning">Versioning policy for this schema document</a></h2> + + <div class="bodytext"> + <p> + In keeping with the XML Schema WG's standard versioning + policy, this schema document will persist at + <a href="http://www.w3.org/2009/01/xml.xsd"> + http://www.w3.org/2009/01/xml.xsd</a>. + </p> + <p> + At the date of issue it can also be found at + <a href="http://www.w3.org/2001/xml.xsd"> + http://www.w3.org/2001/xml.xsd</a>. + </p> + + <p> + The schema document at that URI may however change in the future, + in order to remain compatible with the latest version of XML + Schema itself, or with the XML namespace itself. In other words, + if the XML Schema or XML namespaces change, the version of this + document at <a href="http://www.w3.org/2001/xml.xsd"> + http://www.w3.org/2001/xml.xsd + </a> + will change accordingly; the version at + <a href="http://www.w3.org/2009/01/xml.xsd"> + http://www.w3.org/2009/01/xml.xsd + </a> + will not change. + </p> + <p> + + Previous dated (and unchanging) versions of this schema + document are at: + </p> + <ul> + <li><a href="http://www.w3.org/2009/01/xml.xsd"> + http://www.w3.org/2009/01/xml.xsd</a></li> + <li><a href="http://www.w3.org/2007/08/xml.xsd"> + http://www.w3.org/2007/08/xml.xsd</a></li> + <li><a href="http://www.w3.org/2004/10/xml.xsd"> + + http://www.w3.org/2004/10/xml.xsd</a></li> + <li><a href="http://www.w3.org/2001/03/xml.xsd"> + http://www.w3.org/2001/03/xml.xsd</a></li> + </ul> + </div> + </div> + </xs:documentation> + </xs:annotation> + +</xs:schema> diff --git a/core/vendor/symfony/translation/LoggingTranslator.php b/core/vendor/symfony/translation/LoggingTranslator.php new file mode 100644 index 0000000000000000000000000000000000000000..4ff3531228071f0ae924532de35e6d7f0ecbedb2 --- /dev/null +++ b/core/vendor/symfony/translation/LoggingTranslator.php @@ -0,0 +1,128 @@ +<?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\Translation; + +use Psr\Log\LoggerInterface; + +/** + * @author Abdellatif Ait boudad <a.aitboudad@gmail.com> + */ +class LoggingTranslator implements TranslatorInterface, TranslatorBagInterface +{ + /** + * @var TranslatorInterface|TranslatorBagInterface + */ + private $translator; + + /** + * @var LoggerInterface + */ + private $logger; + + /** + * @param TranslatorInterface $translator The translator must implement TranslatorBagInterface + * @param LoggerInterface $logger + */ + public function __construct(TranslatorInterface $translator, LoggerInterface $logger) + { + if (!$translator instanceof TranslatorBagInterface) { + throw new \InvalidArgumentException(sprintf('The Translator "%s" must implement TranslatorInterface and TranslatorBagInterface.', get_class($translator))); + } + + $this->translator = $translator; + $this->logger = $logger; + } + + /** + * {@inheritdoc} + */ + public function trans($id, array $parameters = array(), $domain = null, $locale = null) + { + $trans = $this->translator->trans($id, $parameters, $domain, $locale); + $this->log($id, $domain, $locale); + + return $trans; + } + + /** + * {@inheritdoc} + */ + public function transChoice($id, $number, array $parameters = array(), $domain = null, $locale = null) + { + $trans = $this->translator->transChoice($id, $number, $parameters, $domain, $locale); + $this->log($id, $domain, $locale); + + return $trans; + } + + /** + * {@inheritdoc} + * + * @api + */ + public function setLocale($locale) + { + $this->translator->setLocale($locale); + } + + /** + * {@inheritdoc} + * + * @api + */ + public function getLocale() + { + return $this->translator->getLocale(); + } + + /** + * {@inheritdoc} + */ + public function getCatalogue($locale = null) + { + return $this->translator->getCatalogue($locale); + } + + /** + * Passes through all unknown calls onto the translator object. + */ + public function __call($method, $args) + { + return call_user_func_array(array($this->translator, $method), $args); + } + + /** + * Logs for missing translations. + * + * @param string $id + * @param string|null $domain + * @param string|null $locale + */ + private function log($id, $domain, $locale) + { + if (null === $domain) { + $domain = 'messages'; + } + + $id = (string) $id; + $catalogue = $this->translator->getCatalogue($locale); + if ($catalogue->defines($id, $domain)) { + return; + } + + if ($catalogue->has($id, $domain)) { + $this->logger->debug('Translation use fallback catalogue.', array('id' => $id, 'domain' => $domain, 'locale' => $catalogue->getLocale())); + } else { + $this->logger->warning('Translation not found.', array('id' => $id, 'domain' => $domain, 'locale' => $catalogue->getLocale())); + } + } +} diff --git a/core/vendor/symfony/translation/MessageCatalogue.php b/core/vendor/symfony/translation/MessageCatalogue.php new file mode 100644 index 0000000000000000000000000000000000000000..aa92a587fbc86b8a908681bfc00af3876737c77d --- /dev/null +++ b/core/vendor/symfony/translation/MessageCatalogue.php @@ -0,0 +1,293 @@ +<?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\Translation; + +use Symfony\Component\Config\Resource\ResourceInterface; + +/** + * MessageCatalogue. + * + * @author Fabien Potencier <fabien@symfony.com> + * + * @api + */ +class MessageCatalogue implements MessageCatalogueInterface, MetadataAwareInterface +{ + private $messages = array(); + private $metadata = array(); + private $resources = array(); + private $locale; + private $fallbackCatalogue; + private $parent; + + /** + * Constructor. + * + * @param string $locale The locale + * @param array $messages An array of messages classified by domain + * + * @api + */ + public function __construct($locale, array $messages = array()) + { + $this->locale = $locale; + $this->messages = $messages; + } + + /** + * {@inheritdoc} + * + * @api + */ + public function getLocale() + { + return $this->locale; + } + + /** + * {@inheritdoc} + * + * @api + */ + public function getDomains() + { + return array_keys($this->messages); + } + + /** + * {@inheritdoc} + * + * @api + */ + public function all($domain = null) + { + if (null === $domain) { + return $this->messages; + } + + return isset($this->messages[$domain]) ? $this->messages[$domain] : array(); + } + + /** + * {@inheritdoc} + * + * @api + */ + public function set($id, $translation, $domain = 'messages') + { + $this->add(array($id => $translation), $domain); + } + + /** + * {@inheritdoc} + * + * @api + */ + public function has($id, $domain = 'messages') + { + if (isset($this->messages[$domain][$id])) { + return true; + } + + if (null !== $this->fallbackCatalogue) { + return $this->fallbackCatalogue->has($id, $domain); + } + + return false; + } + + /** + * {@inheritdoc} + */ + public function defines($id, $domain = 'messages') + { + return isset($this->messages[$domain][$id]); + } + + /** + * {@inheritdoc} + * + * @api + */ + public function get($id, $domain = 'messages') + { + if (isset($this->messages[$domain][$id])) { + return $this->messages[$domain][$id]; + } + + if (null !== $this->fallbackCatalogue) { + return $this->fallbackCatalogue->get($id, $domain); + } + + return $id; + } + + /** + * {@inheritdoc} + * + * @api + */ + public function replace($messages, $domain = 'messages') + { + $this->messages[$domain] = array(); + + $this->add($messages, $domain); + } + + /** + * {@inheritdoc} + * + * @api + */ + public function add($messages, $domain = 'messages') + { + if (!isset($this->messages[$domain])) { + $this->messages[$domain] = $messages; + } else { + $this->messages[$domain] = array_replace($this->messages[$domain], $messages); + } + } + + /** + * {@inheritdoc} + * + * @api + */ + public function addCatalogue(MessageCatalogueInterface $catalogue) + { + if ($catalogue->getLocale() !== $this->locale) { + throw new \LogicException(sprintf('Cannot add a catalogue for locale "%s" as the current locale for this catalogue is "%s"', $catalogue->getLocale(), $this->locale)); + } + + foreach ($catalogue->all() as $domain => $messages) { + $this->add($messages, $domain); + } + + foreach ($catalogue->getResources() as $resource) { + $this->addResource($resource); + } + + if ($catalogue instanceof MetadataAwareInterface) { + $metadata = $catalogue->getMetadata('', ''); + $this->addMetadata($metadata); + } + } + + /** + * {@inheritdoc} + * + * @api + */ + public function addFallbackCatalogue(MessageCatalogueInterface $catalogue) + { + // detect circular references + $c = $this; + do { + if ($c->getLocale() === $catalogue->getLocale()) { + throw new \LogicException(sprintf('Circular reference detected when adding a fallback catalogue for locale "%s".', $catalogue->getLocale())); + } + } while ($c = $c->parent); + + $catalogue->parent = $this; + $this->fallbackCatalogue = $catalogue; + + foreach ($catalogue->getResources() as $resource) { + $this->addResource($resource); + } + } + + /** + * {@inheritdoc} + * + * @api + */ + public function getFallbackCatalogue() + { + return $this->fallbackCatalogue; + } + + /** + * {@inheritdoc} + * + * @api + */ + public function getResources() + { + return array_values($this->resources); + } + + /** + * {@inheritdoc} + * + * @api + */ + public function addResource(ResourceInterface $resource) + { + $this->resources[$resource->__toString()] = $resource; + } + + /** + * {@inheritdoc} + */ + public function getMetadata($key = '', $domain = 'messages') + { + if ('' == $domain) { + return $this->metadata; + } + + if (isset($this->metadata[$domain])) { + if ('' == $key) { + return $this->metadata[$domain]; + } + + if (isset($this->metadata[$domain][$key])) { + return $this->metadata[$domain][$key]; + } + } + } + + /** + * {@inheritdoc} + */ + public function setMetadata($key, $value, $domain = 'messages') + { + $this->metadata[$domain][$key] = $value; + } + + /** + * {@inheritdoc} + */ + public function deleteMetadata($key = '', $domain = 'messages') + { + if ('' == $domain) { + $this->metadata = array(); + } elseif ('' == $key) { + unset($this->metadata[$domain]); + } else { + unset($this->metadata[$domain][$key]); + } + } + + /** + * Adds current values with the new values. + * + * @param array $values Values to add + */ + private function addMetadata(array $values) + { + foreach ($values as $domain => $keys) { + foreach ($keys as $key => $value) { + $this->setMetadata($key, $value, $domain); + } + } + } +} diff --git a/core/vendor/symfony/translation/MessageCatalogueInterface.php b/core/vendor/symfony/translation/MessageCatalogueInterface.php new file mode 100644 index 0000000000000000000000000000000000000000..647e3374e1eca2c584ea67f9adf5dac4479a6186 --- /dev/null +++ b/core/vendor/symfony/translation/MessageCatalogueInterface.php @@ -0,0 +1,172 @@ +<?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\Translation; + +use Symfony\Component\Config\Resource\ResourceInterface; + +/** + * MessageCatalogueInterface. + * + * @author Fabien Potencier <fabien@symfony.com> + * + * @api + */ +interface MessageCatalogueInterface +{ + /** + * Gets the catalogue locale. + * + * @return string The locale + * + * @api + */ + public function getLocale(); + + /** + * Gets the domains. + * + * @return array An array of domains + * + * @api + */ + public function getDomains(); + + /** + * Gets the messages within a given domain. + * + * If $domain is null, it returns all messages. + * + * @param string $domain The domain name + * + * @return array An array of messages + * + * @api + */ + public function all($domain = null); + + /** + * Sets a message translation. + * + * @param string $id The message id + * @param string $translation The messages translation + * @param string $domain The domain name + * + * @api + */ + public function set($id, $translation, $domain = 'messages'); + + /** + * Checks if a message has a translation. + * + * @param string $id The message id + * @param string $domain The domain name + * + * @return bool true if the message has a translation, false otherwise + * + * @api + */ + public function has($id, $domain = 'messages'); + + /** + * Checks if a message has a translation (it does not take into account the fallback mechanism). + * + * @param string $id The message id + * @param string $domain The domain name + * + * @return bool true if the message has a translation, false otherwise + * + * @api + */ + public function defines($id, $domain = 'messages'); + + /** + * Gets a message translation. + * + * @param string $id The message id + * @param string $domain The domain name + * + * @return string The message translation + * + * @api + */ + public function get($id, $domain = 'messages'); + + /** + * Sets translations for a given domain. + * + * @param array $messages An array of translations + * @param string $domain The domain name + * + * @api + */ + public function replace($messages, $domain = 'messages'); + + /** + * Adds translations for a given domain. + * + * @param array $messages An array of translations + * @param string $domain The domain name + * + * @api + */ + public function add($messages, $domain = 'messages'); + + /** + * Merges translations from the given Catalogue into the current one. + * + * The two catalogues must have the same locale. + * + * @param MessageCatalogueInterface $catalogue A MessageCatalogueInterface instance + * + * @api + */ + public function addCatalogue(MessageCatalogueInterface $catalogue); + + /** + * Merges translations from the given Catalogue into the current one + * only when the translation does not exist. + * + * This is used to provide default translations when they do not exist for the current locale. + * + * @param MessageCatalogueInterface $catalogue A MessageCatalogueInterface instance + * + * @api + */ + public function addFallbackCatalogue(MessageCatalogueInterface $catalogue); + + /** + * Gets the fallback catalogue. + * + * @return MessageCatalogueInterface|null A MessageCatalogueInterface instance or null when no fallback has been set + * + * @api + */ + public function getFallbackCatalogue(); + + /** + * Returns an array of resources loaded to build this collection. + * + * @return ResourceInterface[] An array of resources + * + * @api + */ + public function getResources(); + + /** + * Adds a resource for this collection. + * + * @param ResourceInterface $resource A resource instance + * + * @api + */ + public function addResource(ResourceInterface $resource); +} diff --git a/core/vendor/symfony/translation/MessageSelector.php b/core/vendor/symfony/translation/MessageSelector.php new file mode 100644 index 0000000000000000000000000000000000000000..9f5430cfe29ae3fc851bc4bb4ed2a1a821717027 --- /dev/null +++ b/core/vendor/symfony/translation/MessageSelector.php @@ -0,0 +1,90 @@ +<?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\Translation; + +/** + * MessageSelector. + * + * @author Fabien Potencier <fabien@symfony.com> + * @author Bernhard Schussek <bschussek@gmail.com> + * + * @api + */ +class MessageSelector +{ + /** + * Given a message with different plural translations separated by a + * pipe (|), this method returns the correct portion of the message based + * on the given number, locale and the pluralization rules in the message + * itself. + * + * The message supports two different types of pluralization rules: + * + * interval: {0} There are no apples|{1} There is one apple|]1,Inf] There are %count% apples + * indexed: There is one apple|There are %count% apples + * + * The indexed solution can also contain labels (e.g. one: There is one apple). + * This is purely for making the translations more clear - it does not + * affect the functionality. + * + * The two methods can also be mixed: + * {0} There are no apples|one: There is one apple|more: There are %count% apples + * + * @param string $message The message being translated + * @param int $number The number of items represented for the message + * @param string $locale The locale to use for choosing + * + * @return string + * + * @throws \InvalidArgumentException + * + * @api + */ + public function choose($message, $number, $locale) + { + $parts = explode('|', $message); + $explicitRules = array(); + $standardRules = array(); + foreach ($parts as $part) { + $part = trim($part); + + if (preg_match('/^(?P<interval>'.Interval::getIntervalRegexp().')\s*(?P<message>.*?)$/x', $part, $matches)) { + $explicitRules[$matches['interval']] = $matches['message']; + } elseif (preg_match('/^\w+\:\s*(.*?)$/', $part, $matches)) { + $standardRules[] = $matches[1]; + } else { + $standardRules[] = $part; + } + } + + // try to match an explicit rule, then fallback to the standard ones + foreach ($explicitRules as $interval => $m) { + if (Interval::test($number, $interval)) { + return $m; + } + } + + $position = PluralizationRules::get($number, $locale); + + if (!isset($standardRules[$position])) { + // when there's exactly one rule given, and that rule is a standard + // rule, use this rule + if (1 === count($parts) && isset($standardRules[0])) { + return $standardRules[0]; + } + + throw new \InvalidArgumentException(sprintf('Unable to choose a translation for "%s" with locale "%s" for value "%d". Double check that this translation has the correct plural options (e.g. "There is one apple|There are %%count%% apples").', $message, $locale, $number)); + } + + return $standardRules[$position]; + } +} diff --git a/core/vendor/symfony/translation/MetadataAwareInterface.php b/core/vendor/symfony/translation/MetadataAwareInterface.php new file mode 100644 index 0000000000000000000000000000000000000000..e93c6fbc713114d79dfa40f653b6878c5f3a3bc0 --- /dev/null +++ b/core/vendor/symfony/translation/MetadataAwareInterface.php @@ -0,0 +1,54 @@ +<?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\Translation; + +/** + * MetadataAwareInterface. + * + * @author Fabien Potencier <fabien@symfony.com> + */ +interface MetadataAwareInterface +{ + /** + * Gets metadata for the given domain and key. + * + * Passing an empty domain will return an array with all metadata indexed by + * domain and then by key. Passing an empty key will return an array with all + * metadata for the given domain. + * + * @param string $key The key + * @param string $domain The domain name + * + * @return mixed The value that was set or an array with the domains/keys or null + */ + public function getMetadata($key = '', $domain = 'messages'); + + /** + * Adds metadata to a message domain. + * + * @param string $key The key + * @param mixed $value The value + * @param string $domain The domain name + */ + public function setMetadata($key, $value, $domain = 'messages'); + + /** + * Deletes metadata for the given key and domain. + * + * Passing an empty domain will delete all metadata. Passing an empty key will + * delete all metadata for the given domain. + * + * @param string $key The key + * @param string $domain The domain name + */ + public function deleteMetadata($key = '', $domain = 'messages'); +} diff --git a/core/vendor/symfony/translation/PluralizationRules.php b/core/vendor/symfony/translation/PluralizationRules.php new file mode 100644 index 0000000000000000000000000000000000000000..e1eac82ce9b56106428b1200e5b9ddf2d5875059 --- /dev/null +++ b/core/vendor/symfony/translation/PluralizationRules.php @@ -0,0 +1,214 @@ +<?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\Translation; + +/** + * Returns the plural rules for a given locale. + * + * @author Fabien Potencier <fabien@symfony.com> + */ +class PluralizationRules +{ + private static $rules = array(); + + /** + * Returns the plural position to use for the given locale and number. + * + * @param int $number The number + * @param string $locale The locale + * + * @return int The plural position + */ + public static function get($number, $locale) + { + if ('pt_BR' === $locale) { + // temporary set a locale for brazilian + $locale = 'xbr'; + } + + if (strlen($locale) > 3) { + $locale = substr($locale, 0, -strlen(strrchr($locale, '_'))); + } + + if (isset(self::$rules[$locale])) { + $return = call_user_func(self::$rules[$locale], $number); + + if (!is_int($return) || $return < 0) { + return 0; + } + + return $return; + } + + /* + * The plural rules are derived from code of the Zend Framework (2010-09-25), + * which is subject to the new BSD license (http://framework.zend.com/license/new-bsd). + * Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com) + */ + switch ($locale) { + case 'bo': + case 'dz': + case 'id': + case 'ja': + case 'jv': + case 'ka': + case 'km': + case 'kn': + case 'ko': + case 'ms': + case 'th': + case 'tr': + case 'vi': + case 'zh': + return 0; + break; + + case 'af': + case 'az': + case 'bn': + case 'bg': + case 'ca': + case 'da': + case 'de': + case 'el': + case 'en': + case 'eo': + case 'es': + case 'et': + case 'eu': + case 'fa': + case 'fi': + case 'fo': + case 'fur': + case 'fy': + case 'gl': + case 'gu': + case 'ha': + case 'he': + case 'hu': + case 'is': + case 'it': + case 'ku': + case 'lb': + case 'ml': + case 'mn': + case 'mr': + case 'nah': + case 'nb': + case 'ne': + case 'nl': + case 'nn': + case 'no': + case 'om': + case 'or': + case 'pa': + case 'pap': + case 'ps': + case 'pt': + case 'so': + case 'sq': + case 'sv': + case 'sw': + case 'ta': + case 'te': + case 'tk': + case 'ur': + case 'zu': + return ($number == 1) ? 0 : 1; + + case 'am': + case 'bh': + case 'fil': + case 'fr': + case 'gun': + case 'hi': + case 'ln': + case 'mg': + case 'nso': + case 'xbr': + case 'ti': + case 'wa': + return (($number == 0) || ($number == 1)) ? 0 : 1; + + case 'be': + case 'bs': + case 'hr': + case 'ru': + case 'sr': + case 'uk': + return (($number % 10 == 1) && ($number % 100 != 11)) ? 0 : ((($number % 10 >= 2) && ($number % 10 <= 4) && (($number % 100 < 10) || ($number % 100 >= 20))) ? 1 : 2); + + case 'cs': + case 'sk': + return ($number == 1) ? 0 : ((($number >= 2) && ($number <= 4)) ? 1 : 2); + + case 'ga': + return ($number == 1) ? 0 : (($number == 2) ? 1 : 2); + + case 'lt': + return (($number % 10 == 1) && ($number % 100 != 11)) ? 0 : ((($number % 10 >= 2) && (($number % 100 < 10) || ($number % 100 >= 20))) ? 1 : 2); + + case 'sl': + return ($number % 100 == 1) ? 0 : (($number % 100 == 2) ? 1 : ((($number % 100 == 3) || ($number % 100 == 4)) ? 2 : 3)); + + case 'mk': + return ($number % 10 == 1) ? 0 : 1; + + case 'mt': + return ($number == 1) ? 0 : ((($number == 0) || (($number % 100 > 1) && ($number % 100 < 11))) ? 1 : ((($number % 100 > 10) && ($number % 100 < 20)) ? 2 : 3)); + + case 'lv': + return ($number == 0) ? 0 : ((($number % 10 == 1) && ($number % 100 != 11)) ? 1 : 2); + + case 'pl': + return ($number == 1) ? 0 : ((($number % 10 >= 2) && ($number % 10 <= 4) && (($number % 100 < 12) || ($number % 100 > 14))) ? 1 : 2); + + case 'cy': + return ($number == 1) ? 0 : (($number == 2) ? 1 : ((($number == 8) || ($number == 11)) ? 2 : 3)); + + case 'ro': + return ($number == 1) ? 0 : ((($number == 0) || (($number % 100 > 0) && ($number % 100 < 20))) ? 1 : 2); + + case 'ar': + return ($number == 0) ? 0 : (($number == 1) ? 1 : (($number == 2) ? 2 : ((($number % 100 >= 3) && ($number % 100 <= 10)) ? 3 : ((($number % 100 >= 11) && ($number % 100 <= 99)) ? 4 : 5)))); + + default: + return 0; + } + } + + /** + * Overrides the default plural rule for a given locale. + * + * @param string $rule A PHP callable + * @param string $locale The locale + * + * @throws \LogicException + */ + public static function set($rule, $locale) + { + if ('pt_BR' === $locale) { + // temporary set a locale for brazilian + $locale = 'xbr'; + } + + if (strlen($locale) > 3) { + $locale = substr($locale, 0, -strlen(strrchr($locale, '_'))); + } + + if (!is_callable($rule)) { + throw new \LogicException('The given rule can not be called'); + } + + self::$rules[$locale] = $rule; + } +} diff --git a/core/vendor/symfony/translation/README.md b/core/vendor/symfony/translation/README.md new file mode 100644 index 0000000000000000000000000000000000000000..2b008629578c3c26b92610d86996ce037a13df53 --- /dev/null +++ b/core/vendor/symfony/translation/README.md @@ -0,0 +1,37 @@ +Translation Component +===================== + +Translation provides tools for loading translation files and generating +translated strings from these including support for pluralization. + +```php +use Symfony\Component\Translation\Translator; +use Symfony\Component\Translation\MessageSelector; +use Symfony\Component\Translation\Loader\ArrayLoader; + +$translator = new Translator('fr_FR', new MessageSelector()); +$translator->setFallbackLocales(array('fr')); +$translator->addLoader('array', new ArrayLoader()); +$translator->addResource('array', array( + 'Hello World!' => 'Bonjour', +), 'fr'); + +echo $translator->trans('Hello World!')."\n"; +``` + +Resources +--------- + +Silex integration: + +https://github.com/fabpot/Silex/blob/master/src/Silex/Provider/TranslationServiceProvider.php + +Documentation: + +https://symfony.com/doc/2.7/book/translation.html + +You can run the unit tests with the following command: + + $ cd path/to/Symfony/Component/Translation/ + $ composer install + $ phpunit diff --git a/core/vendor/symfony/translation/Tests/Catalogue/AbstractOperationTest.php b/core/vendor/symfony/translation/Tests/Catalogue/AbstractOperationTest.php new file mode 100644 index 0000000000000000000000000000000000000000..30c21afa64c155f039f736e2f56686e20efe68c7 --- /dev/null +++ b/core/vendor/symfony/translation/Tests/Catalogue/AbstractOperationTest.php @@ -0,0 +1,73 @@ +<?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\Translation\Tests\Catalogue; + +use Symfony\Component\Translation\MessageCatalogue; +use Symfony\Component\Translation\MessageCatalogueInterface; + +abstract class AbstractOperationTest extends \PHPUnit_Framework_TestCase +{ + public function testGetEmptyDomains() + { + $this->assertEquals( + array(), + $this->createOperation( + new MessageCatalogue('en'), + new MessageCatalogue('en') + )->getDomains() + ); + } + + public function testGetMergedDomains() + { + $this->assertEquals( + array('a', 'b', 'c'), + $this->createOperation( + new MessageCatalogue('en', array('a' => array(), 'b' => array())), + new MessageCatalogue('en', array('b' => array(), 'c' => array())) + )->getDomains() + ); + } + + public function testGetMessagesFromUnknownDomain() + { + $this->setExpectedException('InvalidArgumentException'); + $this->createOperation( + new MessageCatalogue('en'), + new MessageCatalogue('en') + )->getMessages('domain'); + } + + public function testGetEmptyMessages() + { + $this->assertEquals( + array(), + $this->createOperation( + new MessageCatalogue('en', array('a' => array())), + new MessageCatalogue('en') + )->getMessages('a') + ); + } + + public function testGetEmptyResult() + { + $this->assertEquals( + new MessageCatalogue('en'), + $this->createOperation( + new MessageCatalogue('en'), + new MessageCatalogue('en') + )->getResult() + ); + } + + abstract protected function createOperation(MessageCatalogueInterface $source, MessageCatalogueInterface $target); +} diff --git a/core/vendor/symfony/translation/Tests/Catalogue/DiffOperationTest.php b/core/vendor/symfony/translation/Tests/Catalogue/DiffOperationTest.php new file mode 100644 index 0000000000000000000000000000000000000000..26bd5823df1296eb92a06d701ce6c29286aa578d --- /dev/null +++ b/core/vendor/symfony/translation/Tests/Catalogue/DiffOperationTest.php @@ -0,0 +1,82 @@ +<?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\Translation\Tests\Catalogue; + +use Symfony\Component\Translation\Catalogue\DiffOperation; +use Symfony\Component\Translation\MessageCatalogue; +use Symfony\Component\Translation\MessageCatalogueInterface; + +class DiffOperationTest extends AbstractOperationTest +{ + public function testGetMessagesFromSingleDomain() + { + $operation = $this->createOperation( + new MessageCatalogue('en', array('messages' => array('a' => 'old_a', 'b' => 'old_b'))), + new MessageCatalogue('en', array('messages' => array('a' => 'new_a', 'c' => 'new_c'))) + ); + + $this->assertEquals( + array('a' => 'old_a', 'c' => 'new_c'), + $operation->getMessages('messages') + ); + + $this->assertEquals( + array('c' => 'new_c'), + $operation->getNewMessages('messages') + ); + + $this->assertEquals( + array('b' => 'old_b'), + $operation->getObsoleteMessages('messages') + ); + } + + public function testGetResultFromSingleDomain() + { + $this->assertEquals( + new MessageCatalogue('en', array( + 'messages' => array('a' => 'old_a', 'c' => 'new_c'), + )), + $this->createOperation( + new MessageCatalogue('en', array('messages' => array('a' => 'old_a', 'b' => 'old_b'))), + new MessageCatalogue('en', array('messages' => array('a' => 'new_a', 'c' => 'new_c'))) + )->getResult() + ); + } + + public function testGetResultWithMetadata() + { + $leftCatalogue = new MessageCatalogue('en', array('messages' => array('a' => 'old_a', 'b' => 'old_b'))); + $leftCatalogue->setMetadata('a', 'foo', 'messages'); + $leftCatalogue->setMetadata('b', 'bar', 'messages'); + $rightCatalogue = new MessageCatalogue('en', array('messages' => array('b' => 'new_b', 'c' => 'new_c'))); + $rightCatalogue->setMetadata('b', 'baz', 'messages'); + $rightCatalogue->setMetadata('c', 'qux', 'messages'); + + $diffCatalogue = new MessageCatalogue('en', array('messages' => array('b' => 'old_b', 'c' => 'new_c'))); + $diffCatalogue->setMetadata('b', 'bar', 'messages'); + $diffCatalogue->setMetadata('c', 'qux', 'messages'); + + $this->assertEquals( + $diffCatalogue, + $this->createOperation( + $leftCatalogue, + $rightCatalogue + )->getResult() + ); + } + + protected function createOperation(MessageCatalogueInterface $source, MessageCatalogueInterface $target) + { + return new DiffOperation($source, $target); + } +} diff --git a/core/vendor/symfony/translation/Tests/Catalogue/MergeOperationTest.php b/core/vendor/symfony/translation/Tests/Catalogue/MergeOperationTest.php new file mode 100644 index 0000000000000000000000000000000000000000..8b51c15daec9210788f1e6d7ba5754664401bd63 --- /dev/null +++ b/core/vendor/symfony/translation/Tests/Catalogue/MergeOperationTest.php @@ -0,0 +1,83 @@ +<?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\Translation\Tests\Catalogue; + +use Symfony\Component\Translation\Catalogue\MergeOperation; +use Symfony\Component\Translation\MessageCatalogue; +use Symfony\Component\Translation\MessageCatalogueInterface; + +class MergeOperationTest extends AbstractOperationTest +{ + public function testGetMessagesFromSingleDomain() + { + $operation = $this->createOperation( + new MessageCatalogue('en', array('messages' => array('a' => 'old_a', 'b' => 'old_b'))), + new MessageCatalogue('en', array('messages' => array('a' => 'new_a', 'c' => 'new_c'))) + ); + + $this->assertEquals( + array('a' => 'old_a', 'b' => 'old_b', 'c' => 'new_c'), + $operation->getMessages('messages') + ); + + $this->assertEquals( + array('c' => 'new_c'), + $operation->getNewMessages('messages') + ); + + $this->assertEquals( + array(), + $operation->getObsoleteMessages('messages') + ); + } + + public function testGetResultFromSingleDomain() + { + $this->assertEquals( + new MessageCatalogue('en', array( + 'messages' => array('a' => 'old_a', 'b' => 'old_b', 'c' => 'new_c'), + )), + $this->createOperation( + new MessageCatalogue('en', array('messages' => array('a' => 'old_a', 'b' => 'old_b'))), + new MessageCatalogue('en', array('messages' => array('a' => 'new_a', 'c' => 'new_c'))) + )->getResult() + ); + } + + public function testGetResultWithMetadata() + { + $leftCatalogue = new MessageCatalogue('en', array('messages' => array('a' => 'old_a', 'b' => 'old_b'))); + $leftCatalogue->setMetadata('a', 'foo', 'messages'); + $leftCatalogue->setMetadata('b', 'bar', 'messages'); + $rightCatalogue = new MessageCatalogue('en', array('messages' => array('b' => 'new_b', 'c' => 'new_c'))); + $rightCatalogue->setMetadata('b', 'baz', 'messages'); + $rightCatalogue->setMetadata('c', 'qux', 'messages'); + + $mergedCatalogue = new MessageCatalogue('en', array('messages' => array('a' => 'old_a', 'b' => 'old_b', 'c' => 'new_c'))); + $mergedCatalogue->setMetadata('a', 'foo', 'messages'); + $mergedCatalogue->setMetadata('b', 'bar', 'messages'); + $mergedCatalogue->setMetadata('c', 'qux', 'messages'); + + $this->assertEquals( + $mergedCatalogue, + $this->createOperation( + $leftCatalogue, + $rightCatalogue + )->getResult() + ); + } + + protected function createOperation(MessageCatalogueInterface $source, MessageCatalogueInterface $target) + { + return new MergeOperation($source, $target); + } +} diff --git a/core/vendor/symfony/translation/Tests/DataCollector/TranslationDataCollectorTest.php b/core/vendor/symfony/translation/Tests/DataCollector/TranslationDataCollectorTest.php new file mode 100644 index 0000000000000000000000000000000000000000..085d31267b3a456b44e625d471bf057203d37483 --- /dev/null +++ b/core/vendor/symfony/translation/Tests/DataCollector/TranslationDataCollectorTest.php @@ -0,0 +1,121 @@ +<?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\Translation\Tests\DataCollector; + +use Symfony\Component\Translation\DataCollectorTranslator; +use Symfony\Component\Translation\DataCollector\TranslationDataCollector; + +class TranslationDataCollectorTest extends \PHPUnit_Framework_TestCase +{ + protected function setUp() + { + if (!class_exists('Symfony\Component\HttpKernel\DataCollector\DataCollector')) { + $this->markTestSkipped('The "DataCollector" is not available'); + } + } + + public function testCollectEmptyMessages() + { + $translator = $this->getTranslator(); + $translator->expects($this->any())->method('getCollectedMessages')->will($this->returnValue(array())); + + $dataCollector = new TranslationDataCollector($translator); + $dataCollector->lateCollect(); + + $this->assertEquals(0, $dataCollector->getCountMissings()); + $this->assertEquals(0, $dataCollector->getCountFallbacks()); + $this->assertEquals(0, $dataCollector->getCountDefines()); + $this->assertEquals(array(), $dataCollector->getMessages()); + } + + public function testCollect() + { + $collectedMessages = array( + array( + 'id' => 'foo', + 'translation' => 'foo (en)', + 'locale' => 'en', + 'domain' => 'messages', + 'state' => DataCollectorTranslator::MESSAGE_DEFINED, + ), + array( + 'id' => 'bar', + 'translation' => 'bar (fr)', + 'locale' => 'fr', + 'domain' => 'messages', + 'state' => DataCollectorTranslator::MESSAGE_EQUALS_FALLBACK, + ), + array( + 'id' => 'choice', + 'translation' => 'choice', + 'locale' => 'en', + 'domain' => 'messages', + 'state' => DataCollectorTranslator::MESSAGE_MISSING, + ), + array( + 'id' => 'choice', + 'translation' => 'choice', + 'locale' => 'en', + 'domain' => 'messages', + 'state' => DataCollectorTranslator::MESSAGE_MISSING, + ), + ); + $expectedMessages = array( + array( + 'id' => 'foo', + 'translation' => 'foo (en)', + 'locale' => 'en', + 'domain' => 'messages', + 'state' => DataCollectorTranslator::MESSAGE_DEFINED, + 'count' => 1, + ), + array( + 'id' => 'bar', + 'translation' => 'bar (fr)', + 'locale' => 'fr', + 'domain' => 'messages', + 'state' => DataCollectorTranslator::MESSAGE_EQUALS_FALLBACK, + 'count' => 1, + ), + array( + 'id' => 'choice', + 'translation' => 'choice', + 'locale' => 'en', + 'domain' => 'messages', + 'state' => DataCollectorTranslator::MESSAGE_MISSING, + 'count' => 2, + ), + ); + + $translator = $this->getTranslator(); + $translator->expects($this->any())->method('getCollectedMessages')->will($this->returnValue($collectedMessages)); + + $dataCollector = new TranslationDataCollector($translator); + $dataCollector->lateCollect(); + + $this->assertEquals(1, $dataCollector->getCountMissings()); + $this->assertEquals(1, $dataCollector->getCountFallbacks()); + $this->assertEquals(1, $dataCollector->getCountDefines()); + $this->assertEquals($expectedMessages, array_values($dataCollector->getMessages())); + } + + private function getTranslator() + { + $translator = $this + ->getMockBuilder('Symfony\Component\Translation\DataCollectorTranslator') + ->disableOriginalConstructor() + ->getMock() + ; + + return $translator; + } +} diff --git a/core/vendor/symfony/translation/Tests/DataCollectorTranslatorTest.php b/core/vendor/symfony/translation/Tests/DataCollectorTranslatorTest.php new file mode 100644 index 0000000000000000000000000000000000000000..8e98ad31f43c8679ade7d1db7b09d78f11394c8c --- /dev/null +++ b/core/vendor/symfony/translation/Tests/DataCollectorTranslatorTest.php @@ -0,0 +1,81 @@ +<?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\Translation\Tests; + +use Symfony\Component\Translation\Translator; +use Symfony\Component\Translation\DataCollectorTranslator; +use Symfony\Component\Translation\Loader\ArrayLoader; + +class DataCollectorTranslatorTest extends \PHPUnit_Framework_TestCase +{ + protected function setUp() + { + if (!class_exists('Symfony\Component\HttpKernel\DataCollector\DataCollector')) { + $this->markTestSkipped('The "DataCollector" is not available'); + } + } + public function testCollectMessages() + { + $collector = $this->createCollector(); + $collector->setFallbackLocales(array('fr', 'ru')); + + $collector->trans('foo'); + $collector->trans('bar'); + $collector->transChoice('choice', 0); + $collector->trans('bar_ru'); + + $expectedMessages = array(); + $expectedMessages[] = array( + 'id' => 'foo', + 'translation' => 'foo (en)', + 'locale' => 'en', + 'domain' => 'messages', + 'state' => DataCollectorTranslator::MESSAGE_DEFINED, + ); + $expectedMessages[] = array( + 'id' => 'bar', + 'translation' => 'bar (fr)', + 'locale' => 'fr', + 'domain' => 'messages', + 'state' => DataCollectorTranslator::MESSAGE_EQUALS_FALLBACK, + ); + $expectedMessages[] = array( + 'id' => 'choice', + 'translation' => 'choice', + 'locale' => 'en', + 'domain' => 'messages', + 'state' => DataCollectorTranslator::MESSAGE_MISSING, + ); + $expectedMessages[] = array( + 'id' => 'bar_ru', + 'translation' => 'bar (ru)', + 'locale' => 'ru', + 'domain' => 'messages', + 'state' => DataCollectorTranslator::MESSAGE_EQUALS_FALLBACK, + ); + + $this->assertEquals($expectedMessages, $collector->getCollectedMessages()); + } + + private function createCollector() + { + $translator = new Translator('en'); + $translator->addLoader('array', new ArrayLoader()); + $translator->addResource('array', array('foo' => 'foo (en)'), 'en'); + $translator->addResource('array', array('bar' => 'bar (fr)'), 'fr'); + $translator->addResource('array', array('bar_ru' => 'bar (ru)'), 'ru'); + + $collector = new DataCollectorTranslator($translator); + + return $collector; + } +} diff --git a/core/vendor/symfony/translation/Tests/Dumper/CsvFileDumperTest.php b/core/vendor/symfony/translation/Tests/Dumper/CsvFileDumperTest.php new file mode 100644 index 0000000000000000000000000000000000000000..29177ff5f59034cb3de5a55cfc1bd39f1d44d1e5 --- /dev/null +++ b/core/vendor/symfony/translation/Tests/Dumper/CsvFileDumperTest.php @@ -0,0 +1,33 @@ +<?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\Translation\Tests\Dumper; + +use Symfony\Component\Translation\MessageCatalogue; +use Symfony\Component\Translation\Dumper\CsvFileDumper; + +class CsvFileDumperTest extends \PHPUnit_Framework_TestCase +{ + public function testDump() + { + $catalogue = new MessageCatalogue('en'); + $catalogue->add(array('foo' => 'bar', 'bar' => 'foo +foo', 'foo;foo' => 'bar')); + + $tempDir = sys_get_temp_dir(); + $dumper = new CsvFileDumper(); + $dumper->dump($catalogue, array('path' => $tempDir)); + + $this->assertEquals(file_get_contents(__DIR__.'/../fixtures/valid.csv'), file_get_contents($tempDir.'/messages.en.csv')); + + unlink($tempDir.'/messages.en.csv'); + } +} diff --git a/core/vendor/symfony/translation/Tests/Dumper/FileDumperTest.php b/core/vendor/symfony/translation/Tests/Dumper/FileDumperTest.php new file mode 100644 index 0000000000000000000000000000000000000000..96820890922a055ccbc52c986c882f79a3d3dcbe --- /dev/null +++ b/core/vendor/symfony/translation/Tests/Dumper/FileDumperTest.php @@ -0,0 +1,70 @@ +<?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\Translation\Tests\Dumper; + +use Symfony\Component\Translation\MessageCatalogue; +use Symfony\Component\Translation\Dumper\FileDumper; + +class FileDumperTest extends \PHPUnit_Framework_TestCase +{ + public function testDumpBackupsFileIfExisting() + { + $tempDir = sys_get_temp_dir(); + $file = $tempDir.'/messages.en.concrete'; + $backupFile = $file.'~'; + + @touch($file); + + $catalogue = new MessageCatalogue('en'); + $catalogue->add(array('foo' => 'bar')); + + $dumper = new ConcreteFileDumper(); + $dumper->dump($catalogue, array('path' => $tempDir)); + + $this->assertTrue(file_exists($backupFile)); + + @unlink($file); + @unlink($backupFile); + } + + public function testDumpCreatesNestedDirectoriesAndFile() + { + $tempDir = sys_get_temp_dir(); + $translationsDir = $tempDir.'/test/translations'; + $file = $translationsDir.'/messages.en.concrete'; + + $catalogue = new MessageCatalogue('en'); + $catalogue->add(array('foo' => 'bar')); + + $dumper = new ConcreteFileDumper(); + $dumper->setRelativePathTemplate('test/translations/%domain%.%locale%.%extension%'); + $dumper->dump($catalogue, array('path' => $tempDir)); + + $this->assertTrue(file_exists($file)); + + @unlink($file); + @rmdir($translationsDir); + } +} + +class ConcreteFileDumper extends FileDumper +{ + protected function format(MessageCatalogue $messages, $domain) + { + return ''; + } + + protected function getExtension() + { + return 'concrete'; + } +} diff --git a/core/vendor/symfony/translation/Tests/Dumper/IcuResFileDumperTest.php b/core/vendor/symfony/translation/Tests/Dumper/IcuResFileDumperTest.php new file mode 100644 index 0000000000000000000000000000000000000000..7be7dfbf5de067caee30561fd547e521ba1758c7 --- /dev/null +++ b/core/vendor/symfony/translation/Tests/Dumper/IcuResFileDumperTest.php @@ -0,0 +1,38 @@ +<?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\Translation\Tests\Dumper; + +use Symfony\Component\Translation\MessageCatalogue; +use Symfony\Component\Translation\Dumper\IcuResFileDumper; + +class IcuResFileDumperTest extends \PHPUnit_Framework_TestCase +{ + public function testDump() + { + if (!function_exists('mb_convert_encoding')) { + $this->markTestSkipped('This test requires mbstring to work.'); + } + + $catalogue = new MessageCatalogue('en'); + $catalogue->add(array('foo' => 'bar')); + + $tempDir = sys_get_temp_dir().'/IcuResFileDumperTest'; + $dumper = new IcuResFileDumper(); + $dumper->dump($catalogue, array('path' => $tempDir)); + + $this->assertEquals(file_get_contents(__DIR__.'/../fixtures/resourcebundle/res/en.res'), file_get_contents($tempDir.'/messages/en.res')); + + @unlink($tempDir.'/messages/en.res'); + @rmdir($tempDir.'/messages'); + @rmdir($tempDir); + } +} diff --git a/core/vendor/symfony/translation/Tests/Dumper/IniFileDumperTest.php b/core/vendor/symfony/translation/Tests/Dumper/IniFileDumperTest.php new file mode 100644 index 0000000000000000000000000000000000000000..2a2cefde1ef50205c7f1258374bae5ef9d6e1714 --- /dev/null +++ b/core/vendor/symfony/translation/Tests/Dumper/IniFileDumperTest.php @@ -0,0 +1,32 @@ +<?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\Translation\Tests\Dumper; + +use Symfony\Component\Translation\MessageCatalogue; +use Symfony\Component\Translation\Dumper\IniFileDumper; + +class IniFileDumperTest extends \PHPUnit_Framework_TestCase +{ + public function testDump() + { + $catalogue = new MessageCatalogue('en'); + $catalogue->add(array('foo' => 'bar')); + + $tempDir = sys_get_temp_dir(); + $dumper = new IniFileDumper(); + $dumper->dump($catalogue, array('path' => $tempDir)); + + $this->assertEquals(file_get_contents(__DIR__.'/../fixtures/resources.ini'), file_get_contents($tempDir.'/messages.en.ini')); + + unlink($tempDir.'/messages.en.ini'); + } +} diff --git a/core/vendor/symfony/translation/Tests/Dumper/JsonFileDumperTest.php b/core/vendor/symfony/translation/Tests/Dumper/JsonFileDumperTest.php new file mode 100644 index 0000000000000000000000000000000000000000..697cd939f607ad5ae23ac2b24a7b52d50a7b5519 --- /dev/null +++ b/core/vendor/symfony/translation/Tests/Dumper/JsonFileDumperTest.php @@ -0,0 +1,36 @@ +<?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\Translation\Tests\Dumper; + +use Symfony\Component\Translation\MessageCatalogue; +use Symfony\Component\Translation\Dumper\JsonFileDumper; + +class JsonFileDumperTest extends \PHPUnit_Framework_TestCase +{ + public function testDump() + { + if (PHP_VERSION_ID < 50400) { + $this->markTestIncomplete('PHP below 5.4 doesn\'t support JSON pretty printing'); + } + + $catalogue = new MessageCatalogue('en'); + $catalogue->add(array('foo' => 'bar')); + + $tempDir = sys_get_temp_dir(); + $dumper = new JsonFileDumper(); + $dumper->dump($catalogue, array('path' => $tempDir)); + + $this->assertEquals(file_get_contents(__DIR__.'/../fixtures/resources.json'), file_get_contents($tempDir.'/messages.en.json')); + + unlink($tempDir.'/messages.en.json'); + } +} diff --git a/core/vendor/symfony/translation/Tests/Dumper/MoFileDumperTest.php b/core/vendor/symfony/translation/Tests/Dumper/MoFileDumperTest.php new file mode 100644 index 0000000000000000000000000000000000000000..439a25cd222fcff4060ace1225394f8dba075101 --- /dev/null +++ b/core/vendor/symfony/translation/Tests/Dumper/MoFileDumperTest.php @@ -0,0 +1,31 @@ +<?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\Translation\Tests\Dumper; + +use Symfony\Component\Translation\MessageCatalogue; +use Symfony\Component\Translation\Dumper\MoFileDumper; + +class MoFileDumperTest extends \PHPUnit_Framework_TestCase +{ + public function testDump() + { + $catalogue = new MessageCatalogue('en'); + $catalogue->add(array('foo' => 'bar')); + + $tempDir = sys_get_temp_dir(); + $dumper = new MoFileDumper(); + $dumper->dump($catalogue, array('path' => $tempDir)); + $this->assertEquals(file_get_contents(__DIR__.'/../fixtures/resources.mo'), file_get_contents($tempDir.'/messages.en.mo')); + + unlink($tempDir.'/messages.en.mo'); + } +} diff --git a/core/vendor/symfony/translation/Tests/Dumper/PhpFileDumperTest.php b/core/vendor/symfony/translation/Tests/Dumper/PhpFileDumperTest.php new file mode 100644 index 0000000000000000000000000000000000000000..18be5a0dc48a6fddfad58abfde2c02fd57ec75f3 --- /dev/null +++ b/core/vendor/symfony/translation/Tests/Dumper/PhpFileDumperTest.php @@ -0,0 +1,32 @@ +<?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\Translation\Tests\Dumper; + +use Symfony\Component\Translation\MessageCatalogue; +use Symfony\Component\Translation\Dumper\PhpFileDumper; + +class PhpFileDumperTest extends \PHPUnit_Framework_TestCase +{ + public function testDump() + { + $catalogue = new MessageCatalogue('en'); + $catalogue->add(array('foo' => 'bar')); + + $tempDir = sys_get_temp_dir(); + $dumper = new PhpFileDumper(); + $dumper->dump($catalogue, array('path' => $tempDir)); + + $this->assertEquals(file_get_contents(__DIR__.'/../fixtures/resources.php'), file_get_contents($tempDir.'/messages.en.php')); + + unlink($tempDir.'/messages.en.php'); + } +} diff --git a/core/vendor/symfony/translation/Tests/Dumper/PoFileDumperTest.php b/core/vendor/symfony/translation/Tests/Dumper/PoFileDumperTest.php new file mode 100644 index 0000000000000000000000000000000000000000..0296d6b2eaaa1cafd8488a7f2666d79cd3f4ff47 --- /dev/null +++ b/core/vendor/symfony/translation/Tests/Dumper/PoFileDumperTest.php @@ -0,0 +1,31 @@ +<?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\Translation\Tests\Dumper; + +use Symfony\Component\Translation\MessageCatalogue; +use Symfony\Component\Translation\Dumper\PoFileDumper; + +class PoFileDumperTest extends \PHPUnit_Framework_TestCase +{ + public function testDump() + { + $catalogue = new MessageCatalogue('en'); + $catalogue->add(array('foo' => 'bar')); + + $tempDir = sys_get_temp_dir(); + $dumper = new PoFileDumper(); + $dumper->dump($catalogue, array('path' => $tempDir)); + $this->assertEquals(file_get_contents(__DIR__.'/../fixtures/resources.po'), file_get_contents($tempDir.'/messages.en.po')); + + unlink($tempDir.'/messages.en.po'); + } +} diff --git a/core/vendor/symfony/translation/Tests/Dumper/QtFileDumperTest.php b/core/vendor/symfony/translation/Tests/Dumper/QtFileDumperTest.php new file mode 100644 index 0000000000000000000000000000000000000000..d7d8fb7e469878102be1805ffe65ad204c04cacf --- /dev/null +++ b/core/vendor/symfony/translation/Tests/Dumper/QtFileDumperTest.php @@ -0,0 +1,32 @@ +<?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\Translation\Tests\Dumper; + +use Symfony\Component\Translation\MessageCatalogue; +use Symfony\Component\Translation\Dumper\QtFileDumper; + +class QtFileDumperTest extends \PHPUnit_Framework_TestCase +{ + public function testDump() + { + $catalogue = new MessageCatalogue('en'); + $catalogue->add(array('foo' => 'bar'), 'resources'); + + $tempDir = sys_get_temp_dir(); + $dumper = new QtFileDumper(); + $dumper->dump($catalogue, array('path' => $tempDir)); + + $this->assertEquals(file_get_contents(__DIR__.'/../fixtures/resources.ts'), file_get_contents($tempDir.'/resources.en.ts')); + + unlink($tempDir.'/resources.en.ts'); + } +} diff --git a/core/vendor/symfony/translation/Tests/Dumper/XliffFileDumperTest.php b/core/vendor/symfony/translation/Tests/Dumper/XliffFileDumperTest.php new file mode 100644 index 0000000000000000000000000000000000000000..dff2cc4c94a5bc6c3e58e3c939a7aa6b92185c84 --- /dev/null +++ b/core/vendor/symfony/translation/Tests/Dumper/XliffFileDumperTest.php @@ -0,0 +1,41 @@ +<?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\Translation\Tests\Dumper; + +use Symfony\Component\Translation\MessageCatalogue; +use Symfony\Component\Translation\Dumper\XliffFileDumper; + +class XliffFileDumperTest extends \PHPUnit_Framework_TestCase +{ + public function testDump() + { + $catalogue = new MessageCatalogue('en_US'); + $catalogue->add(array( + 'foo' => 'bar', + 'key' => '', + 'key.with.cdata' => '<source> & <target>', + )); + $catalogue->setMetadata('foo', array('notes' => array(array('priority' => 1, 'from' => 'bar', 'content' => 'baz')))); + $catalogue->setMetadata('key', array('notes' => array(array('content' => 'baz'), array('content' => 'qux')))); + + $tempDir = sys_get_temp_dir(); + $dumper = new XliffFileDumper(); + $dumper->dump($catalogue, array('path' => $tempDir, 'default_locale' => 'fr_FR')); + + $this->assertEquals( + file_get_contents(__DIR__.'/../fixtures/resources-clean.xlf'), + file_get_contents($tempDir.'/messages.en_US.xlf') + ); + + unlink($tempDir.'/messages.en_US.xlf'); + } +} diff --git a/core/vendor/symfony/translation/Tests/Dumper/YamlFileDumperTest.php b/core/vendor/symfony/translation/Tests/Dumper/YamlFileDumperTest.php new file mode 100644 index 0000000000000000000000000000000000000000..3c68ade753114ab6aeaa6bf97bfccdef44f530af --- /dev/null +++ b/core/vendor/symfony/translation/Tests/Dumper/YamlFileDumperTest.php @@ -0,0 +1,32 @@ +<?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\Translation\Tests\Dumper; + +use Symfony\Component\Translation\MessageCatalogue; +use Symfony\Component\Translation\Dumper\YamlFileDumper; + +class YamlFileDumperTest extends \PHPUnit_Framework_TestCase +{ + public function testDump() + { + $catalogue = new MessageCatalogue('en'); + $catalogue->add(array('foo' => 'bar')); + + $tempDir = sys_get_temp_dir(); + $dumper = new YamlFileDumper(); + $dumper->dump($catalogue, array('path' => $tempDir)); + + $this->assertEquals(file_get_contents(__DIR__.'/../fixtures/resources.yml'), file_get_contents($tempDir.'/messages.en.yml')); + + unlink($tempDir.'/messages.en.yml'); + } +} diff --git a/core/vendor/symfony/translation/Tests/IdentityTranslatorTest.php b/core/vendor/symfony/translation/Tests/IdentityTranslatorTest.php new file mode 100644 index 0000000000000000000000000000000000000000..352dd318dc73c6d3a3a33ed6410dd67a0203437d --- /dev/null +++ b/core/vendor/symfony/translation/Tests/IdentityTranslatorTest.php @@ -0,0 +1,95 @@ +<?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\Translation\Tests; + +use Symfony\Component\Intl\Util\IntlTestHelper; +use Symfony\Component\Translation\IdentityTranslator; + +class IdentityTranslatorTest extends \PHPUnit_Framework_TestCase +{ + /** + * @dataProvider getTransTests + */ + public function testTrans($expected, $id, $parameters) + { + $translator = new IdentityTranslator(); + + $this->assertEquals($expected, $translator->trans($id, $parameters)); + } + + /** + * @dataProvider getTransChoiceTests + */ + public function testTransChoiceWithExplicitLocale($expected, $id, $number, $parameters) + { + $translator = new IdentityTranslator(); + $translator->setLocale('en'); + + $this->assertEquals($expected, $translator->transChoice($id, $number, $parameters)); + } + + /** + * @dataProvider getTransChoiceTests + */ + public function testTransChoiceWithDefaultLocale($expected, $id, $number, $parameters) + { + \Locale::setDefault('en'); + + $translator = new IdentityTranslator(); + + $this->assertEquals($expected, $translator->transChoice($id, $number, $parameters)); + } + + public function testGetSetLocale() + { + $translator = new IdentityTranslator(); + $translator->setLocale('en'); + + $this->assertEquals('en', $translator->getLocale()); + } + + public function testGetLocaleReturnsDefaultLocaleIfNotSet() + { + // in order to test with "pt_BR" + IntlTestHelper::requireFullIntl($this); + + $translator = new IdentityTranslator(); + + \Locale::setDefault('en'); + $this->assertEquals('en', $translator->getLocale()); + + \Locale::setDefault('pt_BR'); + $this->assertEquals('pt_BR', $translator->getLocale()); + } + + public function getTransTests() + { + return array( + array('Symfony is great!', 'Symfony is great!', array()), + array('Symfony is awesome!', 'Symfony is %what%!', array('%what%' => 'awesome')), + ); + } + + public function getTransChoiceTests() + { + return array( + array('There are no apples', '{0} There are no apples|{1} There is one apple|]1,Inf] There are %count% apples', 0, array('%count%' => 0)), + array('There is one apple', '{0} There are no apples|{1} There is one apple|]1,Inf] There are %count% apples', 1, array('%count%' => 1)), + array('There are 10 apples', '{0} There are no apples|{1} There is one apple|]1,Inf] There are %count% apples', 10, array('%count%' => 10)), + array('There are 0 apples', 'There is 1 apple|There are %count% apples', 0, array('%count%' => 0)), + array('There is 1 apple', 'There is 1 apple|There are %count% apples', 1, array('%count%' => 1)), + array('There are 10 apples', 'There is 1 apple|There are %count% apples', 10, array('%count%' => 10)), + // custom validation messages may be coded with a fixed value + array('There are 2 apples', 'There are 2 apples', 2, array('%count%' => 2)), + ); + } +} diff --git a/core/vendor/symfony/translation/Tests/IntervalTest.php b/core/vendor/symfony/translation/Tests/IntervalTest.php new file mode 100644 index 0000000000000000000000000000000000000000..075c98b768f8e29687af45da345b23b6a3a4fb4e --- /dev/null +++ b/core/vendor/symfony/translation/Tests/IntervalTest.php @@ -0,0 +1,48 @@ +<?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\Translation\Tests; + +use Symfony\Component\Translation\Interval; + +class IntervalTest extends \PHPUnit_Framework_TestCase +{ + /** + * @dataProvider getTests + */ + public function testTest($expected, $number, $interval) + { + $this->assertEquals($expected, Interval::test($number, $interval)); + } + + /** + * @expectedException \InvalidArgumentException + */ + public function testTestException() + { + Interval::test(1, 'foobar'); + } + + public function getTests() + { + return array( + array(true, 3, '{1,2, 3 ,4}'), + array(false, 10, '{1,2, 3 ,4}'), + array(false, 3, '[1,2]'), + array(true, 1, '[1,2]'), + array(true, 2, '[1,2]'), + array(false, 1, ']1,2['), + array(false, 2, ']1,2['), + array(true, log(0), '[-Inf,2['), + array(true, -log(0), '[-2,+Inf]'), + ); + } +} diff --git a/core/vendor/symfony/translation/Tests/Loader/CsvFileLoaderTest.php b/core/vendor/symfony/translation/Tests/Loader/CsvFileLoaderTest.php new file mode 100644 index 0000000000000000000000000000000000000000..463d3b50816f6b9f08ff452b3c09b2c4f77a87b1 --- /dev/null +++ b/core/vendor/symfony/translation/Tests/Loader/CsvFileLoaderTest.php @@ -0,0 +1,60 @@ +<?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\Translation\Tests\Loader; + +use Symfony\Component\Translation\Loader\CsvFileLoader; +use Symfony\Component\Config\Resource\FileResource; + +class CsvFileLoaderTest extends \PHPUnit_Framework_TestCase +{ + public function testLoad() + { + $loader = new CsvFileLoader(); + $resource = __DIR__.'/../fixtures/resources.csv'; + $catalogue = $loader->load($resource, 'en', 'domain1'); + + $this->assertEquals(array('foo' => 'bar'), $catalogue->all('domain1')); + $this->assertEquals('en', $catalogue->getLocale()); + $this->assertEquals(array(new FileResource($resource)), $catalogue->getResources()); + } + + public function testLoadDoesNothingIfEmpty() + { + $loader = new CsvFileLoader(); + $resource = __DIR__.'/../fixtures/empty.csv'; + $catalogue = $loader->load($resource, 'en', 'domain1'); + + $this->assertEquals(array(), $catalogue->all('domain1')); + $this->assertEquals('en', $catalogue->getLocale()); + $this->assertEquals(array(new FileResource($resource)), $catalogue->getResources()); + } + + /** + * @expectedException \Symfony\Component\Translation\Exception\NotFoundResourceException + */ + public function testLoadNonExistingResource() + { + $loader = new CsvFileLoader(); + $resource = __DIR__.'/../fixtures/not-exists.csv'; + $loader->load($resource, 'en', 'domain1'); + } + + /** + * @expectedException \Symfony\Component\Translation\Exception\InvalidResourceException + */ + public function testLoadNonLocalResource() + { + $loader = new CsvFileLoader(); + $resource = 'http://example.com/resources.csv'; + $loader->load($resource, 'en', 'domain1'); + } +} diff --git a/core/vendor/symfony/translation/Tests/Loader/IcuDatFileLoaderTest.php b/core/vendor/symfony/translation/Tests/Loader/IcuDatFileLoaderTest.php new file mode 100644 index 0000000000000000000000000000000000000000..ea9643d682b3eeddb5c498565528679671b6ad2a --- /dev/null +++ b/core/vendor/symfony/translation/Tests/Loader/IcuDatFileLoaderTest.php @@ -0,0 +1,68 @@ +<?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\Translation\Tests\Loader; + +use Symfony\Component\Translation\Loader\IcuDatFileLoader; +use Symfony\Component\Config\Resource\FileResource; + +class IcuDatFileLoaderTest extends LocalizedTestCase +{ + protected function setUp() + { + if (!extension_loaded('intl')) { + $this->markTestSkipped('This test requires intl extension to work.'); + } + } + + /** + * @expectedException \Symfony\Component\Translation\Exception\InvalidResourceException + */ + public function testLoadInvalidResource() + { + $loader = new IcuDatFileLoader(); + $loader->load(__DIR__.'/../fixtures/resourcebundle/corrupted/resources', 'es', 'domain2'); + } + + public function testDatEnglishLoad() + { + // bundled resource is build using pkgdata command which at least in ICU 4.2 comes in extremely! buggy form + // you must specify an temporary build directory which is not the same as current directory and + // MUST reside on the same partition. pkgdata -p resources -T /srv -d.packagelist.txt + $loader = new IcuDatFileLoader(); + $resource = __DIR__.'/../fixtures/resourcebundle/dat/resources'; + $catalogue = $loader->load($resource, 'en', 'domain1'); + + $this->assertEquals(array('symfony' => 'Symfony 2 is great'), $catalogue->all('domain1')); + $this->assertEquals('en', $catalogue->getLocale()); + $this->assertEquals(array(new FileResource($resource.'.dat')), $catalogue->getResources()); + } + + public function testDatFrenchLoad() + { + $loader = new IcuDatFileLoader(); + $resource = __DIR__.'/../fixtures/resourcebundle/dat/resources'; + $catalogue = $loader->load($resource, 'fr', 'domain1'); + + $this->assertEquals(array('symfony' => 'Symfony 2 est génial'), $catalogue->all('domain1')); + $this->assertEquals('fr', $catalogue->getLocale()); + $this->assertEquals(array(new FileResource($resource.'.dat')), $catalogue->getResources()); + } + + /** + * @expectedException \Symfony\Component\Translation\Exception\NotFoundResourceException + */ + public function testLoadNonExistingResource() + { + $loader = new IcuDatFileLoader(); + $loader->load(__DIR__.'/../fixtures/non-existing.txt', 'en', 'domain1'); + } +} diff --git a/core/vendor/symfony/translation/Tests/Loader/IcuResFileLoaderTest.php b/core/vendor/symfony/translation/Tests/Loader/IcuResFileLoaderTest.php new file mode 100644 index 0000000000000000000000000000000000000000..1a935c0404d322c306be43f68449f947cabbdbe5 --- /dev/null +++ b/core/vendor/symfony/translation/Tests/Loader/IcuResFileLoaderTest.php @@ -0,0 +1,55 @@ +<?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\Translation\Tests\Loader; + +use Symfony\Component\Translation\Loader\IcuResFileLoader; +use Symfony\Component\Config\Resource\DirectoryResource; + +class IcuResFileLoaderTest extends LocalizedTestCase +{ + protected function setUp() + { + if (!extension_loaded('intl')) { + $this->markTestSkipped('This test requires intl extension to work.'); + } + } + + public function testLoad() + { + // resource is build using genrb command + $loader = new IcuResFileLoader(); + $resource = __DIR__.'/../fixtures/resourcebundle/res'; + $catalogue = $loader->load($resource, 'en', 'domain1'); + + $this->assertEquals(array('foo' => 'bar'), $catalogue->all('domain1')); + $this->assertEquals('en', $catalogue->getLocale()); + $this->assertEquals(array(new DirectoryResource($resource)), $catalogue->getResources()); + } + + /** + * @expectedException \Symfony\Component\Translation\Exception\NotFoundResourceException + */ + public function testLoadNonExistingResource() + { + $loader = new IcuResFileLoader(); + $loader->load(__DIR__.'/../fixtures/non-existing.txt', 'en', 'domain1'); + } + + /** + * @expectedException \Symfony\Component\Translation\Exception\InvalidResourceException + */ + public function testLoadInvalidResource() + { + $loader = new IcuResFileLoader(); + $loader->load(__DIR__.'/../fixtures/resourcebundle/corrupted', 'en', 'domain1'); + } +} diff --git a/core/vendor/symfony/translation/Tests/Loader/IniFileLoaderTest.php b/core/vendor/symfony/translation/Tests/Loader/IniFileLoaderTest.php new file mode 100644 index 0000000000000000000000000000000000000000..1a5de0ed58d69c7bd0fea63050e6f060e373042c --- /dev/null +++ b/core/vendor/symfony/translation/Tests/Loader/IniFileLoaderTest.php @@ -0,0 +1,50 @@ +<?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\Translation\Tests\Loader; + +use Symfony\Component\Translation\Loader\IniFileLoader; +use Symfony\Component\Config\Resource\FileResource; + +class IniFileLoaderTest extends \PHPUnit_Framework_TestCase +{ + public function testLoad() + { + $loader = new IniFileLoader(); + $resource = __DIR__.'/../fixtures/resources.ini'; + $catalogue = $loader->load($resource, 'en', 'domain1'); + + $this->assertEquals(array('foo' => 'bar'), $catalogue->all('domain1')); + $this->assertEquals('en', $catalogue->getLocale()); + $this->assertEquals(array(new FileResource($resource)), $catalogue->getResources()); + } + + public function testLoadDoesNothingIfEmpty() + { + $loader = new IniFileLoader(); + $resource = __DIR__.'/../fixtures/empty.ini'; + $catalogue = $loader->load($resource, 'en', 'domain1'); + + $this->assertEquals(array(), $catalogue->all('domain1')); + $this->assertEquals('en', $catalogue->getLocale()); + $this->assertEquals(array(new FileResource($resource)), $catalogue->getResources()); + } + + /** + * @expectedException \Symfony\Component\Translation\Exception\NotFoundResourceException + */ + public function testLoadNonExistingResource() + { + $loader = new IniFileLoader(); + $resource = __DIR__.'/../fixtures/non-existing.ini'; + $loader->load($resource, 'en', 'domain1'); + } +} diff --git a/core/vendor/symfony/translation/Tests/Loader/JsonFileLoaderTest.php b/core/vendor/symfony/translation/Tests/Loader/JsonFileLoaderTest.php new file mode 100644 index 0000000000000000000000000000000000000000..6d4f353bf7dde2e8dfba585d04245569d9f06287 --- /dev/null +++ b/core/vendor/symfony/translation/Tests/Loader/JsonFileLoaderTest.php @@ -0,0 +1,68 @@ +<?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\Translation\Tests\Loader; + +use Symfony\Component\Translation\Loader\JsonFileLoader; +use Symfony\Component\Config\Resource\FileResource; + +class JsonFileLoaderTest extends \PHPUnit_Framework_TestCase +{ + protected function setUp() + { + if (!class_exists('Symfony\Component\Config\Loader\Loader')) { + $this->markTestSkipped('The "Config" component is not available'); + } + } + + public function testLoad() + { + $loader = new JsonFileLoader(); + $resource = __DIR__.'/../fixtures/resources.json'; + $catalogue = $loader->load($resource, 'en', 'domain1'); + + $this->assertEquals(array('foo' => 'bar'), $catalogue->all('domain1')); + $this->assertEquals('en', $catalogue->getLocale()); + $this->assertEquals(array(new FileResource($resource)), $catalogue->getResources()); + } + + public function testLoadDoesNothingIfEmpty() + { + $loader = new JsonFileLoader(); + $resource = __DIR__.'/../fixtures/empty.json'; + $catalogue = $loader->load($resource, 'en', 'domain1'); + + $this->assertEquals(array(), $catalogue->all('domain1')); + $this->assertEquals('en', $catalogue->getLocale()); + $this->assertEquals(array(new FileResource($resource)), $catalogue->getResources()); + } + + /** + * @expectedException \Symfony\Component\Translation\Exception\NotFoundResourceException + */ + public function testLoadNonExistingResource() + { + $loader = new JsonFileLoader(); + $resource = __DIR__.'/../fixtures/non-existing.json'; + $loader->load($resource, 'en', 'domain1'); + } + + /** + * @expectedException \Symfony\Component\Translation\Exception\InvalidResourceException + * @expectedExceptionMessage Error parsing JSON - Syntax error, malformed JSON + */ + public function testParseException() + { + $loader = new JsonFileLoader(); + $resource = __DIR__.'/../fixtures/malformed.json'; + $loader->load($resource, 'en', 'domain1'); + } +} diff --git a/core/vendor/symfony/translation/Tests/Loader/LocalizedTestCase.php b/core/vendor/symfony/translation/Tests/Loader/LocalizedTestCase.php new file mode 100644 index 0000000000000000000000000000000000000000..9d7c5d70e826319c6d3fc4f3a64ff5ec1e9fd8f1 --- /dev/null +++ b/core/vendor/symfony/translation/Tests/Loader/LocalizedTestCase.php @@ -0,0 +1,22 @@ +<?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\Translation\Tests\Loader; + +abstract class LocalizedTestCase extends \PHPUnit_Framework_TestCase +{ + protected function setUp() + { + if (!extension_loaded('intl')) { + $this->markTestSkipped('The "intl" extension is not available'); + } + } +} diff --git a/core/vendor/symfony/translation/Tests/Loader/MoFileLoaderTest.php b/core/vendor/symfony/translation/Tests/Loader/MoFileLoaderTest.php new file mode 100644 index 0000000000000000000000000000000000000000..34078d0a9e48c251e5d6e1b92262a8975a163a70 --- /dev/null +++ b/core/vendor/symfony/translation/Tests/Loader/MoFileLoaderTest.php @@ -0,0 +1,71 @@ +<?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\Translation\Tests\Loader; + +use Symfony\Component\Translation\Loader\MoFileLoader; +use Symfony\Component\Config\Resource\FileResource; + +class MoFileLoaderTest extends \PHPUnit_Framework_TestCase +{ + public function testLoad() + { + $loader = new MoFileLoader(); + $resource = __DIR__.'/../fixtures/resources.mo'; + $catalogue = $loader->load($resource, 'en', 'domain1'); + + $this->assertEquals(array('foo' => 'bar'), $catalogue->all('domain1')); + $this->assertEquals('en', $catalogue->getLocale()); + $this->assertEquals(array(new FileResource($resource)), $catalogue->getResources()); + } + + public function testLoadPlurals() + { + $loader = new MoFileLoader(); + $resource = __DIR__.'/../fixtures/plurals.mo'; + $catalogue = $loader->load($resource, 'en', 'domain1'); + + $this->assertEquals(array('foo' => 'bar', 'foos' => '{0} bar|{1} bars'), $catalogue->all('domain1')); + $this->assertEquals('en', $catalogue->getLocale()); + $this->assertEquals(array(new FileResource($resource)), $catalogue->getResources()); + } + + /** + * @expectedException \Symfony\Component\Translation\Exception\NotFoundResourceException + */ + public function testLoadNonExistingResource() + { + $loader = new MoFileLoader(); + $resource = __DIR__.'/../fixtures/non-existing.mo'; + $loader->load($resource, 'en', 'domain1'); + } + + /** + * @expectedException \Symfony\Component\Translation\Exception\InvalidResourceException + */ + public function testLoadInvalidResource() + { + $loader = new MoFileLoader(); + $resource = __DIR__.'/../fixtures/empty.mo'; + $loader->load($resource, 'en', 'domain1'); + } + + public function testLoadEmptyTranslation() + { + $loader = new MoFileLoader(); + $resource = __DIR__.'/../fixtures/empty-translation.mo'; + $catalogue = $loader->load($resource, 'en', 'message'); + + $this->assertEquals(array(), $catalogue->all('message')); + $this->assertEquals('en', $catalogue->getLocale()); + $this->assertEquals(array(new FileResource($resource)), $catalogue->getResources()); + } +} diff --git a/core/vendor/symfony/translation/Tests/Loader/PhpFileLoaderTest.php b/core/vendor/symfony/translation/Tests/Loader/PhpFileLoaderTest.php new file mode 100644 index 0000000000000000000000000000000000000000..0816b0f8549d19d839e201fce69963d346b9f00a --- /dev/null +++ b/core/vendor/symfony/translation/Tests/Loader/PhpFileLoaderTest.php @@ -0,0 +1,49 @@ +<?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\Translation\Tests\Loader; + +use Symfony\Component\Translation\Loader\PhpFileLoader; +use Symfony\Component\Config\Resource\FileResource; + +class PhpFileLoaderTest extends \PHPUnit_Framework_TestCase +{ + public function testLoad() + { + $loader = new PhpFileLoader(); + $resource = __DIR__.'/../fixtures/resources.php'; + $catalogue = $loader->load($resource, 'en', 'domain1'); + + $this->assertEquals(array('foo' => 'bar'), $catalogue->all('domain1')); + $this->assertEquals('en', $catalogue->getLocale()); + $this->assertEquals(array(new FileResource($resource)), $catalogue->getResources()); + } + + /** + * @expectedException \Symfony\Component\Translation\Exception\NotFoundResourceException + */ + public function testLoadNonExistingResource() + { + $loader = new PhpFileLoader(); + $resource = __DIR__.'/../fixtures/non-existing.php'; + $loader->load($resource, 'en', 'domain1'); + } + + /** + * @expectedException \Symfony\Component\Translation\Exception\InvalidResourceException + */ + public function testLoadThrowsAnExceptionIfFileNotLocal() + { + $loader = new PhpFileLoader(); + $resource = 'http://example.com/resources.php'; + $loader->load($resource, 'en', 'domain1'); + } +} diff --git a/core/vendor/symfony/translation/Tests/Loader/PoFileLoaderTest.php b/core/vendor/symfony/translation/Tests/Loader/PoFileLoaderTest.php new file mode 100644 index 0000000000000000000000000000000000000000..87090eb7369227c82a338a05903065177dc97d98 --- /dev/null +++ b/core/vendor/symfony/translation/Tests/Loader/PoFileLoaderTest.php @@ -0,0 +1,96 @@ +<?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\Translation\Tests\Loader; + +use Symfony\Component\Translation\Loader\PoFileLoader; +use Symfony\Component\Config\Resource\FileResource; + +class PoFileLoaderTest extends \PHPUnit_Framework_TestCase +{ + public function testLoad() + { + $loader = new PoFileLoader(); + $resource = __DIR__.'/../fixtures/resources.po'; + $catalogue = $loader->load($resource, 'en', 'domain1'); + + $this->assertEquals(array('foo' => 'bar'), $catalogue->all('domain1')); + $this->assertEquals('en', $catalogue->getLocale()); + $this->assertEquals(array(new FileResource($resource)), $catalogue->getResources()); + } + + public function testLoadPlurals() + { + $loader = new PoFileLoader(); + $resource = __DIR__.'/../fixtures/plurals.po'; + $catalogue = $loader->load($resource, 'en', 'domain1'); + + $this->assertEquals(array('foo' => 'bar', 'foos' => 'bar|bars'), $catalogue->all('domain1')); + $this->assertEquals('en', $catalogue->getLocale()); + $this->assertEquals(array(new FileResource($resource)), $catalogue->getResources()); + } + + public function testLoadDoesNothingIfEmpty() + { + $loader = new PoFileLoader(); + $resource = __DIR__.'/../fixtures/empty.po'; + $catalogue = $loader->load($resource, 'en', 'domain1'); + + $this->assertEquals(array(), $catalogue->all('domain1')); + $this->assertEquals('en', $catalogue->getLocale()); + $this->assertEquals(array(new FileResource($resource)), $catalogue->getResources()); + } + + /** + * @expectedException \Symfony\Component\Translation\Exception\NotFoundResourceException + */ + public function testLoadNonExistingResource() + { + $loader = new PoFileLoader(); + $resource = __DIR__.'/../fixtures/non-existing.po'; + $loader->load($resource, 'en', 'domain1'); + } + + public function testLoadEmptyTranslation() + { + $loader = new PoFileLoader(); + $resource = __DIR__.'/../fixtures/empty-translation.po'; + $catalogue = $loader->load($resource, 'en', 'domain1'); + + $this->assertEquals(array('foo' => ''), $catalogue->all('domain1')); + $this->assertEquals('en', $catalogue->getLocale()); + $this->assertEquals(array(new FileResource($resource)), $catalogue->getResources()); + } + + public function testEscapedId() + { + $loader = new PoFileLoader(); + $resource = __DIR__.'/../fixtures/escaped-id.po'; + $catalogue = $loader->load($resource, 'en', 'domain1'); + + $messages = $catalogue->all('domain1'); + $this->assertArrayHasKey('escaped "foo"', $messages); + $this->assertEquals('escaped "bar"', $messages['escaped "foo"']); + } + + public function testEscapedIdPlurals() + { + $loader = new PoFileLoader(); + $resource = __DIR__.'/../fixtures/escaped-id-plurals.po'; + $catalogue = $loader->load($resource, 'en', 'domain1'); + + $messages = $catalogue->all('domain1'); + $this->assertArrayHasKey('escaped "foo"', $messages); + $this->assertArrayHasKey('escaped "foos"', $messages); + $this->assertEquals('escaped "bar"', $messages['escaped "foo"']); + $this->assertEquals('escaped "bar"|escaped "bars"', $messages['escaped "foos"']); + } +} diff --git a/core/vendor/symfony/translation/Tests/Loader/QtFileLoaderTest.php b/core/vendor/symfony/translation/Tests/Loader/QtFileLoaderTest.php new file mode 100644 index 0000000000000000000000000000000000000000..3aca86a53ed64ac297c490a7d01da459966cbbbe --- /dev/null +++ b/core/vendor/symfony/translation/Tests/Loader/QtFileLoaderTest.php @@ -0,0 +1,67 @@ +<?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\Translation\Tests\Loader; + +use Symfony\Component\Translation\Loader\QtFileLoader; +use Symfony\Component\Config\Resource\FileResource; + +class QtFileLoaderTest extends \PHPUnit_Framework_TestCase +{ + public function testLoad() + { + $loader = new QtFileLoader(); + $resource = __DIR__.'/../fixtures/resources.ts'; + $catalogue = $loader->load($resource, 'en', 'resources'); + + $this->assertEquals(array('foo' => 'bar'), $catalogue->all('resources')); + $this->assertEquals('en', $catalogue->getLocale()); + $this->assertEquals(array(new FileResource($resource)), $catalogue->getResources()); + } + + /** + * @expectedException \Symfony\Component\Translation\Exception\NotFoundResourceException + */ + public function testLoadNonExistingResource() + { + $loader = new QtFileLoader(); + $resource = __DIR__.'/../fixtures/non-existing.ts'; + $loader->load($resource, 'en', 'domain1'); + } + + /** + * @expectedException \Symfony\Component\Translation\Exception\InvalidResourceException + */ + public function testLoadNonLocalResource() + { + $loader = new QtFileLoader(); + $resource = 'http://domain1.com/resources.ts'; + $loader->load($resource, 'en', 'domain1'); + } + + /** + * @expectedException \Symfony\Component\Translation\Exception\InvalidResourceException + */ + public function testLoadInvalidResource() + { + $loader = new QtFileLoader(); + $resource = __DIR__.'/../fixtures/invalid-xml-resources.xlf'; + $loader->load($resource, 'en', 'domain1'); + } + + public function testLoadEmptyResource() + { + $loader = new QtFileLoader(); + $resource = __DIR__.'/../fixtures/empty.xlf'; + $this->setExpectedException('Symfony\Component\Translation\Exception\InvalidResourceException', sprintf('Unable to load "%s".', $resource)); + $loader->load($resource, 'en', 'domain1'); + } +} diff --git a/core/vendor/symfony/translation/Tests/Loader/XliffFileLoaderTest.php b/core/vendor/symfony/translation/Tests/Loader/XliffFileLoaderTest.php new file mode 100644 index 0000000000000000000000000000000000000000..c3d65b493202e875268ef34ee999e8c224fdc54d --- /dev/null +++ b/core/vendor/symfony/translation/Tests/Loader/XliffFileLoaderTest.php @@ -0,0 +1,142 @@ +<?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\Translation\Tests\Loader; + +use Symfony\Component\Translation\Loader\XliffFileLoader; +use Symfony\Component\Config\Resource\FileResource; + +class XliffFileLoaderTest extends \PHPUnit_Framework_TestCase +{ + public function testLoad() + { + $loader = new XliffFileLoader(); + $resource = __DIR__.'/../fixtures/resources.xlf'; + $catalogue = $loader->load($resource, 'en', 'domain1'); + + $this->assertEquals('en', $catalogue->getLocale()); + $this->assertEquals(array(new FileResource($resource)), $catalogue->getResources()); + $this->assertSame(array(), libxml_get_errors()); + } + + public function testLoadWithInternalErrorsEnabled() + { + libxml_use_internal_errors(true); + + $this->assertSame(array(), libxml_get_errors()); + + $loader = new XliffFileLoader(); + $resource = __DIR__.'/../fixtures/resources.xlf'; + $catalogue = $loader->load($resource, 'en', 'domain1'); + + $this->assertEquals('en', $catalogue->getLocale()); + $this->assertEquals(array(new FileResource($resource)), $catalogue->getResources()); + $this->assertSame(array(), libxml_get_errors()); + } + + public function testLoadWithResname() + { + $loader = new XliffFileLoader(); + $catalogue = $loader->load(__DIR__.'/../fixtures/resname.xlf', 'en', 'domain1'); + + $this->assertEquals(array('foo' => 'bar', 'bar' => 'baz', 'baz' => 'foo'), $catalogue->all('domain1')); + } + + public function testIncompleteResource() + { + $loader = new XliffFileLoader(); + $catalogue = $loader->load(__DIR__.'/../fixtures/resources.xlf', 'en', 'domain1'); + + $this->assertEquals(array('foo' => 'bar', 'key' => '', 'test' => 'with'), $catalogue->all('domain1')); + $this->assertFalse($catalogue->has('extra', 'domain1')); + } + + public function testEncoding() + { + if (!function_exists('iconv') && !function_exists('mb_convert_encoding')) { + $this->markTestSkipped('The iconv and mbstring extensions are not available.'); + } + + $loader = new XliffFileLoader(); + $catalogue = $loader->load(__DIR__.'/../fixtures/encoding.xlf', 'en', 'domain1'); + + $this->assertEquals(utf8_decode('föö'), $catalogue->get('bar', 'domain1')); + $this->assertEquals(utf8_decode('bär'), $catalogue->get('foo', 'domain1')); + $this->assertEquals(array('notes' => array(array('content' => utf8_decode('bäz')))), $catalogue->getMetadata('foo', 'domain1')); + } + + /** + * @expectedException \Symfony\Component\Translation\Exception\InvalidResourceException + */ + public function testLoadInvalidResource() + { + $loader = new XliffFileLoader(); + $loader->load(__DIR__.'/../fixtures/resources.php', 'en', 'domain1'); + } + + /** + * @expectedException \Symfony\Component\Translation\Exception\InvalidResourceException + */ + public function testLoadResourceDoesNotValidate() + { + $loader = new XliffFileLoader(); + $loader->load(__DIR__.'/../fixtures/non-valid.xlf', 'en', 'domain1'); + } + + /** + * @expectedException \Symfony\Component\Translation\Exception\NotFoundResourceException + */ + public function testLoadNonExistingResource() + { + $loader = new XliffFileLoader(); + $resource = __DIR__.'/../fixtures/non-existing.xlf'; + $loader->load($resource, 'en', 'domain1'); + } + + /** + * @expectedException \Symfony\Component\Translation\Exception\InvalidResourceException + */ + public function testLoadThrowsAnExceptionIfFileNotLocal() + { + $loader = new XliffFileLoader(); + $resource = 'http://example.com/resources.xlf'; + $loader->load($resource, 'en', 'domain1'); + } + + /** + * @expectedException \Symfony\Component\Translation\Exception\InvalidResourceException + * @expectedExceptionMessage Document types are not allowed. + */ + public function testDocTypeIsNotAllowed() + { + $loader = new XliffFileLoader(); + $loader->load(__DIR__.'/../fixtures/withdoctype.xlf', 'en', 'domain1'); + } + + public function testParseEmptyFile() + { + $loader = new XliffFileLoader(); + $resource = __DIR__.'/../fixtures/empty.xlf'; + $this->setExpectedException('Symfony\Component\Translation\Exception\InvalidResourceException', sprintf('Unable to load "%s":', $resource)); + $loader->load($resource, 'en', 'domain1'); + } + + public function testLoadNotes() + { + $loader = new XliffFileLoader(); + $catalogue = $loader->load(__DIR__.'/../fixtures/withnote.xlf', 'en', 'domain1'); + + $this->assertEquals(array('notes' => array(array('priority' => 1, 'content' => 'foo'))), $catalogue->getMetadata('foo', 'domain1')); + // message without target + $this->assertNull($catalogue->getMetadata('extra', 'domain1')); + $this->assertEquals(array('notes' => array(array('content' => 'baz'), array('priority' => 2, 'from' => 'bar', 'content' => 'qux'))), $catalogue->getMetadata('key', 'domain1')); + } +} diff --git a/core/vendor/symfony/translation/Tests/Loader/YamlFileLoaderTest.php b/core/vendor/symfony/translation/Tests/Loader/YamlFileLoaderTest.php new file mode 100644 index 0000000000000000000000000000000000000000..00f7163468d557e7dbeee413b30b019e21392d6c --- /dev/null +++ b/core/vendor/symfony/translation/Tests/Loader/YamlFileLoaderTest.php @@ -0,0 +1,70 @@ +<?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\Translation\Tests\Loader; + +use Symfony\Component\Translation\Loader\YamlFileLoader; +use Symfony\Component\Config\Resource\FileResource; + +class YamlFileLoaderTest extends \PHPUnit_Framework_TestCase +{ + public function testLoad() + { + $loader = new YamlFileLoader(); + $resource = __DIR__.'/../fixtures/resources.yml'; + $catalogue = $loader->load($resource, 'en', 'domain1'); + + $this->assertEquals(array('foo' => 'bar'), $catalogue->all('domain1')); + $this->assertEquals('en', $catalogue->getLocale()); + $this->assertEquals(array(new FileResource($resource)), $catalogue->getResources()); + } + + public function testLoadDoesNothingIfEmpty() + { + $loader = new YamlFileLoader(); + $resource = __DIR__.'/../fixtures/empty.yml'; + $catalogue = $loader->load($resource, 'en', 'domain1'); + + $this->assertEquals(array(), $catalogue->all('domain1')); + $this->assertEquals('en', $catalogue->getLocale()); + $this->assertEquals(array(new FileResource($resource)), $catalogue->getResources()); + } + + /** + * @expectedException \Symfony\Component\Translation\Exception\NotFoundResourceException + */ + public function testLoadNonExistingResource() + { + $loader = new YamlFileLoader(); + $resource = __DIR__.'/../fixtures/non-existing.yml'; + $loader->load($resource, 'en', 'domain1'); + } + + /** + * @expectedException \Symfony\Component\Translation\Exception\InvalidResourceException + */ + public function testLoadThrowsAnExceptionIfFileNotLocal() + { + $loader = new YamlFileLoader(); + $resource = 'http://example.com/resources.yml'; + $loader->load($resource, 'en', 'domain1'); + } + + /** + * @expectedException \Symfony\Component\Translation\Exception\InvalidResourceException + */ + public function testLoadThrowsAnExceptionIfNotAnArray() + { + $loader = new YamlFileLoader(); + $resource = __DIR__.'/../fixtures/non-valid.yml'; + $loader->load($resource, 'en', 'domain1'); + } +} diff --git a/core/vendor/symfony/translation/Tests/LoggingTranslatorTest.php b/core/vendor/symfony/translation/Tests/LoggingTranslatorTest.php new file mode 100644 index 0000000000000000000000000000000000000000..ab98d72e7425c78a3803129e5872e532eeb36b2d --- /dev/null +++ b/core/vendor/symfony/translation/Tests/LoggingTranslatorTest.php @@ -0,0 +1,56 @@ +<?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\Translation\Tests; + +use Symfony\Component\Translation\Translator; +use Symfony\Component\Translation\LoggingTranslator; +use Symfony\Component\Translation\Loader\ArrayLoader; + +class LoggingTranslatorTest extends \PHPUnit_Framework_TestCase +{ + protected function setUp() + { + if (!interface_exists('Psr\Log\LoggerInterface')) { + $this->markTestSkipped('The "LoggerInterface" is not available'); + } + } + + public function testTransWithNoTranslationIsLogged() + { + $logger = $this->getMock('Psr\Log\LoggerInterface'); + $logger->expects($this->exactly(2)) + ->method('warning') + ->with('Translation not found.') + ; + + $translator = new Translator('ar'); + $loggableTranslator = new LoggingTranslator($translator, $logger); + $loggableTranslator->transChoice('some_message2', 10, array('%count%' => 10)); + $loggableTranslator->trans('bar'); + } + + public function testTransChoiceFallbackIsLogged() + { + $logger = $this->getMock('Psr\Log\LoggerInterface'); + $logger->expects($this->once()) + ->method('debug') + ->with('Translation use fallback catalogue.') + ; + + $translator = new Translator('ar'); + $translator->setFallbackLocales(array('en')); + $translator->addLoader('array', new ArrayLoader()); + $translator->addResource('array', array('some_message2' => 'one thing|%count% things'), 'en'); + $loggableTranslator = new LoggingTranslator($translator, $logger); + $loggableTranslator->transChoice('some_message2', 10, array('%count%' => 10)); + } +} diff --git a/core/vendor/symfony/translation/Tests/MessageCatalogueTest.php b/core/vendor/symfony/translation/Tests/MessageCatalogueTest.php new file mode 100644 index 0000000000000000000000000000000000000000..7d956553d98c630ef42a630c41cf48c37ab2f07e --- /dev/null +++ b/core/vendor/symfony/translation/Tests/MessageCatalogueTest.php @@ -0,0 +1,200 @@ +<?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\Translation\Tests; + +use Symfony\Component\Translation\MessageCatalogue; + +class MessageCatalogueTest extends \PHPUnit_Framework_TestCase +{ + public function testGetLocale() + { + $catalogue = new MessageCatalogue('en'); + + $this->assertEquals('en', $catalogue->getLocale()); + } + + public function testGetDomains() + { + $catalogue = new MessageCatalogue('en', array('domain1' => array(), 'domain2' => array())); + + $this->assertEquals(array('domain1', 'domain2'), $catalogue->getDomains()); + } + + public function testAll() + { + $catalogue = new MessageCatalogue('en', $messages = array('domain1' => array('foo' => 'foo'), 'domain2' => array('bar' => 'bar'))); + + $this->assertEquals(array('foo' => 'foo'), $catalogue->all('domain1')); + $this->assertEquals(array(), $catalogue->all('domain88')); + $this->assertEquals($messages, $catalogue->all()); + } + + public function testHas() + { + $catalogue = new MessageCatalogue('en', array('domain1' => array('foo' => 'foo'), 'domain2' => array('bar' => 'bar'))); + + $this->assertTrue($catalogue->has('foo', 'domain1')); + $this->assertFalse($catalogue->has('bar', 'domain1')); + $this->assertFalse($catalogue->has('foo', 'domain88')); + } + + public function testGetSet() + { + $catalogue = new MessageCatalogue('en', array('domain1' => array('foo' => 'foo'), 'domain2' => array('bar' => 'bar'))); + $catalogue->set('foo1', 'foo1', 'domain1'); + + $this->assertEquals('foo', $catalogue->get('foo', 'domain1')); + $this->assertEquals('foo1', $catalogue->get('foo1', 'domain1')); + } + + public function testAdd() + { + $catalogue = new MessageCatalogue('en', array('domain1' => array('foo' => 'foo'), 'domain2' => array('bar' => 'bar'))); + $catalogue->add(array('foo1' => 'foo1'), 'domain1'); + + $this->assertEquals('foo', $catalogue->get('foo', 'domain1')); + $this->assertEquals('foo1', $catalogue->get('foo1', 'domain1')); + + $catalogue->add(array('foo' => 'bar'), 'domain1'); + $this->assertEquals('bar', $catalogue->get('foo', 'domain1')); + $this->assertEquals('foo1', $catalogue->get('foo1', 'domain1')); + + $catalogue->add(array('foo' => 'bar'), 'domain88'); + $this->assertEquals('bar', $catalogue->get('foo', 'domain88')); + } + + public function testReplace() + { + $catalogue = new MessageCatalogue('en', array('domain1' => array('foo' => 'foo'), 'domain2' => array('bar' => 'bar'))); + $catalogue->replace($messages = array('foo1' => 'foo1'), 'domain1'); + + $this->assertEquals($messages, $catalogue->all('domain1')); + } + + public function testAddCatalogue() + { + $r = $this->getMock('Symfony\Component\Config\Resource\ResourceInterface'); + $r->expects($this->any())->method('__toString')->will($this->returnValue('r')); + + $r1 = $this->getMock('Symfony\Component\Config\Resource\ResourceInterface'); + $r1->expects($this->any())->method('__toString')->will($this->returnValue('r1')); + + $catalogue = new MessageCatalogue('en', array('domain1' => array('foo' => 'foo'), 'domain2' => array('bar' => 'bar'))); + $catalogue->addResource($r); + + $catalogue1 = new MessageCatalogue('en', array('domain1' => array('foo1' => 'foo1'))); + $catalogue1->addResource($r1); + + $catalogue->addCatalogue($catalogue1); + + $this->assertEquals('foo', $catalogue->get('foo', 'domain1')); + $this->assertEquals('foo1', $catalogue->get('foo1', 'domain1')); + + $this->assertEquals(array($r, $r1), $catalogue->getResources()); + } + + public function testAddFallbackCatalogue() + { + $r = $this->getMock('Symfony\Component\Config\Resource\ResourceInterface'); + $r->expects($this->any())->method('__toString')->will($this->returnValue('r')); + + $r1 = $this->getMock('Symfony\Component\Config\Resource\ResourceInterface'); + $r1->expects($this->any())->method('__toString')->will($this->returnValue('r1')); + + $catalogue = new MessageCatalogue('en_US', array('domain1' => array('foo' => 'foo'), 'domain2' => array('bar' => 'bar'))); + $catalogue->addResource($r); + + $catalogue1 = new MessageCatalogue('en', array('domain1' => array('foo' => 'bar', 'foo1' => 'foo1'))); + $catalogue1->addResource($r1); + + $catalogue->addFallbackCatalogue($catalogue1); + + $this->assertEquals('foo', $catalogue->get('foo', 'domain1')); + $this->assertEquals('foo1', $catalogue->get('foo1', 'domain1')); + + $this->assertEquals(array($r, $r1), $catalogue->getResources()); + } + + /** + * @expectedException \LogicException + */ + public function testAddFallbackCatalogueWithCircularReference() + { + $main = new MessageCatalogue('en_US'); + $fallback = new MessageCatalogue('fr_FR'); + + $fallback->addFallbackCatalogue($main); + $main->addFallbackCatalogue($fallback); + } + + /** + * @expectedException \LogicException + */ + public function testAddCatalogueWhenLocaleIsNotTheSameAsTheCurrentOne() + { + $catalogue = new MessageCatalogue('en'); + $catalogue->addCatalogue(new MessageCatalogue('fr', array())); + } + + public function testGetAddResource() + { + $catalogue = new MessageCatalogue('en'); + $r = $this->getMock('Symfony\Component\Config\Resource\ResourceInterface'); + $r->expects($this->any())->method('__toString')->will($this->returnValue('r')); + $catalogue->addResource($r); + $catalogue->addResource($r); + $r1 = $this->getMock('Symfony\Component\Config\Resource\ResourceInterface'); + $r1->expects($this->any())->method('__toString')->will($this->returnValue('r1')); + $catalogue->addResource($r1); + + $this->assertEquals(array($r, $r1), $catalogue->getResources()); + } + + public function testMetadataDelete() + { + $catalogue = new MessageCatalogue('en'); + $this->assertEquals(array(), $catalogue->getMetadata('', ''), 'Metadata is empty'); + $catalogue->deleteMetadata('key', 'messages'); + $catalogue->deleteMetadata('', 'messages'); + $catalogue->deleteMetadata(); + } + + public function testMetadataSetGetDelete() + { + $catalogue = new MessageCatalogue('en'); + $catalogue->setMetadata('key', 'value'); + $this->assertEquals('value', $catalogue->getMetadata('key', 'messages'), "Metadata 'key' = 'value'"); + + $catalogue->setMetadata('key2', array()); + $this->assertEquals(array(), $catalogue->getMetadata('key2', 'messages'), 'Metadata key2 is array'); + + $catalogue->deleteMetadata('key2', 'messages'); + $this->assertEquals(null, $catalogue->getMetadata('key2', 'messages'), 'Metadata key2 should is deleted.'); + + $catalogue->deleteMetadata('key2', 'domain'); + $this->assertEquals(null, $catalogue->getMetadata('key2', 'domain'), 'Metadata key2 should is deleted.'); + } + + public function testMetadataMerge() + { + $cat1 = new MessageCatalogue('en'); + $cat1->setMetadata('a', 'b'); + $this->assertEquals(array('messages' => array('a' => 'b')), $cat1->getMetadata('', ''), 'Cat1 contains messages metadata.'); + + $cat2 = new MessageCatalogue('en'); + $cat2->setMetadata('b', 'c', 'domain'); + $this->assertEquals(array('domain' => array('b' => 'c')), $cat2->getMetadata('', ''), 'Cat2 contains domain metadata.'); + + $cat1->addCatalogue($cat2); + $this->assertEquals(array('messages' => array('a' => 'b'), 'domain' => array('b' => 'c')), $cat1->getMetadata('', ''), 'Cat1 contains merged metadata.'); + } +} diff --git a/core/vendor/symfony/translation/Tests/MessageSelectorTest.php b/core/vendor/symfony/translation/Tests/MessageSelectorTest.php new file mode 100644 index 0000000000000000000000000000000000000000..d5a4f3e3d536abe02875c3764f5e7d5f7f20c5df --- /dev/null +++ b/core/vendor/symfony/translation/Tests/MessageSelectorTest.php @@ -0,0 +1,98 @@ +<?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\Translation\Tests; + +use Symfony\Component\Translation\MessageSelector; + +class MessageSelectorTest extends \PHPUnit_Framework_TestCase +{ + /** + * @dataProvider getChooseTests + */ + public function testChoose($expected, $id, $number) + { + $selector = new MessageSelector(); + + $this->assertEquals($expected, $selector->choose($id, $number, 'en')); + } + + public function testReturnMessageIfExactlyOneStandardRuleIsGiven() + { + $selector = new MessageSelector(); + + $this->assertEquals('There are two apples', $selector->choose('There are two apples', 2, 'en')); + } + + /** + * @dataProvider getNonMatchingMessages + * @expectedException \InvalidArgumentException + */ + public function testThrowExceptionIfMatchingMessageCannotBeFound($id, $number) + { + $selector = new MessageSelector(); + + $selector->choose($id, $number, 'en'); + } + + public function getNonMatchingMessages() + { + return array( + array('{0} There are no apples|{1} There is one apple', 2), + array('{1} There is one apple|]1,Inf] There are %count% apples', 0), + array('{1} There is one apple|]2,Inf] There are %count% apples', 2), + array('{0} There are no apples|There is one apple', 2), + ); + } + + public function getChooseTests() + { + return array( + array('There are no apples', '{0} There are no apples|{1} There is one apple|]1,Inf] There are %count% apples', 0), + array('There are no apples', '{0} There are no apples|{1} There is one apple|]1,Inf] There are %count% apples', 0), + array('There are no apples', '{0}There are no apples|{1} There is one apple|]1,Inf] There are %count% apples', 0), + + array('There is one apple', '{0} There are no apples|{1} There is one apple|]1,Inf] There are %count% apples', 1), + + array('There are %count% apples', '{0} There are no apples|{1} There is one apple|]1,Inf] There are %count% apples', 10), + array('There are %count% apples', '{0} There are no apples|{1} There is one apple|]1,Inf]There are %count% apples', 10), + array('There are %count% apples', '{0} There are no apples|{1} There is one apple|]1,Inf] There are %count% apples', 10), + + array('There are %count% apples', 'There is one apple|There are %count% apples', 0), + array('There is one apple', 'There is one apple|There are %count% apples', 1), + array('There are %count% apples', 'There is one apple|There are %count% apples', 10), + + array('There are %count% apples', 'one: There is one apple|more: There are %count% apples', 0), + array('There is one apple', 'one: There is one apple|more: There are %count% apples', 1), + array('There are %count% apples', 'one: There is one apple|more: There are %count% apples', 10), + + array('There are no apples', '{0} There are no apples|one: There is one apple|more: There are %count% apples', 0), + array('There is one apple', '{0} There are no apples|one: There is one apple|more: There are %count% apples', 1), + array('There are %count% apples', '{0} There are no apples|one: There is one apple|more: There are %count% apples', 10), + + array('', '{0}|{1} There is one apple|]1,Inf] There are %count% apples', 0), + array('', '{0} There are no apples|{1}|]1,Inf] There are %count% apples', 1), + + // Indexed only tests which are Gettext PoFile* compatible strings. + array('There are %count% apples', 'There is one apple|There are %count% apples', 0), + array('There is one apple', 'There is one apple|There are %count% apples', 1), + array('There are %count% apples', 'There is one apple|There are %count% apples', 2), + + // Tests for float numbers + array('There is almost one apple', '{0} There are no apples|]0,1[ There is almost one apple|{1} There is one apple|[1,Inf] There is more than one apple', 0.7), + array('There is one apple', '{0} There are no apples|]0,1[There are %count% apples|{1} There is one apple|[1,Inf] There is more than one apple', 1), + array('There is more than one apple', '{0} There are no apples|]0,1[There are %count% apples|{1} There is one apple|[1,Inf] There is more than one apple', 1.7), + array('There are no apples', '{0} There are no apples|]0,1[There are %count% apples|{1} There is one apple|[1,Inf] There is more than one apple', 0), + array('There are no apples', '{0} There are no apples|]0,1[There are %count% apples|{1} There is one apple|[1,Inf] There is more than one apple', 0.0), + array('There are no apples', '{0.0} There are no apples|]0,1[There are %count% apples|{1} There is one apple|[1,Inf] There is more than one apple', 0), + ); + } +} diff --git a/core/vendor/symfony/translation/Tests/PluralizationRulesTest.php b/core/vendor/symfony/translation/Tests/PluralizationRulesTest.php new file mode 100644 index 0000000000000000000000000000000000000000..1e8ee704fa95320fddf63d410ba15d82e51487b4 --- /dev/null +++ b/core/vendor/symfony/translation/Tests/PluralizationRulesTest.php @@ -0,0 +1,123 @@ +<?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\Translation\Tests; + +use Symfony\Component\Translation\PluralizationRules; + +/** + * Test should cover all languages mentioned on http://translate.sourceforge.net/wiki/l10n/pluralforms + * and Plural forms mentioned on http://www.gnu.org/software/gettext/manual/gettext.html#Plural-forms. + * + * See also https://developer.mozilla.org/en/Localization_and_Plurals which mentions 15 rules having a maximum of 6 forms. + * The mozilla code is also interesting to check for. + * + * As mentioned by chx http://drupal.org/node/1273968 we can cover all by testing number from 0 to 199 + * + * The goal to cover all languages is to far fetched so this test case is smaller. + * + * @author Clemens Tolboom clemens@build2be.nl + */ +class PluralizationRulesTest extends \PHPUnit_Framework_TestCase +{ + /** + * We test failed langcode here. + * + * TODO: The languages mentioned in the data provide need to get fixed somehow within PluralizationRules. + * + * @dataProvider failingLangcodes + */ + public function testFailedLangcodes($nplural, $langCodes) + { + $matrix = $this->generateTestData($nplural, $langCodes); + $this->validateMatrix($nplural, $matrix, false); + } + + /** + * @dataProvider successLangcodes + */ + public function testLangcodes($nplural, $langCodes) + { + $matrix = $this->generateTestData($nplural, $langCodes); + $this->validateMatrix($nplural, $matrix); + } + + /** + * This array should contain all currently known langcodes. + * + * As it is impossible to have this ever complete we should try as hard as possible to have it almost complete. + * + * @return array + */ + public function successLangcodes() + { + return array( + array('1', array('ay','bo', 'cgg','dz','id', 'ja', 'jbo', 'ka','kk','km','ko','ky')), + array('2', array('nl', 'fr', 'en', 'de', 'de_GE')), + array('3', array('be','bs','cs','hr')), + array('4', array('cy','mt', 'sl')), + array('5', array()), + array('6', array('ar')), + ); + } + + /** + * This array should be at least empty within the near future. + * + * This both depends on a complete list trying to add above as understanding + * the plural rules of the current failing languages. + * + * @return array with nplural together with langcodes + */ + public function failingLangcodes() + { + return array( + array('1', array('fa')), + array('2', array('jbo')), + array('3', array('cbs')), + array('4', array('gd','kw')), + array('5', array('ga')), + array('6', array()), + ); + } + + /** + * We validate only on the plural coverage. Thus the real rules is not tested. + * + * @param string $nplural plural expected + * @param array $matrix containing langcodes and their plural index values. + * @param bool $expectSuccess + */ + protected function validateMatrix($nplural, $matrix, $expectSuccess = true) + { + foreach ($matrix as $langCode => $data) { + $indexes = array_flip($data); + if ($expectSuccess) { + $this->assertEquals($nplural, count($indexes), "Langcode '$langCode' has '$nplural' plural forms."); + } else { + $this->assertNotEquals((int) $nplural, count($indexes), "Langcode '$langCode' has '$nplural' plural forms."); + } + } + } + + protected function generateTestData($plural, $langCodes) + { + $matrix = array(); + foreach ($langCodes as $langCode) { + for ($count = 0; $count < 200; $count++) { + $plural = PluralizationRules::get($count, $langCode); + $matrix[$langCode][$count] = $plural; + } + } + + return $matrix; + } +} diff --git a/core/vendor/symfony/translation/Tests/TranslatorCacheTest.php b/core/vendor/symfony/translation/Tests/TranslatorCacheTest.php new file mode 100644 index 0000000000000000000000000000000000000000..d5d4639984ce5c9bbc135069c4bd3ddb36fa14f4 --- /dev/null +++ b/core/vendor/symfony/translation/Tests/TranslatorCacheTest.php @@ -0,0 +1,360 @@ +<?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\Translation\Tests; + +use Symfony\Component\Config\Resource\ResourceInterface; +use Symfony\Component\Translation\Loader\ArrayLoader; +use Symfony\Component\Translation\Loader\LoaderInterface; +use Symfony\Component\Translation\Translator; +use Symfony\Component\Translation\MessageCatalogue; + +class TranslatorCacheTest extends \PHPUnit_Framework_TestCase +{ + protected $tmpDir; + + protected function setUp() + { + $this->tmpDir = sys_get_temp_dir().'/sf2_translation'; + $this->deleteTmpDir(); + } + + protected function tearDown() + { + $this->deleteTmpDir(); + } + + protected function deleteTmpDir() + { + if (!file_exists($dir = $this->tmpDir)) { + return; + } + + $iterator = new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($this->tmpDir), \RecursiveIteratorIterator::CHILD_FIRST); + foreach ($iterator as $path) { + if (preg_match('#[/\\\\]\.\.?$#', $path->__toString())) { + continue; + } + if ($path->isDir()) { + rmdir($path->__toString()); + } else { + unlink($path->__toString()); + } + } + rmdir($this->tmpDir); + } + + /** + * @dataProvider runForDebugAndProduction + */ + public function testThatACacheIsUsed($debug) + { + $locale = 'any_locale'; + $format = 'some_format'; + $msgid = 'test'; + + // Prime the cache + $translator = new Translator($locale, null, $this->tmpDir, $debug); + $translator->addLoader($format, new ArrayLoader()); + $translator->addResource($format, array($msgid => 'OK'), $locale); + $translator->trans($msgid); + + // Try again and see we get a valid result whilst no loader can be used + $translator = new Translator($locale, null, $this->tmpDir, $debug); + $translator->addLoader($format, $this->createFailingLoader()); + $translator->addResource($format, array($msgid => 'OK'), $locale); + $this->assertEquals('OK', $translator->trans($msgid), '-> caching does not work in '.($debug ? 'debug' : 'production')); + } + + public function testRefreshCacheWhenResourcesChange() + { + // prime the cache + $loader = $this->getMock('Symfony\Component\Translation\Loader\LoaderInterface'); + $loader + ->method('load') + ->will($this->returnValue($this->getCatalogue('fr', array( + 'foo' => 'foo A', + )))) + ; + + $translator = new Translator('fr', null, $this->tmpDir, true); + $translator->setLocale('fr'); + $translator->addLoader('loader', $loader); + $translator->addResource('loader', 'foo', 'fr'); + + $this->assertEquals('foo A', $translator->trans('foo')); + + // add a new resource to refresh the cache + $loader = $this->getMock('Symfony\Component\Translation\Loader\LoaderInterface'); + $loader + ->method('load') + ->will($this->returnValue($this->getCatalogue('fr', array( + 'foo' => 'foo B', + )))) + ; + + $translator = new Translator('fr', null, $this->tmpDir, true); + $translator->setLocale('fr'); + $translator->addLoader('loader', $loader); + $translator->addResource('loader', 'bar', 'fr'); + + $this->assertEquals('foo B', $translator->trans('foo')); + } + + public function testCatalogueIsReloadedWhenResourcesAreNoLongerFresh() + { + /* + * The testThatACacheIsUsed() test showed that we don't need the loader as long as the cache + * is fresh. + * + * Now we add a Resource that is never fresh and make sure that the + * cache is discarded (the loader is called twice). + * + * We need to run this for debug=true only because in production the cache + * will never be revalidated. + */ + + $locale = 'any_locale'; + $format = 'some_format'; + $msgid = 'test'; + + $catalogue = new MessageCatalogue($locale, array()); + $catalogue->addResource(new StaleResource()); // better use a helper class than a mock, because it gets serialized in the cache and re-loaded + + /** @var LoaderInterface|\PHPUnit_Framework_MockObject_MockObject $loader */ + $loader = $this->getMock('Symfony\Component\Translation\Loader\LoaderInterface'); + $loader + ->expects($this->exactly(2)) + ->method('load') + ->will($this->returnValue($catalogue)) + ; + + // 1st pass + $translator = new Translator($locale, null, $this->tmpDir, true); + $translator->addLoader($format, $loader); + $translator->addResource($format, null, $locale); + $translator->trans($msgid); + + // 2nd pass + $translator = new Translator($locale, null, $this->tmpDir, true); + $translator->addLoader($format, $loader); + $translator->addResource($format, null, $locale); + $translator->trans($msgid); + } + + /** + * @dataProvider runForDebugAndProduction + */ + public function testDifferentTranslatorsForSameLocaleDoNotInterfere($debug) + { + $locale = 'any_locale'; + $format = 'some_format'; + $msgid = 'test'; + + // Create a Translator and prime its cache + $translator = new Translator($locale, null, $this->tmpDir, $debug); + $translator->addLoader($format, new ArrayLoader()); + $translator->addResource($format, array($msgid => 'FAIL'), $locale); + $translator->trans($msgid); + + /* + * Create another Translator with the same locale but a different resource. + * It should not use the first translator's cache but return the value from its own resource. + */ + $translator = new Translator($locale, null, $this->tmpDir, $debug); + $translator->addLoader($format, new ArrayLoader()); + $translator->addResource($format, array($msgid => 'OK'), $locale); + + $this->assertEquals('OK', $translator->trans($msgid), '-> different translators for the same domain interfere in '.($debug ? 'debug' : 'production')); + } + + /** + * @dataProvider runForDebugAndProduction + */ + public function testDifferentTranslatorsForSameLocaleDoNotOverwriteEachOthersCache($debug) + { + /* + * Similar to the previous test. After we used the second translator, make + * sure there's still a useable cache for the first one. + */ + + $locale = 'any_locale'; + $format = 'some_format'; + $msgid = 'test'; + + // Create a Translator and prime its cache + $translator = new Translator($locale, null, $this->tmpDir, $debug); + $translator->addLoader($format, new ArrayLoader()); + $translator->addResource($format, array($msgid => 'OK'), $locale); + $translator->trans($msgid); + + // Create another Translator with a different catalogue for the same locale + $translator = new Translator($locale, null, $this->tmpDir, $debug); + $translator->addLoader($format, new ArrayLoader()); + $translator->addResource($format, array($msgid => 'FAIL'), $locale); + $translator->trans($msgid); + + // Now the first translator must still have a useable cache. + $translator = new Translator($locale, null, $this->tmpDir, $debug); + $translator->addLoader($format, $this->createFailingLoader()); + $translator->addResource($format, array($msgid => 'OK'), $locale); + $this->assertEquals('OK', $translator->trans($msgid), '-> the cache was overwritten by another translator instance in '.($debug ? 'debug' : 'production')); + } + + public function testDifferentCacheFilesAreUsedForDifferentSetsOfFallbackLocales() + { + /* + * Because the cache file contains a catalogue including all of its fallback + * catalogues, we must take the set of fallback locales into consideration when + * loading a catalogue from the cache. + */ + $translator = new Translator('a', null, $this->tmpDir); + $translator->setFallbackLocales(array('b')); + + $translator->addLoader('array', new ArrayLoader()); + $translator->addResource('array', array('foo' => 'foo (a)'), 'a'); + $translator->addResource('array', array('bar' => 'bar (b)'), 'b'); + + $this->assertEquals('bar (b)', $translator->trans('bar')); + + // Remove fallback locale + $translator->setFallbackLocales(array()); + $this->assertEquals('bar', $translator->trans('bar')); + + // Use a fresh translator with no fallback locales, result should be the same + $translator = new Translator('a', null, $this->tmpDir); + + $translator->addLoader('array', new ArrayLoader()); + $translator->addResource('array', array('foo' => 'foo (a)'), 'a'); + $translator->addResource('array', array('bar' => 'bar (b)'), 'b'); + + $this->assertEquals('bar', $translator->trans('bar')); + } + + public function testPrimaryAndFallbackCataloguesContainTheSameMessagesRegardlessOfCaching() + { + /* + * As a safeguard against potential BC breaks, make sure that primary and fallback + * catalogues (reachable via getFallbackCatalogue()) always contain the full set of + * messages provided by the loader. This must also be the case when these catalogues + * are (internally) read from a cache. + * + * Optimizations inside the translator must not change this behaviour. + */ + + /* + * Create a translator that loads two catalogues for two different locales. + * The catalogues contain distinct sets of messages. + */ + $translator = new Translator('a', null, $this->tmpDir); + $translator->setFallbackLocales(array('b')); + + $translator->addLoader('array', new ArrayLoader()); + $translator->addResource('array', array('foo' => 'foo (a)'), 'a'); + $translator->addResource('array', array('foo' => 'foo (b)'), 'b'); + $translator->addResource('array', array('bar' => 'bar (b)'), 'b'); + + $catalogue = $translator->getCatalogue('a'); + $this->assertFalse($catalogue->defines('bar')); // Sure, the "a" catalogue does not contain that message. + + $fallback = $catalogue->getFallbackCatalogue(); + $this->assertTrue($fallback->defines('foo')); // "foo" is present in "a" and "b" + + /* + * Now, repeat the same test. + * Behind the scenes, the cache is used. But that should not matter, right? + */ + $translator = new Translator('a', null, $this->tmpDir); + $translator->setFallbackLocales(array('b')); + + $translator->addLoader('array', new ArrayLoader()); + $translator->addResource('array', array('foo' => 'foo (a)'), 'a'); + $translator->addResource('array', array('foo' => 'foo (b)'), 'b'); + $translator->addResource('array', array('bar' => 'bar (b)'), 'b'); + + $catalogue = $translator->getCatalogue('a'); + $this->assertFalse($catalogue->defines('bar')); + + $fallback = $catalogue->getFallbackCatalogue(); + $this->assertTrue($fallback->defines('foo')); + } + + public function testRefreshCacheWhenResourcesAreNoLongerFresh() + { + $resource = $this->getMock('Symfony\Component\Config\Resource\ResourceInterface'); + $loader = $this->getMock('Symfony\Component\Translation\Loader\LoaderInterface'); + $resource->method('isFresh')->will($this->returnValue(false)); + $loader + ->expects($this->exactly(2)) + ->method('load') + ->will($this->returnValue($this->getCatalogue('fr', array(), array($resource)))); + + // prime the cache + $translator = new Translator('fr', null, $this->tmpDir, true); + $translator->addLoader('loader', $loader); + $translator->addResource('loader', 'foo', 'fr'); + $translator->trans('foo'); + + // prime the cache second time + $translator = new Translator('fr', null, $this->tmpDir, true); + $translator->addLoader('loader', $loader); + $translator->addResource('loader', 'foo', 'fr'); + $translator->trans('foo'); + } + + protected function getCatalogue($locale, $messages, $resources = array()) + { + $catalogue = new MessageCatalogue($locale); + foreach ($messages as $key => $translation) { + $catalogue->set($key, $translation); + } + foreach ($resources as $resource) { + $catalogue->addResource($resource); + } + + return $catalogue; + } + + public function runForDebugAndProduction() + { + return array(array(true), array(false)); + } + + /** + * @return LoaderInterface + */ + private function createFailingLoader() + { + $loader = $this->getMock('Symfony\Component\Translation\Loader\LoaderInterface'); + $loader + ->expects($this->never()) + ->method('load'); + + return $loader; + } +} + +class StaleResource implements ResourceInterface +{ + public function isFresh($timestamp) + { + return false; + } + + public function getResource() + { + } + + public function __toString() + { + return ''; + } +} diff --git a/core/vendor/symfony/translation/Tests/TranslatorTest.php b/core/vendor/symfony/translation/Tests/TranslatorTest.php new file mode 100644 index 0000000000000000000000000000000000000000..3ee9be019dd25109328f0050100888510e8958cd --- /dev/null +++ b/core/vendor/symfony/translation/Tests/TranslatorTest.php @@ -0,0 +1,627 @@ +<?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\Translation\Tests; + +use Symfony\Component\Translation\Translator; +use Symfony\Component\Translation\MessageSelector; +use Symfony\Component\Translation\Loader\ArrayLoader; +use Symfony\Component\Translation\MessageCatalogue; + +class TranslatorTest extends \PHPUnit_Framework_TestCase +{ + /** + * @dataProvider getInvalidLocalesTests + * @expectedException \InvalidArgumentException + */ + public function testConstructorInvalidLocale($locale) + { + $translator = new Translator($locale, new MessageSelector()); + } + + /** + * @dataProvider getValidLocalesTests + */ + public function testConstructorValidLocale($locale) + { + $translator = new Translator($locale, new MessageSelector()); + + $this->assertEquals($locale, $translator->getLocale()); + } + + public function testConstructorWithoutLocale() + { + $translator = new Translator(null, new MessageSelector()); + + $this->assertNull($translator->getLocale()); + } + + public function testSetGetLocale() + { + $translator = new Translator('en'); + + $this->assertEquals('en', $translator->getLocale()); + + $translator->setLocale('fr'); + $this->assertEquals('fr', $translator->getLocale()); + } + + /** + * @dataProvider getInvalidLocalesTests + * @expectedException \InvalidArgumentException + */ + public function testSetInvalidLocale($locale) + { + $translator = new Translator('fr', new MessageSelector()); + $translator->setLocale($locale); + } + + /** + * @dataProvider getValidLocalesTests + */ + public function testSetValidLocale($locale) + { + $translator = new Translator($locale, new MessageSelector()); + $translator->setLocale($locale); + + $this->assertEquals($locale, $translator->getLocale()); + } + + public function testGetCatalogue() + { + $translator = new Translator('en'); + + $this->assertEquals(new MessageCatalogue('en'), $translator->getCatalogue()); + + $translator->setLocale('fr'); + $this->assertEquals(new MessageCatalogue('fr'), $translator->getCatalogue('fr')); + } + + public function testGetCatalogueReturnsConsolidatedCatalogue() + { + /* + * This will be useful once we refactor so that different domains will be loaded lazily (on-demand). + * In that case, getCatalogue() will probably have to load all missing domains in order to return + * one complete catalogue. + */ + + $locale = 'whatever'; + $translator = new Translator($locale); + $translator->addLoader('loader-a', new ArrayLoader()); + $translator->addLoader('loader-b', new ArrayLoader()); + $translator->addResource('loader-a', array('foo' => 'foofoo'), $locale, 'domain-a'); + $translator->addResource('loader-b', array('bar' => 'foobar'), $locale, 'domain-b'); + + /* + * Test that we get a single catalogue comprising messages + * from different loaders and different domains + */ + $catalogue = $translator->getCatalogue($locale); + $this->assertTrue($catalogue->defines('foo', 'domain-a')); + $this->assertTrue($catalogue->defines('bar', 'domain-b')); + } + + public function testSetFallbackLocales() + { + $translator = new Translator('en'); + $translator->addLoader('array', new ArrayLoader()); + $translator->addResource('array', array('foo' => 'foofoo'), 'en'); + $translator->addResource('array', array('bar' => 'foobar'), 'fr'); + + // force catalogue loading + $translator->trans('bar'); + + $translator->setFallbackLocales(array('fr')); + $this->assertEquals('foobar', $translator->trans('bar')); + } + + public function testSetFallbackLocalesMultiple() + { + $translator = new Translator('en'); + $translator->addLoader('array', new ArrayLoader()); + $translator->addResource('array', array('foo' => 'foo (en)'), 'en'); + $translator->addResource('array', array('bar' => 'bar (fr)'), 'fr'); + + // force catalogue loading + $translator->trans('bar'); + + $translator->setFallbackLocales(array('fr_FR', 'fr')); + $this->assertEquals('bar (fr)', $translator->trans('bar')); + } + + /** + * @dataProvider getInvalidLocalesTests + * @expectedException \InvalidArgumentException + */ + public function testSetFallbackInvalidLocales($locale) + { + $translator = new Translator('fr', new MessageSelector()); + $translator->setFallbackLocales(array('fr', $locale)); + } + + /** + * @dataProvider getValidLocalesTests + */ + public function testSetFallbackValidLocales($locale) + { + $translator = new Translator($locale, new MessageSelector()); + $translator->setFallbackLocales(array('fr', $locale)); + // no assertion. this method just asserts that no exception is thrown + } + + public function testTransWithFallbackLocale() + { + $translator = new Translator('fr_FR'); + $translator->setFallbackLocales(array('en')); + + $translator->addLoader('array', new ArrayLoader()); + $translator->addResource('array', array('bar' => 'foobar'), 'en'); + + $this->assertEquals('foobar', $translator->trans('bar')); + } + + /** + * @dataProvider getInvalidLocalesTests + * @expectedException \InvalidArgumentException + */ + public function testAddResourceInvalidLocales($locale) + { + $translator = new Translator('fr', new MessageSelector()); + $translator->addResource('array', array('foo' => 'foofoo'), $locale); + } + + /** + * @dataProvider getValidLocalesTests + */ + public function testAddResourceValidLocales($locale) + { + $translator = new Translator('fr', new MessageSelector()); + $translator->addResource('array', array('foo' => 'foofoo'), $locale); + // no assertion. this method just asserts that no exception is thrown + } + + public function testAddResourceAfterTrans() + { + $translator = new Translator('fr'); + $translator->addLoader('array', new ArrayLoader()); + + $translator->setFallbackLocales(array('en')); + + $translator->addResource('array', array('foo' => 'foofoo'), 'en'); + $this->assertEquals('foofoo', $translator->trans('foo')); + + $translator->addResource('array', array('bar' => 'foobar'), 'en'); + $this->assertEquals('foobar', $translator->trans('bar')); + } + + /** + * @dataProvider getTransFileTests + * @expectedException \Symfony\Component\Translation\Exception\NotFoundResourceException + */ + public function testTransWithoutFallbackLocaleFile($format, $loader) + { + $loaderClass = 'Symfony\\Component\\Translation\\Loader\\'.$loader; + $translator = new Translator('en'); + $translator->addLoader($format, new $loaderClass()); + $translator->addResource($format, __DIR__.'/fixtures/non-existing', 'en'); + $translator->addResource($format, __DIR__.'/fixtures/resources.'.$format, 'en'); + + // force catalogue loading + $translator->trans('foo'); + } + + /** + * @dataProvider getTransFileTests + */ + public function testTransWithFallbackLocaleFile($format, $loader) + { + $loaderClass = 'Symfony\\Component\\Translation\\Loader\\'.$loader; + $translator = new Translator('en_GB'); + $translator->addLoader($format, new $loaderClass()); + $translator->addResource($format, __DIR__.'/fixtures/non-existing', 'en_GB'); + $translator->addResource($format, __DIR__.'/fixtures/resources.'.$format, 'en', 'resources'); + + $this->assertEquals('bar', $translator->trans('foo', array(), 'resources')); + } + + public function testTransWithFallbackLocaleBis() + { + $translator = new Translator('en_US'); + $translator->addLoader('array', new ArrayLoader()); + $translator->addResource('array', array('foo' => 'foofoo'), 'en_US'); + $translator->addResource('array', array('bar' => 'foobar'), 'en'); + $this->assertEquals('foobar', $translator->trans('bar')); + } + + public function testTransWithFallbackLocaleTer() + { + $translator = new Translator('fr_FR'); + $translator->addLoader('array', new ArrayLoader()); + $translator->addResource('array', array('foo' => 'foo (en_US)'), 'en_US'); + $translator->addResource('array', array('bar' => 'bar (en)'), 'en'); + + $translator->setFallbackLocales(array('en_US', 'en')); + + $this->assertEquals('foo (en_US)', $translator->trans('foo')); + $this->assertEquals('bar (en)', $translator->trans('bar')); + } + + public function testTransNonExistentWithFallback() + { + $translator = new Translator('fr'); + $translator->setFallbackLocales(array('en')); + $translator->addLoader('array', new ArrayLoader()); + $this->assertEquals('non-existent', $translator->trans('non-existent')); + } + + /** + * @expectedException \RuntimeException + */ + public function testWhenAResourceHasNoRegisteredLoader() + { + $translator = new Translator('en'); + $translator->addResource('array', array('foo' => 'foofoo'), 'en'); + + $translator->trans('foo'); + } + + /** + * @dataProvider getTransTests + */ + public function testTrans($expected, $id, $translation, $parameters, $locale, $domain) + { + $translator = new Translator('en'); + $translator->addLoader('array', new ArrayLoader()); + $translator->addResource('array', array((string) $id => $translation), $locale, $domain); + + $this->assertEquals($expected, $translator->trans($id, $parameters, $domain, $locale)); + } + + /** + * @dataProvider getInvalidLocalesTests + * @expectedException \InvalidArgumentException + */ + public function testTransInvalidLocale($locale) + { + $translator = new Translator('en', new MessageSelector()); + $translator->addLoader('array', new ArrayLoader()); + $translator->addResource('array', array('foo' => 'foofoo'), 'en'); + + $translator->trans('foo', array(), '', $locale); + } + + /** + * @dataProvider getValidLocalesTests + */ + public function testTransValidLocale($locale) + { + $translator = new Translator($locale, new MessageSelector()); + $translator->addLoader('array', new ArrayLoader()); + $translator->addResource('array', array('test' => 'OK'), $locale); + + $this->assertEquals('OK', $translator->trans('test')); + $this->assertEquals('OK', $translator->trans('test', array(), null, $locale)); + } + + /** + * @dataProvider getFlattenedTransTests + */ + public function testFlattenedTrans($expected, $messages, $id) + { + $translator = new Translator('en'); + $translator->addLoader('array', new ArrayLoader()); + $translator->addResource('array', $messages, 'fr', ''); + + $this->assertEquals($expected, $translator->trans($id, array(), '', 'fr')); + } + + /** + * @dataProvider getTransChoiceTests + */ + public function testTransChoice($expected, $id, $translation, $number, $parameters, $locale, $domain) + { + $translator = new Translator('en'); + $translator->addLoader('array', new ArrayLoader()); + $translator->addResource('array', array((string) $id => $translation), $locale, $domain); + + $this->assertEquals($expected, $translator->transChoice($id, $number, $parameters, $domain, $locale)); + } + + /** + * @dataProvider getInvalidLocalesTests + * @expectedException \InvalidArgumentException + */ + public function testTransChoiceInvalidLocale($locale) + { + $translator = new Translator('en', new MessageSelector()); + $translator->addLoader('array', new ArrayLoader()); + $translator->addResource('array', array('foo' => 'foofoo'), 'en'); + + $translator->transChoice('foo', 1, array(), '', $locale); + } + + /** + * @dataProvider getValidLocalesTests + */ + public function testTransChoiceValidLocale($locale) + { + $translator = new Translator('en', new MessageSelector()); + $translator->addLoader('array', new ArrayLoader()); + $translator->addResource('array', array('foo' => 'foofoo'), 'en'); + + $translator->transChoice('foo', 1, array(), '', $locale); + // no assertion. this method just asserts that no exception is thrown + } + + public function getTransFileTests() + { + return array( + array('csv', 'CsvFileLoader'), + array('ini', 'IniFileLoader'), + array('mo', 'MoFileLoader'), + array('po', 'PoFileLoader'), + array('php', 'PhpFileLoader'), + array('ts', 'QtFileLoader'), + array('xlf', 'XliffFileLoader'), + array('yml', 'YamlFileLoader'), + array('json', 'JsonFileLoader'), + ); + } + + public function getTransTests() + { + return array( + array('Symfony est super !', 'Symfony is great!', 'Symfony est super !', array(), 'fr', ''), + array('Symfony est awesome !', 'Symfony is %what%!', 'Symfony est %what% !', array('%what%' => 'awesome'), 'fr', ''), + array('Symfony est super !', new StringClass('Symfony is great!'), 'Symfony est super !', array(), 'fr', ''), + ); + } + + public function getFlattenedTransTests() + { + $messages = array( + 'symfony' => array( + 'is' => array( + 'great' => 'Symfony est super!', + ), + ), + 'foo' => array( + 'bar' => array( + 'baz' => 'Foo Bar Baz', + ), + 'baz' => 'Foo Baz', + ), + ); + + return array( + array('Symfony est super!', $messages, 'symfony.is.great'), + array('Foo Bar Baz', $messages, 'foo.bar.baz'), + array('Foo Baz', $messages, 'foo.baz'), + ); + } + + public function getTransChoiceTests() + { + return array( + array('Il y a 0 pomme', '{0} There are no appless|{1} There is one apple|]1,Inf] There is %count% apples', '[0,1] Il y a %count% pomme|]1,Inf] Il y a %count% pommes', 0, array('%count%' => 0), 'fr', ''), + array('Il y a 1 pomme', '{0} There are no appless|{1} There is one apple|]1,Inf] There is %count% apples', '[0,1] Il y a %count% pomme|]1,Inf] Il y a %count% pommes', 1, array('%count%' => 1), 'fr', ''), + array('Il y a 10 pommes', '{0} There are no appless|{1} There is one apple|]1,Inf] There is %count% apples', '[0,1] Il y a %count% pomme|]1,Inf] Il y a %count% pommes', 10, array('%count%' => 10), 'fr', ''), + + array('Il y a 0 pomme', 'There is one apple|There is %count% apples', 'Il y a %count% pomme|Il y a %count% pommes', 0, array('%count%' => 0), 'fr', ''), + array('Il y a 1 pomme', 'There is one apple|There is %count% apples', 'Il y a %count% pomme|Il y a %count% pommes', 1, array('%count%' => 1), 'fr', ''), + array('Il y a 10 pommes', 'There is one apple|There is %count% apples', 'Il y a %count% pomme|Il y a %count% pommes', 10, array('%count%' => 10), 'fr', ''), + + array('Il y a 0 pomme', 'one: There is one apple|more: There is %count% apples', 'one: Il y a %count% pomme|more: Il y a %count% pommes', 0, array('%count%' => 0), 'fr', ''), + array('Il y a 1 pomme', 'one: There is one apple|more: There is %count% apples', 'one: Il y a %count% pomme|more: Il y a %count% pommes', 1, array('%count%' => 1), 'fr', ''), + array('Il y a 10 pommes', 'one: There is one apple|more: There is %count% apples', 'one: Il y a %count% pomme|more: Il y a %count% pommes', 10, array('%count%' => 10), 'fr', ''), + + array('Il n\'y a aucune pomme', '{0} There are no apples|one: There is one apple|more: There is %count% apples', '{0} Il n\'y a aucune pomme|one: Il y a %count% pomme|more: Il y a %count% pommes', 0, array('%count%' => 0), 'fr', ''), + array('Il y a 1 pomme', '{0} There are no apples|one: There is one apple|more: There is %count% apples', '{0} Il n\'y a aucune pomme|one: Il y a %count% pomme|more: Il y a %count% pommes', 1, array('%count%' => 1), 'fr', ''), + array('Il y a 10 pommes', '{0} There are no apples|one: There is one apple|more: There is %count% apples', '{0} Il n\'y a aucune pomme|one: Il y a %count% pomme|more: Il y a %count% pommes', 10, array('%count%' => 10), 'fr', ''), + + array('Il y a 0 pomme', new StringClass('{0} There are no appless|{1} There is one apple|]1,Inf] There is %count% apples'), '[0,1] Il y a %count% pomme|]1,Inf] Il y a %count% pommes', 0, array('%count%' => 0), 'fr', ''), + ); + } + + public function getInvalidLocalesTests() + { + return array( + array('fr FR'), + array('français'), + array('fr+en'), + array('utf#8'), + array('fr&en'), + array('fr~FR'), + array(' fr'), + array('fr '), + array('fr*'), + array('fr/FR'), + array('fr\\FR'), + ); + } + + public function getValidLocalesTests() + { + return array( + array(''), + array(null), + array('fr'), + array('francais'), + array('FR'), + array('frFR'), + array('fr-FR'), + array('fr_FR'), + array('fr.FR'), + array('fr-FR.UTF8'), + array('sr@latin'), + ); + } + + public function testTransChoiceFallback() + { + $translator = new Translator('ru'); + $translator->setFallbackLocales(array('en')); + $translator->addLoader('array', new ArrayLoader()); + $translator->addResource('array', array('some_message2' => 'one thing|%count% things'), 'en'); + + $this->assertEquals('10 things', $translator->transChoice('some_message2', 10, array('%count%' => 10))); + } + + public function testTransChoiceFallbackBis() + { + $translator = new Translator('ru'); + $translator->setFallbackLocales(array('en_US', 'en')); + $translator->addLoader('array', new ArrayLoader()); + $translator->addResource('array', array('some_message2' => 'one thing|%count% things'), 'en_US'); + + $this->assertEquals('10 things', $translator->transChoice('some_message2', 10, array('%count%' => 10))); + } + + public function testTransChoiceFallbackWithNoTranslation() + { + $translator = new Translator('ru'); + $translator->setFallbackLocales(array('en')); + $translator->addLoader('array', new ArrayLoader()); + + // consistent behavior with Translator::trans(), which returns the string + // unchanged if it can't be found + $this->assertEquals('some_message2', $translator->transChoice('some_message2', 10, array('%count%' => 10))); + } + + /** + * @dataProvider dataProviderGetMessages + */ + public function testGetMessages($resources, $locale, $expected) + { + $locales = array_keys($resources); + $_locale = !is_null($locale) ? $locale : reset($locales); + $locales = array_slice($locales, 0, array_search($_locale, $locales)); + + $translator = new Translator($_locale, new MessageSelector()); + $translator->setFallbackLocales(array_reverse($locales)); + $translator->addLoader('array', new ArrayLoader()); + foreach ($resources as $_locale => $domainMessages) { + foreach ($domainMessages as $domain => $messages) { + $translator->addResource('array', $messages, $_locale, $domain); + } + } + $result = $translator->getMessages($locale); + + $this->assertEquals($expected, $result); + } + + public function dataProviderGetMessages() + { + $resources = array( + 'en' => array( + 'jsmessages' => array( + 'foo' => 'foo (EN)', + 'bar' => 'bar (EN)', + ), + 'messages' => array( + 'foo' => 'foo messages (EN)', + ), + 'validators' => array( + 'int' => 'integer (EN)', + ), + ), + 'pt-PT' => array( + 'messages' => array( + 'foo' => 'foo messages (PT)', + ), + 'validators' => array( + 'str' => 'integer (PT)', + ), + ), + 'pt_BR' => array( + 'validators' => array( + 'int' => 'integer (BR)', + ), + ), + ); + + return array( + array($resources, null, + array( + 'jsmessages' => array( + 'foo' => 'foo (EN)', + 'bar' => 'bar (EN)', + ), + 'messages' => array( + 'foo' => 'foo messages (EN)', + ), + 'validators' => array( + 'int' => 'integer (EN)', + ), + ), + ), + array($resources, 'en', + array( + 'jsmessages' => array( + 'foo' => 'foo (EN)', + 'bar' => 'bar (EN)', + ), + 'messages' => array( + 'foo' => 'foo messages (EN)', + ), + 'validators' => array( + 'int' => 'integer (EN)', + ), + ), + ), + array($resources, 'pt-PT', + array( + 'jsmessages' => array( + 'foo' => 'foo (EN)', + 'bar' => 'bar (EN)', + ), + 'messages' => array( + 'foo' => 'foo messages (PT)', + ), + 'validators' => array( + 'int' => 'integer (EN)', + 'str' => 'integer (PT)', + ), + ), + ), + array($resources, 'pt_BR', + array( + 'jsmessages' => array( + 'foo' => 'foo (EN)', + 'bar' => 'bar (EN)', + ), + 'messages' => array( + 'foo' => 'foo messages (PT)', + ), + 'validators' => array( + 'int' => 'integer (BR)', + 'str' => 'integer (PT)', + ), + ), + ), + ); + } +} + +class StringClass +{ + protected $str; + + public function __construct($str) + { + $this->str = $str; + } + + public function __toString() + { + return $this->str; + } +} diff --git a/core/vendor/symfony/translation/Tests/fixtures/empty-translation.mo b/core/vendor/symfony/translation/Tests/fixtures/empty-translation.mo new file mode 100644 index 0000000000000000000000000000000000000000..ed01000c9b1b3fdf40fc2369a7799e72e41a1edf Binary files /dev/null and b/core/vendor/symfony/translation/Tests/fixtures/empty-translation.mo differ diff --git a/core/vendor/symfony/translation/Tests/fixtures/empty-translation.po b/core/vendor/symfony/translation/Tests/fixtures/empty-translation.po new file mode 100644 index 0000000000000000000000000000000000000000..ff6f22afb1c98ce736da5876cdb7dcbbb3219417 --- /dev/null +++ b/core/vendor/symfony/translation/Tests/fixtures/empty-translation.po @@ -0,0 +1,3 @@ +msgid "foo" +msgstr "" + diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/Fixtures/foo b/core/vendor/symfony/translation/Tests/fixtures/empty.csv similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/Fixtures/foo rename to core/vendor/symfony/translation/Tests/fixtures/empty.csv diff --git a/core/vendor/symfony/translation/Tests/fixtures/empty.ini b/core/vendor/symfony/translation/Tests/fixtures/empty.ini new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/core/vendor/symfony/translation/Tests/fixtures/empty.json b/core/vendor/symfony/translation/Tests/fixtures/empty.json new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/core/vendor/symfony/translation/Tests/fixtures/empty.mo b/core/vendor/symfony/translation/Tests/fixtures/empty.mo new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/core/vendor/symfony/translation/Tests/fixtures/empty.po b/core/vendor/symfony/translation/Tests/fixtures/empty.po new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/core/vendor/symfony/translation/Tests/fixtures/empty.xlf b/core/vendor/symfony/translation/Tests/fixtures/empty.xlf new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/core/vendor/symfony/translation/Tests/fixtures/empty.yml b/core/vendor/symfony/translation/Tests/fixtures/empty.yml new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/core/vendor/symfony/translation/Tests/fixtures/encoding.xlf b/core/vendor/symfony/translation/Tests/fixtures/encoding.xlf new file mode 100644 index 0000000000000000000000000000000000000000..0a88f9265052e53c6cc080ce040660e8e20b331a --- /dev/null +++ b/core/vendor/symfony/translation/Tests/fixtures/encoding.xlf @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2"> + <file source-language="en" datatype="plaintext" original="file.ext"> + <body> + <trans-unit id="1" resname="foo"> + <source>foo</source> + <target>bär</target> + <note>bäz</note> + </trans-unit> + <trans-unit id="2" resname="bar"> + <source>bar</source> + <target>föö</target> + </trans-unit> + </body> + </file> +</xliff> diff --git a/core/vendor/symfony/translation/Tests/fixtures/escaped-id-plurals.po b/core/vendor/symfony/translation/Tests/fixtures/escaped-id-plurals.po new file mode 100644 index 0000000000000000000000000000000000000000..c412aa26ec89c9a7a5cc5da72e10d68158c9145d --- /dev/null +++ b/core/vendor/symfony/translation/Tests/fixtures/escaped-id-plurals.po @@ -0,0 +1,10 @@ +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: en\n" + +msgid "escaped \"foo\"" +msgid_plural "escaped \"foos\"" +msgstr[0] "escaped \"bar\"" +msgstr[1] "escaped \"bars\"" diff --git a/core/vendor/symfony/translation/Tests/fixtures/escaped-id.po b/core/vendor/symfony/translation/Tests/fixtures/escaped-id.po new file mode 100644 index 0000000000000000000000000000000000000000..308eadd92659e0faad84c40cf3e254e48ad77538 --- /dev/null +++ b/core/vendor/symfony/translation/Tests/fixtures/escaped-id.po @@ -0,0 +1,8 @@ +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: en\n" + +msgid "escaped \"foo\"" +msgstr "escaped \"bar\"" diff --git a/core/vendor/symfony/translation/Tests/fixtures/invalid-xml-resources.xlf b/core/vendor/symfony/translation/Tests/fixtures/invalid-xml-resources.xlf new file mode 100644 index 0000000000000000000000000000000000000000..7bf6c98ba3309950f94204558750a1ac27dc83fe --- /dev/null +++ b/core/vendor/symfony/translation/Tests/fixtures/invalid-xml-resources.xlf @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?> +<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2"> + <file source-language="en" datatype="plaintext" original="file.ext"> + <body> + <trans-unit id="1"> + <source>foo</source> + <target>bar + </trans-unit> + <trans-unit id="2"> + <source>extra</source> + </trans-unit> + <trans-unit id="3"> + <source>key</source> + <target></target> + </trans-unit> + <trans-unit id="4"> + <source>test</source> + <target>with</target> + <note>note</note> + </trans-unit> + </body> + </file> +</xliff> diff --git a/core/vendor/symfony/translation/Tests/fixtures/malformed.json b/core/vendor/symfony/translation/Tests/fixtures/malformed.json new file mode 100644 index 0000000000000000000000000000000000000000..4563ec6da8d9fe2357bd7cf6a3d9524ec629ff8f --- /dev/null +++ b/core/vendor/symfony/translation/Tests/fixtures/malformed.json @@ -0,0 +1,3 @@ +{ + "foo" "bar" +} \ No newline at end of file diff --git a/core/vendor/symfony/translation/Tests/fixtures/non-valid.xlf b/core/vendor/symfony/translation/Tests/fixtures/non-valid.xlf new file mode 100644 index 0000000000000000000000000000000000000000..734fc97e413c736c14f2dca3aed47ad780fde20e --- /dev/null +++ b/core/vendor/symfony/translation/Tests/fixtures/non-valid.xlf @@ -0,0 +1,11 @@ +<?xml version="1.0"?> +<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2"> + <file source-language="en" datatype="plaintext" original="file.ext"> + <body> + <trans-unit> + <source>foo</source> + <target>bar</target> + </trans-unit> + </body> + </file> +</xliff> diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/nonvalid-mapping.yml b/core/vendor/symfony/translation/Tests/fixtures/non-valid.yml similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/nonvalid-mapping.yml rename to core/vendor/symfony/translation/Tests/fixtures/non-valid.yml diff --git a/core/vendor/symfony/translation/Tests/fixtures/plurals.mo b/core/vendor/symfony/translation/Tests/fixtures/plurals.mo new file mode 100644 index 0000000000000000000000000000000000000000..6445e77beab595289cd154ea253c4e49dfd6af47 Binary files /dev/null and b/core/vendor/symfony/translation/Tests/fixtures/plurals.mo differ diff --git a/core/vendor/symfony/translation/Tests/fixtures/plurals.po b/core/vendor/symfony/translation/Tests/fixtures/plurals.po new file mode 100644 index 0000000000000000000000000000000000000000..439c41ad7fef4bc29f09cb011c01e15e54b1c778 --- /dev/null +++ b/core/vendor/symfony/translation/Tests/fixtures/plurals.po @@ -0,0 +1,5 @@ +msgid "foo" +msgid_plural "foos" +msgstr[0] "bar" +msgstr[1] "bars" + diff --git a/core/vendor/symfony/translation/Tests/fixtures/resname.xlf b/core/vendor/symfony/translation/Tests/fixtures/resname.xlf new file mode 100644 index 0000000000000000000000000000000000000000..2df16af942f4348158a46090268b9b8a4631413d --- /dev/null +++ b/core/vendor/symfony/translation/Tests/fixtures/resname.xlf @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="utf-8"?> +<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2"> + <file source-language="en" datatype="plaintext" original="file.ext"> + <body> + <trans-unit id="1" resname="foo"> + <source></source> + <target>bar</target> + </trans-unit> + <trans-unit id="2" resname="bar"> + <source>bar source</source> + <target>baz</target> + </trans-unit> + <trans-unit id="3"> + <source>baz</source> + <target>foo</target> + </trans-unit> + </body> + </file> +</xliff> diff --git a/core/vendor/symfony/translation/Tests/fixtures/resourcebundle/corrupted/resources.dat b/core/vendor/symfony/translation/Tests/fixtures/resourcebundle/corrupted/resources.dat new file mode 100644 index 0000000000000000000000000000000000000000..391250caa0ad639a4ff3420607b7cef8241a15ae --- /dev/null +++ b/core/vendor/symfony/translation/Tests/fixtures/resourcebundle/corrupted/resources.dat @@ -0,0 +1 @@ +XXX \ No newline at end of file diff --git a/core/vendor/symfony/translation/Tests/fixtures/resourcebundle/dat/en.res b/core/vendor/symfony/translation/Tests/fixtures/resourcebundle/dat/en.res new file mode 100644 index 0000000000000000000000000000000000000000..1fc1436d6641b7290ad5d9f4d331111e4a0419dd Binary files /dev/null and b/core/vendor/symfony/translation/Tests/fixtures/resourcebundle/dat/en.res differ diff --git a/core/vendor/symfony/translation/Tests/fixtures/resourcebundle/dat/en.txt b/core/vendor/symfony/translation/Tests/fixtures/resourcebundle/dat/en.txt new file mode 100644 index 0000000000000000000000000000000000000000..3d9e9eae1c95686295064d6859ffbfd9b84fd49e --- /dev/null +++ b/core/vendor/symfony/translation/Tests/fixtures/resourcebundle/dat/en.txt @@ -0,0 +1,3 @@ +en{ + symfony{"Symfony is great"} +} \ No newline at end of file diff --git a/core/vendor/symfony/translation/Tests/fixtures/resourcebundle/dat/fr.res b/core/vendor/symfony/translation/Tests/fixtures/resourcebundle/dat/fr.res new file mode 100644 index 0000000000000000000000000000000000000000..f58416094be89f5fb64f78f6c3b873c6458696d0 Binary files /dev/null and b/core/vendor/symfony/translation/Tests/fixtures/resourcebundle/dat/fr.res differ diff --git a/core/vendor/symfony/translation/Tests/fixtures/resourcebundle/dat/fr.txt b/core/vendor/symfony/translation/Tests/fixtures/resourcebundle/dat/fr.txt new file mode 100644 index 0000000000000000000000000000000000000000..182d0a0de3f7e6e9c6a0561d640d013f2d3b8502 --- /dev/null +++ b/core/vendor/symfony/translation/Tests/fixtures/resourcebundle/dat/fr.txt @@ -0,0 +1,3 @@ +fr{ + symfony{"Symfony est génial"} +} \ No newline at end of file diff --git a/core/vendor/symfony/translation/Tests/fixtures/resourcebundle/dat/packagelist.txt b/core/vendor/symfony/translation/Tests/fixtures/resourcebundle/dat/packagelist.txt new file mode 100644 index 0000000000000000000000000000000000000000..c5783ed4315abfd9186c4c5c4459c283de0b5f07 --- /dev/null +++ b/core/vendor/symfony/translation/Tests/fixtures/resourcebundle/dat/packagelist.txt @@ -0,0 +1,2 @@ +en.res +fr.res diff --git a/core/vendor/symfony/translation/Tests/fixtures/resourcebundle/dat/resources.dat b/core/vendor/symfony/translation/Tests/fixtures/resourcebundle/dat/resources.dat new file mode 100644 index 0000000000000000000000000000000000000000..563b0eaef2e5a0a6e9623bf7b93b44beb0a7dc27 Binary files /dev/null and b/core/vendor/symfony/translation/Tests/fixtures/resourcebundle/dat/resources.dat differ diff --git a/core/vendor/symfony/translation/Tests/fixtures/resourcebundle/res/en.res b/core/vendor/symfony/translation/Tests/fixtures/resourcebundle/res/en.res new file mode 100644 index 0000000000000000000000000000000000000000..ad894a92be2d5392136de413bc2cb5ea8a94bfb1 Binary files /dev/null and b/core/vendor/symfony/translation/Tests/fixtures/resourcebundle/res/en.res differ diff --git a/core/vendor/symfony/translation/Tests/fixtures/resources-clean.xlf b/core/vendor/symfony/translation/Tests/fixtures/resources-clean.xlf new file mode 100644 index 0000000000000000000000000000000000000000..4ce15af2f5f71daea2f468b12ec079fd8492a2c0 --- /dev/null +++ b/core/vendor/symfony/translation/Tests/fixtures/resources-clean.xlf @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="utf-8"?> +<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2"> + <file source-language="fr-FR" target-language="en-US" datatype="plaintext" original="file.ext"> + <body> + <trans-unit id="acbd18db4cc2f85cedef654fccc4a4d8" resname="foo"> + <source>foo</source> + <target>bar</target> + <note priority="1" from="bar">baz</note> + </trans-unit> + <trans-unit id="3c6e0b8a9c15224a8228b9a98ca1531d" resname="key"> + <source>key</source> + <target></target> + <note>baz</note> + <note>qux</note> + </trans-unit> + <trans-unit id="18e6a493872558d949b4c16ea1fa6ab6" resname="key.with.cdata"> + <source>key.with.cdata</source> + <target><![CDATA[<source> & <target>]]></target> + </trans-unit> + </body> + </file> +</xliff> diff --git a/core/vendor/symfony/translation/Tests/fixtures/resources.csv b/core/vendor/symfony/translation/Tests/fixtures/resources.csv new file mode 100644 index 0000000000000000000000000000000000000000..374b9eb5eb68e8f20ee26def7ea8bbf9c18ebd0f --- /dev/null +++ b/core/vendor/symfony/translation/Tests/fixtures/resources.csv @@ -0,0 +1,4 @@ +"foo"; "bar" +#"bar"; "foo" +"incorrect"; "number"; "columns"; "will"; "be"; "ignored" +"incorrect" \ No newline at end of file diff --git a/core/vendor/symfony/translation/Tests/fixtures/resources.ini b/core/vendor/symfony/translation/Tests/fixtures/resources.ini new file mode 100644 index 0000000000000000000000000000000000000000..4953062e69e5d3ba43f30765783621197fa45529 --- /dev/null +++ b/core/vendor/symfony/translation/Tests/fixtures/resources.ini @@ -0,0 +1 @@ +foo="bar" diff --git a/core/vendor/symfony/translation/Tests/fixtures/resources.json b/core/vendor/symfony/translation/Tests/fixtures/resources.json new file mode 100644 index 0000000000000000000000000000000000000000..8a79687628fe86b467ec0e87e7e155c4661caa4f --- /dev/null +++ b/core/vendor/symfony/translation/Tests/fixtures/resources.json @@ -0,0 +1,3 @@ +{ + "foo": "bar" +} \ No newline at end of file diff --git a/core/vendor/symfony/translation/Tests/fixtures/resources.mo b/core/vendor/symfony/translation/Tests/fixtures/resources.mo new file mode 100644 index 0000000000000000000000000000000000000000..0a9660257c07afef243a011d9806d6217e4f1379 Binary files /dev/null and b/core/vendor/symfony/translation/Tests/fixtures/resources.mo differ diff --git a/core/vendor/symfony/translation/Tests/fixtures/resources.php b/core/vendor/symfony/translation/Tests/fixtures/resources.php new file mode 100644 index 0000000000000000000000000000000000000000..c2913985391cb6d33df2ccadc187876b516d310d --- /dev/null +++ b/core/vendor/symfony/translation/Tests/fixtures/resources.php @@ -0,0 +1,5 @@ +<?php + +return array ( + 'foo' => 'bar', +); diff --git a/core/vendor/symfony/translation/Tests/fixtures/resources.po b/core/vendor/symfony/translation/Tests/fixtures/resources.po new file mode 100644 index 0000000000000000000000000000000000000000..ccfce6bb98d466a78252d2d0b420213d213c495c --- /dev/null +++ b/core/vendor/symfony/translation/Tests/fixtures/resources.po @@ -0,0 +1,8 @@ +msgid "" +msgstr "" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: en\n" + +msgid "foo" +msgstr "bar" \ No newline at end of file diff --git a/core/vendor/symfony/translation/Tests/fixtures/resources.ts b/core/vendor/symfony/translation/Tests/fixtures/resources.ts new file mode 100644 index 0000000000000000000000000000000000000000..40e18522c85b61912b25b052d061c957b8cc2336 --- /dev/null +++ b/core/vendor/symfony/translation/Tests/fixtures/resources.ts @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="utf-8"?> +<TS> + <context> + <name>resources</name> + <message> + <source>foo</source> + <translation>bar</translation> + </message> + </context> +</TS> diff --git a/core/vendor/symfony/translation/Tests/fixtures/resources.xlf b/core/vendor/symfony/translation/Tests/fixtures/resources.xlf new file mode 100644 index 0000000000000000000000000000000000000000..b0e59880f889414f3734de99c19d5abbc6c67ecd --- /dev/null +++ b/core/vendor/symfony/translation/Tests/fixtures/resources.xlf @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?> +<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2"> + <file source-language="en" datatype="plaintext" original="file.ext"> + <body> + <trans-unit id="1"> + <source>foo</source> + <target>bar</target> + </trans-unit> + <trans-unit id="2"> + <source>extra</source> + </trans-unit> + <trans-unit id="3"> + <source>key</source> + <target></target> + </trans-unit> + <trans-unit id="4"> + <source>test</source> + <target>with</target> + <note>note</note> + </trans-unit> + </body> + </file> +</xliff> diff --git a/core/vendor/symfony/translation/Tests/fixtures/resources.yml b/core/vendor/symfony/translation/Tests/fixtures/resources.yml new file mode 100644 index 0000000000000000000000000000000000000000..20e9ff3feaa8ede30f707e5f1b4356e3c02bb7ec --- /dev/null +++ b/core/vendor/symfony/translation/Tests/fixtures/resources.yml @@ -0,0 +1 @@ +foo: bar diff --git a/core/vendor/symfony/translation/Tests/fixtures/valid.csv b/core/vendor/symfony/translation/Tests/fixtures/valid.csv new file mode 100644 index 0000000000000000000000000000000000000000..59882e5da4d94c9643a3d8680154ce6981c9a977 --- /dev/null +++ b/core/vendor/symfony/translation/Tests/fixtures/valid.csv @@ -0,0 +1,4 @@ +foo;bar +bar;"foo +foo" +"foo;foo";bar diff --git a/core/vendor/symfony/translation/Tests/fixtures/withdoctype.xlf b/core/vendor/symfony/translation/Tests/fixtures/withdoctype.xlf new file mode 100644 index 0000000000000000000000000000000000000000..f83e834ddc4772f66498c0cb44262708f683d2b2 --- /dev/null +++ b/core/vendor/symfony/translation/Tests/fixtures/withdoctype.xlf @@ -0,0 +1,12 @@ +<?xml version="1.0"?> +<!DOCTYPE foo> +<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2"> + <file source-language="en" datatype="plaintext" original="file.ext"> + <body> + <trans-unit id="1"> + <source>foo</source> + <target>bar</target> + </trans-unit> + </body> + </file> +</xliff> diff --git a/core/vendor/symfony/translation/Tests/fixtures/withnote.xlf b/core/vendor/symfony/translation/Tests/fixtures/withnote.xlf new file mode 100644 index 0000000000000000000000000000000000000000..b1d3f83a0c7148aee05e70eac73d553029c630d2 --- /dev/null +++ b/core/vendor/symfony/translation/Tests/fixtures/withnote.xlf @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="utf-8"?> +<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2"> + <file source-language="en" datatype="plaintext" original="file.ext"> + <body> + <trans-unit id="1"> + <source>foo</source> + <target>bar</target> + <note priority="1">foo</note> + </trans-unit> + <trans-unit id="2"> + <source>extra</source> + <note from="foo">bar</note> + </trans-unit> + <trans-unit id="3"> + <source>key</source> + <target></target> + <note>baz</note> + <note priority="2" from="bar">qux</note> + </trans-unit> + </body> + </file> +</xliff> diff --git a/core/vendor/symfony/translation/Translator.php b/core/vendor/symfony/translation/Translator.php new file mode 100644 index 0000000000000000000000000000000000000000..ec315066f7b04c084a9efbb7e807e94c84d0dd59 --- /dev/null +++ b/core/vendor/symfony/translation/Translator.php @@ -0,0 +1,504 @@ +<?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\Translation; + +use Symfony\Component\Translation\Loader\LoaderInterface; +use Symfony\Component\Translation\Exception\NotFoundResourceException; +use Symfony\Component\Config\ConfigCacheInterface; +use Symfony\Component\Config\ConfigCacheFactoryInterface; +use Symfony\Component\Config\ConfigCacheFactory; + +/** + * Translator. + * + * @author Fabien Potencier <fabien@symfony.com> + * + * @api + */ +class Translator implements TranslatorInterface, TranslatorBagInterface +{ + /** + * @var MessageCatalogueInterface[] + */ + protected $catalogues = array(); + + /** + * @var string + */ + protected $locale; + + /** + * @var array + */ + private $fallbackLocales = array(); + + /** + * @var LoaderInterface[] + */ + private $loaders = array(); + + /** + * @var array + */ + private $resources = array(); + + /** + * @var MessageSelector + */ + private $selector; + + /** + * @var string + */ + private $cacheDir; + + /** + * @var bool + */ + private $debug; + + /** + * @var ConfigCacheFactoryInterface|null + */ + private $configCacheFactory; + + /** + * Constructor. + * + * @param string $locale The locale + * @param MessageSelector|null $selector The message selector for pluralization + * @param string|null $cacheDir The directory to use for the cache + * @param bool $debug Use cache in debug mode ? + * + * @throws \InvalidArgumentException If a locale contains invalid characters + * + * @api + */ + public function __construct($locale, MessageSelector $selector = null, $cacheDir = null, $debug = false) + { + $this->setLocale($locale); + $this->selector = $selector ?: new MessageSelector(); + $this->cacheDir = $cacheDir; + $this->debug = $debug; + } + + /** + * Sets the ConfigCache factory to use. + * + * @param ConfigCacheFactoryInterface $configCacheFactory + */ + public function setConfigCacheFactory(ConfigCacheFactoryInterface $configCacheFactory) + { + $this->configCacheFactory = $configCacheFactory; + } + + /** + * Adds a Loader. + * + * @param string $format The name of the loader (@see addResource()) + * @param LoaderInterface $loader A LoaderInterface instance + * + * @api + */ + public function addLoader($format, LoaderInterface $loader) + { + $this->loaders[$format] = $loader; + } + + /** + * Adds a Resource. + * + * @param string $format The name of the loader (@see addLoader()) + * @param mixed $resource The resource name + * @param string $locale The locale + * @param string $domain The domain + * + * @throws \InvalidArgumentException If the locale contains invalid characters + * + * @api + */ + public function addResource($format, $resource, $locale, $domain = null) + { + if (null === $domain) { + $domain = 'messages'; + } + + $this->assertValidLocale($locale); + + $this->resources[$locale][] = array($format, $resource, $domain); + + if (in_array($locale, $this->fallbackLocales)) { + $this->catalogues = array(); + } else { + unset($this->catalogues[$locale]); + } + } + + /** + * {@inheritdoc} + * + * @api + */ + public function setLocale($locale) + { + $this->assertValidLocale($locale); + $this->locale = $locale; + } + + /** + * {@inheritdoc} + * + * @api + */ + public function getLocale() + { + return $this->locale; + } + + /** + * Sets the fallback locale(s). + * + * @param string|array $locales The fallback locale(s) + * + * @throws \InvalidArgumentException If a locale contains invalid characters + * + * @deprecated since version 2.3, to be removed in 3.0. Use setFallbackLocales() instead. + * + * @api + */ + public function setFallbackLocale($locales) + { + trigger_error('The '.__METHOD__.' method is deprecated since version 2.3 and will be removed in 3.0. Use the setFallbackLocales() method instead.', E_USER_DEPRECATED); + + $this->setFallbackLocales(is_array($locales) ? $locales : array($locales)); + } + + /** + * Sets the fallback locales. + * + * @param array $locales The fallback locales + * + * @throws \InvalidArgumentException If a locale contains invalid characters + * + * @api + */ + public function setFallbackLocales(array $locales) + { + // needed as the fallback locales are linked to the already loaded catalogues + $this->catalogues = array(); + + foreach ($locales as $locale) { + $this->assertValidLocale($locale); + } + + $this->fallbackLocales = $locales; + } + + /** + * Gets the fallback locales. + * + * @return array $locales The fallback locales + * + * @api + */ + public function getFallbackLocales() + { + return $this->fallbackLocales; + } + + /** + * {@inheritdoc} + * + * @api + */ + public function trans($id, array $parameters = array(), $domain = null, $locale = null) + { + if (null === $domain) { + $domain = 'messages'; + } + + return strtr($this->getCatalogue($locale)->get((string) $id, $domain), $parameters); + } + + /** + * {@inheritdoc} + * + * @api + */ + public function transChoice($id, $number, array $parameters = array(), $domain = null, $locale = null) + { + if (null === $domain) { + $domain = 'messages'; + } + + $id = (string) $id; + $catalogue = $this->getCatalogue($locale); + $locale = $catalogue->getLocale(); + while (!$catalogue->defines($id, $domain)) { + if ($cat = $catalogue->getFallbackCatalogue()) { + $catalogue = $cat; + $locale = $catalogue->getLocale(); + } else { + break; + } + } + + return strtr($this->selector->choose($catalogue->get($id, $domain), (int) $number, $locale), $parameters); + } + + /** + * {@inheritdoc} + */ + public function getCatalogue($locale = null) + { + if (null === $locale) { + $locale = $this->getLocale(); + } else { + $this->assertValidLocale($locale); + } + + if (!isset($this->catalogues[$locale])) { + $this->loadCatalogue($locale); + } + + return $this->catalogues[$locale]; + } + + /** + * Gets the loaders. + * + * @return array LoaderInterface[] + */ + protected function getLoaders() + { + return $this->loaders; + } + + /** + * Collects all messages for the given locale. + * + * @param string|null $locale Locale of translations, by default is current locale + * + * @return array[array] indexed by catalog + */ + public function getMessages($locale = null) + { + $catalogue = $this->getCatalogue($locale); + $messages = $catalogue->all(); + while ($catalogue = $catalogue->getFallbackCatalogue()) { + $messages = array_replace_recursive($catalogue->all(), $messages); + } + + return $messages; + } + + /** + * @param string $locale + */ + protected function loadCatalogue($locale) + { + if (null === $this->cacheDir) { + $this->initializeCatalogue($locale); + } else { + $this->initializeCacheCatalogue($locale); + } + } + + /** + * @param string $locale + */ + protected function initializeCatalogue($locale) + { + $this->assertValidLocale($locale); + + try { + $this->doLoadCatalogue($locale); + } catch (NotFoundResourceException $e) { + if (!$this->computeFallbackLocales($locale)) { + throw $e; + } + } + $this->loadFallbackCatalogues($locale); + } + + /** + * @param string $locale + */ + private function initializeCacheCatalogue($locale) + { + if (isset($this->catalogues[$locale])) { + /* Catalogue already initialized. */ + return; + } + + $this->assertValidLocale($locale); + $self = $this; // required for PHP 5.3 where "$this" cannot be use()d in anonymous functions. Change in Symfony 3.0. + $cache = $this->getConfigCacheFactory()->cache($this->getCatalogueCachePath($locale), + function (ConfigCacheInterface $cache) use ($self, $locale) { + $self->dumpCatalogue($locale, $cache); + } + ); + + if (isset($this->catalogues[$locale])) { + /* Catalogue has been initialized as it was written out to cache. */ + return; + } + + /* Read catalogue from cache. */ + $this->catalogues[$locale] = include $cache->getPath(); + } + + /** + * This method is public because it needs to be callable from a closure in PHP 5.3. It should be made protected (or even private, if possible) in 3.0. + * + * @internal + */ + public function dumpCatalogue($locale, ConfigCacheInterface $cache) + { + $this->initializeCatalogue($locale); + $fallbackContent = $this->getFallbackContent($this->catalogues[$locale]); + + $content = sprintf(<<<EOF +<?php + +use Symfony\Component\Translation\MessageCatalogue; + +\$catalogue = new MessageCatalogue('%s', %s); + +%s +return \$catalogue; + +EOF + , + $locale, + var_export($this->catalogues[$locale]->all(), true), + $fallbackContent + ); + + $cache->write($content, $this->catalogues[$locale]->getResources()); + } + + private function getFallbackContent(MessageCatalogue $catalogue) + { + $fallbackContent = ''; + $current = ''; + $replacementPattern = '/[^a-z0-9_]/i'; + $fallbackCatalogue = $catalogue->getFallbackCatalogue(); + while ($fallbackCatalogue) { + $fallback = $fallbackCatalogue->getLocale(); + $fallbackSuffix = ucfirst(preg_replace($replacementPattern, '_', $fallback)); + $currentSuffix = ucfirst(preg_replace($replacementPattern, '_', $current)); + + $fallbackContent .= sprintf(<<<EOF +\$catalogue%s = new MessageCatalogue('%s', %s); +\$catalogue%s->addFallbackCatalogue(\$catalogue%s); + +EOF + , + $fallbackSuffix, + $fallback, + var_export($fallbackCatalogue->all(), true), + $currentSuffix, + $fallbackSuffix + ); + $current = $fallbackCatalogue->getLocale(); + $fallbackCatalogue = $fallbackCatalogue->getFallbackCatalogue(); + } + + return $fallbackContent; + } + + private function getCatalogueCachePath($locale) + { + $catalogueHash = sha1(serialize(array( + 'resources' => isset($this->resources[$locale]) ? $this->resources[$locale] : array(), + 'fallback_locales' => $this->fallbackLocales, + ))); + + return $this->cacheDir.'/catalogue.'.$locale.'.'.$catalogueHash.'.php'; + } + + private function doLoadCatalogue($locale) + { + $this->catalogues[$locale] = new MessageCatalogue($locale); + + if (isset($this->resources[$locale])) { + foreach ($this->resources[$locale] as $resource) { + if (!isset($this->loaders[$resource[0]])) { + throw new \RuntimeException(sprintf('The "%s" translation loader is not registered.', $resource[0])); + } + $this->catalogues[$locale]->addCatalogue($this->loaders[$resource[0]]->load($resource[1], $locale, $resource[2])); + } + } + } + + private function loadFallbackCatalogues($locale) + { + $current = $this->catalogues[$locale]; + + foreach ($this->computeFallbackLocales($locale) as $fallback) { + if (!isset($this->catalogues[$fallback])) { + $this->doLoadCatalogue($fallback); + } + + $current->addFallbackCatalogue($this->catalogues[$fallback]); + $current = $this->catalogues[$fallback]; + } + } + + protected function computeFallbackLocales($locale) + { + $locales = array(); + foreach ($this->fallbackLocales as $fallback) { + if ($fallback === $locale) { + continue; + } + + $locales[] = $fallback; + } + + if (strrchr($locale, '_') !== false) { + array_unshift($locales, substr($locale, 0, -strlen(strrchr($locale, '_')))); + } + + return array_unique($locales); + } + + /** + * Asserts that the locale is valid, throws an Exception if not. + * + * @param string $locale Locale to tests + * + * @throws \InvalidArgumentException If the locale contains invalid characters + */ + protected function assertValidLocale($locale) + { + if (1 !== preg_match('/^[a-z0-9@_\\.\\-]*$/i', $locale)) { + throw new \InvalidArgumentException(sprintf('Invalid "%s" locale.', $locale)); + } + } + + /** + * Provides the ConfigCache factory implementation, falling back to a + * default implementation if necessary. + * + * @return ConfigCacheFactoryInterface $configCacheFactory + */ + private function getConfigCacheFactory() + { + if (!$this->configCacheFactory) { + $this->configCacheFactory = new ConfigCacheFactory($this->debug); + } + + return $this->configCacheFactory; + } +} diff --git a/core/vendor/symfony/translation/TranslatorBagInterface.php b/core/vendor/symfony/translation/TranslatorBagInterface.php new file mode 100644 index 0000000000000000000000000000000000000000..6f650b5ee0f88ee1fc6a442e4948370c7612b2a7 --- /dev/null +++ b/core/vendor/symfony/translation/TranslatorBagInterface.php @@ -0,0 +1,31 @@ +<?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\Translation; + +/** + * TranslatorBagInterface. + * + * @author Abdellatif Ait boudad <a.aitboudad@gmail.com> + */ +interface TranslatorBagInterface +{ + /** + * Gets the catalogue by locale. + * + * @param string|null $locale The locale or null to use the default + * + * @throws \InvalidArgumentException If the locale contains invalid characters + * + * @return MessageCatalogueInterface + */ + public function getCatalogue($locale = null); +} diff --git a/core/vendor/symfony/translation/Symfony/Component/Translation/TranslatorInterface.php b/core/vendor/symfony/translation/TranslatorInterface.php similarity index 100% rename from core/vendor/symfony/translation/Symfony/Component/Translation/TranslatorInterface.php rename to core/vendor/symfony/translation/TranslatorInterface.php diff --git a/core/vendor/symfony/translation/Writer/TranslationWriter.php b/core/vendor/symfony/translation/Writer/TranslationWriter.php new file mode 100644 index 0000000000000000000000000000000000000000..44ac182d74a16c435b03ed7b75f8fc73a5e9bb1e --- /dev/null +++ b/core/vendor/symfony/translation/Writer/TranslationWriter.php @@ -0,0 +1,87 @@ +<?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\Translation\Writer; + +use Symfony\Component\Translation\MessageCatalogue; +use Symfony\Component\Translation\Dumper\DumperInterface; + +/** + * TranslationWriter writes translation messages. + * + * @author Michel Salib <michelsalib@hotmail.com> + */ +class TranslationWriter +{ + /** + * Dumpers used for export. + * + * @var array + */ + private $dumpers = array(); + + /** + * Adds a dumper to the writer. + * + * @param string $format The format of the dumper + * @param DumperInterface $dumper The dumper + */ + public function addDumper($format, DumperInterface $dumper) + { + $this->dumpers[$format] = $dumper; + } + + /** + * Disables dumper backup. + */ + public function disableBackup() + { + foreach ($this->dumpers as $dumper) { + $dumper->setBackup(false); + } + } + + /** + * Obtains the list of supported formats. + * + * @return array + */ + public function getFormats() + { + return array_keys($this->dumpers); + } + + /** + * Writes translation from the catalogue according to the selected format. + * + * @param MessageCatalogue $catalogue The message catalogue to dump + * @param string $format The format to use to dump the messages + * @param array $options Options that are passed to the dumper + * + * @throws \InvalidArgumentException + */ + public function writeTranslations(MessageCatalogue $catalogue, $format, $options = array()) + { + if (!isset($this->dumpers[$format])) { + throw new \InvalidArgumentException(sprintf('There is no dumper associated with format "%s".', $format)); + } + + // get the right dumper + $dumper = $this->dumpers[$format]; + + if (isset($options['path']) && !is_dir($options['path'])) { + mkdir($options['path'], 0777, true); + } + + // save + $dumper->dump($catalogue, $options); + } +} diff --git a/core/vendor/symfony/translation/composer.json b/core/vendor/symfony/translation/composer.json new file mode 100644 index 0000000000000000000000000000000000000000..6f1053e66caf08b1e60c20110db3047a4eac6845 --- /dev/null +++ b/core/vendor/symfony/translation/composer.json @@ -0,0 +1,45 @@ +{ + "name": "symfony/translation", + "type": "library", + "description": "Symfony Translation Component", + "keywords": [], + "homepage": "https://symfony.com", + "license": "MIT", + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "require": { + "php": ">=5.3.9" + }, + "require-dev": { + "symfony/phpunit-bridge": "~2.7", + "symfony/config": "~2.7", + "symfony/intl": "~2.3", + "symfony/yaml": "~2.2", + "psr/log": "~1.0" + }, + "conflict": { + "symfony/config": "<2.7" + }, + "suggest": { + "symfony/config": "", + "symfony/yaml": "", + "psr/log": "To use logging capability in translator" + }, + "autoload": { + "psr-4": { "Symfony\\Component\\Translation\\": "" } + }, + "minimum-stability": "dev", + "extra": { + "branch-alias": { + "dev-master": "2.7-dev" + } + } +} diff --git a/core/vendor/symfony/translation/phpunit.xml.dist b/core/vendor/symfony/translation/phpunit.xml.dist new file mode 100644 index 0000000000000000000000000000000000000000..16cca4afb7c69ec317af617da65cd044d78dd693 --- /dev/null +++ b/core/vendor/symfony/translation/phpunit.xml.dist @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/4.1/phpunit.xsd" + backupGlobals="false" + colors="true" + bootstrap="vendor/autoload.php" +> + <php> + <ini name="error_reporting" value="-1" /> + </php> + + <testsuites> + <testsuite name="Symfony Translation Component Test Suite"> + <directory>./Tests/</directory> + </testsuite> + </testsuites> + + <filter> + <whitelist> + <directory>./</directory> + <exclude> + <directory>./vendor</directory> + <directory>./Tests</directory> + </exclude> + </whitelist> + </filter> +</phpunit> diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/CHANGELOG.md b/core/vendor/symfony/validator/CHANGELOG.md similarity index 93% rename from core/vendor/symfony/validator/Symfony/Component/Validator/CHANGELOG.md rename to core/vendor/symfony/validator/CHANGELOG.md index 329eaf3eb0aed69f7c2b1103ad900671c9ffb6de..4531286fdbcb74716c13a8c23029725c457b2966 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/CHANGELOG.md +++ b/core/vendor/symfony/validator/CHANGELOG.md @@ -1,6 +1,12 @@ CHANGELOG ========= +2.7.0 +----- + + * deprecated `DefaultTranslator` in favor of `Symfony\Component\Translation\IdentityTranslator` + * deprecated PHP7-incompatible constraints (Null, True, False) and related validators (NullValidator, TrueValidator, FalseValidator) in favor of their `Is`-prefixed equivalent + 2.6.0 ----- @@ -74,7 +80,7 @@ CHANGELOG * added `Util\PropertyPath` * made the PropertyAccess component an optional dependency * deprecated `ValidatorBuilder::setPropertyAccessor()` - + * deprecated `validate` and `validateValue` on `Validator\Context\ExecutionContext` use `getValidator()` together with `inContext()` instead 2.4.0 ----- @@ -82,6 +88,11 @@ CHANGELOG * added a constraint the uses the expression language * added `minRatio`, `maxRatio`, `allowSquare`, `allowLandscape`, and `allowPortrait` to Image validator +2.3.29 +------ + + * fixed compatibility with PHP7 and up by introducing new constraints (IsNull, IsTrue, IsFalse) and related validators (IsNullValidator, IsTrueValidator, IsFalseValidator) + 2.3.0 ----- diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/ClassBasedInterface.php b/core/vendor/symfony/validator/ClassBasedInterface.php similarity index 89% rename from core/vendor/symfony/validator/Symfony/Component/Validator/ClassBasedInterface.php rename to core/vendor/symfony/validator/ClassBasedInterface.php index fe532efe5170227b0b3df213fa8d58a0106dfb76..7c2eb8f0f7c92842f770635ea26d574256a6f237 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/ClassBasedInterface.php +++ b/core/vendor/symfony/validator/ClassBasedInterface.php @@ -16,7 +16,7 @@ * * @author Bernhard Schussek <bschussek@gmail.com> * - * @deprecated Deprecated since version 2.5, to be removed in Symfony 3.0. + * @deprecated since version 2.5, to be removed in 3.0. * Use {@link Mapping\ClassMetadataInterface} instead. */ interface ClassBasedInterface diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraint.php b/core/vendor/symfony/validator/Constraint.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraint.php rename to core/vendor/symfony/validator/Constraint.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/ConstraintValidator.php b/core/vendor/symfony/validator/ConstraintValidator.php similarity index 94% rename from core/vendor/symfony/validator/Symfony/Component/Validator/ConstraintValidator.php rename to core/vendor/symfony/validator/ConstraintValidator.php index 61c994a6293b693a5b569effc6f21c28987b5764..7a412737bd9a135ab48538964b773711be6ad330 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/ConstraintValidator.php +++ b/core/vendor/symfony/validator/ConstraintValidator.php @@ -61,10 +61,12 @@ public function initialize(ExecutionContextInterface $context) * * @return ConstraintViolationBuilderInterface The violation builder * - * @deprecated This method will be removed in Symfony 3.0. + * @deprecated since version 2.5, to be removed in 3.0. */ protected function buildViolation($message, array $parameters = array()) { + trigger_error('The '.__METHOD__.' is deprecated since version 2.5 and will be removed in 3.0.', E_USER_DEPRECATED); + if ($this->context instanceof ExecutionContextInterface2Dot5) { return $this->context->buildViolation($message, $parameters); } @@ -82,10 +84,12 @@ protected function buildViolation($message, array $parameters = array()) * * @return ConstraintViolationBuilderInterface The violation builder * - * @deprecated This method will be removed in Symfony 3.0. + * @deprecated since version 2.5, to be removed in 3.0. */ protected function buildViolationInContext(ExecutionContextInterface $context, $message, array $parameters = array()) { + trigger_error('The '.__METHOD__.' is deprecated since version 2.5 and will be removed in 3.0.', E_USER_DEPRECATED); + if ($context instanceof ExecutionContextInterface2Dot5) { return $context->buildViolation($message, $parameters); } diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/ConstraintValidatorFactory.php b/core/vendor/symfony/validator/ConstraintValidatorFactory.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/ConstraintValidatorFactory.php rename to core/vendor/symfony/validator/ConstraintValidatorFactory.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/ConstraintValidatorFactoryInterface.php b/core/vendor/symfony/validator/ConstraintValidatorFactoryInterface.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/ConstraintValidatorFactoryInterface.php rename to core/vendor/symfony/validator/ConstraintValidatorFactoryInterface.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/ConstraintValidatorInterface.php b/core/vendor/symfony/validator/ConstraintValidatorInterface.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/ConstraintValidatorInterface.php rename to core/vendor/symfony/validator/ConstraintValidatorInterface.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/ConstraintViolation.php b/core/vendor/symfony/validator/ConstraintViolation.php similarity index 89% rename from core/vendor/symfony/validator/Symfony/Component/Validator/ConstraintViolation.php rename to core/vendor/symfony/validator/ConstraintViolation.php index 8f4744f576fe64b341cecaabd9c7b30ef442644d..7df3f3fadeef729218861e0022eb2dabadbc00f6 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/ConstraintViolation.php +++ b/core/vendor/symfony/validator/ConstraintViolation.php @@ -141,9 +141,14 @@ public function getMessageTemplate() /** * {@inheritdoc} + * + * @deprecated since version 2.7, to be removed in 3.0. + * Use getParameters() instead */ public function getMessageParameters() { + trigger_error('The '.__METHOD__.' method is deprecated since version 2.7, to be removed in 3.0. Use the ConstraintViolation::getParameters() method instead.', E_USER_DEPRECATED); + return $this->parameters; } @@ -157,9 +162,14 @@ public function getParameters() /** * {@inheritdoc} + * + * @deprecated since version 2.7, to be removed in 3.0. + * Use getPlural() instead */ public function getMessagePluralization() { + trigger_error('The '.__METHOD__.' method is deprecated since version 2.7, to be removed in 3.0. Use the ConstraintViolation::getPlural() method instead.', E_USER_DEPRECATED); + return $this->plural; } diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/ConstraintViolationInterface.php b/core/vendor/symfony/validator/ConstraintViolationInterface.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/ConstraintViolationInterface.php rename to core/vendor/symfony/validator/ConstraintViolationInterface.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/ConstraintViolationList.php b/core/vendor/symfony/validator/ConstraintViolationList.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/ConstraintViolationList.php rename to core/vendor/symfony/validator/ConstraintViolationList.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/ConstraintViolationListInterface.php b/core/vendor/symfony/validator/ConstraintViolationListInterface.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/ConstraintViolationListInterface.php rename to core/vendor/symfony/validator/ConstraintViolationListInterface.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/AbstractComparison.php b/core/vendor/symfony/validator/Constraints/AbstractComparison.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/AbstractComparison.php rename to core/vendor/symfony/validator/Constraints/AbstractComparison.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/AbstractComparisonValidator.php b/core/vendor/symfony/validator/Constraints/AbstractComparisonValidator.php similarity index 67% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/AbstractComparisonValidator.php rename to core/vendor/symfony/validator/Constraints/AbstractComparisonValidator.php index ec734b3f70819109b5e966f0d9256e595ea36bb8..67d73a5ee25f88a26b202415e0459c98c32795cc 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/AbstractComparisonValidator.php +++ b/core/vendor/symfony/validator/Constraints/AbstractComparisonValidator.php @@ -11,6 +11,7 @@ namespace Symfony\Component\Validator\Constraints; +use Symfony\Component\Validator\Context\ExecutionContextInterface; use Symfony\Component\Validator\Constraint; use Symfony\Component\Validator\ConstraintValidator; use Symfony\Component\Validator\Exception\UnexpectedTypeException; @@ -54,11 +55,19 @@ public function validate($value, Constraint $constraint) } if (!$this->compareValues($value, $comparedValue)) { - $this->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value, self::OBJECT_TO_STRING | self::PRETTY_DATE)) - ->setParameter('{{ compared_value }}', $this->formatValue($comparedValue, self::OBJECT_TO_STRING | self::PRETTY_DATE)) - ->setParameter('{{ compared_value_type }}', $this->formatTypeOf($comparedValue)) - ->addViolation(); + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value, self::OBJECT_TO_STRING | self::PRETTY_DATE)) + ->setParameter('{{ compared_value }}', $this->formatValue($comparedValue, self::OBJECT_TO_STRING | self::PRETTY_DATE)) + ->setParameter('{{ compared_value_type }}', $this->formatTypeOf($comparedValue)) + ->addViolation(); + } else { + $this->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value, self::OBJECT_TO_STRING | self::PRETTY_DATE)) + ->setParameter('{{ compared_value }}', $this->formatValue($comparedValue, self::OBJECT_TO_STRING | self::PRETTY_DATE)) + ->setParameter('{{ compared_value_type }}', $this->formatTypeOf($comparedValue)) + ->addViolation(); + } } } diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/All.php b/core/vendor/symfony/validator/Constraints/All.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/All.php rename to core/vendor/symfony/validator/Constraints/All.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/AllValidator.php b/core/vendor/symfony/validator/Constraints/AllValidator.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/AllValidator.php rename to core/vendor/symfony/validator/Constraints/AllValidator.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Blank.php b/core/vendor/symfony/validator/Constraints/Blank.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Blank.php rename to core/vendor/symfony/validator/Constraints/Blank.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/BlankValidator.php b/core/vendor/symfony/validator/Constraints/BlankValidator.php similarity index 62% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/BlankValidator.php rename to core/vendor/symfony/validator/Constraints/BlankValidator.php index 031c7a581cd3a8595eb3e17f887fa32e1b30944f..2d26e4a91b808ea60028a2abbc36ae54dcf3f96a 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/BlankValidator.php +++ b/core/vendor/symfony/validator/Constraints/BlankValidator.php @@ -11,6 +11,7 @@ namespace Symfony\Component\Validator\Constraints; +use Symfony\Component\Validator\Context\ExecutionContextInterface; use Symfony\Component\Validator\Constraint; use Symfony\Component\Validator\ConstraintValidator; use Symfony\Component\Validator\Exception\UnexpectedTypeException; @@ -32,9 +33,15 @@ public function validate($value, Constraint $constraint) } if ('' !== $value && null !== $value) { - $this->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->addViolation(); + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->addViolation(); + } else { + $this->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->addViolation(); + } } } } diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Callback.php b/core/vendor/symfony/validator/Constraints/Callback.php similarity index 78% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Callback.php rename to core/vendor/symfony/validator/Constraints/Callback.php index 312952a7fa2f8009656881a929dddf9ffa8c7782..bb8c076e0454734e79bb6de93492641a3b9e7464 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Callback.php +++ b/core/vendor/symfony/validator/Constraints/Callback.php @@ -33,7 +33,7 @@ class Callback extends Constraint /** * @var array * - * @deprecated Deprecated since version 2.4, to be removed in Symfony 3.0. + * @deprecated since version 2.4, to be removed in 3.0. */ public $methods; @@ -47,11 +47,15 @@ public function __construct($options = null) $options = $options['value']; } + if (is_array($options) && isset($options['methods'])) { + trigger_error('The "methods" option of the '.__CLASS__.' class is deprecated since version 2.4 and will be removed in 3.0. Use the "callback" option instead.', E_USER_DEPRECATED); + } + if (is_array($options) && !isset($options['callback']) && !isset($options['methods']) && !isset($options['groups'])) { - if (is_callable($options)) { + if (is_callable($options) || !$options) { $options = array('callback' => $options); } else { - // BC with Symfony < 2.4 + // @deprecated, to be removed in 3.0 $options = array('methods' => $options); } } diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/CallbackValidator.php b/core/vendor/symfony/validator/Constraints/CallbackValidator.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/CallbackValidator.php rename to core/vendor/symfony/validator/Constraints/CallbackValidator.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/CardScheme.php b/core/vendor/symfony/validator/Constraints/CardScheme.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/CardScheme.php rename to core/vendor/symfony/validator/Constraints/CardScheme.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/CardSchemeValidator.php b/core/vendor/symfony/validator/Constraints/CardSchemeValidator.php similarity index 79% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/CardSchemeValidator.php rename to core/vendor/symfony/validator/Constraints/CardSchemeValidator.php index 0e7de0881c1139aa9245cc5eb36b17458f5bda08..708ae09390b397bbd53681b25912eb589b8297ab 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/CardSchemeValidator.php +++ b/core/vendor/symfony/validator/Constraints/CardSchemeValidator.php @@ -11,6 +11,7 @@ namespace Symfony\Component\Validator\Constraints; +use Symfony\Component\Validator\Context\ExecutionContextInterface; use Symfony\Component\Validator\Constraint; use Symfony\Component\Validator\ConstraintValidator; use Symfony\Component\Validator\Exception\UnexpectedTypeException; @@ -95,10 +96,17 @@ public function validate($value, Constraint $constraint) } if (!is_numeric($value)) { - $this->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(CardScheme::NOT_NUMERIC_ERROR) - ->addViolation(); + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(CardScheme::NOT_NUMERIC_ERROR) + ->addViolation(); + } else { + $this->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(CardScheme::NOT_NUMERIC_ERROR) + ->addViolation(); + } return; } @@ -114,9 +122,16 @@ public function validate($value, Constraint $constraint) } } - $this->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(CardScheme::INVALID_FORMAT_ERROR) - ->addViolation(); + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(CardScheme::INVALID_FORMAT_ERROR) + ->addViolation(); + } else { + $this->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(CardScheme::INVALID_FORMAT_ERROR) + ->addViolation(); + } } } diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Choice.php b/core/vendor/symfony/validator/Constraints/Choice.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Choice.php rename to core/vendor/symfony/validator/Constraints/Choice.php diff --git a/core/vendor/symfony/validator/Constraints/ChoiceValidator.php b/core/vendor/symfony/validator/Constraints/ChoiceValidator.php new file mode 100644 index 0000000000000000000000000000000000000000..b8bb63b41649f08796f2e1c6690941b70a2601f3 --- /dev/null +++ b/core/vendor/symfony/validator/Constraints/ChoiceValidator.php @@ -0,0 +1,135 @@ +<?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\Validator\Constraints; + +use Symfony\Component\Validator\Context\ExecutionContextInterface; +use Symfony\Component\Validator\Constraint; +use Symfony\Component\Validator\ConstraintValidator; +use Symfony\Component\Validator\Exception\ConstraintDefinitionException; +use Symfony\Component\Validator\Exception\UnexpectedTypeException; + +/** + * ChoiceValidator validates that the value is one of the expected values. + * + * @author Fabien Potencier <fabien@symfony.com> + * @author Florian Eckerstorfer <florian@eckerstorfer.org> + * @author Bernhard Schussek <bschussek@gmail.com> + * + * @api + */ +class ChoiceValidator extends ConstraintValidator +{ + /** + * {@inheritdoc} + */ + public function validate($value, Constraint $constraint) + { + if (!$constraint instanceof Choice) { + throw new UnexpectedTypeException($constraint, __NAMESPACE__.'\Choice'); + } + + if (!is_array($constraint->choices) && !$constraint->callback) { + throw new ConstraintDefinitionException('Either "choices" or "callback" must be specified on constraint Choice'); + } + + if (null === $value) { + return; + } + + if ($constraint->multiple && !is_array($value)) { + throw new UnexpectedTypeException($value, 'array'); + } + + if ($constraint->callback) { + if (!is_callable($choices = array($this->context->getClassName(), $constraint->callback)) + && !is_callable($choices = $constraint->callback) + ) { + throw new ConstraintDefinitionException('The Choice constraint expects a valid callback'); + } + $choices = call_user_func($choices); + } else { + $choices = $constraint->choices; + } + + if ($constraint->multiple) { + foreach ($value as $_value) { + if (!in_array($_value, $choices, $constraint->strict)) { + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->multipleMessage) + ->setParameter('{{ value }}', $this->formatValue($_value)) + ->setCode(Choice::NO_SUCH_CHOICE_ERROR) + ->setInvalidValue($_value) + ->addViolation(); + } else { + $this->buildViolation($constraint->multipleMessage) + ->setParameter('{{ value }}', $this->formatValue($_value)) + ->setCode(Choice::NO_SUCH_CHOICE_ERROR) + ->setInvalidValue($_value) + ->addViolation(); + } + + return; + } + } + + $count = count($value); + + if ($constraint->min !== null && $count < $constraint->min) { + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->minMessage) + ->setParameter('{{ limit }}', $constraint->min) + ->setPlural((int) $constraint->min) + ->setCode(Choice::TOO_FEW_ERROR) + ->addViolation(); + } else { + $this->buildViolation($constraint->minMessage) + ->setParameter('{{ limit }}', $constraint->min) + ->setPlural((int) $constraint->min) + ->setCode(Choice::TOO_FEW_ERROR) + ->addViolation(); + } + + return; + } + + if ($constraint->max !== null && $count > $constraint->max) { + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->maxMessage) + ->setParameter('{{ limit }}', $constraint->max) + ->setPlural((int) $constraint->max) + ->setCode(Choice::TOO_MANY_ERROR) + ->addViolation(); + } else { + $this->buildViolation($constraint->maxMessage) + ->setParameter('{{ limit }}', $constraint->max) + ->setPlural((int) $constraint->max) + ->setCode(Choice::TOO_MANY_ERROR) + ->addViolation(); + } + + return; + } + } elseif (!in_array($value, $choices, $constraint->strict)) { + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Choice::NO_SUCH_CHOICE_ERROR) + ->addViolation(); + } else { + $this->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Choice::NO_SUCH_CHOICE_ERROR) + ->addViolation(); + } + } + } +} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Collection.php b/core/vendor/symfony/validator/Constraints/Collection.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Collection.php rename to core/vendor/symfony/validator/Constraints/Collection.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Collection/Optional.php b/core/vendor/symfony/validator/Constraints/Collection/Optional.php similarity index 60% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Collection/Optional.php rename to core/vendor/symfony/validator/Constraints/Collection/Optional.php index f7a9204eb66d699fc2db14546e5f2437ca513bbd..cd9af50b9acfa370bf724bfe71a32e51ad724d2a 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Collection/Optional.php +++ b/core/vendor/symfony/validator/Constraints/Collection/Optional.php @@ -11,6 +11,8 @@ namespace Symfony\Component\Validator\Constraints\Collection; +trigger_error('The '.__NAMESPACE__.'\Optional class is deprecated since version 2.3 and will be removed in 3.0. Use the Symfony\Component\Validator\Constraints\Optional class instead.', E_USER_DEPRECATED); + use Symfony\Component\Validator\Constraints\Optional as BaseOptional; /** @@ -19,8 +21,8 @@ * * @author Bernhard Schussek <bschussek@gmail.com> * - * @deprecated Deprecated in 2.3, to be removed in 3.0. Use - * {@link \Symfony\Component\Validator\Constraints\Optional} instead. + * @deprecated since version 2.3, to be removed in 3.0. + * Use {@link \Symfony\Component\Validator\Constraints\Optional} instead. */ class Optional extends BaseOptional { diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Collection/Required.php b/core/vendor/symfony/validator/Constraints/Collection/Required.php similarity index 60% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Collection/Required.php rename to core/vendor/symfony/validator/Constraints/Collection/Required.php index e358343618bda66afc54608986093453dbb629ee..55041020b7a56ce223ad3458bb0b22fe93e07863 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Collection/Required.php +++ b/core/vendor/symfony/validator/Constraints/Collection/Required.php @@ -11,6 +11,8 @@ namespace Symfony\Component\Validator\Constraints\Collection; +trigger_error('The '.__NAMESPACE__.'\Required class is deprecated since version 2.3 and will be removed in 3.0. Use the Symfony\Component\Validator\Constraints\Required class instead.', E_USER_DEPRECATED); + use Symfony\Component\Validator\Constraints\Required as BaseRequired; /** @@ -19,8 +21,8 @@ * * @author Bernhard Schussek <bschussek@gmail.com> * - * @deprecated Deprecated in 2.3, to be removed in 3.0. Use - * {@link \Symfony\Component\Validator\Constraints\Required} instead. + * @deprecated since version 2.3, to be removed in 3.0. + * Use {@link \Symfony\Component\Validator\Constraints\Required} instead. */ class Required extends BaseRequired { diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/CollectionValidator.php b/core/vendor/symfony/validator/Constraints/CollectionValidator.php similarity index 67% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/CollectionValidator.php rename to core/vendor/symfony/validator/Constraints/CollectionValidator.php index c3180d21622b92051a01ddcc1e87ff40117d6309..e70a79b11ee78210e36a97b4b8dbdf4ba764847e 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/CollectionValidator.php +++ b/core/vendor/symfony/validator/Constraints/CollectionValidator.php @@ -69,24 +69,42 @@ public function validate($value, Constraint $constraint) } } } elseif (!$fieldConstraint instanceof Optional && !$constraint->allowMissingFields) { - $this->buildViolationInContext($context, $constraint->missingFieldsMessage) - ->atPath('['.$field.']') - ->setParameter('{{ field }}', $this->formatValue($field)) - ->setInvalidValue(null) - ->setCode(Collection::MISSING_FIELD_ERROR) - ->addViolation(); + if ($context instanceof ExecutionContextInterface) { + $context->buildViolation($constraint->missingFieldsMessage) + ->atPath('['.$field.']') + ->setParameter('{{ field }}', $this->formatValue($field)) + ->setInvalidValue(null) + ->setCode(Collection::MISSING_FIELD_ERROR) + ->addViolation(); + } else { + $this->buildViolationInContext($context, $constraint->missingFieldsMessage) + ->atPath('['.$field.']') + ->setParameter('{{ field }}', $this->formatValue($field)) + ->setInvalidValue(null) + ->setCode(Collection::MISSING_FIELD_ERROR) + ->addViolation(); + } } } if (!$constraint->allowExtraFields) { foreach ($value as $field => $fieldValue) { if (!isset($constraint->fields[$field])) { - $this->buildViolationInContext($context, $constraint->extraFieldsMessage) - ->atPath('['.$field.']') - ->setParameter('{{ field }}', $this->formatValue($field)) - ->setInvalidValue($fieldValue) - ->setCode(Collection::NO_SUCH_FIELD_ERROR) - ->addViolation(); + if ($context instanceof ExecutionContextInterface) { + $context->buildViolation($constraint->extraFieldsMessage) + ->atPath('['.$field.']') + ->setParameter('{{ field }}', $this->formatValue($field)) + ->setInvalidValue($fieldValue) + ->setCode(Collection::NO_SUCH_FIELD_ERROR) + ->addViolation(); + } else { + $this->buildViolationInContext($context, $constraint->extraFieldsMessage) + ->atPath('['.$field.']') + ->setParameter('{{ field }}', $this->formatValue($field)) + ->setInvalidValue($fieldValue) + ->setCode(Collection::NO_SUCH_FIELD_ERROR) + ->addViolation(); + } } } } diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Composite.php b/core/vendor/symfony/validator/Constraints/Composite.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Composite.php rename to core/vendor/symfony/validator/Constraints/Composite.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Count.php b/core/vendor/symfony/validator/Constraints/Count.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Count.php rename to core/vendor/symfony/validator/Constraints/Count.php diff --git a/core/vendor/symfony/validator/Constraints/CountValidator.php b/core/vendor/symfony/validator/Constraints/CountValidator.php new file mode 100644 index 0000000000000000000000000000000000000000..cbe90e09571f8baee1529895a0bdaab22889eb76 --- /dev/null +++ b/core/vendor/symfony/validator/Constraints/CountValidator.php @@ -0,0 +1,81 @@ +<?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\Validator\Constraints; + +use Symfony\Component\Validator\Context\ExecutionContextInterface; +use Symfony\Component\Validator\Constraint; +use Symfony\Component\Validator\ConstraintValidator; +use Symfony\Component\Validator\Exception\UnexpectedTypeException; + +/** + * @author Bernhard Schussek <bschussek@gmail.com> + */ +class CountValidator extends ConstraintValidator +{ + /** + * {@inheritdoc} + */ + public function validate($value, Constraint $constraint) + { + if (null === $value) { + return; + } + + if (!is_array($value) && !$value instanceof \Countable) { + throw new UnexpectedTypeException($value, 'array or \Countable'); + } + + $count = count($value); + + if (null !== $constraint->max && $count > $constraint->max) { + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->min == $constraint->max ? $constraint->exactMessage : $constraint->maxMessage) + ->setParameter('{{ count }}', $count) + ->setParameter('{{ limit }}', $constraint->max) + ->setInvalidValue($value) + ->setPlural((int) $constraint->max) + ->setCode(Count::TOO_MANY_ERROR) + ->addViolation(); + } else { + $this->buildViolation($constraint->min == $constraint->max ? $constraint->exactMessage : $constraint->maxMessage) + ->setParameter('{{ count }}', $count) + ->setParameter('{{ limit }}', $constraint->max) + ->setInvalidValue($value) + ->setPlural((int) $constraint->max) + ->setCode(Count::TOO_MANY_ERROR) + ->addViolation(); + } + + return; + } + + if (null !== $constraint->min && $count < $constraint->min) { + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->min == $constraint->max ? $constraint->exactMessage : $constraint->minMessage) + ->setParameter('{{ count }}', $count) + ->setParameter('{{ limit }}', $constraint->min) + ->setInvalidValue($value) + ->setPlural((int) $constraint->min) + ->setCode(Count::TOO_FEW_ERROR) + ->addViolation(); + } else { + $this->buildViolation($constraint->min == $constraint->max ? $constraint->exactMessage : $constraint->minMessage) + ->setParameter('{{ count }}', $count) + ->setParameter('{{ limit }}', $constraint->min) + ->setInvalidValue($value) + ->setPlural((int) $constraint->min) + ->setCode(Count::TOO_FEW_ERROR) + ->addViolation(); + } + } + } +} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Country.php b/core/vendor/symfony/validator/Constraints/Country.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Country.php rename to core/vendor/symfony/validator/Constraints/Country.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/CountryValidator.php b/core/vendor/symfony/validator/Constraints/CountryValidator.php similarity index 71% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/CountryValidator.php rename to core/vendor/symfony/validator/Constraints/CountryValidator.php index 0d001f768650c858ab1a9ddfc01b9521aeddffac..8139adf943119c743bd596fe5bfe7d60b021972e 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/CountryValidator.php +++ b/core/vendor/symfony/validator/Constraints/CountryValidator.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Validator\Constraints; use Symfony\Component\Intl\Intl; +use Symfony\Component\Validator\Context\ExecutionContextInterface; use Symfony\Component\Validator\Constraint; use Symfony\Component\Validator\ConstraintValidator; use Symfony\Component\Validator\Exception\UnexpectedTypeException; @@ -46,9 +47,15 @@ public function validate($value, Constraint $constraint) $countries = Intl::getRegionBundle()->getCountryNames(); if (!isset($countries[$value])) { - $this->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->addViolation(); + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->addViolation(); + } else { + $this->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->addViolation(); + } } } } diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Currency.php b/core/vendor/symfony/validator/Constraints/Currency.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Currency.php rename to core/vendor/symfony/validator/Constraints/Currency.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/CurrencyValidator.php b/core/vendor/symfony/validator/Constraints/CurrencyValidator.php similarity index 71% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/CurrencyValidator.php rename to core/vendor/symfony/validator/Constraints/CurrencyValidator.php index 558542653790eeefaf1a37f57f5ce15accfa23e8..9c41dc4a100eeefc40c8780df9e8327bc08319b6 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/CurrencyValidator.php +++ b/core/vendor/symfony/validator/Constraints/CurrencyValidator.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Validator\Constraints; use Symfony\Component\Intl\Intl; +use Symfony\Component\Validator\Context\ExecutionContextInterface; use Symfony\Component\Validator\Constraint; use Symfony\Component\Validator\ConstraintValidator; use Symfony\Component\Validator\Exception\UnexpectedTypeException; @@ -46,9 +47,15 @@ public function validate($value, Constraint $constraint) $currencies = Intl::getCurrencyBundle()->getCurrencyNames(); if (!isset($currencies[$value])) { - $this->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->addViolation(); + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->addViolation(); + } else { + $this->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->addViolation(); + } } } } diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Date.php b/core/vendor/symfony/validator/Constraints/Date.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Date.php rename to core/vendor/symfony/validator/Constraints/Date.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/DateTime.php b/core/vendor/symfony/validator/Constraints/DateTime.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/DateTime.php rename to core/vendor/symfony/validator/Constraints/DateTime.php diff --git a/core/vendor/symfony/validator/Constraints/DateTimeValidator.php b/core/vendor/symfony/validator/Constraints/DateTimeValidator.php new file mode 100644 index 0000000000000000000000000000000000000000..a53c463125845def5c4cf3e274f11482d92f134f --- /dev/null +++ b/core/vendor/symfony/validator/Constraints/DateTimeValidator.php @@ -0,0 +1,90 @@ +<?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\Validator\Constraints; + +use Symfony\Component\Validator\Context\ExecutionContextInterface; +use Symfony\Component\Validator\Constraint; +use Symfony\Component\Validator\Exception\UnexpectedTypeException; + +/** + * @author Bernhard Schussek <bschussek@gmail.com> + * + * @api + */ +class DateTimeValidator extends DateValidator +{ + const PATTERN = '/^(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})$/'; + + /** + * {@inheritdoc} + */ + public function validate($value, Constraint $constraint) + { + if (!$constraint instanceof DateTime) { + throw new UnexpectedTypeException($constraint, __NAMESPACE__.'\DateTime'); + } + + if (null === $value || '' === $value || $value instanceof \DateTime) { + return; + } + + if (!is_scalar($value) && !(is_object($value) && method_exists($value, '__toString'))) { + throw new UnexpectedTypeException($value, 'string'); + } + + $value = (string) $value; + + if (!preg_match(static::PATTERN, $value, $matches)) { + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(DateTime::INVALID_FORMAT_ERROR) + ->addViolation(); + } else { + $this->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(DateTime::INVALID_FORMAT_ERROR) + ->addViolation(); + } + + return; + } + + if (!DateValidator::checkDate($matches[1], $matches[2], $matches[3])) { + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(DateTime::INVALID_DATE_ERROR) + ->addViolation(); + } else { + $this->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(DateTime::INVALID_DATE_ERROR) + ->addViolation(); + } + } + + if (!TimeValidator::checkTime($matches[4], $matches[5], $matches[6])) { + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(DateTime::INVALID_TIME_ERROR) + ->addViolation(); + } else { + $this->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(DateTime::INVALID_TIME_ERROR) + ->addViolation(); + } + } + } +} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/DateValidator.php b/core/vendor/symfony/validator/Constraints/DateValidator.php similarity index 58% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/DateValidator.php rename to core/vendor/symfony/validator/Constraints/DateValidator.php index 77f01116666161266724b0587a373466f43b54dc..0a5dfd493916b3d293a44875c79bf7f063c8e5cb 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/DateValidator.php +++ b/core/vendor/symfony/validator/Constraints/DateValidator.php @@ -11,6 +11,7 @@ namespace Symfony\Component\Validator\Constraints; +use Symfony\Component\Validator\Context\ExecutionContextInterface; use Symfony\Component\Validator\Constraint; use Symfony\Component\Validator\ConstraintValidator; use Symfony\Component\Validator\Exception\UnexpectedTypeException; @@ -60,19 +61,33 @@ public function validate($value, Constraint $constraint) $value = (string) $value; if (!preg_match(static::PATTERN, $value, $matches)) { - $this->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Date::INVALID_FORMAT_ERROR) - ->addViolation(); + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Date::INVALID_FORMAT_ERROR) + ->addViolation(); + } else { + $this->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Date::INVALID_FORMAT_ERROR) + ->addViolation(); + } return; } if (!self::checkDate($matches[1], $matches[2], $matches[3])) { - $this->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Date::INVALID_DATE_ERROR) - ->addViolation(); + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Date::INVALID_DATE_ERROR) + ->addViolation(); + } else { + $this->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Date::INVALID_DATE_ERROR) + ->addViolation(); + } } } } diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Email.php b/core/vendor/symfony/validator/Constraints/Email.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Email.php rename to core/vendor/symfony/validator/Constraints/Email.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/EmailValidator.php b/core/vendor/symfony/validator/Constraints/EmailValidator.php similarity index 60% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/EmailValidator.php rename to core/vendor/symfony/validator/Constraints/EmailValidator.php index 8d3a7c5104a210aa500abc594ae12503856836ec..95f9aa123bfb5b43c528284b5237e130917ba11f 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/EmailValidator.php +++ b/core/vendor/symfony/validator/Constraints/EmailValidator.php @@ -11,6 +11,7 @@ namespace Symfony\Component\Validator\Constraints; +use Symfony\Component\Validator\Context\ExecutionContextInterface; use Symfony\Component\Validator\Constraint; use Symfony\Component\Validator\ConstraintValidator; use Symfony\Component\Validator\Exception\RuntimeException; @@ -66,18 +67,32 @@ public function validate($value, Constraint $constraint) $strictValidator = new \Egulias\EmailValidator\EmailValidator(); if (!$strictValidator->isValid($value, false, true)) { + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Email::INVALID_FORMAT_ERROR) + ->addViolation(); + } else { + $this->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Email::INVALID_FORMAT_ERROR) + ->addViolation(); + } + + return; + } + } elseif (!preg_match('/.+\@.+\..+/', $value)) { + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Email::INVALID_FORMAT_ERROR) + ->addViolation(); + } else { $this->buildViolation($constraint->message) ->setParameter('{{ value }}', $this->formatValue($value)) ->setCode(Email::INVALID_FORMAT_ERROR) ->addViolation(); - - return; } - } elseif (!preg_match('/.+\@.+\..+/', $value)) { - $this->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Email::INVALID_FORMAT_ERROR) - ->addViolation(); return; } @@ -87,20 +102,34 @@ public function validate($value, Constraint $constraint) // Check for host DNS resource records if ($constraint->checkMX) { if (!$this->checkMX($host)) { - $this->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Email::MX_CHECK_FAILED_ERROR) - ->addViolation(); + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Email::MX_CHECK_FAILED_ERROR) + ->addViolation(); + } else { + $this->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Email::MX_CHECK_FAILED_ERROR) + ->addViolation(); + } } return; } if ($constraint->checkHost && !$this->checkHost($host)) { - $this->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Email::HOST_CHECK_FAILED_ERROR) - ->addViolation(); + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Email::HOST_CHECK_FAILED_ERROR) + ->addViolation(); + } else { + $this->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Email::HOST_CHECK_FAILED_ERROR) + ->addViolation(); + } } } diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/EqualTo.php b/core/vendor/symfony/validator/Constraints/EqualTo.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/EqualTo.php rename to core/vendor/symfony/validator/Constraints/EqualTo.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/EqualToValidator.php b/core/vendor/symfony/validator/Constraints/EqualToValidator.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/EqualToValidator.php rename to core/vendor/symfony/validator/Constraints/EqualToValidator.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Existence.php b/core/vendor/symfony/validator/Constraints/Existence.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Existence.php rename to core/vendor/symfony/validator/Constraints/Existence.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Expression.php b/core/vendor/symfony/validator/Constraints/Expression.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Expression.php rename to core/vendor/symfony/validator/Constraints/Expression.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/ExpressionValidator.php b/core/vendor/symfony/validator/Constraints/ExpressionValidator.php similarity index 89% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/ExpressionValidator.php rename to core/vendor/symfony/validator/Constraints/ExpressionValidator.php index fd3e903f2220f90ab4bc454d72732c2e3a00b0c9..15d51f9ff10c0fe4982b50e3af02ad5f0d274099 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/ExpressionValidator.php +++ b/core/vendor/symfony/validator/Constraints/ExpressionValidator.php @@ -85,9 +85,15 @@ public function validate($value, Constraint $constraint) } if (!$this->getExpressionLanguage()->evaluate($constraint->expression, $variables)) { - $this->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->addViolation(); + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->addViolation(); + } else { + $this->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->addViolation(); + } } } diff --git a/core/vendor/symfony/validator/Constraints/False.php b/core/vendor/symfony/validator/Constraints/False.php new file mode 100644 index 0000000000000000000000000000000000000000..166878863cf7d2a735a4508f050e853d2ef5cda9 --- /dev/null +++ b/core/vendor/symfony/validator/Constraints/False.php @@ -0,0 +1,26 @@ +<?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\Validator\Constraints; + +trigger_error('The '.__NAMESPACE__.'\False class is deprecated since version 2.7 and will be removed in 3.0. Use the IsFalse class in the same namespace instead.', E_USER_DEPRECATED); + +/** + * @Annotation + * @Target({"PROPERTY", "METHOD", "ANNOTATION"}) + * + * @author Bernhard Schussek <bschussek@gmail.com> + * + * @deprecated since version 2.7, to be removed in 3.0. Use IsFalse instead. + */ +class False extends IsFalse +{ +} diff --git a/core/vendor/symfony/validator/Constraints/FalseValidator.php b/core/vendor/symfony/validator/Constraints/FalseValidator.php new file mode 100644 index 0000000000000000000000000000000000000000..24eb91010feb5ddfda4af79a40516d4d8fabe58c --- /dev/null +++ b/core/vendor/symfony/validator/Constraints/FalseValidator.php @@ -0,0 +1,23 @@ +<?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\Validator\Constraints; + +trigger_error('The '.__NAMESPACE__.'\FalseValidator class is deprecated since version 2.7 and will be removed in 3.0. Use the IsFalseValidator class in the same namespace instead.', E_USER_DEPRECATED); + +/** + * @author Bernhard Schussek <bschussek@gmail.com> + * + * @deprecated since version 2.7, to be removed in 3.0. Use IsFalseValidator instead. + */ +class FalseValidator extends IsFalseValidator +{ +} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/File.php b/core/vendor/symfony/validator/Constraints/File.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/File.php rename to core/vendor/symfony/validator/Constraints/File.php diff --git a/core/vendor/symfony/validator/Constraints/FileValidator.php b/core/vendor/symfony/validator/Constraints/FileValidator.php new file mode 100644 index 0000000000000000000000000000000000000000..5125a3265cdb4ed15a5153f392dfba92f7f0a45d --- /dev/null +++ b/core/vendor/symfony/validator/Constraints/FileValidator.php @@ -0,0 +1,331 @@ +<?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\Validator\Constraints; + +use Symfony\Component\HttpFoundation\File\File as FileObject; +use Symfony\Component\HttpFoundation\File\UploadedFile; +use Symfony\Component\Validator\Context\ExecutionContextInterface; +use Symfony\Component\Validator\Constraint; +use Symfony\Component\Validator\ConstraintValidator; +use Symfony\Component\Validator\Exception\UnexpectedTypeException; + +/** + * @author Bernhard Schussek <bschussek@gmail.com> + * + * @api + */ +class FileValidator extends ConstraintValidator +{ + const KB_BYTES = 1000; + const MB_BYTES = 1000000; + const KIB_BYTES = 1024; + const MIB_BYTES = 1048576; + + private static $suffices = array( + 1 => 'bytes', + self::KB_BYTES => 'kB', + self::MB_BYTES => 'MB', + self::KIB_BYTES => 'KiB', + self::MIB_BYTES => 'MiB', + ); + + /** + * {@inheritdoc} + */ + public function validate($value, Constraint $constraint) + { + if (!$constraint instanceof File) { + throw new UnexpectedTypeException($constraint, __NAMESPACE__.'\File'); + } + + if (null === $value || '' === $value) { + return; + } + + if ($value instanceof UploadedFile && !$value->isValid()) { + switch ($value->getError()) { + case UPLOAD_ERR_INI_SIZE: + $iniLimitSize = UploadedFile::getMaxFilesize(); + if ($constraint->maxSize && $constraint->maxSize < $iniLimitSize) { + $limitInBytes = $constraint->maxSize; + $binaryFormat = $constraint->binaryFormat; + } else { + $limitInBytes = $iniLimitSize; + $binaryFormat = true; + } + + list($sizeAsString, $limitAsString, $suffix) = $this->factorizeSizes(0, $limitInBytes, $binaryFormat); + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->uploadIniSizeErrorMessage) + ->setParameter('{{ limit }}', $limitAsString) + ->setParameter('{{ suffix }}', $suffix) + ->setCode(UPLOAD_ERR_INI_SIZE) + ->addViolation(); + } else { + $this->buildViolation($constraint->uploadIniSizeErrorMessage) + ->setParameter('{{ limit }}', $limitAsString) + ->setParameter('{{ suffix }}', $suffix) + ->setCode(UPLOAD_ERR_INI_SIZE) + ->addViolation(); + } + + return; + case UPLOAD_ERR_FORM_SIZE: + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->uploadFormSizeErrorMessage) + ->setCode(UPLOAD_ERR_FORM_SIZE) + ->addViolation(); + } else { + $this->buildViolation($constraint->uploadFormSizeErrorMessage) + ->setCode(UPLOAD_ERR_FORM_SIZE) + ->addViolation(); + } + + return; + case UPLOAD_ERR_PARTIAL: + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->uploadPartialErrorMessage) + ->setCode(UPLOAD_ERR_PARTIAL) + ->addViolation(); + } else { + $this->buildViolation($constraint->uploadPartialErrorMessage) + ->setCode(UPLOAD_ERR_PARTIAL) + ->addViolation(); + } + + return; + case UPLOAD_ERR_NO_FILE: + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->uploadNoFileErrorMessage) + ->setCode(UPLOAD_ERR_NO_FILE) + ->addViolation(); + } else { + $this->buildViolation($constraint->uploadNoFileErrorMessage) + ->setCode(UPLOAD_ERR_NO_FILE) + ->addViolation(); + } + + return; + case UPLOAD_ERR_NO_TMP_DIR: + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->uploadNoTmpDirErrorMessage) + ->setCode(UPLOAD_ERR_NO_TMP_DIR) + ->addViolation(); + } else { + $this->buildViolation($constraint->uploadNoTmpDirErrorMessage) + ->setCode(UPLOAD_ERR_NO_TMP_DIR) + ->addViolation(); + } + + return; + case UPLOAD_ERR_CANT_WRITE: + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->uploadCantWriteErrorMessage) + ->setCode(UPLOAD_ERR_CANT_WRITE) + ->addViolation(); + } else { + $this->buildViolation($constraint->uploadCantWriteErrorMessage) + ->setCode(UPLOAD_ERR_CANT_WRITE) + ->addViolation(); + } + + return; + case UPLOAD_ERR_EXTENSION: + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->uploadExtensionErrorMessage) + ->setCode(UPLOAD_ERR_EXTENSION) + ->addViolation(); + } else { + $this->buildViolation($constraint->uploadExtensionErrorMessage) + ->setCode(UPLOAD_ERR_EXTENSION) + ->addViolation(); + } + + return; + default: + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->uploadErrorMessage) + ->setCode($value->getError()) + ->addViolation(); + } else { + $this->buildViolation($constraint->uploadErrorMessage) + ->setCode($value->getError()) + ->addViolation(); + } + + return; + } + } + + if (!is_scalar($value) && !$value instanceof FileObject && !(is_object($value) && method_exists($value, '__toString'))) { + throw new UnexpectedTypeException($value, 'string'); + } + + $path = $value instanceof FileObject ? $value->getPathname() : (string) $value; + + if (!is_file($path)) { + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->notFoundMessage) + ->setParameter('{{ file }}', $this->formatValue($path)) + ->setCode(File::NOT_FOUND_ERROR) + ->addViolation(); + } else { + $this->buildViolation($constraint->notFoundMessage) + ->setParameter('{{ file }}', $this->formatValue($path)) + ->setCode(File::NOT_FOUND_ERROR) + ->addViolation(); + } + + return; + } + + if (!is_readable($path)) { + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->notReadableMessage) + ->setParameter('{{ file }}', $this->formatValue($path)) + ->setCode(File::NOT_READABLE_ERROR) + ->addViolation(); + } else { + $this->buildViolation($constraint->notReadableMessage) + ->setParameter('{{ file }}', $this->formatValue($path)) + ->setCode(File::NOT_READABLE_ERROR) + ->addViolation(); + } + + return; + } + + $sizeInBytes = filesize($path); + + if (0 === $sizeInBytes) { + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->disallowEmptyMessage) + ->setParameter('{{ file }}', $this->formatValue($path)) + ->setCode(File::EMPTY_ERROR) + ->addViolation(); + } else { + $this->buildViolation($constraint->disallowEmptyMessage) + ->setParameter('{{ file }}', $this->formatValue($path)) + ->setCode(File::EMPTY_ERROR) + ->addViolation(); + } + + return; + } + + if ($constraint->maxSize) { + $limitInBytes = $constraint->maxSize; + + if ($sizeInBytes > $limitInBytes) { + list($sizeAsString, $limitAsString, $suffix) = $this->factorizeSizes($sizeInBytes, $limitInBytes, $constraint->binaryFormat); + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->maxSizeMessage) + ->setParameter('{{ file }}', $this->formatValue($path)) + ->setParameter('{{ size }}', $sizeAsString) + ->setParameter('{{ limit }}', $limitAsString) + ->setParameter('{{ suffix }}', $suffix) + ->setCode(File::TOO_LARGE_ERROR) + ->addViolation(); + } else { + $this->buildViolation($constraint->maxSizeMessage) + ->setParameter('{{ file }}', $this->formatValue($path)) + ->setParameter('{{ size }}', $sizeAsString) + ->setParameter('{{ limit }}', $limitAsString) + ->setParameter('{{ suffix }}', $suffix) + ->setCode(File::TOO_LARGE_ERROR) + ->addViolation(); + } + + return; + } + } + + if ($constraint->mimeTypes) { + if (!$value instanceof FileObject) { + $value = new FileObject($value); + } + + $mimeTypes = (array) $constraint->mimeTypes; + $mime = $value->getMimeType(); + + foreach ($mimeTypes as $mimeType) { + if ($mimeType === $mime) { + return; + } + + if ($discrete = strstr($mimeType, '/*', true)) { + if (strstr($mime, '/', true) === $discrete) { + return; + } + } + } + + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->mimeTypesMessage) + ->setParameter('{{ file }}', $this->formatValue($path)) + ->setParameter('{{ type }}', $this->formatValue($mime)) + ->setParameter('{{ types }}', $this->formatValues($mimeTypes)) + ->setCode(File::INVALID_MIME_TYPE_ERROR) + ->addViolation(); + } else { + $this->buildViolation($constraint->mimeTypesMessage) + ->setParameter('{{ file }}', $this->formatValue($path)) + ->setParameter('{{ type }}', $this->formatValue($mime)) + ->setParameter('{{ types }}', $this->formatValues($mimeTypes)) + ->setCode(File::INVALID_MIME_TYPE_ERROR) + ->addViolation(); + } + } + } + + private static function moreDecimalsThan($double, $numberOfDecimals) + { + return strlen((string) $double) > strlen(round($double, $numberOfDecimals)); + } + + /** + * Convert the limit to the smallest possible number + * (i.e. try "MB", then "kB", then "bytes") + */ + private function factorizeSizes($size, $limit, $binaryFormat) + { + if ($binaryFormat) { + $coef = self::MIB_BYTES; + $coefFactor = self::KIB_BYTES; + } else { + $coef = self::MB_BYTES; + $coefFactor = self::KB_BYTES; + } + + $limitAsString = (string) ($limit / $coef); + + // Restrict the limit to 2 decimals (without rounding! we + // need the precise value) + while (self::moreDecimalsThan($limitAsString, 2)) { + $coef /= $coefFactor; + $limitAsString = (string) ($limit / $coef); + } + + // Convert size to the same measure, but round to 2 decimals + $sizeAsString = (string) round($size / $coef, 2); + + // If the size and limit produce the same string output + // (due to rounding), reduce the coefficient + while ($sizeAsString === $limitAsString) { + $coef /= $coefFactor; + $limitAsString = (string) ($limit / $coef); + $sizeAsString = (string) round($size / $coef, 2); + } + + return array($sizeAsString, $limitAsString, self::$suffices[$coef]); + } +} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/GreaterThan.php b/core/vendor/symfony/validator/Constraints/GreaterThan.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/GreaterThan.php rename to core/vendor/symfony/validator/Constraints/GreaterThan.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/GreaterThanOrEqual.php b/core/vendor/symfony/validator/Constraints/GreaterThanOrEqual.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/GreaterThanOrEqual.php rename to core/vendor/symfony/validator/Constraints/GreaterThanOrEqual.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/GreaterThanOrEqualValidator.php b/core/vendor/symfony/validator/Constraints/GreaterThanOrEqualValidator.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/GreaterThanOrEqualValidator.php rename to core/vendor/symfony/validator/Constraints/GreaterThanOrEqualValidator.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/GreaterThanValidator.php b/core/vendor/symfony/validator/Constraints/GreaterThanValidator.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/GreaterThanValidator.php rename to core/vendor/symfony/validator/Constraints/GreaterThanValidator.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/GroupSequence.php b/core/vendor/symfony/validator/Constraints/GroupSequence.php similarity index 75% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/GroupSequence.php rename to core/vendor/symfony/validator/Constraints/GroupSequence.php index 72bfb16d2c8628ad2623d96d63c25e78258f5c89..52d75394313a8b50e2b6a1df40e9825fe2c02031 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/GroupSequence.php +++ b/core/vendor/symfony/validator/Constraints/GroupSequence.php @@ -97,47 +97,56 @@ public function __construct(array $groups) /** * Returns an iterator for this group. * + * Implemented for backwards compatibility with Symfony < 2.5. + * * @return \Traversable The iterator * * @see \IteratorAggregate::getIterator() * - * @deprecated Implemented for backwards compatibility with Symfony < 2.5. - * To be removed in Symfony 3.0. + * @deprecated since version 2.5, to be removed in 3.0. */ public function getIterator() { + trigger_error('The '.__METHOD__.' method is deprecated since version 2.5 and will be removed in 3.0.', E_USER_DEPRECATED); + return new \ArrayIterator($this->groups); } /** * Returns whether the given offset exists in the sequence. * + * Implemented for backwards compatibility with Symfony < 2.5. + * * @param int $offset The offset * * @return bool Whether the offset exists * - * @deprecated Implemented for backwards compatibility with Symfony < 2.5. - * To be removed in Symfony 3.0. + * @deprecated since version 2.5, to be removed in 3.0. */ public function offsetExists($offset) { + trigger_error('The '.__METHOD__.' method is deprecated since version 2.5 and will be removed in 3.0.', E_USER_DEPRECATED); + return isset($this->groups[$offset]); } /** * Returns the group at the given offset. * + * Implemented for backwards compatibility with Symfony < 2.5. + * * @param int $offset The offset * * @return string The group a the given offset * * @throws OutOfBoundsException If the object does not exist * - * @deprecated Implemented for backwards compatibility with Symfony < 2.5. - * To be removed in Symfony 3.0. + * @deprecated since version 2.5, to be removed in 3.0. */ public function offsetGet($offset) { + trigger_error('The '.__METHOD__.' method is deprecated since version 2.5 and will be removed in 3.0.', E_USER_DEPRECATED); + if (!isset($this->groups[$offset])) { throw new OutOfBoundsException(sprintf( 'The offset "%s" does not exist.', @@ -151,14 +160,17 @@ public function offsetGet($offset) /** * Sets the group at the given offset. * + * Implemented for backwards compatibility with Symfony < 2.5. + * * @param int $offset The offset * @param string $value The group name * - * @deprecated Implemented for backwards compatibility with Symfony < 2.5. - * To be removed in Symfony 3.0. + * @deprecated since version 2.5, to be removed in 3.0. */ public function offsetSet($offset, $value) { + trigger_error('The '.__METHOD__.' method is deprecated since version 2.5 and will be removed in 3.0.', E_USER_DEPRECATED); + if (null !== $offset) { $this->groups[$offset] = $value; @@ -171,26 +183,32 @@ public function offsetSet($offset, $value) /** * Removes the group at the given offset. * + * Implemented for backwards compatibility with Symfony < 2.5. + * * @param int $offset The offset * - * @deprecated Implemented for backwards compatibility with Symfony < 2.5. - * To be removed in Symfony 3.0. + * @deprecated since version 2.5, to be removed in 3.0. */ public function offsetUnset($offset) { + trigger_error('The '.__METHOD__.' method is deprecated since version 2.5 and will be removed in 3.0.', E_USER_DEPRECATED); + unset($this->groups[$offset]); } /** * Returns the number of groups in the sequence. * + * Implemented for backwards compatibility with Symfony < 2.5. + * * @return int The number of groups * - * @deprecated Implemented for backwards compatibility with Symfony < 2.5. - * To be removed in Symfony 3.0. + * @deprecated since version 2.5, to be removed in 3.0. */ public function count() { + trigger_error('The '.__METHOD__.' method is deprecated since version 2.5 and will be removed in 3.0.', E_USER_DEPRECATED); + return count($this->groups); } } diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/GroupSequenceProvider.php b/core/vendor/symfony/validator/Constraints/GroupSequenceProvider.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/GroupSequenceProvider.php rename to core/vendor/symfony/validator/Constraints/GroupSequenceProvider.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Iban.php b/core/vendor/symfony/validator/Constraints/Iban.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Iban.php rename to core/vendor/symfony/validator/Constraints/Iban.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/IbanValidator.php b/core/vendor/symfony/validator/Constraints/IbanValidator.php similarity index 52% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/IbanValidator.php rename to core/vendor/symfony/validator/Constraints/IbanValidator.php index 35995d2eb75a1f6e3247ece203e83476cd31b4f2..65c22ff9c0c9772af2173df6747d2ede7ca07790 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/IbanValidator.php +++ b/core/vendor/symfony/validator/Constraints/IbanValidator.php @@ -11,6 +11,7 @@ namespace Symfony\Component\Validator\Constraints; +use Symfony\Component\Validator\Context\ExecutionContextInterface; use Symfony\Component\Validator\Constraint; use Symfony\Component\Validator\ConstraintValidator; use Symfony\Component\Validator\Exception\UnexpectedTypeException; @@ -48,40 +49,68 @@ public function validate($value, Constraint $constraint) // The IBAN must have at least 4 characters... if (strlen($canonicalized) < 4) { - $this->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Iban::TOO_SHORT_ERROR) - ->addViolation(); + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Iban::TOO_SHORT_ERROR) + ->addViolation(); + } else { + $this->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Iban::TOO_SHORT_ERROR) + ->addViolation(); + } return; } // ...start with a country code... if (!ctype_alpha($canonicalized{0}) || !ctype_alpha($canonicalized{1})) { - $this->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Iban::INVALID_COUNTRY_CODE_ERROR) - ->addViolation(); + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Iban::INVALID_COUNTRY_CODE_ERROR) + ->addViolation(); + } else { + $this->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Iban::INVALID_COUNTRY_CODE_ERROR) + ->addViolation(); + } return; } // ...contain only digits and characters... if (!ctype_alnum($canonicalized)) { - $this->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Iban::INVALID_CHARACTERS_ERROR) - ->addViolation(); + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Iban::INVALID_CHARACTERS_ERROR) + ->addViolation(); + } else { + $this->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Iban::INVALID_CHARACTERS_ERROR) + ->addViolation(); + } return; } // ...and contain uppercase characters only if ($canonicalized !== strtoupper($canonicalized)) { - $this->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Iban::INVALID_CASE_ERROR) - ->addViolation(); + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Iban::INVALID_CASE_ERROR) + ->addViolation(); + } else { + $this->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Iban::INVALID_CASE_ERROR) + ->addViolation(); + } return; } @@ -102,10 +131,17 @@ public function validate($value, Constraint $constraint) // We cannot use PHP's modulo operator, so we calculate the // modulo step-wisely instead if (1 !== $this->bigModulo97($checkSum)) { - $this->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Iban::CHECKSUM_FAILED_ERROR) - ->addViolation(); + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Iban::CHECKSUM_FAILED_ERROR) + ->addViolation(); + } else { + $this->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Iban::CHECKSUM_FAILED_ERROR) + ->addViolation(); + } } } diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/IdenticalTo.php b/core/vendor/symfony/validator/Constraints/IdenticalTo.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/IdenticalTo.php rename to core/vendor/symfony/validator/Constraints/IdenticalTo.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/IdenticalToValidator.php b/core/vendor/symfony/validator/Constraints/IdenticalToValidator.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/IdenticalToValidator.php rename to core/vendor/symfony/validator/Constraints/IdenticalToValidator.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Image.php b/core/vendor/symfony/validator/Constraints/Image.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Image.php rename to core/vendor/symfony/validator/Constraints/Image.php diff --git a/core/vendor/symfony/validator/Constraints/ImageValidator.php b/core/vendor/symfony/validator/Constraints/ImageValidator.php new file mode 100644 index 0000000000000000000000000000000000000000..a5165e25532cdb42bd2852e2f187f1cb66294fa5 --- /dev/null +++ b/core/vendor/symfony/validator/Constraints/ImageValidator.php @@ -0,0 +1,261 @@ +<?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\Validator\Constraints; + +use Symfony\Component\Validator\Context\ExecutionContextInterface; +use Symfony\Component\Validator\Constraint; +use Symfony\Component\Validator\Exception\ConstraintDefinitionException; +use Symfony\Component\Validator\Exception\UnexpectedTypeException; + +/** + * Validates whether a value is a valid image file and is valid + * against minWidth, maxWidth, minHeight and maxHeight constraints. + * + * @author Benjamin Dulau <benjamin.dulau@gmail.com> + * @author Bernhard Schussek <bschussek@gmail.com> + */ +class ImageValidator extends FileValidator +{ + /** + * {@inheritdoc} + */ + public function validate($value, Constraint $constraint) + { + if (!$constraint instanceof Image) { + throw new UnexpectedTypeException($constraint, __NAMESPACE__.'\Image'); + } + + $violations = count($this->context->getViolations()); + + parent::validate($value, $constraint); + + $failed = count($this->context->getViolations()) !== $violations; + + if ($failed || null === $value || '' === $value) { + return; + } + + if (null === $constraint->minWidth && null === $constraint->maxWidth + && null === $constraint->minHeight && null === $constraint->maxHeight + && null === $constraint->minRatio && null === $constraint->maxRatio + && $constraint->allowSquare && $constraint->allowLandscape && $constraint->allowPortrait) { + return; + } + + $size = @getimagesize($value); + + if (empty($size) || ($size[0] === 0) || ($size[1] === 0)) { + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->sizeNotDetectedMessage) + ->setCode(Image::SIZE_NOT_DETECTED_ERROR) + ->addViolation(); + } else { + $this->buildViolation($constraint->sizeNotDetectedMessage) + ->setCode(Image::SIZE_NOT_DETECTED_ERROR) + ->addViolation(); + } + + return; + } + + $width = $size[0]; + $height = $size[1]; + + if ($constraint->minWidth) { + if (!ctype_digit((string) $constraint->minWidth)) { + throw new ConstraintDefinitionException(sprintf('"%s" is not a valid minimum width', $constraint->minWidth)); + } + + if ($width < $constraint->minWidth) { + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->minWidthMessage) + ->setParameter('{{ width }}', $width) + ->setParameter('{{ min_width }}', $constraint->minWidth) + ->setCode(Image::TOO_NARROW_ERROR) + ->addViolation(); + } else { + $this->buildViolation($constraint->minWidthMessage) + ->setParameter('{{ width }}', $width) + ->setParameter('{{ min_width }}', $constraint->minWidth) + ->setCode(Image::TOO_NARROW_ERROR) + ->addViolation(); + } + + return; + } + } + + if ($constraint->maxWidth) { + if (!ctype_digit((string) $constraint->maxWidth)) { + throw new ConstraintDefinitionException(sprintf('"%s" is not a valid maximum width', $constraint->maxWidth)); + } + + if ($width > $constraint->maxWidth) { + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->maxWidthMessage) + ->setParameter('{{ width }}', $width) + ->setParameter('{{ max_width }}', $constraint->maxWidth) + ->setCode(Image::TOO_WIDE_ERROR) + ->addViolation(); + } else { + $this->buildViolation($constraint->maxWidthMessage) + ->setParameter('{{ width }}', $width) + ->setParameter('{{ max_width }}', $constraint->maxWidth) + ->setCode(Image::TOO_WIDE_ERROR) + ->addViolation(); + } + + return; + } + } + + if ($constraint->minHeight) { + if (!ctype_digit((string) $constraint->minHeight)) { + throw new ConstraintDefinitionException(sprintf('"%s" is not a valid minimum height', $constraint->minHeight)); + } + + if ($height < $constraint->minHeight) { + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->minHeightMessage) + ->setParameter('{{ height }}', $height) + ->setParameter('{{ min_height }}', $constraint->minHeight) + ->setCode(Image::TOO_LOW_ERROR) + ->addViolation(); + } else { + $this->buildViolation($constraint->minHeightMessage) + ->setParameter('{{ height }}', $height) + ->setParameter('{{ min_height }}', $constraint->minHeight) + ->setCode(Image::TOO_LOW_ERROR) + ->addViolation(); + } + + return; + } + } + + if ($constraint->maxHeight) { + if (!ctype_digit((string) $constraint->maxHeight)) { + throw new ConstraintDefinitionException(sprintf('"%s" is not a valid maximum height', $constraint->maxHeight)); + } + + if ($height > $constraint->maxHeight) { + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->maxHeightMessage) + ->setParameter('{{ height }}', $height) + ->setParameter('{{ max_height }}', $constraint->maxHeight) + ->setCode(Image::TOO_HIGH_ERROR) + ->addViolation(); + } else { + $this->buildViolation($constraint->maxHeightMessage) + ->setParameter('{{ height }}', $height) + ->setParameter('{{ max_height }}', $constraint->maxHeight) + ->setCode(Image::TOO_HIGH_ERROR) + ->addViolation(); + } + } + } + + $ratio = round($width / $height, 2); + + if (null !== $constraint->minRatio) { + if (!is_numeric((string) $constraint->minRatio)) { + throw new ConstraintDefinitionException(sprintf('"%s" is not a valid minimum ratio', $constraint->minRatio)); + } + + if ($ratio < $constraint->minRatio) { + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->minRatioMessage) + ->setParameter('{{ ratio }}', $ratio) + ->setParameter('{{ min_ratio }}', $constraint->minRatio) + ->setCode(Image::RATIO_TOO_SMALL_ERROR) + ->addViolation(); + } else { + $this->buildViolation($constraint->minRatioMessage) + ->setParameter('{{ ratio }}', $ratio) + ->setParameter('{{ min_ratio }}', $constraint->minRatio) + ->setCode(Image::RATIO_TOO_SMALL_ERROR) + ->addViolation(); + } + } + } + + if (null !== $constraint->maxRatio) { + if (!is_numeric((string) $constraint->maxRatio)) { + throw new ConstraintDefinitionException(sprintf('"%s" is not a valid maximum ratio', $constraint->maxRatio)); + } + + if ($ratio > $constraint->maxRatio) { + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->maxRatioMessage) + ->setParameter('{{ ratio }}', $ratio) + ->setParameter('{{ max_ratio }}', $constraint->maxRatio) + ->setCode(Image::RATIO_TOO_BIG_ERROR) + ->addViolation(); + } else { + $this->buildViolation($constraint->maxRatioMessage) + ->setParameter('{{ ratio }}', $ratio) + ->setParameter('{{ max_ratio }}', $constraint->maxRatio) + ->setCode(Image::RATIO_TOO_BIG_ERROR) + ->addViolation(); + } + } + } + + if (!$constraint->allowSquare && $width == $height) { + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->allowSquareMessage) + ->setParameter('{{ width }}', $width) + ->setParameter('{{ height }}', $height) + ->setCode(Image::SQUARE_NOT_ALLOWED_ERROR) + ->addViolation(); + } else { + $this->buildViolation($constraint->allowSquareMessage) + ->setParameter('{{ width }}', $width) + ->setParameter('{{ height }}', $height) + ->setCode(Image::SQUARE_NOT_ALLOWED_ERROR) + ->addViolation(); + } + } + + if (!$constraint->allowLandscape && $width > $height) { + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->allowLandscapeMessage) + ->setParameter('{{ width }}', $width) + ->setParameter('{{ height }}', $height) + ->setCode(Image::LANDSCAPE_NOT_ALLOWED_ERROR) + ->addViolation(); + } else { + $this->buildViolation($constraint->allowLandscapeMessage) + ->setParameter('{{ width }}', $width) + ->setParameter('{{ height }}', $height) + ->setCode(Image::LANDSCAPE_NOT_ALLOWED_ERROR) + ->addViolation(); + } + } + + if (!$constraint->allowPortrait && $width < $height) { + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->allowPortraitMessage) + ->setParameter('{{ width }}', $width) + ->setParameter('{{ height }}', $height) + ->setCode(Image::PORTRAIT_NOT_ALLOWED_ERROR) + ->addViolation(); + } else { + $this->buildViolation($constraint->allowPortraitMessage) + ->setParameter('{{ width }}', $width) + ->setParameter('{{ height }}', $height) + ->setCode(Image::PORTRAIT_NOT_ALLOWED_ERROR) + ->addViolation(); + } + } + } +} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Ip.php b/core/vendor/symfony/validator/Constraints/Ip.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Ip.php rename to core/vendor/symfony/validator/Constraints/Ip.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/IpValidator.php b/core/vendor/symfony/validator/Constraints/IpValidator.php similarity index 83% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/IpValidator.php rename to core/vendor/symfony/validator/Constraints/IpValidator.php index 2bbe7e4fc601db5c8aba707ca62e6e4a29b4c254..8ec8068e79d5806b040c8ebefc08698fec28de6b 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/IpValidator.php +++ b/core/vendor/symfony/validator/Constraints/IpValidator.php @@ -11,6 +11,7 @@ namespace Symfony\Component\Validator\Constraints; +use Symfony\Component\Validator\Context\ExecutionContextInterface; use Symfony\Component\Validator\Constraint; use Symfony\Component\Validator\ConstraintValidator; use Symfony\Component\Validator\Exception\UnexpectedTypeException; @@ -95,9 +96,15 @@ public function validate($value, Constraint $constraint) } if (!filter_var($value, FILTER_VALIDATE_IP, $flag)) { - $this->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->addViolation(); + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->addViolation(); + } else { + $this->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->addViolation(); + } } } } diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/False.php b/core/vendor/symfony/validator/Constraints/IsFalse.php similarity index 94% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/False.php rename to core/vendor/symfony/validator/Constraints/IsFalse.php index fc2e3e49cbd250d70e0cf49a7cd6e78531181c29..7b1b72bd5111017dbc6c9c4c6c2e7fd639eed98a 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/False.php +++ b/core/vendor/symfony/validator/Constraints/IsFalse.php @@ -21,7 +21,7 @@ * * @api */ -class False extends Constraint +class IsFalse extends Constraint { public $message = 'This value should be false.'; } diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/TrueValidator.php b/core/vendor/symfony/validator/Constraints/IsFalseValidator.php similarity index 63% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/TrueValidator.php rename to core/vendor/symfony/validator/Constraints/IsFalseValidator.php index a01f5bb37deda3508fe00ae6612bbd5a7598f58b..f5215588f21e7a2c7d0ba90536edbf15493003a7 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/TrueValidator.php +++ b/core/vendor/symfony/validator/Constraints/IsFalseValidator.php @@ -11,6 +11,7 @@ namespace Symfony\Component\Validator\Constraints; +use Symfony\Component\Validator\Context\ExecutionContextInterface; use Symfony\Component\Validator\Constraint; use Symfony\Component\Validator\ConstraintValidator; use Symfony\Component\Validator\Exception\UnexpectedTypeException; @@ -20,22 +21,26 @@ * * @api */ -class TrueValidator extends ConstraintValidator +class IsFalseValidator extends ConstraintValidator { /** * {@inheritdoc} */ public function validate($value, Constraint $constraint) { - if (!$constraint instanceof True) { - throw new UnexpectedTypeException($constraint, __NAMESPACE__.'\True'); + if (!$constraint instanceof IsFalse) { + throw new UnexpectedTypeException($constraint, __NAMESPACE__.'\IsFalse'); } - if (null === $value) { + if (null === $value || false === $value || 0 === $value || '0' === $value) { return; } - if (true !== $value && 1 !== $value && '1' !== $value) { + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->addViolation(); + } else { $this->buildViolation($constraint->message) ->setParameter('{{ value }}', $this->formatValue($value)) ->addViolation(); diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Null.php b/core/vendor/symfony/validator/Constraints/IsNull.php similarity index 94% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Null.php rename to core/vendor/symfony/validator/Constraints/IsNull.php index 310455021bce6d868047c8b562cfb7691d0cafaa..3e7fef112c72c208dd99ccb9e84e8655d5419a74 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Null.php +++ b/core/vendor/symfony/validator/Constraints/IsNull.php @@ -21,7 +21,7 @@ * * @api */ -class Null extends Constraint +class IsNull extends Constraint { public $message = 'This value should be null.'; } diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/NullValidator.php b/core/vendor/symfony/validator/Constraints/IsNullValidator.php similarity index 53% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/NullValidator.php rename to core/vendor/symfony/validator/Constraints/IsNullValidator.php index 1e6c3a53897abba0148da27ef713293cbf110b20..162f6182fffccbb8006efcb6a91cb7833ed3dde7 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/NullValidator.php +++ b/core/vendor/symfony/validator/Constraints/IsNullValidator.php @@ -11,6 +11,7 @@ namespace Symfony\Component\Validator\Constraints; +use Symfony\Component\Validator\Context\ExecutionContextInterface; use Symfony\Component\Validator\Constraint; use Symfony\Component\Validator\ConstraintValidator; use Symfony\Component\Validator\Exception\UnexpectedTypeException; @@ -20,21 +21,27 @@ * * @api */ -class NullValidator extends ConstraintValidator +class IsNullValidator extends ConstraintValidator { /** * {@inheritdoc} */ public function validate($value, Constraint $constraint) { - if (!$constraint instanceof Null) { - throw new UnexpectedTypeException($constraint, __NAMESPACE__.'\Null'); + if (!$constraint instanceof IsNull) { + throw new UnexpectedTypeException($constraint, __NAMESPACE__.'\IsNull'); } if (null !== $value) { - $this->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->addViolation(); + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->addViolation(); + } else { + $this->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->addViolation(); + } } } } diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/True.php b/core/vendor/symfony/validator/Constraints/IsTrue.php similarity index 94% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/True.php rename to core/vendor/symfony/validator/Constraints/IsTrue.php index 788e36a9ee2aade1295d4e0348c1d3b140b8ca73..c0be6b8272d6f396ae84b1f04c74967b7f90593f 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/True.php +++ b/core/vendor/symfony/validator/Constraints/IsTrue.php @@ -21,7 +21,7 @@ * * @api */ -class True extends Constraint +class IsTrue extends Constraint { public $message = 'This value should be true.'; } diff --git a/core/vendor/symfony/validator/Constraints/IsTrueValidator.php b/core/vendor/symfony/validator/Constraints/IsTrueValidator.php new file mode 100644 index 0000000000000000000000000000000000000000..206c63d9a7949986f6a330d9b2040de1fce0e1ae --- /dev/null +++ b/core/vendor/symfony/validator/Constraints/IsTrueValidator.php @@ -0,0 +1,51 @@ +<?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\Validator\Constraints; + +use Symfony\Component\Validator\Context\ExecutionContextInterface; +use Symfony\Component\Validator\Constraint; +use Symfony\Component\Validator\ConstraintValidator; +use Symfony\Component\Validator\Exception\UnexpectedTypeException; + +/** + * @author Bernhard Schussek <bschussek@gmail.com> + * + * @api + */ +class IsTrueValidator extends ConstraintValidator +{ + /** + * {@inheritdoc} + */ + public function validate($value, Constraint $constraint) + { + if (!$constraint instanceof IsTrue) { + throw new UnexpectedTypeException($constraint, __NAMESPACE__.'\IsTrue'); + } + + if (null === $value) { + return; + } + + if (true !== $value && 1 !== $value && '1' !== $value) { + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->addViolation(); + } else { + $this->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->addViolation(); + } + } + } +} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Isbn.php b/core/vendor/symfony/validator/Constraints/Isbn.php similarity index 89% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Isbn.php rename to core/vendor/symfony/validator/Constraints/Isbn.php index 67d177f4e0439704f719b6a8f964014b80eee7c2..35cb82204e245d3a659160a073334d2da91ab4b5 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Isbn.php +++ b/core/vendor/symfony/validator/Constraints/Isbn.php @@ -44,13 +44,13 @@ class Isbn extends Constraint public $message; /** - * @deprecated Deprecated since version 2.5, to be removed in 3.0. Use option "type" instead. + * @deprecated since version 2.5, to be removed in 3.0. Use option "type" instead. * @var bool */ public $isbn10 = false; /** - * @deprecated Deprecated since version 2.5, to be removed in 3.0. Use option "type" instead. + * @deprecated since version 2.5, to be removed in 3.0. Use option "type" instead. * @var bool */ public $isbn13 = false; diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/IsbnValidator.php b/core/vendor/symfony/validator/Constraints/IsbnValidator.php similarity index 73% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/IsbnValidator.php rename to core/vendor/symfony/validator/Constraints/IsbnValidator.php index 598085713d2bf4d17bad4e83eb235798ff77df06..ccdf4e88d2e94ca8f46bb78b221a438d50c598f8 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/IsbnValidator.php +++ b/core/vendor/symfony/validator/Constraints/IsbnValidator.php @@ -11,6 +11,7 @@ namespace Symfony\Component\Validator\Constraints; +use Symfony\Component\Validator\Context\ExecutionContextInterface; use Symfony\Component\Validator\Constraint; use Symfony\Component\Validator\ConstraintValidator; use Symfony\Component\Validator\Exception\UnexpectedTypeException; @@ -48,8 +49,10 @@ public function validate($value, Constraint $constraint) if (null === $constraint->type) { if ($constraint->isbn10 && !$constraint->isbn13) { + trigger_error('The "isbn10" option of the Isbn constraint is deprecated since version 2.5 and will be removed in 3.0. Use the "type" option instead.', E_USER_DEPRECATED); $constraint->type = 'isbn10'; } elseif ($constraint->isbn13 && !$constraint->isbn10) { + trigger_error('The "isbn13" option of the Isbn constraint is deprecated since version 2.5 and will be removed in 3.0. Use the "type" option instead.', E_USER_DEPRECATED); $constraint->type = 'isbn13'; } } @@ -57,10 +60,17 @@ public function validate($value, Constraint $constraint) // Explicitly validate against ISBN-10 if ('isbn10' === $constraint->type) { if (true !== ($code = $this->validateIsbn10($canonical))) { - $this->buildViolation($this->getMessage($constraint, $constraint->type)) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode($code) - ->addViolation(); + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($this->getMessage($constraint, $constraint->type)) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode($code) + ->addViolation(); + } else { + $this->buildViolation($this->getMessage($constraint, $constraint->type)) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode($code) + ->addViolation(); + } } return; @@ -69,10 +79,17 @@ public function validate($value, Constraint $constraint) // Explicitly validate against ISBN-13 if ('isbn13' === $constraint->type) { if (true !== ($code = $this->validateIsbn13($canonical))) { - $this->buildViolation($this->getMessage($constraint, $constraint->type)) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode($code) - ->addViolation(); + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($this->getMessage($constraint, $constraint->type)) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode($code) + ->addViolation(); + } else { + $this->buildViolation($this->getMessage($constraint, $constraint->type)) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode($code) + ->addViolation(); + } } return; @@ -95,10 +112,17 @@ public function validate($value, Constraint $constraint) } if (true !== $code) { - $this->buildViolation($this->getMessage($constraint)) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode($code) - ->addViolation(); + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($this->getMessage($constraint)) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode($code) + ->addViolation(); + } else { + $this->buildViolation($this->getMessage($constraint)) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode($code) + ->addViolation(); + } } } diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Issn.php b/core/vendor/symfony/validator/Constraints/Issn.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Issn.php rename to core/vendor/symfony/validator/Constraints/Issn.php diff --git a/core/vendor/symfony/validator/Constraints/IssnValidator.php b/core/vendor/symfony/validator/Constraints/IssnValidator.php new file mode 100644 index 0000000000000000000000000000000000000000..87bf83c65251e3d3b82e5935614f912393acd2c7 --- /dev/null +++ b/core/vendor/symfony/validator/Constraints/IssnValidator.php @@ -0,0 +1,182 @@ +<?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\Validator\Constraints; + +use Symfony\Component\Validator\Context\ExecutionContextInterface; +use Symfony\Component\Validator\Constraint; +use Symfony\Component\Validator\ConstraintValidator; +use Symfony\Component\Validator\Exception\UnexpectedTypeException; + +/** + * Validates whether the value is a valid ISSN. + * + * @author Antonio J. GarcÃa Lagar <aj@garcialagar.es> + * @author Bernhard Schussek <bschussek@gmail.com> + * + * @see https://en.wikipedia.org/wiki/Issn + */ +class IssnValidator extends ConstraintValidator +{ + /** + * {@inheritdoc} + */ + public function validate($value, Constraint $constraint) + { + if (!$constraint instanceof Issn) { + throw new UnexpectedTypeException($constraint, __NAMESPACE__.'\Issn'); + } + + if (null === $value || '' === $value) { + return; + } + + if (!is_scalar($value) && !(is_object($value) && method_exists($value, '__toString'))) { + throw new UnexpectedTypeException($value, 'string'); + } + + $value = (string) $value; + $canonical = $value; + + // 1234-567X + // ^ + if (isset($canonical{4}) && '-' === $canonical{4}) { + // remove hyphen + $canonical = substr($canonical, 0, 4).substr($canonical, 5); + } elseif ($constraint->requireHyphen) { + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Issn::MISSING_HYPHEN_ERROR) + ->addViolation(); + } else { + $this->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Issn::MISSING_HYPHEN_ERROR) + ->addViolation(); + } + + return; + } + + $length = strlen($canonical); + + if ($length < 8) { + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Issn::TOO_SHORT_ERROR) + ->addViolation(); + } else { + $this->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Issn::TOO_SHORT_ERROR) + ->addViolation(); + } + + return; + } + + if ($length > 8) { + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Issn::TOO_LONG_ERROR) + ->addViolation(); + } else { + $this->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Issn::TOO_LONG_ERROR) + ->addViolation(); + } + + return; + } + + // 1234567X + // ^^^^^^^ digits only + if (!ctype_digit(substr($canonical, 0, 7))) { + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Issn::INVALID_CHARACTERS_ERROR) + ->addViolation(); + } else { + $this->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Issn::INVALID_CHARACTERS_ERROR) + ->addViolation(); + } + + return; + } + + // 1234567X + // ^ digit, x or X + if (!ctype_digit($canonical{7}) && 'x' !== $canonical{7} && 'X' !== $canonical{7}) { + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Issn::INVALID_CHARACTERS_ERROR) + ->addViolation(); + } else { + $this->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Issn::INVALID_CHARACTERS_ERROR) + ->addViolation(); + } + + return; + } + + // 1234567X + // ^ case-sensitive? + if ($constraint->caseSensitive && 'x' === $canonical{7}) { + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Issn::INVALID_CASE_ERROR) + ->addViolation(); + } else { + $this->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Issn::INVALID_CASE_ERROR) + ->addViolation(); + } + + return; + } + + // Calculate a checksum. "X" equals 10. + $checkSum = 'X' === $canonical{7} || 'x' === $canonical{7} + ? 10 + : $canonical{7}; + + for ($i = 0; $i < 7; ++$i) { + // Multiply the first digit by 8, the second by 7, etc. + $checkSum += (8 - $i) * $canonical{$i}; + } + + if (0 !== $checkSum % 11) { + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Issn::CHECKSUM_FAILED_ERROR) + ->addViolation(); + } else { + $this->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Issn::CHECKSUM_FAILED_ERROR) + ->addViolation(); + } + } + } +} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Language.php b/core/vendor/symfony/validator/Constraints/Language.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Language.php rename to core/vendor/symfony/validator/Constraints/Language.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/LanguageValidator.php b/core/vendor/symfony/validator/Constraints/LanguageValidator.php similarity index 71% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/LanguageValidator.php rename to core/vendor/symfony/validator/Constraints/LanguageValidator.php index be7ad28faf6aa17d5937d6e148370011a90b3b16..cc8581f819e0a38f141a9d0f31dae1b7854da184 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/LanguageValidator.php +++ b/core/vendor/symfony/validator/Constraints/LanguageValidator.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Validator\Constraints; use Symfony\Component\Intl\Intl; +use Symfony\Component\Validator\Context\ExecutionContextInterface; use Symfony\Component\Validator\Constraint; use Symfony\Component\Validator\ConstraintValidator; use Symfony\Component\Validator\Exception\UnexpectedTypeException; @@ -46,9 +47,15 @@ public function validate($value, Constraint $constraint) $languages = Intl::getLanguageBundle()->getLanguageNames(); if (!isset($languages[$value])) { - $this->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->addViolation(); + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->addViolation(); + } else { + $this->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->addViolation(); + } } } } diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Length.php b/core/vendor/symfony/validator/Constraints/Length.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Length.php rename to core/vendor/symfony/validator/Constraints/Length.php diff --git a/core/vendor/symfony/validator/Constraints/LengthValidator.php b/core/vendor/symfony/validator/Constraints/LengthValidator.php new file mode 100644 index 0000000000000000000000000000000000000000..bfa7b19f340b10771e7bd0e52377452031a36bee --- /dev/null +++ b/core/vendor/symfony/validator/Constraints/LengthValidator.php @@ -0,0 +1,127 @@ +<?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\Validator\Constraints; + +use Symfony\Component\Validator\Context\ExecutionContextInterface; +use Symfony\Component\Validator\Constraint; +use Symfony\Component\Validator\ConstraintValidator; +use Symfony\Component\Validator\Exception\UnexpectedTypeException; + +/** + * @author Bernhard Schussek <bschussek@gmail.com> + */ +class LengthValidator extends ConstraintValidator +{ + /** + * {@inheritdoc} + */ + public function validate($value, Constraint $constraint) + { + if (!$constraint instanceof Length) { + throw new UnexpectedTypeException($constraint, __NAMESPACE__.'\Length'); + } + + if (null === $value || '' === $value) { + return; + } + + if (!is_scalar($value) && !(is_object($value) && method_exists($value, '__toString'))) { + throw new UnexpectedTypeException($value, 'string'); + } + + $stringValue = (string) $value; + $invalidCharset = false; + + if ('UTF8' === $charset = strtoupper($constraint->charset)) { + $charset = 'UTF-8'; + } + + if (function_exists('iconv_strlen')) { + $length = @iconv_strlen($stringValue, $constraint->charset); + $invalidCharset = false === $length; + } elseif (function_exists('mb_strlen')) { + if (mb_check_encoding($stringValue, $constraint->charset)) { + $length = mb_strlen($stringValue, $constraint->charset); + } else { + $invalidCharset = true; + } + } elseif ('UTF-8' !== $charset) { + $length = strlen($stringValue); + } elseif (!preg_match('//u', $stringValue)) { + $invalidCharset = true; + } elseif (function_exists('utf8_decode')) { + $length = strlen(utf8_decode($stringValue)); + } else { + preg_replace('/./u', '', $stringValue, -1, $length); + } + + if ($invalidCharset) { + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->charsetMessage) + ->setParameter('{{ value }}', $this->formatValue($stringValue)) + ->setParameter('{{ charset }}', $constraint->charset) + ->setInvalidValue($value) + ->addViolation(); + } else { + $this->buildViolation($constraint->charsetMessage) + ->setParameter('{{ value }}', $this->formatValue($stringValue)) + ->setParameter('{{ charset }}', $constraint->charset) + ->setInvalidValue($value) + ->addViolation(); + } + + return; + } + + if (null !== $constraint->max && $length > $constraint->max) { + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->min == $constraint->max ? $constraint->exactMessage : $constraint->maxMessage) + ->setParameter('{{ value }}', $this->formatValue($stringValue)) + ->setParameter('{{ limit }}', $constraint->max) + ->setInvalidValue($value) + ->setPlural((int) $constraint->max) + ->setCode(Length::TOO_LONG_ERROR) + ->addViolation(); + } else { + $this->buildViolation($constraint->min == $constraint->max ? $constraint->exactMessage : $constraint->maxMessage) + ->setParameter('{{ value }}', $this->formatValue($stringValue)) + ->setParameter('{{ limit }}', $constraint->max) + ->setInvalidValue($value) + ->setPlural((int) $constraint->max) + ->setCode(Length::TOO_LONG_ERROR) + ->addViolation(); + } + + return; + } + + if (null !== $constraint->min && $length < $constraint->min) { + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->min == $constraint->max ? $constraint->exactMessage : $constraint->minMessage) + ->setParameter('{{ value }}', $this->formatValue($stringValue)) + ->setParameter('{{ limit }}', $constraint->min) + ->setInvalidValue($value) + ->setPlural((int) $constraint->min) + ->setCode(Length::TOO_SHORT_ERROR) + ->addViolation(); + } else { + $this->buildViolation($constraint->min == $constraint->max ? $constraint->exactMessage : $constraint->minMessage) + ->setParameter('{{ value }}', $this->formatValue($stringValue)) + ->setParameter('{{ limit }}', $constraint->min) + ->setInvalidValue($value) + ->setPlural((int) $constraint->min) + ->setCode(Length::TOO_SHORT_ERROR) + ->addViolation(); + } + } + } +} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/LessThan.php b/core/vendor/symfony/validator/Constraints/LessThan.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/LessThan.php rename to core/vendor/symfony/validator/Constraints/LessThan.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/LessThanOrEqual.php b/core/vendor/symfony/validator/Constraints/LessThanOrEqual.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/LessThanOrEqual.php rename to core/vendor/symfony/validator/Constraints/LessThanOrEqual.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/LessThanOrEqualValidator.php b/core/vendor/symfony/validator/Constraints/LessThanOrEqualValidator.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/LessThanOrEqualValidator.php rename to core/vendor/symfony/validator/Constraints/LessThanOrEqualValidator.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/LessThanValidator.php b/core/vendor/symfony/validator/Constraints/LessThanValidator.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/LessThanValidator.php rename to core/vendor/symfony/validator/Constraints/LessThanValidator.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Locale.php b/core/vendor/symfony/validator/Constraints/Locale.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Locale.php rename to core/vendor/symfony/validator/Constraints/Locale.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/LocaleValidator.php b/core/vendor/symfony/validator/Constraints/LocaleValidator.php similarity index 71% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/LocaleValidator.php rename to core/vendor/symfony/validator/Constraints/LocaleValidator.php index 748e5cf0c6420762304ab67e96f663bcce9fc81e..a5f69271e6e0b7bb7a6b21703e06de5c7f16cdf7 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/LocaleValidator.php +++ b/core/vendor/symfony/validator/Constraints/LocaleValidator.php @@ -12,6 +12,7 @@ namespace Symfony\Component\Validator\Constraints; use Symfony\Component\Intl\Intl; +use Symfony\Component\Validator\Context\ExecutionContextInterface; use Symfony\Component\Validator\Constraint; use Symfony\Component\Validator\ConstraintValidator; use Symfony\Component\Validator\Exception\UnexpectedTypeException; @@ -46,9 +47,15 @@ public function validate($value, Constraint $constraint) $locales = Intl::getLocaleBundle()->getLocaleNames(); if (!isset($locales[$value])) { - $this->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->addViolation(); + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->addViolation(); + } else { + $this->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->addViolation(); + } } } } diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Luhn.php b/core/vendor/symfony/validator/Constraints/Luhn.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Luhn.php rename to core/vendor/symfony/validator/Constraints/Luhn.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/LuhnValidator.php b/core/vendor/symfony/validator/Constraints/LuhnValidator.php similarity index 69% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/LuhnValidator.php rename to core/vendor/symfony/validator/Constraints/LuhnValidator.php index d58bfbfe7d8784228df301268e70093e0cb66d1b..31d4497d6e3a41121aa7445aa129f7a9f4a43a52 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/LuhnValidator.php +++ b/core/vendor/symfony/validator/Constraints/LuhnValidator.php @@ -11,6 +11,7 @@ namespace Symfony\Component\Validator\Constraints; +use Symfony\Component\Validator\Context\ExecutionContextInterface; use Symfony\Component\Validator\Constraint; use Symfony\Component\Validator\ConstraintValidator; use Symfony\Component\Validator\Exception\UnexpectedTypeException; @@ -56,10 +57,17 @@ public function validate($value, Constraint $constraint) $value = (string) $value; if (!ctype_digit($value)) { - $this->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Luhn::INVALID_CHARACTERS_ERROR) - ->addViolation(); + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Luhn::INVALID_CHARACTERS_ERROR) + ->addViolation(); + } else { + $this->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Luhn::INVALID_CHARACTERS_ERROR) + ->addViolation(); + } return; } @@ -87,10 +95,17 @@ public function validate($value, Constraint $constraint) } if (0 === $checkSum || 0 !== $checkSum % 10) { - $this->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Luhn::CHECKSUM_FAILED_ERROR) - ->addViolation(); + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Luhn::CHECKSUM_FAILED_ERROR) + ->addViolation(); + } else { + $this->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Luhn::CHECKSUM_FAILED_ERROR) + ->addViolation(); + } } } } diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/NotBlank.php b/core/vendor/symfony/validator/Constraints/NotBlank.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/NotBlank.php rename to core/vendor/symfony/validator/Constraints/NotBlank.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/NotBlankValidator.php b/core/vendor/symfony/validator/Constraints/NotBlankValidator.php similarity index 63% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/NotBlankValidator.php rename to core/vendor/symfony/validator/Constraints/NotBlankValidator.php index 9deab1503b0266217f89e4ba50d1570142f5183e..a435701cf2605dc2f01ece4c7db3d00ff4ec6fa5 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/NotBlankValidator.php +++ b/core/vendor/symfony/validator/Constraints/NotBlankValidator.php @@ -11,6 +11,7 @@ namespace Symfony\Component\Validator\Constraints; +use Symfony\Component\Validator\Context\ExecutionContextInterface; use Symfony\Component\Validator\Constraint; use Symfony\Component\Validator\ConstraintValidator; use Symfony\Component\Validator\Exception\UnexpectedTypeException; @@ -32,9 +33,15 @@ public function validate($value, Constraint $constraint) } if (false === $value || (empty($value) && '0' != $value)) { - $this->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->addViolation(); + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->addViolation(); + } else { + $this->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->addViolation(); + } } } } diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/NotEqualTo.php b/core/vendor/symfony/validator/Constraints/NotEqualTo.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/NotEqualTo.php rename to core/vendor/symfony/validator/Constraints/NotEqualTo.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/NotEqualToValidator.php b/core/vendor/symfony/validator/Constraints/NotEqualToValidator.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/NotEqualToValidator.php rename to core/vendor/symfony/validator/Constraints/NotEqualToValidator.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/NotIdenticalTo.php b/core/vendor/symfony/validator/Constraints/NotIdenticalTo.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/NotIdenticalTo.php rename to core/vendor/symfony/validator/Constraints/NotIdenticalTo.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/NotIdenticalToValidator.php b/core/vendor/symfony/validator/Constraints/NotIdenticalToValidator.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/NotIdenticalToValidator.php rename to core/vendor/symfony/validator/Constraints/NotIdenticalToValidator.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/NotNull.php b/core/vendor/symfony/validator/Constraints/NotNull.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/NotNull.php rename to core/vendor/symfony/validator/Constraints/NotNull.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/NotNullValidator.php b/core/vendor/symfony/validator/Constraints/NotNullValidator.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/NotNullValidator.php rename to core/vendor/symfony/validator/Constraints/NotNullValidator.php diff --git a/core/vendor/symfony/validator/Constraints/Null.php b/core/vendor/symfony/validator/Constraints/Null.php new file mode 100644 index 0000000000000000000000000000000000000000..934b8eedc61af51fcaa4c1b713feb5e34ddda170 --- /dev/null +++ b/core/vendor/symfony/validator/Constraints/Null.php @@ -0,0 +1,26 @@ +<?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\Validator\Constraints; + +trigger_error('The '.__NAMESPACE__.'\Null class is deprecated since version 2.7 and will be removed in 3.0. Use the IsNull class in the same namespace instead.', E_USER_DEPRECATED); + +/** + * @Annotation + * @Target({"PROPERTY", "METHOD", "ANNOTATION"}) + * + * @author Bernhard Schussek <bschussek@gmail.com> + * + * @deprecated since version 2.7, to be removed in 3.0. Use IsNull instead. + */ +class Null extends IsNull +{ +} diff --git a/core/vendor/symfony/validator/Constraints/NullValidator.php b/core/vendor/symfony/validator/Constraints/NullValidator.php new file mode 100644 index 0000000000000000000000000000000000000000..0900c8cd2d3e34d26df24a801a35265e1967d9b2 --- /dev/null +++ b/core/vendor/symfony/validator/Constraints/NullValidator.php @@ -0,0 +1,23 @@ +<?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\Validator\Constraints; + +trigger_error('The '.__NAMESPACE__.'\NullValidator class is deprecated since version 2.7 and will be removed in 3.0. Use the IsNullValidator class in the same namespace instead.', E_USER_DEPRECATED); + +/** + * @author Bernhard Schussek <bschussek@gmail.com> + * + * @deprecated since version 2.7, to be removed in 3.0. Use IsNullValidator instead. + */ +class NullValidator extends IsNullValidator +{ +} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Optional.php b/core/vendor/symfony/validator/Constraints/Optional.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Optional.php rename to core/vendor/symfony/validator/Constraints/Optional.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Range.php b/core/vendor/symfony/validator/Constraints/Range.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Range.php rename to core/vendor/symfony/validator/Constraints/Range.php diff --git a/core/vendor/symfony/validator/Constraints/RangeValidator.php b/core/vendor/symfony/validator/Constraints/RangeValidator.php new file mode 100644 index 0000000000000000000000000000000000000000..8f5fddac2ade98fa25ef5250ee689eec4a29cbc6 --- /dev/null +++ b/core/vendor/symfony/validator/Constraints/RangeValidator.php @@ -0,0 +1,104 @@ +<?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\Validator\Constraints; + +use Symfony\Component\Validator\Context\ExecutionContextInterface; +use Symfony\Component\Validator\Constraint; +use Symfony\Component\Validator\ConstraintValidator; +use Symfony\Component\Validator\Exception\UnexpectedTypeException; + +/** + * @author Bernhard Schussek <bschussek@gmail.com> + */ +class RangeValidator extends ConstraintValidator +{ + /** + * {@inheritdoc} + */ + public function validate($value, Constraint $constraint) + { + if (!$constraint instanceof Range) { + throw new UnexpectedTypeException($constraint, __NAMESPACE__.'\Range'); + } + + if (null === $value) { + return; + } + + if (!is_numeric($value) && !$value instanceof \DateTime && !$value instanceof \DateTimeInterface) { + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->invalidMessage) + ->setParameter('{{ value }}', $this->formatValue($value, self::PRETTY_DATE)) + ->setCode(Range::INVALID_VALUE_ERROR) + ->addViolation(); + } else { + $this->buildViolation($constraint->invalidMessage) + ->setParameter('{{ value }}', $this->formatValue($value, self::PRETTY_DATE)) + ->setCode(Range::INVALID_VALUE_ERROR) + ->addViolation(); + } + + return; + } + + $min = $constraint->min; + $max = $constraint->max; + + // Convert strings to DateTimes if comparing another DateTime + // This allows to compare with any date/time value supported by + // the DateTime constructor: + // http://php.net/manual/en/datetime.formats.php + if ($value instanceof \DateTime || $value instanceof \DateTimeInterface) { + if (is_string($min)) { + $min = new \DateTime($min); + } + + if (is_string($max)) { + $max = new \DateTime($max); + } + } + + if (null !== $constraint->max && $value > $max) { + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->maxMessage) + ->setParameter('{{ value }}', $this->formatValue($value, self::PRETTY_DATE)) + ->setParameter('{{ limit }}', $this->formatValue($max, self::PRETTY_DATE)) + ->setCode(Range::BEYOND_RANGE_ERROR) + ->addViolation(); + } else { + $this->buildViolation($constraint->maxMessage) + ->setParameter('{{ value }}', $this->formatValue($value, self::PRETTY_DATE)) + ->setParameter('{{ limit }}', $this->formatValue($max, self::PRETTY_DATE)) + ->setCode(Range::BEYOND_RANGE_ERROR) + ->addViolation(); + } + + return; + } + + if (null !== $constraint->min && $value < $min) { + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->minMessage) + ->setParameter('{{ value }}', $this->formatValue($value, self::PRETTY_DATE)) + ->setParameter('{{ limit }}', $this->formatValue($min, self::PRETTY_DATE)) + ->setCode(Range::BELOW_RANGE_ERROR) + ->addViolation(); + } else { + $this->buildViolation($constraint->minMessage) + ->setParameter('{{ value }}', $this->formatValue($value, self::PRETTY_DATE)) + ->setParameter('{{ limit }}', $this->formatValue($min, self::PRETTY_DATE)) + ->setCode(Range::BELOW_RANGE_ERROR) + ->addViolation(); + } + } + } +} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Regex.php b/core/vendor/symfony/validator/Constraints/Regex.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Regex.php rename to core/vendor/symfony/validator/Constraints/Regex.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/RegexValidator.php b/core/vendor/symfony/validator/Constraints/RegexValidator.php similarity index 71% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/RegexValidator.php rename to core/vendor/symfony/validator/Constraints/RegexValidator.php index 5916e85be9e6a0c7a1cd3bc8668b32674724be70..45ba9793ef53732cb0c74fc8dd4ffe291b894077 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/RegexValidator.php +++ b/core/vendor/symfony/validator/Constraints/RegexValidator.php @@ -11,6 +11,7 @@ namespace Symfony\Component\Validator\Constraints; +use Symfony\Component\Validator\Context\ExecutionContextInterface; use Symfony\Component\Validator\Constraint; use Symfony\Component\Validator\ConstraintValidator; use Symfony\Component\Validator\Exception\UnexpectedTypeException; @@ -45,9 +46,15 @@ public function validate($value, Constraint $constraint) $value = (string) $value; if ($constraint->match xor preg_match($constraint->pattern, $value)) { - $this->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->addViolation(); + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->addViolation(); + } else { + $this->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->addViolation(); + } } } } diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Required.php b/core/vendor/symfony/validator/Constraints/Required.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Required.php rename to core/vendor/symfony/validator/Constraints/Required.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Time.php b/core/vendor/symfony/validator/Constraints/Time.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Time.php rename to core/vendor/symfony/validator/Constraints/Time.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/TimeValidator.php b/core/vendor/symfony/validator/Constraints/TimeValidator.php similarity index 59% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/TimeValidator.php rename to core/vendor/symfony/validator/Constraints/TimeValidator.php index bfecf95b52fb9ae0757d34824fb84b00531141a7..1a173a13b46a70871de2149f64c275076e41c27b 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/TimeValidator.php +++ b/core/vendor/symfony/validator/Constraints/TimeValidator.php @@ -11,6 +11,7 @@ namespace Symfony\Component\Validator\Constraints; +use Symfony\Component\Validator\Context\ExecutionContextInterface; use Symfony\Component\Validator\Constraint; use Symfony\Component\Validator\ConstraintValidator; use Symfony\Component\Validator\Exception\UnexpectedTypeException; @@ -60,19 +61,33 @@ public function validate($value, Constraint $constraint) $value = (string) $value; if (!preg_match(static::PATTERN, $value, $matches)) { - $this->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Time::INVALID_FORMAT_ERROR) - ->addViolation(); + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Time::INVALID_FORMAT_ERROR) + ->addViolation(); + } else { + $this->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Time::INVALID_FORMAT_ERROR) + ->addViolation(); + } return; } if (!self::checkTime($matches[1], $matches[2], $matches[3])) { - $this->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Time::INVALID_TIME_ERROR) - ->addViolation(); + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Time::INVALID_TIME_ERROR) + ->addViolation(); + } else { + $this->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Time::INVALID_TIME_ERROR) + ->addViolation(); + } } } } diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Traverse.php b/core/vendor/symfony/validator/Constraints/Traverse.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Traverse.php rename to core/vendor/symfony/validator/Constraints/Traverse.php diff --git a/core/vendor/symfony/validator/Constraints/True.php b/core/vendor/symfony/validator/Constraints/True.php new file mode 100644 index 0000000000000000000000000000000000000000..376f69ff3f95ef028d50a6ca9d2f2765c0773769 --- /dev/null +++ b/core/vendor/symfony/validator/Constraints/True.php @@ -0,0 +1,26 @@ +<?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\Validator\Constraints; + +trigger_error('The '.__NAMESPACE__.'\True class is deprecated since version 2.7 and will be removed in 3.0. Use the IsTrue class in the same namespace instead.', E_USER_DEPRECATED); + +/** + * @Annotation + * @Target({"PROPERTY", "METHOD", "ANNOTATION"}) + * + * @author Bernhard Schussek <bschussek@gmail.com> + * + * @deprecated since version 2.7, to be removed in 3.0. Use IsTrue instead. + */ +class True extends IsTrue +{ +} diff --git a/core/vendor/symfony/validator/Constraints/TrueValidator.php b/core/vendor/symfony/validator/Constraints/TrueValidator.php new file mode 100644 index 0000000000000000000000000000000000000000..1cb252ae3f220afb95906976c6e63b0c86faee76 --- /dev/null +++ b/core/vendor/symfony/validator/Constraints/TrueValidator.php @@ -0,0 +1,23 @@ +<?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\Validator\Constraints; + +trigger_error('The '.__NAMESPACE__.'\TrueValidator class is deprecated since version 2.7 and will be removed in 3.0. Use the IsTrueValidator class in the same namespace instead.', E_USER_DEPRECATED); + +/** + * @author Bernhard Schussek <bschussek@gmail.com> + * + * @deprecated since version 2.7, to be removed in 3.0. Use IsTrueValidator instead. + */ +class TrueValidator extends IsTrueValidator +{ +} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Type.php b/core/vendor/symfony/validator/Constraints/Type.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Type.php rename to core/vendor/symfony/validator/Constraints/Type.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/TypeValidator.php b/core/vendor/symfony/validator/Constraints/TypeValidator.php similarity index 68% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/TypeValidator.php rename to core/vendor/symfony/validator/Constraints/TypeValidator.php index 66217d0c39fac030c466dd2821b76c3b5fa30eb8..30ad278de1b77c4b6fbeaa086eea65007899828f 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/TypeValidator.php +++ b/core/vendor/symfony/validator/Constraints/TypeValidator.php @@ -11,6 +11,7 @@ namespace Symfony\Component\Validator\Constraints; +use Symfony\Component\Validator\Context\ExecutionContextInterface; use Symfony\Component\Validator\Constraint; use Symfony\Component\Validator\ConstraintValidator; use Symfony\Component\Validator\Exception\UnexpectedTypeException; @@ -48,9 +49,16 @@ public function validate($value, Constraint $constraint) return; } - $this->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setParameter('{{ type }}', $constraint->type) - ->addViolation(); + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setParameter('{{ type }}', $constraint->type) + ->addViolation(); + } else { + $this->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setParameter('{{ type }}', $constraint->type) + ->addViolation(); + } } } diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Url.php b/core/vendor/symfony/validator/Constraints/Url.php similarity index 87% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Url.php rename to core/vendor/symfony/validator/Constraints/Url.php index e867ee1f0a9c4934b14aa1c376891b20f42e46c2..7b8ef3fb626cf157daae347b90393e21da557b2e 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Url.php +++ b/core/vendor/symfony/validator/Constraints/Url.php @@ -24,5 +24,7 @@ class Url extends Constraint { public $message = 'This value is not a valid URL.'; + public $dnsMessage = 'The host could not be resolved.'; public $protocols = array('http', 'https'); + public $checkDNS = false; } diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/UrlValidator.php b/core/vendor/symfony/validator/Constraints/UrlValidator.php similarity index 75% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/UrlValidator.php rename to core/vendor/symfony/validator/Constraints/UrlValidator.php index 3d184775acd5df206bdbde350aeba716c7d08e00..b38f8dafab3052a68c5b7c9f2f5edde4acac53cd 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/UrlValidator.php +++ b/core/vendor/symfony/validator/Constraints/UrlValidator.php @@ -11,6 +11,7 @@ namespace Symfony\Component\Validator\Constraints; +use Symfony\Component\Validator\Context\ExecutionContextInterface; use Symfony\Component\Validator\Constraint; use Symfony\Component\Validator\ConstraintValidator; use Symfony\Component\Validator\Exception\UnexpectedTypeException; @@ -59,9 +60,33 @@ public function validate($value, Constraint $constraint) $pattern = sprintf(static::PATTERN, implode('|', $constraint->protocols)); if (!preg_match($pattern, $value)) { - $this->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->addViolation(); + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->addViolation(); + } else { + $this->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->addViolation(); + } + + return; + } + + if ($constraint->checkDNS) { + $host = parse_url($value, PHP_URL_HOST); + + if (!checkdnsrr($host, 'ANY')) { + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->dnsMessage) + ->setParameter('{{ value }}', $this->formatValue($host)) + ->addViolation(); + } else { + $this->buildViolation($constraint->dnsMessage) + ->setParameter('{{ value }}', $this->formatValue($host)) + ->addViolation(); + } + } } } } diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Uuid.php b/core/vendor/symfony/validator/Constraints/Uuid.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Uuid.php rename to core/vendor/symfony/validator/Constraints/Uuid.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/UuidValidator.php b/core/vendor/symfony/validator/Constraints/UuidValidator.php similarity index 52% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/UuidValidator.php rename to core/vendor/symfony/validator/Constraints/UuidValidator.php index 0ae04e2694f37e5404b9977405e8d906be6a9787..08f9e27b736c88cd4a8d25ee2934ce78397fe374 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/UuidValidator.php +++ b/core/vendor/symfony/validator/Constraints/UuidValidator.php @@ -11,8 +11,10 @@ namespace Symfony\Component\Validator\Constraints; +use Symfony\Component\Validator\Context\ExecutionContextInterface; use Symfony\Component\Validator\Constraint; use Symfony\Component\Validator\ConstraintValidator; +use Symfony\Component\Validator\Constraints\Deprecated\UuidValidator as Deprecated; use Symfony\Component\Validator\Exception\UnexpectedTypeException; /** @@ -56,19 +58,19 @@ class UuidValidator extends ConstraintValidator const LOOSE_FIRST_HYPHEN_POSITION = 4; /** - * @deprecated Deprecated since Symfony 2.6, to be removed in 3.0 + * @deprecated since version 2.6, to be removed in 3.0 */ const STRICT_PATTERN = '/^[a-f0-9]{8}-[a-f0-9]{4}-[%s][a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$/i'; /** - * @deprecated Deprecated since Symfony 2.6, to be removed in 3.0 + * @deprecated since version 2.6, to be removed in 3.0 */ const LOOSE_PATTERN = '/^[a-f0-9]{4}(?:-?[a-f0-9]{4}){7}$/i'; /** - * @deprecated Deprecated since Symfony 2.6, to be removed in 3.0 + * @deprecated since version 2.6, to be removed in 3.0 */ - const STRICT_UUID_LENGTH = self::STRICT_LENGTH; + const STRICT_UUID_LENGTH = 36; /** * {@inheritdoc} @@ -113,10 +115,17 @@ private function validateLoose($value, Uuid $constraint) for ($i = 0; $i < $l; ++$i) { // Check length if (!isset($trimmed{$i})) { - $this->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Uuid::TOO_SHORT_ERROR) - ->addViolation(); + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Uuid::TOO_SHORT_ERROR) + ->addViolation(); + } else { + $this->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Uuid::TOO_SHORT_ERROR) + ->addViolation(); + } return; } @@ -126,10 +135,17 @@ private function validateLoose($value, Uuid $constraint) // ^ ^ ^ ^ ^ ^ ^ if ('-' === $trimmed{$i}) { if ($i !== $h) { - $this->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Uuid::INVALID_HYPHEN_PLACEMENT_ERROR) - ->addViolation(); + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Uuid::INVALID_HYPHEN_PLACEMENT_ERROR) + ->addViolation(); + } else { + $this->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Uuid::INVALID_HYPHEN_PLACEMENT_ERROR) + ->addViolation(); + } return; } @@ -147,10 +163,17 @@ private function validateLoose($value, Uuid $constraint) // Check characters if (!ctype_xdigit($trimmed{$i})) { - $this->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Uuid::INVALID_CHARACTERS_ERROR) - ->addViolation(); + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Uuid::INVALID_CHARACTERS_ERROR) + ->addViolation(); + } else { + $this->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Uuid::INVALID_CHARACTERS_ERROR) + ->addViolation(); + } return; } @@ -158,10 +181,17 @@ private function validateLoose($value, Uuid $constraint) // Check length again if (isset($trimmed{$i})) { - $this->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Uuid::TOO_LONG_ERROR) - ->addViolation(); + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Uuid::TOO_LONG_ERROR) + ->addViolation(); + } else { + $this->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Uuid::TOO_LONG_ERROR) + ->addViolation(); + } } } @@ -180,10 +210,17 @@ private function validateStrict($value, Uuid $constraint) for ($i = 0; $i < self::STRICT_LENGTH; ++$i) { // Check length if (!isset($value{$i})) { - $this->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Uuid::TOO_SHORT_ERROR) - ->addViolation(); + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Uuid::TOO_SHORT_ERROR) + ->addViolation(); + } else { + $this->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Uuid::TOO_SHORT_ERROR) + ->addViolation(); + } return; } @@ -193,13 +230,23 @@ private function validateStrict($value, Uuid $constraint) // ^ ^ ^ ^ if ('-' === $value{$i}) { if ($i !== $h) { - $this->buildViolation($constraint->message) - ->setParameter( - '{{ value }}', - $this->formatValue($value) - ) - ->setCode(Uuid::INVALID_HYPHEN_PLACEMENT_ERROR) - ->addViolation(); + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->message) + ->setParameter( + '{{ value }}', + $this->formatValue($value) + ) + ->setCode(Uuid::INVALID_HYPHEN_PLACEMENT_ERROR) + ->addViolation(); + } else { + $this->buildViolation($constraint->message) + ->setParameter( + '{{ value }}', + $this->formatValue($value) + ) + ->setCode(Uuid::INVALID_HYPHEN_PLACEMENT_ERROR) + ->addViolation(); + } return; } @@ -215,20 +262,34 @@ private function validateStrict($value, Uuid $constraint) // Check characters if (!ctype_xdigit($value{$i})) { - $this->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Uuid::INVALID_CHARACTERS_ERROR) - ->addViolation(); + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Uuid::INVALID_CHARACTERS_ERROR) + ->addViolation(); + } else { + $this->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Uuid::INVALID_CHARACTERS_ERROR) + ->addViolation(); + } return; } // Missing hyphen if ($i === $h) { - $this->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Uuid::INVALID_HYPHEN_PLACEMENT_ERROR) - ->addViolation(); + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Uuid::INVALID_HYPHEN_PLACEMENT_ERROR) + ->addViolation(); + } else { + $this->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Uuid::INVALID_HYPHEN_PLACEMENT_ERROR) + ->addViolation(); + } return; } @@ -236,18 +297,32 @@ private function validateStrict($value, Uuid $constraint) // Check length again if (isset($value{$i})) { - $this->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Uuid::TOO_LONG_ERROR) - ->addViolation(); + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Uuid::TOO_LONG_ERROR) + ->addViolation(); + } else { + $this->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Uuid::TOO_LONG_ERROR) + ->addViolation(); + } } // Check version if (!in_array($value{self::STRICT_VERSION_POSITION}, $constraint->versions)) { - $this->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Uuid::INVALID_VERSION_ERROR) - ->addViolation(); + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Uuid::INVALID_VERSION_ERROR) + ->addViolation(); + } else { + $this->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Uuid::INVALID_VERSION_ERROR) + ->addViolation(); + } } // Check variant - first two bits must equal "10" @@ -255,10 +330,17 @@ private function validateStrict($value, Uuid $constraint) // & 0b1100 (12) // = 0b1000 (8) if ((hexdec($value{self::STRICT_VARIANT_POSITION}) & 12) !== 8) { - $this->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Uuid::INVALID_VARIANT_ERROR) - ->addViolation(); + if ($this->context instanceof ExecutionContextInterface) { + $this->context->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Uuid::INVALID_VARIANT_ERROR) + ->addViolation(); + } else { + $this->buildViolation($constraint->message) + ->setParameter('{{ value }}', $this->formatValue($value)) + ->setCode(Uuid::INVALID_VARIANT_ERROR) + ->addViolation(); + } } } } diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Valid.php b/core/vendor/symfony/validator/Constraints/Valid.php similarity index 70% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Valid.php rename to core/vendor/symfony/validator/Constraints/Valid.php index b0f518b8b82f84d201c7f073104f532cf415f108..cb520c93d4c556219cd079cd30a0557faa83c06b 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/Valid.php +++ b/core/vendor/symfony/validator/Constraints/Valid.php @@ -27,7 +27,7 @@ class Valid extends Constraint public $traverse = true; /** - * @deprecated Deprecated as of version 2.5, to be removed in Symfony 3.0. + * @deprecated since version 2.5, to be removed in Symfony 3.0. */ public $deep = true; @@ -40,6 +40,10 @@ public function __construct($options = null) )); } + if (is_array($options) && array_key_exists('deep', $options)) { + trigger_error('The "deep" option for the Valid constraint is deprecated since version 2.5 and will be removed in 3.0. When traversing arrays, nested arrays are always traversed. When traversing nested objects, their traversal strategy is used.', E_USER_DEPRECATED); + } + parent::__construct($options); } } diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Context/ExecutionContext.php b/core/vendor/symfony/validator/Context/ExecutionContext.php similarity index 71% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Context/ExecutionContext.php rename to core/vendor/symfony/validator/Context/ExecutionContext.php index f329615bd2f83f0fd71963941159a7fac50f7015..39f7d1506d6462cdbd4f79b1b72b556ccdacb1f8 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Context/ExecutionContext.php +++ b/core/vendor/symfony/validator/Context/ExecutionContext.php @@ -14,13 +14,14 @@ use Symfony\Component\Translation\TranslatorInterface; use Symfony\Component\Validator\ClassBasedInterface; use Symfony\Component\Validator\Constraint; +use Symfony\Component\Validator\Constraints\Valid; use Symfony\Component\Validator\ConstraintViolation; use Symfony\Component\Validator\ConstraintViolationList; -use Symfony\Component\Validator\Exception\BadMethodCallException; use Symfony\Component\Validator\Mapping\MetadataInterface; use Symfony\Component\Validator\Mapping\PropertyMetadataInterface; use Symfony\Component\Validator\Util\PropertyPath; use Symfony\Component\Validator\Validator\ValidatorInterface; +use Symfony\Component\Validator\ValidatorInterface as LegacyValidatorInterface; use Symfony\Component\Validator\Violation\ConstraintViolationBuilder; /** @@ -187,11 +188,17 @@ public function addViolation($message, array $parameters = array(), $invalidValu // API, as they are not present in the new interface anymore. // You should use buildViolation() instead. if (func_num_args() > 2) { - throw new BadMethodCallException( - 'The parameters $invalidValue, $pluralization and $code are '. - 'not supported anymore as of Symfony 2.5. Please use '. - 'buildViolation() instead or enable the legacy mode.' - ); + trigger_error('The parameters $invalidValue, $plural and $code in method '.__METHOD__.' are deprecated since version 2.5 and will be removed in 3.0. Use the '.__CLASS__.'::buildViolation method instead.', E_USER_DEPRECATED); + + $this + ->buildViolation($message, $parameters) + ->setInvalidValue($invalidValue) + ->setPlural($plural) + ->setCode($code) + ->addViolation() + ; + + return; } $this->violations->add(new ConstraintViolation( @@ -310,10 +317,26 @@ public function getPropertyPath($subPath = '') */ public function addViolationAt($subPath, $message, array $parameters = array(), $invalidValue = null, $plural = null, $code = null) { - throw new BadMethodCallException( - 'addViolationAt() is not supported anymore as of Symfony 2.5. '. - 'Please use buildViolation() instead or enable the legacy mode.' - ); + trigger_error('The '.__METHOD__.' method is deprecated since version 2.5 and will be removed in 3.0. Use the '.__CLASS__.'::buildViolation method instead.', E_USER_DEPRECATED); + + if (func_num_args() > 2) { + $this + ->buildViolation($message, $parameters) + ->atPath($subPath) + ->setInvalidValue($invalidValue) + ->setPlural($plural) + ->setCode($code) + ->addViolation() + ; + + return; + } + + $this + ->buildViolation($message, $parameters) + ->atPath($subPath) + ->addViolation() + ; } /** @@ -321,10 +344,37 @@ public function addViolationAt($subPath, $message, array $parameters = array(), */ public function validate($value, $subPath = '', $groups = null, $traverse = false, $deep = false) { - throw new BadMethodCallException( - 'validate() is not supported anymore as of Symfony 2.5. '. - 'Please use getValidator() instead or enable the legacy mode.' - ); + trigger_error('The '.__METHOD__.' method is deprecated since version 2.5 and will be removed in 3.0. Use the '.__CLASS__.'::getValidator() method instead.', E_USER_DEPRECATED); + + if (is_array($value)) { + // The $traverse flag is ignored for arrays + $constraint = new Valid(array('traverse' => true, 'deep' => $deep)); + + return $this + ->getValidator() + ->inContext($this) + ->atPath($subPath) + ->validate($value, $constraint, $groups) + ; + } + + if ($traverse && $value instanceof \Traversable) { + $constraint = new Valid(array('traverse' => true, 'deep' => $deep)); + + return $this + ->getValidator() + ->inContext($this) + ->atPath($subPath) + ->validate($value, $constraint, $groups) + ; + } + + return $this + ->getValidator() + ->inContext($this) + ->atPath($subPath) + ->validate($value, null, $groups) + ; } /** @@ -332,10 +382,14 @@ public function validate($value, $subPath = '', $groups = null, $traverse = fals */ public function validateValue($value, $constraints, $subPath = '', $groups = null) { - throw new BadMethodCallException( - 'validateValue() is not supported anymore as of Symfony 2.5. '. - 'Please use getValidator() instead or enable the legacy mode.' - ); + trigger_error('The '.__METHOD__.' method is deprecated since version 2.5 and will be removed in 3.0. Use the '.__CLASS__.'::getValidator() method instead.', E_USER_DEPRECATED); + + return $this + ->getValidator() + ->inContext($this) + ->atPath($subPath) + ->validate($value, $constraints, $groups) + ; } /** @@ -343,11 +397,16 @@ public function validateValue($value, $constraints, $subPath = '', $groups = nul */ public function getMetadataFactory() { - throw new BadMethodCallException( - 'getMetadataFactory() is not supported anymore as of Symfony 2.5. '. - 'Please use getValidator() in combination with getMetadataFor() '. - 'or hasMetadataFor() instead or enable the legacy mode.' - ); + trigger_error('The '.__METHOD__.' is deprecated since version 2.5 and will be removed in 3.0. Use the new Symfony\Component\Validator\Context\ExecutionContext::getValidator method in combination with Symfony\Component\Validator\Validator\ValidatorInterface::getMetadataFor or Symfony\Component\Validator\Validator\ValidatorInterface::hasMetadataFor method instead.', E_USER_DEPRECATED); + + $validator = $this->getValidator(); + + if ($validator instanceof LegacyValidatorInterface) { + return $validator->getMetadataFactory(); + } + + // The ValidatorInterface extends from the deprecated MetadataFactoryInterface, so return it when we don't have the factory instance itself + return $validator; } /** diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Context/ExecutionContextFactory.php b/core/vendor/symfony/validator/Context/ExecutionContextFactory.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Context/ExecutionContextFactory.php rename to core/vendor/symfony/validator/Context/ExecutionContextFactory.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Context/ExecutionContextFactoryInterface.php b/core/vendor/symfony/validator/Context/ExecutionContextFactoryInterface.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Context/ExecutionContextFactoryInterface.php rename to core/vendor/symfony/validator/Context/ExecutionContextFactoryInterface.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Context/ExecutionContextInterface.php b/core/vendor/symfony/validator/Context/ExecutionContextInterface.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Context/ExecutionContextInterface.php rename to core/vendor/symfony/validator/Context/ExecutionContextInterface.php diff --git a/core/vendor/symfony/validator/Context/LegacyExecutionContext.php b/core/vendor/symfony/validator/Context/LegacyExecutionContext.php new file mode 100644 index 0000000000000000000000000000000000000000..5ee7a228c47d15a49ab2adc0299c0c2c65498977 --- /dev/null +++ b/core/vendor/symfony/validator/Context/LegacyExecutionContext.php @@ -0,0 +1,54 @@ +<?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\Validator\Context; + +trigger_error('The '.__NAMESPACE__.'\LegacyExecutionContext class is deprecated since version 2.5 and will be removed in 3.0.', E_USER_DEPRECATED); + +use Symfony\Component\Translation\TranslatorInterface; +use Symfony\Component\Validator\MetadataFactoryInterface; +use Symfony\Component\Validator\Validator\ValidatorInterface; + +/** + * An execution context that is compatible with the legacy API (< 2.5). + * + * @since 2.5 + * @author Bernhard Schussek <bschussek@gmail.com> + * + * @deprecated since version 2.5, to be removed in 3.0. + */ +class LegacyExecutionContext extends ExecutionContext +{ + /** + * @var MetadataFactoryInterface + */ + private $metadataFactory; + + /** + * Creates a new context. + * + * @see ExecutionContext::__construct() + * + * @internal Called by {@link LegacyExecutionContextFactory}. Should not be used + * in user code. + */ + public function __construct(ValidatorInterface $validator, $root, MetadataFactoryInterface $metadataFactory, TranslatorInterface $translator, $translationDomain = null) + { + parent::__construct( + $validator, + $root, + $translator, + $translationDomain + ); + + $this->metadataFactory = $metadataFactory; + } +} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Context/LegacyExecutionContextFactory.php b/core/vendor/symfony/validator/Context/LegacyExecutionContextFactory.php similarity index 87% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Context/LegacyExecutionContextFactory.php rename to core/vendor/symfony/validator/Context/LegacyExecutionContextFactory.php index cf5cd07e9ef54beeaf2be6ef78f24c96b88f5e69..31fb4cbdde0ec918b1cd2352be214974951d22d9 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Context/LegacyExecutionContextFactory.php +++ b/core/vendor/symfony/validator/Context/LegacyExecutionContextFactory.php @@ -11,6 +11,8 @@ namespace Symfony\Component\Validator\Context; +trigger_error('The '.__NAMESPACE__.'\LegacyExecutionContextFactory class is deprecated since version 2.5 and will be removed in 3.0.', E_USER_DEPRECATED); + use Symfony\Component\Translation\TranslatorInterface; use Symfony\Component\Validator\MetadataFactoryInterface; use Symfony\Component\Validator\Validator\ValidatorInterface; @@ -18,11 +20,12 @@ /** * Creates new {@link LegacyExecutionContext} instances. * + * Implemented for backward compatibility with Symfony < 2.5. + * * @since 2.5 * @author Bernhard Schussek <bschussek@gmail.com> * - * @deprecated Implemented for backwards compatibility with Symfony < 2.5. - * To be removed in Symfony 3.0. + * @deprecated since version 2.5, to be removed in 3.0. */ class LegacyExecutionContextFactory implements ExecutionContextFactoryInterface { diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/DefaultTranslator.php b/core/vendor/symfony/validator/DefaultTranslator.php similarity index 94% rename from core/vendor/symfony/validator/Symfony/Component/Validator/DefaultTranslator.php rename to core/vendor/symfony/validator/DefaultTranslator.php index 63fa09efd76f6efb65e1c80e4bdd54e0972d5280..37c9c170fcd5aea3305ec036b86e668ba753ce4f 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/DefaultTranslator.php +++ b/core/vendor/symfony/validator/DefaultTranslator.php @@ -11,6 +11,8 @@ namespace Symfony\Component\Validator; +trigger_error('The class '.__NAMESPACE__.'\DefaultTranslator is deprecated since version 2.7 and will be removed in 3.0. Use Symfony\Component\Translation\IdentityTranslator instead.', E_USER_DEPRECATED); + use Symfony\Component\Translation\TranslatorInterface; use Symfony\Component\Validator\Exception\BadMethodCallException; use Symfony\Component\Validator\Exception\InvalidArgumentException; @@ -43,6 +45,8 @@ * {@link \Symfony\Component\Translation\Translator} and can be used in places * where translation is not required by default but should be optional. * + * @deprecated since version 2.7, to be removed in 3.0. Use Symfony\Component\Translation\IdentityTranslator instead. + * * @author Bernhard Schussek <bschussek@gmail.com> */ class DefaultTranslator implements TranslatorInterface diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Exception/BadMethodCallException.php b/core/vendor/symfony/validator/Exception/BadMethodCallException.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Exception/BadMethodCallException.php rename to core/vendor/symfony/validator/Exception/BadMethodCallException.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Exception/ConstraintDefinitionException.php b/core/vendor/symfony/validator/Exception/ConstraintDefinitionException.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Exception/ConstraintDefinitionException.php rename to core/vendor/symfony/validator/Exception/ConstraintDefinitionException.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Exception/ExceptionInterface.php b/core/vendor/symfony/validator/Exception/ExceptionInterface.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Exception/ExceptionInterface.php rename to core/vendor/symfony/validator/Exception/ExceptionInterface.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Exception/GroupDefinitionException.php b/core/vendor/symfony/validator/Exception/GroupDefinitionException.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Exception/GroupDefinitionException.php rename to core/vendor/symfony/validator/Exception/GroupDefinitionException.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Exception/InvalidArgumentException.php b/core/vendor/symfony/validator/Exception/InvalidArgumentException.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Exception/InvalidArgumentException.php rename to core/vendor/symfony/validator/Exception/InvalidArgumentException.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Exception/InvalidOptionsException.php b/core/vendor/symfony/validator/Exception/InvalidOptionsException.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Exception/InvalidOptionsException.php rename to core/vendor/symfony/validator/Exception/InvalidOptionsException.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Exception/MappingException.php b/core/vendor/symfony/validator/Exception/MappingException.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Exception/MappingException.php rename to core/vendor/symfony/validator/Exception/MappingException.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Exception/MissingOptionsException.php b/core/vendor/symfony/validator/Exception/MissingOptionsException.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Exception/MissingOptionsException.php rename to core/vendor/symfony/validator/Exception/MissingOptionsException.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Exception/NoSuchMetadataException.php b/core/vendor/symfony/validator/Exception/NoSuchMetadataException.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Exception/NoSuchMetadataException.php rename to core/vendor/symfony/validator/Exception/NoSuchMetadataException.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Exception/OutOfBoundsException.php b/core/vendor/symfony/validator/Exception/OutOfBoundsException.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Exception/OutOfBoundsException.php rename to core/vendor/symfony/validator/Exception/OutOfBoundsException.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Exception/RuntimeException.php b/core/vendor/symfony/validator/Exception/RuntimeException.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Exception/RuntimeException.php rename to core/vendor/symfony/validator/Exception/RuntimeException.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Exception/UnexpectedTypeException.php b/core/vendor/symfony/validator/Exception/UnexpectedTypeException.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Exception/UnexpectedTypeException.php rename to core/vendor/symfony/validator/Exception/UnexpectedTypeException.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Exception/UnsupportedMetadataException.php b/core/vendor/symfony/validator/Exception/UnsupportedMetadataException.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Exception/UnsupportedMetadataException.php rename to core/vendor/symfony/validator/Exception/UnsupportedMetadataException.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Exception/ValidatorException.php b/core/vendor/symfony/validator/Exception/ValidatorException.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Exception/ValidatorException.php rename to core/vendor/symfony/validator/Exception/ValidatorException.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/ExecutionContext.php b/core/vendor/symfony/validator/ExecutionContext.php similarity index 96% rename from core/vendor/symfony/validator/Symfony/Component/Validator/ExecutionContext.php rename to core/vendor/symfony/validator/ExecutionContext.php index 31911b8d712c6d122a70fd3739e3a009e7c1bf0c..d21dd780f1c064e9d40436491905136f0fac32c6 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/ExecutionContext.php +++ b/core/vendor/symfony/validator/ExecutionContext.php @@ -11,6 +11,8 @@ namespace Symfony\Component\Validator; +trigger_error('The '.__NAMESPACE__.'\ExecutionContext class is deprecated since version 2.5 and will be removed in 3.0. Use the Symfony\Component\Validator\Context\ExecutionContext class instead.', E_USER_DEPRECATED); + use Symfony\Component\Translation\TranslatorInterface; /** @@ -21,7 +23,7 @@ * @author Fabien Potencier <fabien@symfony.com> * @author Bernhard Schussek <bschussek@gmail.com> * - * @deprecated Deprecated since version 2.5, to be removed in Symfony 3.0. + * @deprecated since version 2.5, to be removed in 3.0. * Use {@link Context\ExecutionContext} instead. */ class ExecutionContext implements ExecutionContextInterface diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/ExecutionContextInterface.php b/core/vendor/symfony/validator/ExecutionContextInterface.php similarity index 95% rename from core/vendor/symfony/validator/Symfony/Component/Validator/ExecutionContextInterface.php rename to core/vendor/symfony/validator/ExecutionContextInterface.php index ebef4bdf8424685df7883af62fd2729cd9ba6f32..3fedfe15de02f51b1c1a421c413ff775b94e4838 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/ExecutionContextInterface.php +++ b/core/vendor/symfony/validator/ExecutionContextInterface.php @@ -83,7 +83,7 @@ * * @api * - * @deprecated Deprecated since version 2.5, to be removed in Symfony 3.0. + * @deprecated since version 2.5, to be removed in 3.0. * Use {@link Context\ExecutionContextInterface} instead. */ interface ExecutionContextInterface @@ -99,9 +99,7 @@ interface ExecutionContextInterface * * @api * - * @deprecated The parameters $invalidValue, $pluralization and $code are - * deprecated since version 2.5 and will be removed in - * Symfony 3.0. + * @deprecated the parameters $invalidValue, $plural and $code are deprecated since version 2.5 and will be removed in 3.0. */ public function addViolation($message, array $params = array(), $invalidValue = null, $plural = null, $code = null); @@ -118,7 +116,7 @@ public function addViolation($message, array $params = array(), $invalidValue = * * @api * - * @deprecated Deprecated since version 2.5, to be removed in Symfony 3.0. + * @deprecated since version 2.5, to be removed in 3.0. * Use {@link Context\ExecutionContextInterface::buildViolation()} * instead. */ @@ -163,7 +161,7 @@ public function addViolationAt($subPath, $message, array $parameters = array(), * @param bool $deep Whether to traverse the value recursively if * it is a collection of collections. * - * @deprecated Deprecated since version 2.5, to be removed in Symfony 3.0. + * @deprecated since version 2.5, to be removed in 3.0. * Use {@link Context\ExecutionContextInterface::getValidator()} * instead. */ @@ -196,7 +194,7 @@ public function validate($value, $subPath = '', $groups = null, $traverse = fals * groups here, the current group of the context * will be used. * - * @deprecated Deprecated since version 2.5, to be removed in Symfony 3.0. + * @deprecated since version 2.5, to be removed in 3.0. * Use {@link Context\ExecutionContextInterface::getValidator()} * instead. */ @@ -257,7 +255,7 @@ public function getMetadata(); * * @return MetadataFactoryInterface The metadata factory. * - * @deprecated Deprecated since version 2.5, to be removed in Symfony 3.0. + * @deprecated since version 2.5, to be removed in 3.0. * Use {@link Context\ExecutionContextInterface::getValidator()} * instead and call * {@link Validator\ValidatorInterface::getMetadataFor()} or diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/GlobalExecutionContextInterface.php b/core/vendor/symfony/validator/GlobalExecutionContextInterface.php similarity index 96% rename from core/vendor/symfony/validator/Symfony/Component/Validator/GlobalExecutionContextInterface.php rename to core/vendor/symfony/validator/GlobalExecutionContextInterface.php index 06dbf3e4c5d618fd27a0157714e3d36e967127d0..5c646f294baee9332e9989cda7fe3db9d0cc2267 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/GlobalExecutionContextInterface.php +++ b/core/vendor/symfony/validator/GlobalExecutionContextInterface.php @@ -27,7 +27,7 @@ * * @author Bernhard Schussek <bschussek@gmail.com> * - * @deprecated Deprecated since version 2.5, to be removed in Symfony 3.0. + * @deprecated since version 2.5, to be removed in 3.0. * Use {@link Context\ExecutionContextInterface} instead. */ interface GlobalExecutionContextInterface diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/GroupSequenceProviderInterface.php b/core/vendor/symfony/validator/GroupSequenceProviderInterface.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/GroupSequenceProviderInterface.php rename to core/vendor/symfony/validator/GroupSequenceProviderInterface.php diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/LICENSE b/core/vendor/symfony/validator/LICENSE similarity index 100% rename from core/vendor/symfony/yaml/Symfony/Component/Yaml/LICENSE rename to core/vendor/symfony/validator/LICENSE diff --git a/core/vendor/symfony/validator/Mapping/BlackholeMetadataFactory.php b/core/vendor/symfony/validator/Mapping/BlackholeMetadataFactory.php new file mode 100644 index 0000000000000000000000000000000000000000..ad5a980e4ca310d6ee0fda9e03fa04d50cb0155e --- /dev/null +++ b/core/vendor/symfony/validator/Mapping/BlackholeMetadataFactory.php @@ -0,0 +1,28 @@ +<?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\Validator\Mapping; + +trigger_error('The '.__NAMESPACE__.'\BlackholeMetadataFactory class is deprecated since version 2.5 and will be removed in 3.0. Use the Symfony\Component\Validator\Mapping\Factory\BlackHoleMetadataFactory class instead.', E_USER_DEPRECATED); + +use Symfony\Component\Validator\Mapping\Factory\BlackHoleMetadataFactory as MappingBlackHoleMetadataFactory; + +/** + * Alias of {@link Factory\BlackHoleMetadataFactory}. + * + * @author Fabien Potencier <fabien@symfony.com> + * + * @deprecated since version 2.5, to be removed in 3.0. + * Use {@link Factory\BlackHoleMetadataFactory} instead. + */ +class BlackholeMetadataFactory extends MappingBlackHoleMetadataFactory +{ +} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Cache/ApcCache.php b/core/vendor/symfony/validator/Mapping/Cache/ApcCache.php similarity index 77% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Cache/ApcCache.php rename to core/vendor/symfony/validator/Mapping/Cache/ApcCache.php index 64929b09663abcc788bf7d73710b1424d4bb9fe8..5dbe9f406a148f4137c2637e6888a7c6208a7635 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Cache/ApcCache.php +++ b/core/vendor/symfony/validator/Mapping/Cache/ApcCache.php @@ -11,11 +11,13 @@ namespace Symfony\Component\Validator\Mapping\Cache; +trigger_error('The '.__NAMESPACE__.'\ApcCache class is deprecated since version 2.5 and will be removed in 3.0. Use DoctrineCache with the Doctrine\Common\Cache\ApcCache class instead.', E_USER_DEPRECATED); + use Symfony\Component\Validator\Mapping\ClassMetadata; /** - * @deprecated Deprecated since version 2.5, to be removed in 3.0. - * Use DoctrineCache with Doctrine\Common\Cache\ApcCache instead. + * @deprecated since version 2.5, to be removed in 3.0. + * Use DoctrineCache with \Doctrine\Common\Cache\ApcCache instead. */ class ApcCache implements CacheInterface { diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Cache/CacheInterface.php b/core/vendor/symfony/validator/Mapping/Cache/CacheInterface.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Cache/CacheInterface.php rename to core/vendor/symfony/validator/Mapping/Cache/CacheInterface.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Cache/DoctrineCache.php b/core/vendor/symfony/validator/Mapping/Cache/DoctrineCache.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Cache/DoctrineCache.php rename to core/vendor/symfony/validator/Mapping/Cache/DoctrineCache.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/CascadingStrategy.php b/core/vendor/symfony/validator/Mapping/CascadingStrategy.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/CascadingStrategy.php rename to core/vendor/symfony/validator/Mapping/CascadingStrategy.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/ClassMetadata.php b/core/vendor/symfony/validator/Mapping/ClassMetadata.php similarity index 93% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/ClassMetadata.php rename to core/vendor/symfony/validator/Mapping/ClassMetadata.php index a234939f292db568ac27f08c2c06aa43d021d329..5991f3489e513cb6541b011fe98f2e1e20141a68 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/ClassMetadata.php +++ b/core/vendor/symfony/validator/Mapping/ClassMetadata.php @@ -129,14 +129,16 @@ public function __construct($class) /** * {@inheritdoc} * - * @deprecated Deprecated since version 2.5, to be removed in Symfony 3.0. + * @deprecated since version 2.5, to be removed in 3.0. */ public function accept(ValidationVisitorInterface $visitor, $value, $group, $propertyPath, $propagatedGroup = null) { + trigger_error('The '.__METHOD__.' method is deprecated since version 2.5 and will be removed in 3.0.', E_USER_DEPRECATED); + if (null === $propagatedGroup && Constraint::DEFAULT_GROUP === $group && ($this->hasGroupSequence() || $this->isGroupSequenceProvider())) { if ($this->hasGroupSequence()) { - $groups = $this->getGroupSequence(); + $groups = $this->getGroupSequence()->groups; } else { $groups = $value->getGroupSequence(); } @@ -371,10 +373,12 @@ public function mergeConstraints(ClassMetadata $source) * * @param MemberMetadata $metadata * - * @deprecated Deprecated since version 2.6, to be removed in 3.0. + * @deprecated since version 2.6, to be removed in 3.0. */ protected function addMemberMetadata(MemberMetadata $metadata) { + trigger_error('The '.__METHOD__.' method is deprecated since version 2.6 and will be removed in 3.0. Use the addPropertyMetadata() method instead.', E_USER_DEPRECATED); + $this->addPropertyMetadata($metadata); } @@ -385,10 +389,12 @@ protected function addMemberMetadata(MemberMetadata $metadata) * * @return bool * - * @deprecated Deprecated since version 2.6, to be removed in 3.0. Use {@link hasPropertyMetadata} instead. + * @deprecated since version 2.6, to be removed in 3.0. Use {@link hasPropertyMetadata} instead. */ public function hasMemberMetadatas($property) { + trigger_error('The '.__METHOD__.' method is deprecated since version 2.6 and will be removed in 3.0. Use the hasPropertyMetadata() method instead.', E_USER_DEPRECATED); + return $this->hasPropertyMetadata($property); } @@ -399,10 +405,12 @@ public function hasMemberMetadatas($property) * * @return MemberMetadata[] An array of MemberMetadata * - * @deprecated Deprecated since version 2.6, to be removed in 3.0. Use {@link getPropertyMetadata} instead. + * @deprecated since version 2.6, to be removed in 3.0. Use {@link getPropertyMetadata} instead. */ public function getMemberMetadatas($property) { + trigger_error('The '.__METHOD__.' method is deprecated since version 2.6 and will be removed in 3.0. Use the getPropertyMetadata() method instead.', E_USER_DEPRECATED); + return $this->getPropertyMetadata($property); } @@ -471,7 +479,7 @@ public function setGroupSequence($groupSequence) */ public function hasGroupSequence() { - return count($this->groupSequence) > 0; + return $this->groupSequence && count($this->groupSequence->groups) > 0; } /** diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/ClassMetadataFactory.php b/core/vendor/symfony/validator/Mapping/ClassMetadataFactory.php similarity index 67% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/ClassMetadataFactory.php rename to core/vendor/symfony/validator/Mapping/ClassMetadataFactory.php index 9b05edde8f3cce976068133d0f2e7b8ff36ab027..92cc85b2ef67d10f13bc63e70deb32177d986cad 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/ClassMetadataFactory.php +++ b/core/vendor/symfony/validator/Mapping/ClassMetadataFactory.php @@ -11,6 +11,8 @@ namespace Symfony\Component\Validator\Mapping; +trigger_error('The '.__NAMESPACE__.'\ClassMetadataFactory class is deprecated since version 2.5 and will be removed in 3.0. Use the Symfony\Component\Validator\Mapping\Factory\LazyLoadingMetadataFactory class instead.', E_USER_DEPRECATED); + use Symfony\Component\Validator\Mapping\Factory\LazyLoadingMetadataFactory; /** @@ -18,7 +20,7 @@ * * @author Bernhard Schussek <bschussek@gmail.com> * - * @deprecated Deprecated since version 2.5, to be removed in Symfony 3.0. + * @deprecated since version 2.5, to be removed in 3.0. * Use {@link LazyLoadingMetadataFactory} instead. */ class ClassMetadataFactory extends LazyLoadingMetadataFactory diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/ClassMetadataInterface.php b/core/vendor/symfony/validator/Mapping/ClassMetadataInterface.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/ClassMetadataInterface.php rename to core/vendor/symfony/validator/Mapping/ClassMetadataInterface.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/ElementMetadata.php b/core/vendor/symfony/validator/Mapping/ElementMetadata.php similarity index 56% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/ElementMetadata.php rename to core/vendor/symfony/validator/Mapping/ElementMetadata.php index 1b971c91803c1368cfcc07e5194074b26e5a85c7..1783864e0067a80fbda93ea616826759117aa565 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/ElementMetadata.php +++ b/core/vendor/symfony/validator/Mapping/ElementMetadata.php @@ -16,9 +16,15 @@ * * @author Bernhard Schussek <bschussek@gmail.com> * - * @deprecated Deprecated since version 2.5, to be removed in Symfony 3.0. + * @deprecated since version 2.5, to be removed in 3.0. * Extend {@link GenericMetadata} instead. */ abstract class ElementMetadata extends GenericMetadata { + public function __construct() + { + if (!$this instanceof MemberMetadata && !$this instanceof ClassMetadata) { + trigger_error('The '.__CLASS__.' class is deprecated since version 2.5 and will be removed in 3.0. Use the Symfony\Component\Validator\Mapping\GenericMetadata class instead.', E_USER_DEPRECATED); + } + } } diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Factory/BlackHoleMetadataFactory.php b/core/vendor/symfony/validator/Mapping/Factory/BlackHoleMetadataFactory.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Factory/BlackHoleMetadataFactory.php rename to core/vendor/symfony/validator/Mapping/Factory/BlackHoleMetadataFactory.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Factory/LazyLoadingMetadataFactory.php b/core/vendor/symfony/validator/Mapping/Factory/LazyLoadingMetadataFactory.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Factory/LazyLoadingMetadataFactory.php rename to core/vendor/symfony/validator/Mapping/Factory/LazyLoadingMetadataFactory.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Factory/MetadataFactoryInterface.php b/core/vendor/symfony/validator/Mapping/Factory/MetadataFactoryInterface.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Factory/MetadataFactoryInterface.php rename to core/vendor/symfony/validator/Mapping/Factory/MetadataFactoryInterface.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/GenericMetadata.php b/core/vendor/symfony/validator/Mapping/GenericMetadata.php similarity index 98% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/GenericMetadata.php rename to core/vendor/symfony/validator/Mapping/GenericMetadata.php index 904dcd768862f18d8f5e4a224301c10409168056..cc0e54d3619e8427ec5eb0954a06abf782ec1169 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/GenericMetadata.php +++ b/core/vendor/symfony/validator/Mapping/GenericMetadata.php @@ -231,10 +231,11 @@ public function getTraversalStrategy() * * Should not be used. * + * Implemented for backward compatibility with Symfony < 2.5. + * * @throws BadMethodCallException * - * @deprecated Implemented for backwards compatibility with Symfony < 2.5. - * Will be removed in Symfony 3.0. + * @deprecated since version 2.5, to be removed in 3.0. */ public function accept(ValidationVisitorInterface $visitor, $value, $group, $propertyPath) { diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/GetterMetadata.php b/core/vendor/symfony/validator/Mapping/GetterMetadata.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/GetterMetadata.php rename to core/vendor/symfony/validator/Mapping/GetterMetadata.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Loader/AbstractLoader.php b/core/vendor/symfony/validator/Mapping/Loader/AbstractLoader.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Loader/AbstractLoader.php rename to core/vendor/symfony/validator/Mapping/Loader/AbstractLoader.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Loader/AnnotationLoader.php b/core/vendor/symfony/validator/Mapping/Loader/AnnotationLoader.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Loader/AnnotationLoader.php rename to core/vendor/symfony/validator/Mapping/Loader/AnnotationLoader.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Loader/FileLoader.php b/core/vendor/symfony/validator/Mapping/Loader/FileLoader.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Loader/FileLoader.php rename to core/vendor/symfony/validator/Mapping/Loader/FileLoader.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Loader/FilesLoader.php b/core/vendor/symfony/validator/Mapping/Loader/FilesLoader.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Loader/FilesLoader.php rename to core/vendor/symfony/validator/Mapping/Loader/FilesLoader.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Loader/LoaderChain.php b/core/vendor/symfony/validator/Mapping/Loader/LoaderChain.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Loader/LoaderChain.php rename to core/vendor/symfony/validator/Mapping/Loader/LoaderChain.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Loader/LoaderInterface.php b/core/vendor/symfony/validator/Mapping/Loader/LoaderInterface.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Loader/LoaderInterface.php rename to core/vendor/symfony/validator/Mapping/Loader/LoaderInterface.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Loader/StaticMethodLoader.php b/core/vendor/symfony/validator/Mapping/Loader/StaticMethodLoader.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Loader/StaticMethodLoader.php rename to core/vendor/symfony/validator/Mapping/Loader/StaticMethodLoader.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Loader/XmlFileLoader.php b/core/vendor/symfony/validator/Mapping/Loader/XmlFileLoader.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Loader/XmlFileLoader.php rename to core/vendor/symfony/validator/Mapping/Loader/XmlFileLoader.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Loader/XmlFilesLoader.php b/core/vendor/symfony/validator/Mapping/Loader/XmlFilesLoader.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Loader/XmlFilesLoader.php rename to core/vendor/symfony/validator/Mapping/Loader/XmlFilesLoader.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Loader/YamlFileLoader.php b/core/vendor/symfony/validator/Mapping/Loader/YamlFileLoader.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Loader/YamlFileLoader.php rename to core/vendor/symfony/validator/Mapping/Loader/YamlFileLoader.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Loader/YamlFilesLoader.php b/core/vendor/symfony/validator/Mapping/Loader/YamlFilesLoader.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Loader/YamlFilesLoader.php rename to core/vendor/symfony/validator/Mapping/Loader/YamlFilesLoader.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Loader/schema/dic/constraint-mapping/constraint-mapping-1.0.xsd b/core/vendor/symfony/validator/Mapping/Loader/schema/dic/constraint-mapping/constraint-mapping-1.0.xsd similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/Loader/schema/dic/constraint-mapping/constraint-mapping-1.0.xsd rename to core/vendor/symfony/validator/Mapping/Loader/schema/dic/constraint-mapping/constraint-mapping-1.0.xsd diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/MemberMetadata.php b/core/vendor/symfony/validator/Mapping/MemberMetadata.php similarity index 88% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/MemberMetadata.php rename to core/vendor/symfony/validator/Mapping/MemberMetadata.php index a0bbe0dbf02751014d7a27ca42df535d4d5932a1..394fa2059fd8c79f56247e321ff85a86e870b5aa 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/MemberMetadata.php +++ b/core/vendor/symfony/validator/Mapping/MemberMetadata.php @@ -78,10 +78,12 @@ public function __construct($class, $name, $property) /** * {@inheritdoc} * - * @deprecated Deprecated since version 2.5, to be removed in Symfony 3.0. + * @deprecated since version 2.5, to be removed in 3.0. */ public function accept(ValidationVisitorInterface $visitor, $value, $group, $propertyPath, $propagatedGroup = null) { + trigger_error('The '.__METHOD__.' method is deprecated since version 2.5 and will be removed in 3.0.', E_USER_DEPRECATED); + $visitor->visit($this, $value, $group, $propertyPath); if ($this->isCascaded()) { @@ -185,11 +187,13 @@ public function isPrivate($objectOrClassName) * * @return bool * - * @deprecated Deprecated since version 2.5, to be removed in Symfony 3.0. + * @deprecated since version 2.5, to be removed in 3.0. * Use {@link getCascadingStrategy()} instead. */ public function isCascaded() { + trigger_error('The '.__METHOD__.' method is deprecated since version 2.5 and will be removed in 3.0. Use the getCascadingStrategy() method instead.', E_USER_DEPRECATED); + return (bool) ($this->cascadingStrategy & CascadingStrategy::CASCADE); } @@ -199,11 +203,13 @@ public function isCascaded() * * @return bool * - * @deprecated Deprecated since version 2.5, to be removed in Symfony 3.0. + * @deprecated since version 2.5, to be removed in 3.0. * Use {@link getTraversalStrategy()} instead. */ public function isCollectionCascaded() { + trigger_error('The '.__METHOD__.' method is deprecated since version 2.5 and will be removed in 3.0. Use the getTraversalStrategy() method instead.', E_USER_DEPRECATED); + return (bool) ($this->traversalStrategy & (TraversalStrategy::IMPLICIT | TraversalStrategy::TRAVERSE)); } @@ -213,11 +219,13 @@ public function isCollectionCascaded() * * @return bool * - * @deprecated Deprecated since version 2.5, to be removed in Symfony 3.0. + * @deprecated since version 2.5, to be removed in 3.0. * Use {@link getTraversalStrategy()} instead. */ public function isCollectionCascadedDeeply() { + trigger_error('The '.__METHOD__.' method is deprecated since version 2.5 and will be removed in 3.0. Use the getTraversalStrategy() method instead.', E_USER_DEPRECATED); + return !($this->traversalStrategy & TraversalStrategy::STOP_RECURSION); } diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/MetadataInterface.php b/core/vendor/symfony/validator/Mapping/MetadataInterface.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/MetadataInterface.php rename to core/vendor/symfony/validator/Mapping/MetadataInterface.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/PropertyMetadata.php b/core/vendor/symfony/validator/Mapping/PropertyMetadata.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/PropertyMetadata.php rename to core/vendor/symfony/validator/Mapping/PropertyMetadata.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/PropertyMetadataInterface.php b/core/vendor/symfony/validator/Mapping/PropertyMetadataInterface.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/PropertyMetadataInterface.php rename to core/vendor/symfony/validator/Mapping/PropertyMetadataInterface.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/TraversalStrategy.php b/core/vendor/symfony/validator/Mapping/TraversalStrategy.php similarity index 92% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/TraversalStrategy.php rename to core/vendor/symfony/validator/Mapping/TraversalStrategy.php index 5122c475d0175785dfd3ff503f04b3a0dd16b918..450a3ecc0a0a882f64061a9930c6908507e06efe 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/TraversalStrategy.php +++ b/core/vendor/symfony/validator/Mapping/TraversalStrategy.php @@ -51,8 +51,8 @@ class TraversalStrategy * Specifies that nested instances of {@link \Traversable} should never be * iterated. Can be combined with {@link IMPLICIT} or {@link TRAVERSE}. * - * @deprecated This constant was added for backwards compatibility only. - * It will be removed in Symfony 3.0. + * @deprecated since version 2.5, to be removed in 3.0. This constant was added for backwards compatibility only. + * * @internal */ const STOP_RECURSION = 8; diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/MetadataFactoryInterface.php b/core/vendor/symfony/validator/MetadataFactoryInterface.php similarity index 93% rename from core/vendor/symfony/validator/Symfony/Component/Validator/MetadataFactoryInterface.php rename to core/vendor/symfony/validator/MetadataFactoryInterface.php index 4c0cbad78b1ff605163850b1c962769eefacf11e..555bea9aa21e5f8ebd1b756f4e8b5bf0a9a11719 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/MetadataFactoryInterface.php +++ b/core/vendor/symfony/validator/MetadataFactoryInterface.php @@ -16,7 +16,7 @@ * * @author Bernhard Schussek <bschussek@gmail.com> * - * @deprecated Deprecated since version 2.5, to be removed in Symfony 3.0. + * @deprecated since version 2.5, to be removed in 3.0. * Use {@link Mapping\Factory\MetadataFactoryInterface} instead. */ interface MetadataFactoryInterface diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/MetadataInterface.php b/core/vendor/symfony/validator/MetadataInterface.php similarity index 95% rename from core/vendor/symfony/validator/Symfony/Component/Validator/MetadataInterface.php rename to core/vendor/symfony/validator/MetadataInterface.php index 60abfeb42a9f00383bf0c3eaccd0b61961852515..2c8944903c6bf036fd56eaa6a3e2c6a575dcae46 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/MetadataInterface.php +++ b/core/vendor/symfony/validator/MetadataInterface.php @@ -42,7 +42,7 @@ * * @author Bernhard Schussek <bschussek@gmail.com> * - * @deprecated Deprecated since version 2.5, to be removed in Symfony 3.0. + * @deprecated since version 2.5, to be removed in 3.0. * Use {@link Mapping\MetadataInterface} instead. */ interface MetadataInterface @@ -58,7 +58,7 @@ interface MetadataInterface * @param string|string[] $group The validation group to validate in * @param string $propertyPath The current property path in the validation graph * - * @deprecated Deprecated since version 2.5, to be removed in Symfony 3.0. + * @deprecated since version 2.5, to be removed in 3.0. */ public function accept(ValidationVisitorInterface $visitor, $value, $group, $propertyPath); diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/ObjectInitializerInterface.php b/core/vendor/symfony/validator/ObjectInitializerInterface.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/ObjectInitializerInterface.php rename to core/vendor/symfony/validator/ObjectInitializerInterface.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/PropertyMetadataContainerInterface.php b/core/vendor/symfony/validator/PropertyMetadataContainerInterface.php similarity index 94% rename from core/vendor/symfony/validator/Symfony/Component/Validator/PropertyMetadataContainerInterface.php rename to core/vendor/symfony/validator/PropertyMetadataContainerInterface.php index 91b286ab26e4be0a2d2265f37c92a534371c7815..5441be1c3d0631308f400713bda3e986922632e4 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/PropertyMetadataContainerInterface.php +++ b/core/vendor/symfony/validator/PropertyMetadataContainerInterface.php @@ -16,7 +16,7 @@ * * @author Bernhard Schussek <bschussek@gmail.com> * - * @deprecated Deprecated since version 2.5, to be removed in Symfony 3.0. + * @deprecated since version 2.5, to be removed in 3.0. * Use {@link Mapping\ClassMetadataInterface} instead. */ interface PropertyMetadataContainerInterface diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/PropertyMetadataInterface.php b/core/vendor/symfony/validator/PropertyMetadataInterface.php similarity index 94% rename from core/vendor/symfony/validator/Symfony/Component/Validator/PropertyMetadataInterface.php rename to core/vendor/symfony/validator/PropertyMetadataInterface.php index c18ae83a05e8168c41977346b0ebadc2225b9f66..20af8a993bcda206b7104c5eca7180a31b7df442 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/PropertyMetadataInterface.php +++ b/core/vendor/symfony/validator/PropertyMetadataInterface.php @@ -24,7 +24,7 @@ * * @see MetadataInterface * - * @deprecated Deprecated since version 2.5, to be removed in Symfony 3.0. + * @deprecated since version 2.5, to be removed in 3.0. * Use {@link Mapping\PropertyMetadataInterface} instead. */ interface PropertyMetadataInterface extends MetadataInterface diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/README.md b/core/vendor/symfony/validator/README.md similarity index 96% rename from core/vendor/symfony/validator/Symfony/Component/Validator/README.md rename to core/vendor/symfony/validator/README.md index 8c3dc4890b23f45529dc61bdefffb716e55316d2..9014ec67240eecc46fab6e380db4cda9f6c78880 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/README.md +++ b/core/vendor/symfony/validator/README.md @@ -81,7 +81,7 @@ class User } /** - * @Assert\True(message = "The user should have a Google Mail account") + * @Assert\IsTrue(message = "The user should have a Google Mail account") */ public function isGmailUser() { @@ -113,7 +113,7 @@ https://github.com/fabpot/Silex/blob/master/src/Silex/Provider/ValidatorServiceP Documentation: -https://symfony.com/doc/2.6/book/validation.html +https://symfony.com/doc/2.7/book/validation.html JSR-303 Specification: diff --git a/core/vendor/symfony/validator/Resources/translations/validators.af.xlf b/core/vendor/symfony/validator/Resources/translations/validators.af.xlf new file mode 100644 index 0000000000000000000000000000000000000000..177bb0038f5236ed6fa4756f10e46fd6624184d3 --- /dev/null +++ b/core/vendor/symfony/validator/Resources/translations/validators.af.xlf @@ -0,0 +1,227 @@ +<?xml version="1.0"?> +<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2"> + <file source-language="en" datatype="plaintext" original="file.ext"> + <body> + <trans-unit id="1"> + <source>This value should be false.</source> + <target>Hierdie waarde moet vals wees.</target> + </trans-unit> + <trans-unit id="2"> + <source>This value should be true.</source> + <target>Hierdie waarde moet waar wees.</target> + </trans-unit> + <trans-unit id="3"> + <source>This value should be of type {{ type }}.</source> + <target>Hierdie waarde moet van die soort {{type}} wees.</target> + </trans-unit> + <trans-unit id="4"> + <source>This value should be blank.</source> + <target>Hierdie waarde moet leeg wees.</target> + </trans-unit> + <trans-unit id="5"> + <source>The value you selected is not a valid choice.</source> + <target>Die waarde wat jy gekies het is nie 'n geldige keuse nie.</target> + </trans-unit> + <trans-unit id="6"> + <source>You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices.</source> + <target>Jy moet ten minste {{ limit }} kies.|Jy moet ten minste {{ limit }} keuses kies.</target> + </trans-unit> + <trans-unit id="7"> + <source>You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices.</source> + <target>Jy moet by die meeste {{ limit }} keuse kies.|Jy moet by die meeste {{ limit }} keuses kies.</target> + </trans-unit> + <trans-unit id="8"> + <source>One or more of the given values is invalid.</source> + <target>Een of meer van die gegewe waardes is ongeldig.</target> + </trans-unit> + <trans-unit id="9"> + <source>This field was not expected.</source> + <target>Die veld is nie verwag nie.</target> + </trans-unit> + <trans-unit id="10"> + <source>This field is missing.</source> + <target>Hierdie veld ontbreek.</target> + </trans-unit> + <trans-unit id="11"> + <source>This value is not a valid date.</source> + <target>Hierdie waarde is nie 'n geldige datum nie.</target> + </trans-unit> + <trans-unit id="12"> + <source>This value is not a valid datetime.</source> + <target>Hierdie waarde is nie 'n geldige datum en tyd nie.</target> + </trans-unit> + <trans-unit id="13"> + <source>This value is not a valid email address.</source> + <target>Hierdie waarde is nie 'n geldige e-pos adres nie.</target> + </trans-unit> + <trans-unit id="14"> + <source>The file could not be found.</source> + <target>Die lêer kon nie gevind word nie.</target> + </trans-unit> + <trans-unit id="15"> + <source>The file is not readable.</source> + <target>Die lêer kan nie gelees word nie.</target> + </trans-unit> + <trans-unit id="16"> + <source>The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>Die lêer is te groot ({{ size }} {{ suffix }}). Toegelaat maksimum grootte is {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="17"> + <source>The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}.</source> + <target>Die MIME-tipe van die lêer is ongeldig ({{ type }}). Toegelaat MIME-tipes is {{ types }}.</target> + </trans-unit> + <trans-unit id="18"> + <source>This value should be {{ limit }} or less.</source> + <target>Hierdie waarde moet {{ limit }} of minder wees.</target> + </trans-unit> + <trans-unit id="19"> + <source>This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less.</source> + <target>Hierdie waarde is te lank. Dit moet {{ limit }} karakter of minder wees.|Hierdie waarde is te lank. Dit moet {{ limit }} karakters of minder wees.</target> + </trans-unit> + <trans-unit id="20"> + <source>This value should be {{ limit }} or more.</source> + <target>Hierdie waarde moet {{ limit }} of meer wees.</target> + </trans-unit> + <trans-unit id="21"> + <source>This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more.</source> + <target>Hierdie waarde is te kort. Dit moet {{ limit }} karakter of meer wees.|Hierdie waarde is te kort. Dit moet {{ limit }} karakters of meer wees.</target> + </trans-unit> + <trans-unit id="22"> + <source>This value should not be blank.</source> + <target>Hierdie waarde moet nie leeg wees nie.</target> + </trans-unit> + <trans-unit id="23"> + <source>This value should not be null.</source> + <target>Hierdie waarde moet nie nul wees nie.</target> + </trans-unit> + <trans-unit id="24"> + <source>This value should be null.</source> + <target>Hierdie waarde moet nul wees.</target> + </trans-unit> + <trans-unit id="25"> + <source>This value is not valid.</source> + <target>Hierdie waarde is nie geldig nie.</target> + </trans-unit> + <trans-unit id="26"> + <source>This value is not a valid time.</source> + <target>Hierdie waarde is nie 'n geldige tyd nie.</target> + </trans-unit> + <trans-unit id="27"> + <source>This value is not a valid URL.</source> + <target>Hierdie waarde is nie 'n geldige URL nie.</target> + </trans-unit> + <trans-unit id="31"> + <source>The two values should be equal.</source> + <target>Die twee waardes moet gelyk wees.</target> + </trans-unit> + <trans-unit id="32"> + <source>The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>Die lêer is te groot. Toegelaat maksimum grootte is {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="33"> + <source>The file is too large.</source> + <target>Die lêer is te groot.</target> + </trans-unit> + <trans-unit id="34"> + <source>The file could not be uploaded.</source> + <target>Die lêer kan nie opgelaai word nie.</target> + </trans-unit> + <trans-unit id="35"> + <source>This value should be a valid number.</source> + <target>Hierdie waarde moet 'n geldige nommer wees.</target> + </trans-unit> + <trans-unit id="36"> + <source>This file is not a valid image.</source> + <target>Hierdie lêer is nie 'n geldige beeld nie.</target> + </trans-unit> + <trans-unit id="37"> + <source>This is not a valid IP address.</source> + <target>Hierdie is nie 'n geldige IP-adres nie.</target> + </trans-unit> + <trans-unit id="38"> + <source>This value is not a valid language.</source> + <target>Hierdie waarde is nie 'n geldige taal nie.</target> + </trans-unit> + <trans-unit id="39"> + <source>This value is not a valid locale.</source> + <target>Hierdie waarde is nie 'n geldige land instelling nie.</target> + </trans-unit> + <trans-unit id="40"> + <source>This value is not a valid country.</source> + <target>Hierdie waarde is nie 'n geldige land nie.</target> + </trans-unit> + <trans-unit id="41"> + <source>This value is already used.</source> + <target>Hierdie waarde word reeds gebruik.</target> + </trans-unit> + <trans-unit id="42"> + <source>The size of the image could not be detected.</source> + <target>Die grootte van die beeld kon nie opgespoor word nie.</target> + </trans-unit> + <trans-unit id="43"> + <source>The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px.</source> + <target>Die beeld breedte is te groot ({{ width }}px). Toegelaat maksimum breedte is {{ max_width }}px.</target> + </trans-unit> + <trans-unit id="44"> + <source>The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px.</source> + <target>Die beeld breedte is te klein ({{ width }}px). Minimum breedte verwag is {{ min_width }}px.</target> + </trans-unit> + <trans-unit id="45"> + <source>The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px.</source> + <target>Die beeld hoogte is te groot ({{ height }}px). Toegelaat maksimum hoogte is {{ max_height }}px.</target> + </trans-unit> + <trans-unit id="46"> + <source>The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px.</source> + <target>Die beeld hoogte is te klein ({{ height }}px). Minimum hoogte verwag is {{ min_height }}px.</target> + </trans-unit> + <trans-unit id="47"> + <source>This value should be the user's current password.</source> + <target>Hierdie waarde moet die huidige wagwoord van die gebruiker wees.</target> + </trans-unit> + <trans-unit id="48"> + <source>This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters.</source> + <target>Hierdie waarde moet presies {{ limit }} karakter wees.|Hierdie waarde moet presies {{ limit }} karakters wees.</target> + </trans-unit> + <trans-unit id="49"> + <source>The file was only partially uploaded.</source> + <target>Die lêer is slegs gedeeltelik opgelaai.</target> + </trans-unit> + <trans-unit id="50"> + <source>No file was uploaded.</source> + <target>Geen lêer is opgelaai nie.</target> + </trans-unit> + <trans-unit id="51"> + <source>No temporary folder was configured in php.ini.</source> + <target>Geen tydelike lêer is ingestel in php.ini nie.</target> + </trans-unit> + <trans-unit id="52"> + <source>Cannot write temporary file to disk.</source> + <target>Kan nie tydelike lêer skryf op skyf nie.</target> + </trans-unit> + <trans-unit id="53"> + <source>A PHP extension caused the upload to fail.</source> + <target>'n PHP-uitbreiding veroorsaak die oplaai van die lêer om te misluk.</target> + </trans-unit> + <trans-unit id="54"> + <source>This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more.</source> + <target>Hierdie versameling moet {{ limit }} element of meer bevat.|Hierdie versameling moet {{ limit }} elemente of meer bevat.</target> + </trans-unit> + <trans-unit id="55"> + <source>This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less.</source> + <target>Hierdie versameling moet {{ limit }} element of minder bevat.|Hierdie versameling moet {{ limit }} elemente of meer bevat.</target> + </trans-unit> + <trans-unit id="56"> + <source>This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements.</source> + <target>Hierdie versameling moet presies {{ limit }} element bevat.|Hierdie versameling moet presies {{ limit }} elemente bevat.</target> + </trans-unit> + <trans-unit id="57"> + <source>Invalid card number.</source> + <target>Ongeldige kredietkaart nommer.</target> + </trans-unit> + <trans-unit id="58"> + <source>Unsupported card type or invalid card number.</source> + <target>Nie-ondersteunde tipe kaart of ongeldige kredietkaart nommer.</target> + </trans-unit> + </body> + </file> +</xliff> diff --git a/core/vendor/symfony/validator/Resources/translations/validators.ar.xlf b/core/vendor/symfony/validator/Resources/translations/validators.ar.xlf new file mode 100644 index 0000000000000000000000000000000000000000..4950e0ccd1183b3b715a167812dee1d86fcb1f03 --- /dev/null +++ b/core/vendor/symfony/validator/Resources/translations/validators.ar.xlf @@ -0,0 +1,315 @@ +<?xml version="1.0"?> +<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2"> + <file source-language="en" datatype="plaintext" original="file.ext"> + <body> + <trans-unit id="1"> + <source>This value should be false.</source> + <target>هذه القيمة يجب أن تكون خاطئة.</target> + </trans-unit> + <trans-unit id="2"> + <source>This value should be true.</source> + <target>هذه القيمة يجب أن تكون Øقيقية.</target> + </trans-unit> + <trans-unit id="3"> + <source>This value should be of type {{ type }}.</source> + <target>هذه القيمة يجب ان تكون من نوع {{ type }}.</target> + </trans-unit> + <trans-unit id="4"> + <source>This value should be blank.</source> + <target>هذه القيمة يجب ان تكون Ùارغة.</target> + </trans-unit> + <trans-unit id="5"> + <source>The value you selected is not a valid choice.</source> + <target>القيمة المختارة ليست خيارا صØÙŠØا.</target> + </trans-unit> + <trans-unit id="6"> + <source>You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices.</source> + <target>يجب ان تختار {{ limit }} اختيار على الاقل.|يجب ان تختار {{ limit }} اختيار على الاقل.|يجب ان تختار {{ limit }} اختيارات على الاقل.|يجب ان تختار {{ limit }} اختيار على الاقل.|يجب ان تختار {{ limit }} اختيار على الاقل.|يجب ان تختار {{ limit }} اختيار على الاقل.</target> + </trans-unit> + <trans-unit id="7"> + <source>You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices.</source> + <target>يجب ان تختار {{ limit }} اختيار على الاكثر.|يجب ان تختار {{ limit }} اختيار على الاكثر.|يجب ان تختار {{ limit }} اختيارات على الاكثر.|يجب ان تختار {{ limit }} اختيار على الاكثر.|يجب ان تختار {{ limit }} اختيار على الاكثر.|يجب ان تختار {{ limit }} اختيار على الاكثر.</target> + </trans-unit> + <trans-unit id="8"> + <source>One or more of the given values is invalid.</source> + <target>واØد أو أكثر من القيم المعطاه خاطئ.</target> + </trans-unit> + <trans-unit id="9"> + <source>This field was not expected.</source> + <target>لم يكن من المتوقع هذا المجال.</target> + </trans-unit> + <trans-unit id="10"> + <source>This field is missing.</source> + <target>هذا المجال Ù…Ùقود.</target> + </trans-unit> + <trans-unit id="11"> + <source>This value is not a valid date.</source> + <target>هذه القيمة ليست تاريخا صالØا.</target> + </trans-unit> + <trans-unit id="12"> + <source>This value is not a valid datetime.</source> + <target>هذه القيمة ليست تاريخا Ùˆ وقتا صالØا.</target> + </trans-unit> + <trans-unit id="13"> + <source>This value is not a valid email address.</source> + <target>هذه القيمة ليست عنوان بريد إلكتروني صØÙŠØ.</target> + </trans-unit> + <trans-unit id="14"> + <source>The file could not be found.</source> + <target>لا يمكن العثور على الملÙ.</target> + </trans-unit> + <trans-unit id="15"> + <source>The file is not readable.</source> + <target>المل٠غير قابل للقراءة.</target> + </trans-unit> + <trans-unit id="16"> + <source>The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>المل٠كبير جدا ({{ size }} {{ suffix }}).اقصى مساØÙ‡ Ù…Ø³Ù…ÙˆØ Ø¨Ù‡Ø§ ({{ limit }} {{ suffix }}).</target> + </trans-unit> + <trans-unit id="17"> + <source>The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}.</source> + <target>نوع المل٠غير صØÙŠØ ({{ type }}). الانواع Ø§Ù„Ù…Ø³Ù…ÙˆØ Ø¨Ù‡Ø§ هى {{ types }}.</target> + </trans-unit> + <trans-unit id="18"> + <source>This value should be {{ limit }} or less.</source> + <target>هذه القيمة يجب ان تكون {{ limit }} او اقل.</target> + </trans-unit> + <trans-unit id="19"> + <source>This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less.</source> + <target>هذه القيمة طويلة جدا. يجب ان تكون {{ limit }} Øر٠او اقل.|هذه القيمة طويلة جدا. يجب ان تكون {{ limit }} Øر٠او اقل.|هذه القيمة طويلة جدا. يجب ان تكون {{ limit }} Øرو٠او اقل.|هذه القيمة طويلة جدا. يجب ان تكون {{ limit }} Øر٠او اقل.|هذه القيمة طويلة جدا. يجب ان تكون {{ limit }} Øر٠او اقل.|هذه القيمة طويلة جدا. يجب ان تكون {{ limit }} Øر٠او اقل.</target> + </trans-unit> + <trans-unit id="20"> + <source>This value should be {{ limit }} or more.</source> + <target>هذه القيمة يجب ان تكون {{ limit }} او اكثر.</target> + </trans-unit> + <trans-unit id="21"> + <source>This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more.</source> + <target>هذه القيمة قصيرة جدا. يجب ان تكون {{ limit }} Øر٠او اكثر.|هذه القيمة قصيرة جدا. يجب ان تكون {{ limit }} Øر٠او اكثر.|هذه القيمة قصيرة جدا. يجب ان تكون {{ limit }} Øرو٠او اكثر.|هذه القيمة قصيرة جدا. يجب ان تكون {{ limit }} Øر٠او اكثر.|هذه القيمة قصيرة جدا. يجب ان تكون {{ limit }} Øر٠او اكثر.|هذه القيمة قصيرة جدا. يجب ان تكون {{ limit }} Øر٠او اكثر.</target> + </trans-unit> + <trans-unit id="22"> + <source>This value should not be blank.</source> + <target>هذه القيمة يجب الا تكون Ùارغة.</target> + </trans-unit> + <trans-unit id="23"> + <source>This value should not be null.</source> + <target>هذه القيمة يجب الا تكون Ùارغة.</target> + </trans-unit> + <trans-unit id="24"> + <source>This value should be null.</source> + <target>هذه القيمة يجب ان تكون Ùارغة.</target> + </trans-unit> + <trans-unit id="25"> + <source>This value is not valid.</source> + <target>هذه القيمة غير صØÙŠØØ©.</target> + </trans-unit> + <trans-unit id="26"> + <source>This value is not a valid time.</source> + <target>هذه القيمة ليست وقت صØÙŠØ.</target> + </trans-unit> + <trans-unit id="27"> + <source>This value is not a valid URL.</source> + <target>هذه القيمة ليست رابط الكترونى صØÙŠØ.</target> + </trans-unit> + <trans-unit id="31"> + <source>The two values should be equal.</source> + <target>القيمتان يجب ان تكونا متساويتان.</target> + </trans-unit> + <trans-unit id="32"> + <source>The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>المل٠كبير جدا. اقصى مساØÙ‡ Ù…Ø³Ù…ÙˆØ Ø¨Ù‡Ø§ {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="33"> + <source>The file is too large.</source> + <target>المل٠كبير جدا.</target> + </trans-unit> + <trans-unit id="34"> + <source>The file could not be uploaded.</source> + <target>لم استطع استقبال الملÙ.</target> + </trans-unit> + <trans-unit id="35"> + <source>This value should be a valid number.</source> + <target>هذه القيمة يجب ان تكون رقم.</target> + </trans-unit> + <trans-unit id="36"> + <source>This file is not a valid image.</source> + <target>هذا المل٠ليس صورة صØÙŠØØ©.</target> + </trans-unit> + <trans-unit id="37"> + <source>This is not a valid IP address.</source> + <target>هذه القيمة ليست عنوان رقمى صØÙŠØ.</target> + </trans-unit> + <trans-unit id="38"> + <source>This value is not a valid language.</source> + <target>هذه القيمة ليست لغة صØÙŠØØ©.</target> + </trans-unit> + <trans-unit id="39"> + <source>This value is not a valid locale.</source> + <target>هذه القيمة ليست موقع صØÙŠØ.</target> + </trans-unit> + <trans-unit id="40"> + <source>This value is not a valid country.</source> + <target>هذه القيمة ليست بلدا صالØا.</target> + </trans-unit> + <trans-unit id="41"> + <source>This value is already used.</source> + <target>هذه القيمة مستخدمة بالÙعل.</target> + </trans-unit> + <trans-unit id="42"> + <source>The size of the image could not be detected.</source> + <target>لم استطع معرÙØ© Øجم الصورة.</target> + </trans-unit> + <trans-unit id="43"> + <source>The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px.</source> + <target>عرض الصورة كبير جدا ({{ width }}px). اقصى عرض Ù…Ø³Ù…ÙˆØ Ø¨Ù‡ هو{{ max_width }}px.</target> + </trans-unit> + <trans-unit id="44"> + <source>The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px.</source> + <target>عرض الصورة صغير جدا ({{ width }}px). اقل عرض Ù…Ø³Ù…ÙˆØ Ø¨Ù‡ هو{{ min_width }}px.</target> + </trans-unit> + <trans-unit id="45"> + <source>The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px.</source> + <target>طول الصورة كبير جدا ({{ height }}px). اقصى طول Ù…Ø³Ù…ÙˆØ Ø¨Ù‡ هو{{ max_height }}px.</target> + </trans-unit> + <trans-unit id="46"> + <source>The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px.</source> + <target>طول الصورة صغير جدا ({{ height }}px). اقل طول Ù…Ø³Ù…ÙˆØ Ø¨Ù‡ هو{{ min_height }}px.</target> + </trans-unit> + <trans-unit id="47"> + <source>This value should be the user's current password.</source> + <target>هذه القيمة يجب ان تكون كلمة سر المستخدم الØالية.</target> + </trans-unit> + <trans-unit id="48"> + <source>This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters.</source> + <target>هذه القيمة يجب ان تØتوى على {{ limit }} Øر٠Ùقط.|هذه القيمة يجب ان تØتوى على {{ limit }} Øر٠Ùقط.|هذه القيمة يجب ان تØتوى على {{ limit }} Øرو٠Ùقط.|هذه القيمة يجب ان تØتوى على {{ limit }} Øر٠Ùقط.|هذه القيمة يجب ان تØتوى على {{ limit }} Øر٠Ùقط.|هذه القيمة يجب ان تØتوى على {{ limit }} Øر٠Ùقط.</target> + </trans-unit> + <trans-unit id="49"> + <source>The file was only partially uploaded.</source> + <target>تم استقبال جزء من المل٠Ùقط.</target> + </trans-unit> + <trans-unit id="50"> + <source>No file was uploaded.</source> + <target>لم يتم ارسال اى ملÙ.</target> + </trans-unit> + <trans-unit id="51"> + <source>No temporary folder was configured in php.ini.</source> + <target>لم يتم تهيئة ØاÙظة مؤقتة ÙÙ‰ مل٠php.ini.</target> + </trans-unit> + <trans-unit id="52"> + <source>Cannot write temporary file to disk.</source> + <target>لم استطع كتابة المل٠المؤقت.</target> + </trans-unit> + <trans-unit id="53"> + <source>A PHP extension caused the upload to fail.</source> + <target>اØد اضاÙات PHP تسببت ÙÙ‰ Ùشل استقبال الملÙ.</target> + </trans-unit> + <trans-unit id="54"> + <source>This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more.</source> + <target>هذه المجموعة يجب ان تØتوى على {{ limit }} عنصر او اكثر.|هذه المجموعة يجب ان تØتوى على {{ limit }} عنصر او اكثر.|هذه المجموعة يجب ان تØتوى على {{ limit }} عناصر او اكثر.|هذه المجموعة يجب ان تØتوى على {{ limit }} عنصر او اكثر.|هذه المجموعة يجب ان تØتوى على {{ limit }} عنصر او اكثر.|هذه المجموعة يجب ان تØتوى على {{ limit }} عنصر او اكثر.</target> + </trans-unit> + <trans-unit id="55"> + <source>This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less.</source> + <target>هذه المجموعة يجب ان تØتوى على {{ limit }} عنصر او اقل.|هذه المجموعة يجب ان تØتوى على {{ limit }} عنصر او اقل.|هذه المجموعة يجب ان تØتوى على {{ limit }} عناصر او اقل.|هذه المجموعة يجب ان تØتوى على {{ limit }} عنصر او اقل.|هذه المجموعة يجب ان تØتوى على {{ limit }} عنصر او اقل.|هذه المجموعة يجب ان تØتوى على {{ limit }} عنصر او اقل.</target> + </trans-unit> + <trans-unit id="56"> + <source>This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements.</source> + <target>هذه المجموعة يجب ان تØتوى على {{ limit }} عنصر Ùقط.|هذه المجموعة يجب ان تØتوى على {{ limit }} عنصر Ùقط.|هذه المجموعة يجب ان تØتوى على {{ limit }} عناصر Ùقط.|هذه المجموعة يجب ان تØتوى على {{ limit }} عنصر Ùقط.|هذه المجموعة يجب ان تØتوى على {{ limit }} عنصر Ùقط.|هذه المجموعة يجب ان تØتوى على {{ limit }} عنصر Ùقط.</target> + </trans-unit> + <trans-unit id="57"> + <source>Invalid card number.</source> + <target>رقم البطاقه غير صØÙŠØ.</target> + </trans-unit> + <trans-unit id="58"> + <source>Unsupported card type or invalid card number.</source> + <target>نوع البطاقه غير مدعوم او الرقم غير صØÙŠØ.</target> + </trans-unit> + <trans-unit id="59"> + <source>This is not a valid International Bank Account Number (IBAN).</source> + <target>الرقم IBAN (رقم الØساب المصرÙÙŠ الدولي) الذي تم إدخاله غير صالØ.</target> + </trans-unit> + <trans-unit id="60"> + <source>This value is not a valid ISBN-10.</source> + <target>هذه القيمة ليست ISBN-10 صالØØ©.</target> + </trans-unit> + <trans-unit id="61"> + <source>This value is not a valid ISBN-13.</source> + <target>هذه القيمة ليست ISBN-13 صالØØ©.</target> + </trans-unit> + <trans-unit id="62"> + <source>This value is neither a valid ISBN-10 nor a valid ISBN-13.</source> + <target>هذه القيمة ليست ISBN-10 صالØØ© ولا ISBN-13 صالØØ©.</target> + </trans-unit> + <trans-unit id="63"> + <source>This value is not a valid ISSN.</source> + <target>هذه القيمة ليست ISSN صالØØ©.</target> + </trans-unit> + <trans-unit id="64"> + <source>This value is not a valid currency.</source> + <target>العÙملة غير صØÙŠØØ©.</target> + </trans-unit> + <trans-unit id="65"> + <source>This value should be equal to {{ compared_value }}.</source> + <target>القيمة يجب ان تساوي {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="66"> + <source>This value should be greater than {{ compared_value }}.</source> + <target>القيمة يجب ان تكون اعلي من {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="67"> + <source>This value should be greater than or equal to {{ compared_value }}.</source> + <target>القيمة يجب ان تكون مساوية او اعلي من {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="68"> + <source>This value should be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>القيمة يجب ان تطابق {{ compared_value_type }} {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="69"> + <source>This value should be less than {{ compared_value }}.</source> + <target>القيمة يجب ان تكون اقل من {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="70"> + <source>This value should be less than or equal to {{ compared_value }}.</source> + <target>القيمة يجب ان تساوي او تقل عن {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="71"> + <source>This value should not be equal to {{ compared_value }}.</source> + <target>القيمة يجب ان لا تساوي {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="72"> + <source>This value should not be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>القيمة يجب ان لا تطابق {{ compared_value_type }} {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="73"> + <source>The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}.</source> + <target>نسبة العرض على الارتÙاع للصورة كبيرة جدا ({{ ratio }}). الØد الأقصى للنسبة Ø§Ù„Ù…Ø³Ù…ÙˆØ Ø¨Ù‡ هو {{ max_ratio }}.</target> + </trans-unit> + <trans-unit id="74"> + <source>The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}.</source> + <target>نسبة العرض على الارتÙاع للصورة صغيرة جدا ({{ ratio }}). الØد الأدنى للنسبة Ø§Ù„Ù…Ø³Ù…ÙˆØ Ø¨Ù‡ هو {{ max_ratio }}.</target> + </trans-unit> + <trans-unit id="75"> + <source>The image is square ({{ width }}x{{ height }}px). Square images are not allowed.</source> + <target>الصورة مربعة ({{ width }}x{{ height }}px). الصور المربعة غير Ù…Ø³Ù…ÙˆØ Ø¨Ù‡Ø§.</target> + </trans-unit> + <trans-unit id="76"> + <source>The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed.</source> + <target>الصورة ÙÙŠ وضع Ø£Ùقي ({{ width }}x{{ height }}px). الصور ÙÙŠ وضع Ø£Ùقي غير Ù…Ø³Ù…ÙˆØ Ø¨Ù‡Ø§.</target> + </trans-unit> + <trans-unit id="77"> + <source>The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed.</source> + <target>الصورة ÙÙŠ وضع عمودي ({{ width }}x{{ height }}px). الصور ÙÙŠ وضع عمودي غير Ù…Ø³Ù…ÙˆØ Ø¨Ù‡Ø§.</target> + </trans-unit> + <trans-unit id="78"> + <source>An empty file is not allowed.</source> + <target>مل٠Ùارغ غير Ù…Ø³Ù…ÙˆØ Ø¨Ù‡.</target> + </trans-unit> + <trans-unit id="79"> + <source>The host could not be resolved.</source> + <target>يتعذر الإتصال بالنطاق.</target> + </trans-unit> + <trans-unit id="80"> + <source>This value does not match the expected {{ charset }} charset.</source> + <target>هذه القيمة غير متطابقة مع صيغة التØويل {{ charset }}.</target> + </trans-unit> + </body> + </file> +</xliff> diff --git a/core/vendor/symfony/validator/Resources/translations/validators.az.xlf b/core/vendor/symfony/validator/Resources/translations/validators.az.xlf new file mode 100644 index 0000000000000000000000000000000000000000..add868cd42b40e3fb3f3ca65089bb1e2c524af2b --- /dev/null +++ b/core/vendor/symfony/validator/Resources/translations/validators.az.xlf @@ -0,0 +1,227 @@ +<?xml version="1.0"?> +<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2"> + <file source-language="en" datatype="plaintext" original="file.ext"> + <body> + <trans-unit id="1"> + <source>This value should be false.</source> + <target>Bu dÉ™yÉ™r false olmalıdır.</target> + </trans-unit> + <trans-unit id="2"> + <source>This value should be true.</source> + <target>Bu dÉ™yÉ™r true olmalıdır.</target> + </trans-unit> + <trans-unit id="3"> + <source>This value should be of type {{ type }}.</source> + <target>Bu dÉ™yÉ™rin tipi {{ type }} olmalıdır.</target> + </trans-unit> + <trans-unit id="4"> + <source>This value should be blank.</source> + <target>Bu dÉ™yÉ™r boÅŸ olmalıdır.</target> + </trans-unit> + <trans-unit id="5"> + <source>The value you selected is not a valid choice.</source> + <target>Seçdiyiniz dÉ™yÉ™r düzgün bir seçim deÄŸil.</target> + </trans-unit> + <trans-unit id="6"> + <source>You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices.</source> + <target>Æn az {{ limit }} seçim qeyd edilmÉ™lidir.</target> + </trans-unit> + <trans-unit id="7"> + <source>You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices.</source> + <target>Æn çox {{ limit }} seçim qeyd edilmÉ™lidir.</target> + </trans-unit> + <trans-unit id="8"> + <source>One or more of the given values is invalid.</source> + <target>TÉ™qdim edilÉ™n dÉ™yÉ™rlÉ™rdÉ™n bir vÉ™ ya bir neçəsi yanlışdır.</target> + </trans-unit> + <trans-unit id="9"> + <source>This field was not expected.</source> + <target>Bu sahÉ™ gözlÉ™nilmirdi.</target> + </trans-unit> + <trans-unit id="10"> + <source>This field is missing.</source> + <target>Bu sahÉ™ É™ksikdir.</target> + </trans-unit> + <trans-unit id="11"> + <source>This value is not a valid date.</source> + <target>Bu dÉ™yÉ™r düzgün bir tarix deyil.</target> + </trans-unit> + <trans-unit id="12"> + <source>This value is not a valid datetime.</source> + <target>Bu dÉ™yÉ™r düzgün bir tarixsaat deyil.</target> + </trans-unit> + <trans-unit id="13"> + <source>This value is not a valid email address.</source> + <target>Bu dÉ™yÉ™r düzgün bir e-poçt adresi deyil.</target> + </trans-unit> + <trans-unit id="14"> + <source>The file could not be found.</source> + <target>Fayl tapılmadı.</target> + </trans-unit> + <trans-unit id="15"> + <source>The file is not readable.</source> + <target>Fayl oxunabilÉ™n deyil.</target> + </trans-unit> + <trans-unit id="16"> + <source>The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>Fayl çox böyükdür ({{ size }} {{ suffix }}). Ä°cazÉ™ verilÉ™n maksimum fayl ölçüsü {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="17"> + <source>The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}.</source> + <target>Faylın mime tipi yanlışdr ({{ type }}). Ä°cazÉ™ verilÉ™n mime tiplÉ™ri {{ types }}.</target> + </trans-unit> + <trans-unit id="18"> + <source>This value should be {{ limit }} or less.</source> + <target>Bu dÉ™yÉ™r {{ limit }} vÉ™ ya altında olmalıdır.</target> + </trans-unit> + <trans-unit id="19"> + <source>This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less.</source> + <target>Bu dÉ™yÉ™r çox uzundur. {{ limit }} vÉ™ ya daha az simvol olmalıdır.</target> + </trans-unit> + <trans-unit id="20"> + <source>This value should be {{ limit }} or more.</source> + <target>Bu dÉ™yÉ™r {{ limit }} veya daha fazla olmalıdır.</target> + </trans-unit> + <trans-unit id="21"> + <source>This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more.</source> + <target>Bu dÉ™yÉ™r çox qısadır. {{ limit }} vÉ™ ya daha çox simvol olmalıdır.</target> + </trans-unit> + <trans-unit id="22"> + <source>This value should not be blank.</source> + <target>Bu dÉ™yÉ™r boÅŸ olmamalıdır.</target> + </trans-unit> + <trans-unit id="23"> + <source>This value should not be null.</source> + <target>Bu dÉ™yÉ™r boÅŸ olmamalıdır.</target> + </trans-unit> + <trans-unit id="24"> + <source>This value should be null.</source> + <target>Bu dÉ™yÉ™r boÅŸ olmamalıdır.</target> + </trans-unit> + <trans-unit id="25"> + <source>This value is not valid.</source> + <target>Bu dÉ™yÉ™r doÄŸru deyil.</target> + </trans-unit> + <trans-unit id="26"> + <source>This value is not a valid time.</source> + <target>Bu dÉ™yÉ™r doÄŸru bir saat deyil.</target> + </trans-unit> + <trans-unit id="27"> + <source>This value is not a valid URL.</source> + <target>Bu dÉ™yÉ™r doÄŸru bir URL deÄŸil.</target> + </trans-unit> + <trans-unit id="31"> + <source>The two values should be equal.</source> + <target>Ä°ki dÉ™yÉ™r eyni olmalıdır.</target> + </trans-unit> + <trans-unit id="32"> + <source>The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>Fayl çox böyükdür. Ä°cazÉ™ verilÉ™n É™n böyük fayl ölçüsü {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="33"> + <source>The file is too large.</source> + <target>Fayl çox böyükdür.</target> + </trans-unit> + <trans-unit id="34"> + <source>The file could not be uploaded.</source> + <target>Fayl yüklÉ™nÉ™bilmir.</target> + </trans-unit> + <trans-unit id="35"> + <source>This value should be a valid number.</source> + <target>Bu dÉ™yÉ™r rÉ™qÉ™m olmalıdır.</target> + </trans-unit> + <trans-unit id="36"> + <source>This file is not a valid image.</source> + <target>Bu fayl düzgün bir ÅŸÉ™kil deyil.</target> + </trans-unit> + <trans-unit id="37"> + <source>This is not a valid IP address.</source> + <target>Bu düzgün bir IP adresi deyil.</target> + </trans-unit> + <trans-unit id="38"> + <source>This value is not a valid language.</source> + <target>Bu dÉ™yÉ™r düzgün bir dil deyil.</target> + </trans-unit> + <trans-unit id="39"> + <source>This value is not a valid locale.</source> + <target>Bu dÉ™yÉ™r düzgün bir dil deyil.</target> + </trans-unit> + <trans-unit id="40"> + <source>This value is not a valid country.</source> + <target>Bu dÉ™yÉ™r düzgün bir ölkÉ™ deyil.</target> + </trans-unit> + <trans-unit id="41"> + <source>This value is already used.</source> + <target>Bu dÉ™yÉ™r hal-hazırda istifadÉ™dÉ™dir.</target> + </trans-unit> + <trans-unit id="42"> + <source>The size of the image could not be detected.</source> + <target>Şəklin ölçüsü hesablana bilmir.</target> + </trans-unit> + <trans-unit id="43"> + <source>The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px.</source> + <target>Şəklin geniÅŸliyi çox böyükdür ({{ width }}px). Ä°cazÉ™ verilÉ™n É™n böyük geniÅŸlik {{ max_width }}px.</target> + </trans-unit> + <trans-unit id="44"> + <source>The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px.</source> + <target>Şəklin geniÅŸliyi çox kiçikdir ({{ width }}px). Æn az {{ min_width }}px olmalıdır.</target> + </trans-unit> + <trans-unit id="45"> + <source>The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px.</source> + <target>Şəklin yüksÉ™kliyi çox böyükdür ({{ height }}px). Ä°cazÉ™ verilÉ™n É™n böyük yüksÉ™klik {{ max_height }}px.</target> + </trans-unit> + <trans-unit id="46"> + <source>The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px.</source> + <target>Şəklin yüksÉ™kliyi çox kiçikdir ({{ height }}px). Æn az {{ min_height }}px olmalıdır.</target> + </trans-unit> + <trans-unit id="47"> + <source>This value should be the user's current password.</source> + <target>Bu dÉ™yÉ™r istifadəçinin hazırkı parolu olmalıdır.</target> + </trans-unit> + <trans-unit id="48"> + <source>This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters.</source> + <target>Bu dÉ™yÉ™r tam olaraq {{ limit }} simvol olmaldır.</target> + </trans-unit> + <trans-unit id="49"> + <source>The file was only partially uploaded.</source> + <target>Fayl qismÉ™n yüklÉ™ndi.</target> + </trans-unit> + <trans-unit id="50"> + <source>No file was uploaded.</source> + <target>Fayl yüklÉ™nmÉ™di.</target> + </trans-unit> + <trans-unit id="51"> + <source>No temporary folder was configured in php.ini.</source> + <target>php.ini'dÉ™ müvÉ™qqÉ™ti qovluq quraÅŸdırılmayıb.</target> + </trans-unit> + <trans-unit id="52"> + <source>Cannot write temporary file to disk.</source> + <target>MüvÉ™qqÉ™ti fayl diskÉ™ yazıla bilmir.</target> + </trans-unit> + <trans-unit id="53"> + <source>A PHP extension caused the upload to fail.</source> + <target>Bir PHP É™lavÉ™si faylın yüklÉ™nmÉ™sinÉ™ mane oldu.</target> + </trans-unit> + <trans-unit id="54"> + <source>This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more.</source> + <target>Bu kolleksiyada {{ limit }} vÉ™ ya daha çox element olmalıdır.</target> + </trans-unit> + <trans-unit id="55"> + <source>This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less.</source> + <target>Bu kolleksiyada {{ limit }} vÉ™ ya daha az element olmalıdır.</target> + </trans-unit> + <trans-unit id="56"> + <source>This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements.</source> + <target>Bu kolleksiyada tam olaraq {{ limit }} element olmalıdır.</target> + </trans-unit> + <trans-unit id="57"> + <source>Invalid card number.</source> + <target>Yanlış kart nömrÉ™si.</target> + </trans-unit> + <trans-unit id="58"> + <source>Unsupported card type or invalid card number.</source> + <target>DÉ™stÉ™klÉ™nmÉ™yÉ™n kart tipi vÉ™ ya yanlış kart nömrÉ™si.</target> + </trans-unit> + </body> + </file> +</xliff> diff --git a/core/vendor/symfony/validator/Resources/translations/validators.bg.xlf b/core/vendor/symfony/validator/Resources/translations/validators.bg.xlf new file mode 100644 index 0000000000000000000000000000000000000000..7c5da55bcf9da69c32a0ed8e38a4a29b3e32e403 --- /dev/null +++ b/core/vendor/symfony/validator/Resources/translations/validators.bg.xlf @@ -0,0 +1,283 @@ +<?xml version="1.0"?> +<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2"> + <file source-language="en" datatype="plaintext" original="file.ext"> + <body> + <trans-unit id="1"> + <source>This value should be false.</source> + <target>СтойноÑтта Ñ‚Ñ€Ñбва да бъде лъжа (false).</target> + </trans-unit> + <trans-unit id="2"> + <source>This value should be true.</source> + <target>СтойноÑтта Ñ‚Ñ€Ñбва да бъде иÑтина (true).</target> + </trans-unit> + <trans-unit id="3"> + <source>This value should be of type {{ type }}.</source> + <target>СтойноÑтта Ñ‚Ñ€Ñбва да бъде от тип {{ type }}.</target> + </trans-unit> + <trans-unit id="4"> + <source>This value should be blank.</source> + <target>СтойноÑтта Ñ‚Ñ€Ñбва да бъде празна.</target> + </trans-unit> + <trans-unit id="5"> + <source>The value you selected is not a valid choice.</source> + <target>Избраната ÑтойноÑÑ‚ е невалидна.</target> + </trans-unit> + <trans-unit id="6"> + <source>You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices.</source> + <target>ТрÑбва да изберете поне {{ limit }} опциÑ.|ТрÑбва да изберете поне {{ limit }} опции.</target> + </trans-unit> + <trans-unit id="7"> + <source>You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices.</source> + <target>ТрÑбва да изберете най-много {{ limit }} опциÑ.|ТрÑбва да изберете най-много {{ limit }} опции.</target> + </trans-unit> + <trans-unit id="8"> + <source>One or more of the given values is invalid.</source> + <target>Една или повече от зададените ÑтойноÑти е невалидна.</target> + </trans-unit> + <trans-unit id="9"> + <source>This field was not expected.</source> + <target>Това поле не Ñе е очаквало.</target> + </trans-unit> + <trans-unit id="10"> + <source>This field is missing.</source> + <target>Това поле липÑва.</target> + </trans-unit> + <trans-unit id="11"> + <source>This value is not a valid date.</source> + <target>СтойноÑтта не е валидна дата (date).</target> + </trans-unit> + <trans-unit id="12"> + <source>This value is not a valid datetime.</source> + <target>СтойноÑтта не е валидна дата (datetime).</target> + </trans-unit> + <trans-unit id="13"> + <source>This value is not a valid email address.</source> + <target>СтойноÑтта не е валиден email адреÑ.</target> + </trans-unit> + <trans-unit id="14"> + <source>The file could not be found.</source> + <target>Файлът не беше открит.</target> + </trans-unit> + <trans-unit id="15"> + <source>The file is not readable.</source> + <target>Файлът не може да бъде прочетен.</target> + </trans-unit> + <trans-unit id="16"> + <source>The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>Файлът е твърде голÑм ({{ size }} {{ suffix }}). МакÑималниÑÑ‚ размер е {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="17"> + <source>The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}.</source> + <target>Майм типа на файла е невалиден ({{ type }}). Разрешени майм типове Ñа {{ types }}.</target> + </trans-unit> + <trans-unit id="18"> + <source>This value should be {{ limit }} or less.</source> + <target>СтойноÑтта Ñ‚Ñ€Ñбва да бъде {{ limit }} или по-малко.</target> + </trans-unit> + <trans-unit id="19"> + <source>This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less.</source> + <target>СтойноÑтта е твърде дълга. ТрÑбва да Ñъдържа най-много {{ limit }} Ñимвол.|СтойноÑтта е твърде дълга. ТрÑбва да Ñъдържа най-много {{ limit }} Ñимвола.</target> + </trans-unit> + <trans-unit id="20"> + <source>This value should be {{ limit }} or more.</source> + <target>СтойноÑтта Ñ‚Ñ€Ñбва да бъде {{ limit }} или повече.</target> + </trans-unit> + <trans-unit id="21"> + <source>This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more.</source> + <target>СтойноÑтта е твърде кратка. ТрÑбва да Ñъдържа поне {{ limit }} Ñимвол.|СтойноÑтта е твърде кратка. ТрÑбва да Ñъдържа поне {{ limit }} Ñимвола.</target> + </trans-unit> + <trans-unit id="22"> + <source>This value should not be blank.</source> + <target>СтойноÑтта не Ñ‚Ñ€Ñбва да бъде празна.</target> + </trans-unit> + <trans-unit id="23"> + <source>This value should not be null.</source> + <target>СтойноÑтта не Ñ‚Ñ€Ñбва да бъде null.</target> + </trans-unit> + <trans-unit id="24"> + <source>This value should be null.</source> + <target>СтойноÑтта Ñ‚Ñ€Ñбва да бъде null.</target> + </trans-unit> + <trans-unit id="25"> + <source>This value is not valid.</source> + <target>СтойноÑтта не е валидна.</target> + </trans-unit> + <trans-unit id="26"> + <source>This value is not a valid time.</source> + <target>СтойноÑтта не е валидно време (time).</target> + </trans-unit> + <trans-unit id="27"> + <source>This value is not a valid URL.</source> + <target>СтойноÑтта не е валиден URL.</target> + </trans-unit> + <trans-unit id="31"> + <source>The two values should be equal.</source> + <target>Двете ÑтойноÑти Ñ‚Ñ€Ñбва да бъдат равни.</target> + </trans-unit> + <trans-unit id="32"> + <source>The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>Файлът е твърде голÑм. РазрешениÑÑ‚ макÑимален размер е {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="33"> + <source>The file is too large.</source> + <target>Файлът е твърде голÑм.</target> + </trans-unit> + <trans-unit id="34"> + <source>The file could not be uploaded.</source> + <target>Файлът не може да бъде качен.</target> + </trans-unit> + <trans-unit id="35"> + <source>This value should be a valid number.</source> + <target>СтойноÑтта Ñ‚Ñ€Ñбва да бъде валиден номер.</target> + </trans-unit> + <trans-unit id="36"> + <source>This file is not a valid image.</source> + <target>Файлът не е валидно изображение.</target> + </trans-unit> + <trans-unit id="37"> + <source>This is not a valid IP address.</source> + <target>Това не е валиден IP адреÑ.</target> + </trans-unit> + <trans-unit id="38"> + <source>This value is not a valid language.</source> + <target>СтойноÑтта не е валиден език.</target> + </trans-unit> + <trans-unit id="39"> + <source>This value is not a valid locale.</source> + <target>СтойноÑтта не е валидна локализациÑ.</target> + </trans-unit> + <trans-unit id="40"> + <source>This value is not a valid country.</source> + <target>СтойноÑтта не е валидна държава.</target> + </trans-unit> + <trans-unit id="41"> + <source>This value is already used.</source> + <target>СтойноÑтта вече е в употреба.</target> + </trans-unit> + <trans-unit id="42"> + <source>The size of the image could not be detected.</source> + <target>Размера на изображението не може да бъде определен.</target> + </trans-unit> + <trans-unit id="43"> + <source>The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px.</source> + <target>Изображението е твърде широко ({{ width }}px). Широчината Ñ‚Ñ€Ñбва да бъде макÑимум {{ max_width }}px.</target> + </trans-unit> + <trans-unit id="44"> + <source>The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px.</source> + <target>Изображението е Ñ Ñ‚Ð²ÑŠÑ€Ð´Ðµ малка широчина ({{ width }}px). Широчината Ñ‚Ñ€Ñбва да бъде минимум {{ min_width }}px.</target> + </trans-unit> + <trans-unit id="45"> + <source>The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px.</source> + <target>Изображението е Ñ Ñ‚Ð²ÑŠÑ€Ð´Ðµ голÑма виÑочина ({{ height }}px). ВиÑочината Ñ‚Ñ€Ñбва да бъде макÑимум {{ max_height }}px.</target> + </trans-unit> + <trans-unit id="46"> + <source>The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px.</source> + <target>Изображението е Ñ Ñ‚Ð²ÑŠÑ€Ð´Ðµ малка виÑочина ({{ height }}px). ВиÑочина Ñ‚Ñ€Ñбва да бъде минимум {{ min_height }}px.</target> + </trans-unit> + <trans-unit id="47"> + <source>This value should be the user's current password.</source> + <target>СтойноÑтта Ñ‚Ñ€Ñбва да бъде текущата потребителÑка парола.</target> + </trans-unit> + <trans-unit id="48"> + <source>This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters.</source> + <target>СтойноÑтта Ñ‚Ñ€Ñбва да бъде точно {{ limit }} Ñимвол.|СтойноÑтта Ñ‚Ñ€Ñбва да бъде точно {{ limit }} Ñимвола.</target> + </trans-unit> + <trans-unit id="49"> + <source>The file was only partially uploaded.</source> + <target>Файлът е качен чаÑтично.</target> + </trans-unit> + <trans-unit id="50"> + <source>No file was uploaded.</source> + <target>Файлът не беше качен.</target> + </trans-unit> + <trans-unit id="51"> + <source>No temporary folder was configured in php.ini.</source> + <target>Ðе е поÑочена Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ð·Ð° временни файлове в php.ini.</target> + </trans-unit> + <trans-unit id="52"> + <source>Cannot write temporary file to disk.</source> + <target>Ðе може да запише временен файл на диÑка.</target> + </trans-unit> + <trans-unit id="53"> + <source>A PHP extension caused the upload to fail.</source> + <target>PHP разширение предизвика прекъÑване на качването.</target> + </trans-unit> + <trans-unit id="54"> + <source>This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more.</source> + <target>КолекциÑта Ñ‚Ñ€Ñбва да Ñъдържа поне {{ limit }} елемент.|КолекциÑта Ñ‚Ñ€Ñбва да Ñъдържа поне {{ limit }} елемента.</target> + </trans-unit> + <trans-unit id="55"> + <source>This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less.</source> + <target>КолекциÑта Ñ‚Ñ€Ñбва да Ñъдържа най-много {{ limit }} елемент.|КолекциÑта Ñ‚Ñ€Ñбва да Ñъдържа най-много {{ limit }} елемента.</target> + </trans-unit> + <trans-unit id="56"> + <source>This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements.</source> + <target>КолекциÑта Ñ‚Ñ€Ñбва да Ñъдържа точно {{ limit }} елемент.|КолекциÑта Ñ‚Ñ€Ñбва да Ñъдържа точно {{ limit }} елемента.</target> + </trans-unit> + <trans-unit id="57"> + <source>Invalid card number.</source> + <target>Ðевалиден номер на картата.</target> + </trans-unit> + <trans-unit id="58"> + <source>Unsupported card type or invalid card number.</source> + <target>Ðеподдържан тип карта или невалиден номер на картата.</target> + </trans-unit> + <trans-unit id="59"> + <source>This is not a valid International Bank Account Number (IBAN).</source> + <target>Ðевалиден Международен номер на банкова Ñметка (IBAN).</target> + </trans-unit> + <trans-unit id="60"> + <source>This value is not a valid ISBN-10.</source> + <target>Ðевалиден ISBN-10.</target> + </trans-unit> + <trans-unit id="61"> + <source>This value is not a valid ISBN-13.</source> + <target>Ðевалиден ISBN-13.</target> + </trans-unit> + <trans-unit id="62"> + <source>This value is neither a valid ISBN-10 nor a valid ISBN-13.</source> + <target>Ðевалидна ÑтойноÑÑ‚ както за ISBN-10, така и за ISBN-13 .</target> + </trans-unit> + <trans-unit id="63"> + <source>This value is not a valid ISSN.</source> + <target>Ðевалиден Международен Ñтандартен Ñериен номер (ISSN).</target> + </trans-unit> + <trans-unit id="64"> + <source>This value is not a valid currency.</source> + <target>Ðевалидна валута.</target> + </trans-unit> + <trans-unit id="65"> + <source>This value should be equal to {{ compared_value }}.</source> + <target>СтойноÑтта Ñ‚Ñ€Ñбва да бъде равна на {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="66"> + <source>This value should be greater than {{ compared_value }}.</source> + <target>СтойноÑтта Ñ‚Ñ€Ñбва да бъде по-голÑма от {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="67"> + <source>This value should be greater than or equal to {{ compared_value }}.</source> + <target>СтойноÑтта Ñ‚Ñ€Ñбва да бъде по-голÑма или равна на {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="68"> + <source>This value should be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>СтойноÑтта Ñ‚Ñ€Ñбва да бъде идентична Ñ {{ compared_value_type }} {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="69"> + <source>This value should be less than {{ compared_value }}.</source> + <target>СтойноÑтта Ñ‚Ñ€Ñбва да бъде по-малка {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="70"> + <source>This value should be less than or equal to {{ compared_value }}.</source> + <target>СтойноÑтта Ñ‚Ñ€Ñбва да бъде по-малка или равна на {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="71"> + <source>This value should not be equal to {{ compared_value }}.</source> + <target>СтойноÑтта не Ñ‚Ñ€Ñбва да бъде равна на {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="72"> + <source>This value should not be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>СтойноÑтта не Ñ‚Ñ€Ñбва да бъде идентична Ñ {{ compared_value_type }} {{ compared_value }}.</target> + </trans-unit> + </body> + </file> +</xliff> diff --git a/core/vendor/symfony/validator/Resources/translations/validators.ca.xlf b/core/vendor/symfony/validator/Resources/translations/validators.ca.xlf new file mode 100644 index 0000000000000000000000000000000000000000..85b6970fc31cf14b47c4a544d85521ad1d5275fb --- /dev/null +++ b/core/vendor/symfony/validator/Resources/translations/validators.ca.xlf @@ -0,0 +1,307 @@ +<?xml version="1.0"?> +<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2"> + <file source-language="en" datatype="plaintext" original="file.ext"> + <body> + <trans-unit id="1"> + <source>This value should be false.</source> + <target>Aquest valor hauria de ser fals.</target> + </trans-unit> + <trans-unit id="2"> + <source>This value should be true.</source> + <target>Aquest valor hauria de ser cert.</target> + </trans-unit> + <trans-unit id="3"> + <source>This value should be of type {{ type }}.</source> + <target>Aquest valor hauria de ser del tipus {{ type }}.</target> + </trans-unit> + <trans-unit id="4"> + <source>This value should be blank.</source> + <target>Aquest valor hauria d'estar buit.</target> + </trans-unit> + <trans-unit id="5"> + <source>The value you selected is not a valid choice.</source> + <target>El valor seleccionat no és una opció và lida.</target> + </trans-unit> + <trans-unit id="6"> + <source>You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices.</source> + <target>Ha de seleccionar almenys {{ limit }} opció.|Ha de seleccionar almenys {{ limit }} opcions.</target> + </trans-unit> + <trans-unit id="7"> + <source>You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices.</source> + <target>Ha de seleccionar com a mà xim {{ limit }} opció.|Ha de seleccionar com a mà xim {{ limit }} opcions.</target> + </trans-unit> + <trans-unit id="8"> + <source>One or more of the given values is invalid.</source> + <target>Un o més dels valors facilitats són incorrectes.</target> + </trans-unit> + <trans-unit id="9"> + <source>This field was not expected.</source> + <target>Aquest camp no s'esperava.</target> + </trans-unit> + <trans-unit id="10"> + <source>This field is missing.</source> + <target>Aquest camp està desaparegut.</target> + </trans-unit> + <trans-unit id="11"> + <source>This value is not a valid date.</source> + <target>Aquest valor no és una data và lida.</target> + </trans-unit> + <trans-unit id="12"> + <source>This value is not a valid datetime.</source> + <target>Aquest valor no és una data i hora và lida.</target> + </trans-unit> + <trans-unit id="13"> + <source>This value is not a valid email address.</source> + <target>Aquest valor no és una adreça d'email và lida.</target> + </trans-unit> + <trans-unit id="14"> + <source>The file could not be found.</source> + <target>No s'ha pogut trobar l'arxiu.</target> + </trans-unit> + <trans-unit id="15"> + <source>The file is not readable.</source> + <target>No es pot llegir l'arxiu.</target> + </trans-unit> + <trans-unit id="16"> + <source>The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>L'arxiu és massa gran ({{ size }} {{ suffix }}). La grandà ria mà xima permesa és {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="17"> + <source>The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}.</source> + <target>El tipus mime de l'arxiu no és và lid ({{ type }}). Els tipus mime và lids són {{ types }}.</target> + </trans-unit> + <trans-unit id="18"> + <source>This value should be {{ limit }} or less.</source> + <target>Aquest valor hauria de ser {{ limit }} o menys.</target> + </trans-unit> + <trans-unit id="19"> + <source>This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less.</source> + <target>Aquest valor és massa llarg. Hauria de tenir {{ limit }} carà cter o menys.|Aquest valor és massa llarg. Hauria de tenir {{ limit }} carà cters o menys.</target> + </trans-unit> + <trans-unit id="20"> + <source>This value should be {{ limit }} or more.</source> + <target>Aquest valor hauria de ser {{ limit }} o més.</target> + </trans-unit> + <trans-unit id="21"> + <source>This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more.</source> + <target>Aquest valor és massa curt. Hauria de tenir {{ limit }} carà cters o més.</target> + </trans-unit> + <trans-unit id="22"> + <source>This value should not be blank.</source> + <target>Aquest valor no hauria d'estar buit.</target> + </trans-unit> + <trans-unit id="23"> + <source>This value should not be null.</source> + <target>Aquest valor no hauria de ser null.</target> + </trans-unit> + <trans-unit id="24"> + <source>This value should be null.</source> + <target>Aquest valor hauria de ser null.</target> + </trans-unit> + <trans-unit id="25"> + <source>This value is not valid.</source> + <target>Aquest valor no és và lid.</target> + </trans-unit> + <trans-unit id="26"> + <source>This value is not a valid time.</source> + <target>Aquest valor no és una hora và lida.</target> + </trans-unit> + <trans-unit id="27"> + <source>This value is not a valid URL.</source> + <target>Aquest valor no és una URL và lida.</target> + </trans-unit> + <trans-unit id="31"> + <source>The two values should be equal.</source> + <target>Els dos valors haurien de ser iguals.</target> + </trans-unit> + <trans-unit id="32"> + <source>The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>L'arxiu és massa gran. El tamany mà xim permés és {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="33"> + <source>The file is too large.</source> + <target>L'arxiu és massa gran.</target> + </trans-unit> + <trans-unit id="34"> + <source>The file could not be uploaded.</source> + <target>No es pot pujar l'arxiu.</target> + </trans-unit> + <trans-unit id="35"> + <source>This value should be a valid number.</source> + <target>Aquest valor hauria de ser un nombre và lid.</target> + </trans-unit> + <trans-unit id="36"> + <source>This file is not a valid image.</source> + <target>L'arxiu no és una imatge và lida.</target> + </trans-unit> + <trans-unit id="37"> + <source>This is not a valid IP address.</source> + <target>Això no és una adreça IP và lida.</target> + </trans-unit> + <trans-unit id="38"> + <source>This value is not a valid language.</source> + <target>Aquest valor no és un idioma và lid.</target> + </trans-unit> + <trans-unit id="39"> + <source>This value is not a valid locale.</source> + <target>Aquest valor no és una localització và lida.</target> + </trans-unit> + <trans-unit id="40"> + <source>This value is not a valid country.</source> + <target>Aquest valor no és un paÃs và lid.</target> + </trans-unit> + <trans-unit id="41"> + <source>This value is already used.</source> + <target>Aquest valor ja s'ha utilitzat.</target> + </trans-unit> + <trans-unit id="42"> + <source>The size of the image could not be detected.</source> + <target>No s'ha pogut determinar la grandà ria de la imatge.</target> + </trans-unit> + <trans-unit id="43"> + <source>The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px.</source> + <target>L'amplà ria de la imatge és massa gran ({{ width }}px). L'amplà ria mà xima permesa són {{ max_width }}px.</target> + </trans-unit> + <trans-unit id="44"> + <source>The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px.</source> + <target>L'amplà ria de la imatge és massa petita ({{ width }}px). L'amplà ria mÃnima requerida són {{ min_width }}px.</target> + </trans-unit> + <trans-unit id="45"> + <source>The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px.</source> + <target>L'altura de la imatge és massa gran ({{ height }}px). L'altura mà xima permesa són {{ max_height }}px.</target> + </trans-unit> + <trans-unit id="46"> + <source>The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px.</source> + <target>L'altura de la imatge és massa petita ({{ height }}px). L'altura mÃnima requerida són {{ min_height }}px.</target> + </trans-unit> + <trans-unit id="47"> + <source>This value should be the user's current password.</source> + <target>Aquest valor hauria de ser la contrasenya actual de l'usuari.</target> + </trans-unit> + <trans-unit id="48"> + <source>This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters.</source> + <target>Aquest valor hauria de tenir exactament {{ limit }} carà cter.|Aquest valor hauria de tenir exactament {{ limit }} carà cters.</target> + </trans-unit> + <trans-unit id="49"> + <source>The file was only partially uploaded.</source> + <target>L'arxiu va ser només pujat parcialment.</target> + </trans-unit> + <trans-unit id="50"> + <source>No file was uploaded.</source> + <target>Cap arxiu va ser pujat.</target> + </trans-unit> + <trans-unit id="51"> + <source>No temporary folder was configured in php.ini.</source> + <target>Cap carpeta temporal va ser configurada en php.ini.</target> + </trans-unit> + <trans-unit id="52"> + <source>Cannot write temporary file to disk.</source> + <target>No es va poder escriure l'arxiu temporal en el disc.</target> + </trans-unit> + <trans-unit id="53"> + <source>A PHP extension caused the upload to fail.</source> + <target>Una extensió de PHP va fer que la pujada fallara.</target> + </trans-unit> + <trans-unit id="54"> + <source>This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more.</source> + <target>Aquesta col·lecció ha de contenir {{ limit }} element o més.|Aquesta col·lecció ha de contenir {{ limit }} elements o més.</target> + </trans-unit> + <trans-unit id="55"> + <source>This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less.</source> + <target>Aquesta col·lecció ha de contenir {{ limit }} element o menys.|Aquesta col·lecció ha de contenir {{ limit }} elements o menys.</target> + </trans-unit> + <trans-unit id="56"> + <source>This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements.</source> + <target>Aquesta col·lecció ha de contenir exactament {{ limit }} element.|Aquesta col·lecció ha de contenir exactament {{ limit }} elements.</target> + </trans-unit> + <trans-unit id="57"> + <source>Invalid card number.</source> + <target>Número de targeta invà lid.</target> + </trans-unit> + <trans-unit id="58"> + <source>Unsupported card type or invalid card number.</source> + <target>Tipus de targeta no suportada o número de targeta invà lid.</target> + </trans-unit> + <trans-unit id="59"> + <source>This is not a valid International Bank Account Number (IBAN).</source> + <target>Això no és un nombre de compte bancari internacional (IBAN) và lid.</target> + </trans-unit> + <trans-unit id="60"> + <source>This value is not a valid ISBN-10.</source> + <target>Aquest valor no és un ISBN-10 và lid.</target> + </trans-unit> + <trans-unit id="61"> + <source>This value is not a valid ISBN-13.</source> + <target>Aquest valor no és un ISBN-13 và lid.</target> + </trans-unit> + <trans-unit id="62"> + <source>This value is neither a valid ISBN-10 nor a valid ISBN-13.</source> + <target>Aquest valor no és ni un ISBN-10 và lid ni un ISBN-13 và lid.</target> + </trans-unit> + <trans-unit id="63"> + <source>This value is not a valid ISSN.</source> + <target>Aquest valor no és un ISSN và lid.</target> + </trans-unit> + <trans-unit id="64"> + <source>This value is not a valid currency.</source> + <target>Aquest valor no és una divisa và lida.</target> + </trans-unit> + <trans-unit id="65"> + <source>This value should be equal to {{ compared_value }}.</source> + <target>Aquest valor hauria de ser igual a {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="66"> + <source>This value should be greater than {{ compared_value }}.</source> + <target>Aquest valor hauria de ser més gran a {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="67"> + <source>This value should be greater than or equal to {{ compared_value }}.</source> + <target>Aquest valor hauria de ser major o igual a {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="68"> + <source>This value should be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>Aquest valor hauria de ser idèntic a {{ compared_value_type }} {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="69"> + <source>This value should be less than {{ compared_value }}.</source> + <target>Aquest valor hauria de ser menor a {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="70"> + <source>This value should be less than or equal to {{ compared_value }}.</source> + <target>Aquest valor hauria de ser menor o igual a {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="71"> + <source>This value should not be equal to {{ compared_value }}.</source> + <target>Aquest valor no hauria de ser igual a {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="72"> + <source>This value should not be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>Aquest valor no hauria de idèntic a {{ compared_value_type }} {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="73"> + <source>The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}.</source> + <target>La proporció de l'imatge és massa gran ({{ ratio }}). La mà xima proporció permesa és {{ max_ratio }}.</target> + </trans-unit> + <trans-unit id="74"> + <source>The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}.</source> + <target>La proporció de l'imatge és massa petita ({{ ratio }}). La mÃnima proporció permesa és {{ max_ratio }}.</target> + </trans-unit> + <trans-unit id="75"> + <source>The image is square ({{ width }}x{{ height }}px). Square images are not allowed.</source> + <target>L'imatge és quadrada({{ width }}x{{ height }}px). Les imatges quadrades no estan permeses.</target> + </trans-unit> + <trans-unit id="76"> + <source>The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed.</source> + <target>L'imatge està orientada horitzontalment ({{ width }}x{{ height }}px). Les imatges orientades horitzontalment no estan permeses.</target> + </trans-unit> + <trans-unit id="77"> + <source>The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed.</source> + <target>L'imatge està orientada verticalment ({{ width }}x{{ height }}px). Les imatges orientades verticalment no estan permeses.</target> + </trans-unit> + <trans-unit id="78"> + <source>An empty file is not allowed.</source> + <target>No està permès un fixter buit.</target> + </trans-unit> + </body> + </file> +</xliff> diff --git a/core/vendor/symfony/validator/Resources/translations/validators.cs.xlf b/core/vendor/symfony/validator/Resources/translations/validators.cs.xlf new file mode 100644 index 0000000000000000000000000000000000000000..2ae47b2bbffd8a57c24f5b33fa85fb14b7535824 --- /dev/null +++ b/core/vendor/symfony/validator/Resources/translations/validators.cs.xlf @@ -0,0 +1,307 @@ +<?xml version="1.0"?> +<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2"> + <file source-language="en" datatype="plaintext" original="file.ext"> + <body> + <trans-unit id="1"> + <source>This value should be false.</source> + <target>Tato hodnota musà být nepravdivá (false).</target> + </trans-unit> + <trans-unit id="2"> + <source>This value should be true.</source> + <target>Tato hodnota musà být pravdivá (true).</target> + </trans-unit> + <trans-unit id="3"> + <source>This value should be of type {{ type }}.</source> + <target>Tato hodnota musà být typu {{ type }}.</target> + </trans-unit> + <trans-unit id="4"> + <source>This value should be blank.</source> + <target>Tato hodnota musà být prázdná.</target> + </trans-unit> + <trans-unit id="5"> + <source>The value you selected is not a valid choice.</source> + <target>Vybraná hodnota nenà platnou možnostÃ.</target> + </trans-unit> + <trans-unit id="6"> + <source>You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices.</source> + <target>Musà být vybrána nejménÄ› {{ limit }} možnost.|Musà být vybrány nejménÄ› {{ limit }} možnosti.|Musà být vybráno nejménÄ› {{ limit }} možnostÃ.</target> + </trans-unit> + <trans-unit id="7"> + <source>You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices.</source> + <target>Musà být vybrána maximálnÄ› {{ limit }} možnost.|Musà být vybrány maximálnÄ› {{ limit }} možnosti.|Musà být vybráno maximálnÄ› {{ limit }} možnostÃ.</target> + </trans-unit> + <trans-unit id="8"> + <source>One or more of the given values is invalid.</source> + <target>NÄ›které z uvedených hodnot jsou neplatné.</target> + </trans-unit> + <trans-unit id="9"> + <source>This field was not expected.</source> + <target>Toto pole nebyla oÄekávána.</target> + </trans-unit> + <trans-unit id="10"> + <source>This field is missing.</source> + <target>Toto pole chybÃ.</target> + </trans-unit> + <trans-unit id="11"> + <source>This value is not a valid date.</source> + <target>Tato hodnota nenà platné datum.</target> + </trans-unit> + <trans-unit id="12"> + <source>This value is not a valid datetime.</source> + <target>Tato hodnota nenà platné datum s Äasovým údajem.</target> + </trans-unit> + <trans-unit id="13"> + <source>This value is not a valid email address.</source> + <target>Tato hodnota nenà platná e-mailová adresa.</target> + </trans-unit> + <trans-unit id="14"> + <source>The file could not be found.</source> + <target>Soubor nebyl nalezen.</target> + </trans-unit> + <trans-unit id="15"> + <source>The file is not readable.</source> + <target>Soubor je neÄitelný.</target> + </trans-unit> + <trans-unit id="16"> + <source>The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>Soubor je pÅ™ÃliÅ¡ velký ({{ size }} {{ suffix }}). Maximálnà povolená velikost souboru je {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="17"> + <source>The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}.</source> + <target>Neplatný mime typ souboru ({{ type }}). Povolené mime typy souborů jsou {{ types }}.</target> + </trans-unit> + <trans-unit id="18"> + <source>This value should be {{ limit }} or less.</source> + <target>Tato hodnota musà být {{ limit }} nebo ménÄ›.</target> + </trans-unit> + <trans-unit id="19"> + <source>This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less.</source> + <target>Tato hodnota je pÅ™ÃliÅ¡ dlouhá. Musà obsahovat maximálnÄ› {{ limit }} znak.|Tato hodnota je pÅ™ÃliÅ¡ dlouhá. Musà obsahovat maximálnÄ› {{ limit }} znaky.|Tato hodnota je pÅ™ÃliÅ¡ dlouhá. Musà obsahovat maximálnÄ› {{ limit }} znaků.</target> + </trans-unit> + <trans-unit id="20"> + <source>This value should be {{ limit }} or more.</source> + <target>Tato hodnota musà být {{ limit }} nebo vÃce.</target> + </trans-unit> + <trans-unit id="21"> + <source>This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more.</source> + <target>Tato hodnota je pÅ™ÃliÅ¡ krátká. Musà obsahovat minimálnÄ› {{ limit }} znak.|Tato hodnota je pÅ™ÃliÅ¡ krátká. Musà obsahovat minimálnÄ› {{ limit }} znaky.|Tato hodnota je pÅ™ÃliÅ¡ krátká. Musà obsahovat minimálnÄ› {{ limit }} znaků.</target> + </trans-unit> + <trans-unit id="22"> + <source>This value should not be blank.</source> + <target>Tato hodnota nesmà být prázdná.</target> + </trans-unit> + <trans-unit id="23"> + <source>This value should not be null.</source> + <target>Tato hodnota nesmà být null.</target> + </trans-unit> + <trans-unit id="24"> + <source>This value should be null.</source> + <target>Tato hodnota musà být null.</target> + </trans-unit> + <trans-unit id="25"> + <source>This value is not valid.</source> + <target>Tato hodnota nenà platná.</target> + </trans-unit> + <trans-unit id="26"> + <source>This value is not a valid time.</source> + <target>Tato hodnota nenà platný Äasový údaj.</target> + </trans-unit> + <trans-unit id="27"> + <source>This value is not a valid URL.</source> + <target>Tato hodnota nenà platná URL adresa.</target> + </trans-unit> + <trans-unit id="31"> + <source>The two values should be equal.</source> + <target>Tyto dvÄ› hodnoty musà být stejné.</target> + </trans-unit> + <trans-unit id="32"> + <source>The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>Soubor je pÅ™ÃliÅ¡ velký. Maximálnà povolená velikost souboru je {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="33"> + <source>The file is too large.</source> + <target>Soubor je pÅ™ÃliÅ¡ velký.</target> + </trans-unit> + <trans-unit id="34"> + <source>The file could not be uploaded.</source> + <target>Soubor se nepodaÅ™ilo nahrát.</target> + </trans-unit> + <trans-unit id="35"> + <source>This value should be a valid number.</source> + <target>Tato hodnota musà být ÄÃslo.</target> + </trans-unit> + <trans-unit id="36"> + <source>This file is not a valid image.</source> + <target>Tento soubor nenà obrázek.</target> + </trans-unit> + <trans-unit id="37"> + <source>This is not a valid IP address.</source> + <target>Toto nenà platná IP adresa.</target> + </trans-unit> + <trans-unit id="38"> + <source>This value is not a valid language.</source> + <target>Tento jazyk neexistuje.</target> + </trans-unit> + <trans-unit id="39"> + <source>This value is not a valid locale.</source> + <target>Tato lokalizace neexistuje.</target> + </trans-unit> + <trans-unit id="40"> + <source>This value is not a valid country.</source> + <target>Tato zemÄ› neexistuje.</target> + </trans-unit> + <trans-unit id="41"> + <source>This value is already used.</source> + <target>Tato hodnota je již použÃvána.</target> + </trans-unit> + <trans-unit id="42"> + <source>The size of the image could not be detected.</source> + <target>NepodaÅ™ily se zjistit rozmÄ›ry obrázku.</target> + </trans-unit> + <trans-unit id="43"> + <source>The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px.</source> + <target>Obrázek je pÅ™ÃliÅ¡ Å¡iroký ({{ width }}px). Maximálnà povolená Å¡ÃÅ™ka obrázku je {{ max_width }}px.</target> + </trans-unit> + <trans-unit id="44"> + <source>The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px.</source> + <target>Obrázek je pÅ™ÃliÅ¡ úzký ({{ width }}px). Minimálnà šÃÅ™ka musà být {{ min_width }}px.</target> + </trans-unit> + <trans-unit id="45"> + <source>The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px.</source> + <target>Obrázek je pÅ™ÃliÅ¡ vysoký ({{ height }}px). Maximálnà povolená výška obrázku je {{ max_height }}px.</target> + </trans-unit> + <trans-unit id="46"> + <source>The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px.</source> + <target>Obrázek je pÅ™ÃliÅ¡ nÃzký ({{ height }}px). Minimálnà výška obrázku musà být {{ min_height }}px.</target> + </trans-unit> + <trans-unit id="47"> + <source>This value should be the user's current password.</source> + <target>Tato hodnota musà být aktuálnà heslo uživatele.</target> + </trans-unit> + <trans-unit id="48"> + <source>This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters.</source> + <target>Tato hodnota musà mÃt pÅ™esnÄ› {{ limit }} znak.|Tato hodnota musà mÃt pÅ™esnÄ› {{ limit }} znaky.|Tato hodnota musà mÃt pÅ™esnÄ› {{ limit }} znaků.</target> + </trans-unit> + <trans-unit id="49"> + <source>The file was only partially uploaded.</source> + <target>Byla nahrána jen Äást souboru.</target> + </trans-unit> + <trans-unit id="50"> + <source>No file was uploaded.</source> + <target>Žádný soubor nebyl nahrán.</target> + </trans-unit> + <trans-unit id="51"> + <source>No temporary folder was configured in php.ini.</source> + <target>V php.ini nenà nastavena cesta k adresáři pro doÄasné soubory.</target> + </trans-unit> + <trans-unit id="52"> + <source>Cannot write temporary file to disk.</source> + <target>DoÄasný soubor se nepodaÅ™ilo zapsat na disk.</target> + </trans-unit> + <trans-unit id="53"> + <source>A PHP extension caused the upload to fail.</source> + <target>RozÅ¡ÃÅ™enà PHP zabránilo nahránà souboru.</target> + </trans-unit> + <trans-unit id="54"> + <source>This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more.</source> + <target>Tato kolekce musà obsahovat minimálnÄ› {{ limit }} prvek.|Tato kolekce musà obsahovat minimálnÄ› {{ limit }} prvky.|Tato kolekce musà obsahovat minimálnÄ› {{ limit }} prvků.</target> + </trans-unit> + <trans-unit id="55"> + <source>This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less.</source> + <target>Tato kolekce musà obsahovat maximálnÄ› {{ limit }} prvek.|Tato kolekce musà obsahovat maximálnÄ› {{ limit }} prvky.|Tato kolekce musà obsahovat maximálnÄ› {{ limit }} prvků.</target> + </trans-unit> + <trans-unit id="56"> + <source>This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements.</source> + <target>Tato kolekce musà obsahovat pÅ™esnÄ› {{ limit }} prvek.|Tato kolekce musà obsahovat pÅ™esnÄ› {{ limit }} prvky.|Tato kolekce musà obsahovat pÅ™esnÄ› {{ limit }} prvků.</target> + </trans-unit> + <trans-unit id="57"> + <source>Invalid card number.</source> + <target>Neplatné ÄÃslo karty.</target> + </trans-unit> + <trans-unit id="58"> + <source>Unsupported card type or invalid card number.</source> + <target>Nepodporovaný typ karty nebo neplatné ÄÃslo karty.</target> + </trans-unit> + <trans-unit id="59"> + <source>This is not a valid International Bank Account Number (IBAN).</source> + <target>Toto je neplatný IBAN.</target> + </trans-unit> + <trans-unit id="60"> + <source>This value is not a valid ISBN-10.</source> + <target>Tato hodnota nenà platné ISBN-10.</target> + </trans-unit> + <trans-unit id="61"> + <source>This value is not a valid ISBN-13.</source> + <target>Tato hodnota nenà platné ISBN-13.</target> + </trans-unit> + <trans-unit id="62"> + <source>This value is neither a valid ISBN-10 nor a valid ISBN-13.</source> + <target>Tato hodnota nenà platné ISBN-10 ani ISBN-13.</target> + </trans-unit> + <trans-unit id="63"> + <source>This value is not a valid ISSN.</source> + <target>Tato hodnota nenà platné ISSN.</target> + </trans-unit> + <trans-unit id="64"> + <source>This value is not a valid currency.</source> + <target>Tato mÄ›na neexistuje.</target> + </trans-unit> + <trans-unit id="65"> + <source>This value should be equal to {{ compared_value }}.</source> + <target>Tato hodnota musà být rovna {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="66"> + <source>This value should be greater than {{ compared_value }}.</source> + <target>Tato hodnota musà být vÄ›tÅ¡Ã než {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="67"> + <source>This value should be greater than or equal to {{ compared_value }}.</source> + <target>Tato hodnota musà být vÄ›tÅ¡Ã nebo rovna {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="68"> + <source>This value should be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>Tato hodnota musà být typu {{ compared_value_type }} a zároveň musà být rovna {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="69"> + <source>This value should be less than {{ compared_value }}.</source> + <target>Tato hodnota musà být menÅ¡Ã než {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="70"> + <source>This value should be less than or equal to {{ compared_value }}.</source> + <target>Tato hodnota musà být menÅ¡Ã nebo rovna {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="71"> + <source>This value should not be equal to {{ compared_value }}.</source> + <target>Tato hodnota nesmà být rovna {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="72"> + <source>This value should not be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>Tato hodnota nesmà být typu {{ compared_value_type }} a zároveň nesmà být rovna {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="73"> + <source>The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}.</source> + <target>PomÄ›r stran obrázku je pÅ™ÃliÅ¡ velký ({{ ratio }}). Maximálnà povolený pomÄ›r stran obrázku je {{ max_ratio }}.</target> + </trans-unit> + <trans-unit id="74"> + <source>The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}.</source> + <target>PomÄ›r stran obrázku je pÅ™ÃliÅ¡ malý ({{ ratio }}). Minimálnà povolený pomÄ›r stran obrázku je {{ min_ratio }}.</target> + </trans-unit> + <trans-unit id="75"> + <source>The image is square ({{ width }}x{{ height }}px). Square images are not allowed.</source> + <target>Strany obrázku jsou Ätvercové ({{ width }}x{{ height }}px). ÄŒtvercové obrázky nejsou povolené.</target> + </trans-unit> + <trans-unit id="76"> + <source>The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed.</source> + <target>Obrázek je orientovaný na Å¡ÃÅ™ku ({{ width }}x{{ height }}px). Obrázky orientované na Å¡ÃÅ™ku nejsou povolené.</target> + </trans-unit> + <trans-unit id="77"> + <source>The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed.</source> + <target>Obrázek je orientovaný na výšku ({{ width }}x{{ height }}px). Obrázky orientované na výšku nejsou povolené.</target> + </trans-unit> + <trans-unit id="78"> + <source>An empty file is not allowed.</source> + <target>Soubor nesmà být prázdný.</target> + </trans-unit> + </body> + </file> +</xliff> diff --git a/core/vendor/symfony/validator/Resources/translations/validators.cy.xlf b/core/vendor/symfony/validator/Resources/translations/validators.cy.xlf new file mode 100644 index 0000000000000000000000000000000000000000..da7cb9aab2986d8133ef0a76cf47095ddb8c1563 --- /dev/null +++ b/core/vendor/symfony/validator/Resources/translations/validators.cy.xlf @@ -0,0 +1,227 @@ +<?xml version="1.0"?> +<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2"> + <file source-language="en" datatype="plaintext" original="file.ext"> + <body> + <trans-unit id="1"> + <source>This value should be false.</source> + <target>Dylid bod y gwerth hwn yn ffug.</target> + </trans-unit> + <trans-unit id="2"> + <source>This value should be true.</source> + <target>Dylid bod y gwerth hwn yn wir.</target> + </trans-unit> + <trans-unit id="3"> + <source>This value should be of type {{ type }}.</source> + <target>Dylid bod y gwerth hwn bod o fath {{ type }}.</target> + </trans-unit> + <trans-unit id="4"> + <source>This value should be blank.</source> + <target>Dylid bod y gwerth hwn yn wag.</target> + </trans-unit> + <trans-unit id="5"> + <source>The value you selected is not a valid choice.</source> + <target>Nid yw'r gwerth â ddewiswyd yn ddilys.</target> + </trans-unit> + <trans-unit id="6"> + <source>You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices.</source> + <target>Rhaid dewis o leiaf {{ limit }} opsiwn.</target> + </trans-unit> + <trans-unit id="7"> + <source>You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices.</source> + <target>Rhaid dewis dim mwy na {{ limit }} opsiwn.</target> + </trans-unit> + <trans-unit id="8"> + <source>One or more of the given values is invalid.</source> + <target>Mae un neu fwy o'r gwerthoedd a roddwyd yn annilys.</target> + </trans-unit> + <trans-unit id="9"> + <source>This field was not expected.</source> + <target>Nid oedd disgwyl y maes hwn.</target> + </trans-unit> + <trans-unit id="10"> + <source>This field is missing.</source> + <target>Mae'r maes hwn ar goll.</target> + </trans-unit> + <trans-unit id="11"> + <source>This value is not a valid date.</source> + <target>Nid yw'r gwerth yn ddyddiad dilys.</target> + </trans-unit> + <trans-unit id="12"> + <source>This value is not a valid datetime.</source> + <target>Nid yw'r gwerth yn datetime dilys.</target> + </trans-unit> + <trans-unit id="13"> + <source>This value is not a valid email address.</source> + <target>Nid yw'r gwerth yn gyfeiriad ebost dilys.</target> + </trans-unit> + <trans-unit id="14"> + <source>The file could not be found.</source> + <target>Ni ddarganfyddwyd y ffeil.</target> + </trans-unit> + <trans-unit id="15"> + <source>The file is not readable.</source> + <target>Ni ellir darllen y ffeil.</target> + </trans-unit> + <trans-unit id="16"> + <source>The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>Mae'r ffeil yn rhy fawr ({{ size }} {{ suffix }}). Yr uchafswm â ganiateir yw {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="17"> + <source>The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}.</source> + <target>Nid yw math mime y ffeil yn ddilys ({{ type }}). Dyma'r mathau â ganiateir {{ types }}.</target> + </trans-unit> + <trans-unit id="18"> + <source>This value should be {{ limit }} or less.</source> + <target>Dylai'r gwerth hwn fod yn {{ limit }} neu lai.</target> + </trans-unit> + <trans-unit id="19"> + <source>This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less.</source> + <target>Mae'r gwerth hwn rhy hir. Dylai gynnwys {{ limit }} nodyn cyfrifiadurol neu lai.</target> + </trans-unit> + <trans-unit id="20"> + <source>This value should be {{ limit }} or more.</source> + <target>Dylai'r gwerth hwn fod yn {{ limit }} neu fwy.</target> + </trans-unit> + <trans-unit id="21"> + <source>This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more.</source> + <target>Mae'r gwerth hwn yn rhy fyr. Dylai gynnwys {{ limit }} nodyn cyfrifiadurol neu fwy.</target> + </trans-unit> + <trans-unit id="22"> + <source>This value should not be blank.</source> + <target>Ni ddylai'r gwerth hwn fod yn wag.</target> + </trans-unit> + <trans-unit id="23"> + <source>This value should not be null.</source> + <target>Ni ddylai'r gwerth hwn fod yn null.</target> + </trans-unit> + <trans-unit id="24"> + <source>This value should be null.</source> + <target>Dylai'r gwerth fod yn null.</target> + </trans-unit> + <trans-unit id="25"> + <source>This value is not valid.</source> + <target>Nid yw'r gwerth hwn yn ddilys.</target> + </trans-unit> + <trans-unit id="26"> + <source>This value is not a valid time.</source> + <target>Nid yw'r gwerth hwn yn amser dilys.</target> + </trans-unit> + <trans-unit id="27"> + <source>This value is not a valid URL.</source> + <target>Nid yw'r gwerth hwn yn URL dilys.</target> + </trans-unit> + <trans-unit id="31"> + <source>The two values should be equal.</source> + <target>Rhaid i'r ddau werth fod yn gyfystyr a'u gilydd.</target> + </trans-unit> + <trans-unit id="32"> + <source>The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>Mae'r ffeil yn rhy fawr. Yr uchafswm â ganiateir yw {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="33"> + <source>The file is too large.</source> + <target>Mae'r ffeil yn rhy fawr.</target> + </trans-unit> + <trans-unit id="34"> + <source>The file could not be uploaded.</source> + <target>Methwyd ag uwchlwytho'r ffeil.</target> + </trans-unit> + <trans-unit id="35"> + <source>This value should be a valid number.</source> + <target>Dylai'r gwerth hwn fod yn rif dilys.</target> + </trans-unit> + <trans-unit id="36"> + <source>This file is not a valid image.</source> + <target>Nid yw'r ffeil hon yn ddelwedd dilys.</target> + </trans-unit> + <trans-unit id="37"> + <source>This is not a valid IP address.</source> + <target>Nid yw hwn yn gyfeiriad IP dilys.</target> + </trans-unit> + <trans-unit id="38"> + <source>This value is not a valid language.</source> + <target>Nid yw'r gwerth hwn yn iaith ddilys.</target> + </trans-unit> + <trans-unit id="39"> + <source>This value is not a valid locale.</source> + <target>Nid yw'r gwerth hwn yn locale dilys.</target> + </trans-unit> + <trans-unit id="40"> + <source>This value is not a valid country.</source> + <target>Nid yw'r gwerth hwn yn wlad dilys.</target> + </trans-unit> + <trans-unit id="41"> + <source>This value is already used.</source> + <target>Mae'r gwerth hwn eisoes yn cael ei ddefnyddio.</target> + </trans-unit> + <trans-unit id="42"> + <source>The size of the image could not be detected.</source> + <target>Methwyd â darganfod maint y ddelwedd.</target> + </trans-unit> + <trans-unit id="43"> + <source>The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px.</source> + <target>Mae lled y ddelwedd yn rhy fawr ({{ width }}px). Y lled mwyaf â ganiateir yw {{ max_width }}px.</target> + </trans-unit> + <trans-unit id="44"> + <source>The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px.</source> + <target>Mae lled y ddelwedd yn rhy fach ({{ width }}px). Y lled lleiaf â ganiateir yw {{ min_width }}px.</target> + </trans-unit> + <trans-unit id="45"> + <source>The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px.</source> + <target>Mae uchder y ddelwedd yn rhy fawr ({{ width }}px). Yr uchder mwyaf â ganiateir yw {{ max_height }}px.</target> + </trans-unit> + <trans-unit id="46"> + <source>The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px.</source> + <target>Mae uchder y ddelwedd yn rhy fach ({{ width }}px). Yr uchder lleiaf â ganiateir yw {{ min_height }}px.</target> + </trans-unit> + <trans-unit id="47"> + <source>This value should be the user's current password.</source> + <target>Dylaid bod y gwerth hwn yn gyfrinair presenol y defnyddiwr.</target> + </trans-unit> + <trans-unit id="48"> + <source>This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters.</source> + <target>Dylai'r gwerth hwn fod yn union {{ limit }} nodyn cyfrifiadurol o hyd.</target> + </trans-unit> + <trans-unit id="49"> + <source>The file was only partially uploaded.</source> + <target>Dim ond rhan o'r ffeil ag uwchlwythwyd.</target> + </trans-unit> + <trans-unit id="50"> + <source>No file was uploaded.</source> + <target>Ni uwchlwythwyd unrhyw ffeil.</target> + </trans-unit> + <trans-unit id="51"> + <source>No temporary folder was configured in php.ini.</source> + <target>Nid oes ffolder dros-dro wedi'i gosod yn php.ini.</target> + </trans-unit> + <trans-unit id="52"> + <source>Cannot write temporary file to disk.</source> + <target>Methwyd ag ysgrifennu'r ffeil dros-dro ar ddisg.</target> + </trans-unit> + <trans-unit id="53"> + <source>A PHP extension caused the upload to fail.</source> + <target>Methwyd ag uwchlwytho oherwydd ategyn PHP.</target> + </trans-unit> + <trans-unit id="54"> + <source>This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more.</source> + <target>Dylai'r casgliad hwn gynnwys {{ limit }} elfen neu fwy.</target> + </trans-unit> + <trans-unit id="55"> + <source>This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less.</source> + <target>Dylai'r casgliad hwn gynnwys {{ limit }} elfen neu lai.</target> + </trans-unit> + <trans-unit id="56"> + <source>This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements.</source> + <target>Dylai'r casgliad hwn gynnwys union {{ limit }} elfen.</target> + </trans-unit> + <trans-unit id="57"> + <source>Invalid card number.</source> + <target>Nid oedd rhif y cerdyn yn ddilys.</target> + </trans-unit> + <trans-unit id="58"> + <source>Unsupported card type or invalid card number.</source> + <target>Unai ni dderbynir y math yna o gerdyn, neu nid yw rhif y cerdyn yn ddilys.</target> + </trans-unit> + </body> + </file> +</xliff> diff --git a/core/vendor/symfony/validator/Resources/translations/validators.da.xlf b/core/vendor/symfony/validator/Resources/translations/validators.da.xlf new file mode 100644 index 0000000000000000000000000000000000000000..14e479a59ad0773329f62149b1722324a90a8047 --- /dev/null +++ b/core/vendor/symfony/validator/Resources/translations/validators.da.xlf @@ -0,0 +1,247 @@ +<?xml version="1.0"?> +<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2"> + <file source-language="en" datatype="plaintext" original="file.ext"> + <body> + <trans-unit id="1"> + <source>This value should be false.</source> + <target>Værdien skal være falsk.</target> + </trans-unit> + <trans-unit id="2"> + <source>This value should be true.</source> + <target>Værdien skal være sand.</target> + </trans-unit> + <trans-unit id="3"> + <source>This value should be of type {{ type }}.</source> + <target>Værdien skal være af typen {{ type }}.</target> + </trans-unit> + <trans-unit id="4"> + <source>This value should be blank.</source> + <target>Værdien skal være blank.</target> + </trans-unit> + <trans-unit id="5"> + <source>The value you selected is not a valid choice.</source> + <target>Værdien skal være en af de givne muligheder.</target> + </trans-unit> + <trans-unit id="6"> + <source>You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices.</source> + <target>Du skal vælge mindst {{ limit }} muligheder.</target> + </trans-unit> + <trans-unit id="7"> + <source>You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices.</source> + <target>Du kan højest vælge {{ limit }} muligheder.</target> + </trans-unit> + <trans-unit id="8"> + <source>One or more of the given values is invalid.</source> + <target>En eller flere af de oplyste værdier er ugyldige.</target> + </trans-unit> + <trans-unit id="9"> + <source>This field was not expected.</source> + <target>Feltet blev ikke forventet.</target> + </trans-unit> + <trans-unit id="10"> + <source>This field is missing.</source> + <target>Dette felt er mangler.</target> + </trans-unit> + <trans-unit id="11"> + <source>This value is not a valid date.</source> + <target>Værdien er ikke en gyldig dato.</target> + </trans-unit> + <trans-unit id="12"> + <source>This value is not a valid datetime.</source> + <target>Værdien er ikke en gyldig dato og tid.</target> + </trans-unit> + <trans-unit id="13"> + <source>This value is not a valid email address.</source> + <target>Værdien er ikke en gyldig e-mail adresse.</target> + </trans-unit> + <trans-unit id="14"> + <source>The file could not be found.</source> + <target>Filen kunne ikke findes.</target> + </trans-unit> + <trans-unit id="15"> + <source>The file is not readable.</source> + <target>Filen kan ikke læses.</target> + </trans-unit> + <trans-unit id="16"> + <source>The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>Filen er for stor ({{ size }} {{ suffix }}). Tilladte maksimale størrelse {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="17"> + <source>The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}.</source> + <target>Mimetypen af filen er ugyldig ({{ type }}). Tilladte mimetyper er {{ types }}.</target> + </trans-unit> + <trans-unit id="18"> + <source>This value should be {{ limit }} or less.</source> + <target>Værdien skal være {{ limit }} eller mindre.</target> + </trans-unit> + <trans-unit id="19"> + <source>This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less.</source> + <target>Værdien er for lang. Den skal have {{ limit }} bogstaver eller mindre.</target> + </trans-unit> + <trans-unit id="20"> + <source>This value should be {{ limit }} or more.</source> + <target>Værdien skal være {{ limit }} eller mere.</target> + </trans-unit> + <trans-unit id="21"> + <source>This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more.</source> + <target>Værdien er for kort. Den skal have {{ limit }} tegn eller flere.</target> + </trans-unit> + <trans-unit id="22"> + <source>This value should not be blank.</source> + <target>Værdien mÃ¥ ikke være blank.</target> + </trans-unit> + <trans-unit id="23"> + <source>This value should not be null.</source> + <target>Værdien mÃ¥ ikke være tom (null).</target> + </trans-unit> + <trans-unit id="24"> + <source>This value should be null.</source> + <target>Værdien skal være tom (null).</target> + </trans-unit> + <trans-unit id="25"> + <source>This value is not valid.</source> + <target>Værdien er ikke gyldig.</target> + </trans-unit> + <trans-unit id="26"> + <source>This value is not a valid time.</source> + <target>Værdien er ikke en gyldig tid.</target> + </trans-unit> + <trans-unit id="27"> + <source>This value is not a valid URL.</source> + <target>Værdien er ikke en gyldig URL.</target> + </trans-unit> + <trans-unit id="31"> + <source>The two values should be equal.</source> + <target>De to værdier skal være ens.</target> + </trans-unit> + <trans-unit id="32"> + <source>The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>Filen er for stor. Den maksimale størrelse er {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="33"> + <source>The file is too large.</source> + <target>Filen er for stor.</target> + </trans-unit> + <trans-unit id="34"> + <source>The file could not be uploaded.</source> + <target>Filen kunne ikke blive uploadet.</target> + </trans-unit> + <trans-unit id="35"> + <source>This value should be a valid number.</source> + <target>Værdien skal være et gyldigt tal.</target> + </trans-unit> + <trans-unit id="36"> + <source>This file is not a valid image.</source> + <target>Filen er ikke gyldigt billede.</target> + </trans-unit> + <trans-unit id="37"> + <source>This is not a valid IP address.</source> + <target>Dette er ikke en gyldig IP adresse.</target> + </trans-unit> + <trans-unit id="38"> + <source>This value is not a valid language.</source> + <target>Værdien er ikke et gyldigt sprog.</target> + </trans-unit> + <trans-unit id="39"> + <source>This value is not a valid locale.</source> + <target>Værdien er ikke en gyldig lokalitet.</target> + </trans-unit> + <trans-unit id="40"> + <source>This value is not a valid country.</source> + <target>Værdien er ikke et gyldigt land.</target> + </trans-unit> + <trans-unit id="41"> + <source>This value is already used.</source> + <target>Værdien er allerede i brug.</target> + </trans-unit> + <trans-unit id="42"> + <source>The size of the image could not be detected.</source> + <target>Størrelsen pÃ¥ billedet kunne ikke detekteres.</target> + </trans-unit> + <trans-unit id="43"> + <source>The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px.</source> + <target>Billedbredden er for stor ({{ width }}px). Tilladt maksimumsbredde er {{ max_width }}px.</target> + </trans-unit> + <trans-unit id="44"> + <source>The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px.</source> + <target>Billedebredden er for lille ({{ width }}px). Forventet minimumshøjde er {{ min_width }}px.</target> + </trans-unit> + <trans-unit id="45"> + <source>The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px.</source> + <target>Billedhøjden er for stor ({{ height }}px). Tilladt maksimumshøjde er {{ max_height }}px.</target> + </trans-unit> + <trans-unit id="46"> + <source>The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px.</source> + <target>Billedhøjden er for lille ({{ height }}px). Forventet minimumshøjde er {{ min_height }}px.</target> + </trans-unit> + <trans-unit id="47"> + <source>This value should be the user's current password.</source> + <target>Værdien skal være brugerens nuværende password.</target> + </trans-unit> + <trans-unit id="48"> + <source>This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters.</source> + <target>Værdien skal have præcis {{ limit }} tegn.</target> + </trans-unit> + <trans-unit id="49"> + <source>The file was only partially uploaded.</source> + <target>Filen var kun delvis uploadet.</target> + </trans-unit> + <trans-unit id="50"> + <source>No file was uploaded.</source> + <target>Ingen fil blev uploadet.</target> + </trans-unit> + <trans-unit id="51"> + <source>No temporary folder was configured in php.ini.</source> + <target>Ingen midlertidig mappe er konfigureret i php.ini.</target> + </trans-unit> + <trans-unit id="52"> + <source>Cannot write temporary file to disk.</source> + <target>Kan ikke skrive midlertidig fil til disk.</target> + </trans-unit> + <trans-unit id="53"> + <source>A PHP extension caused the upload to fail.</source> + <target>En PHP udvidelse forÃ¥rsagede fejl i upload.</target> + </trans-unit> + <trans-unit id="54"> + <source>This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more.</source> + <target>Denne samling skal indeholde {{ limit }} element eller flere.|Denne samling skal indeholde {{ limit }} elementer eller flere.</target> + </trans-unit> + <trans-unit id="55"> + <source>This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less.</source> + <target>Denne samling skal indeholde {{ limit }} element eller mindre.|Denne samling skal indeholde {{ limit }} elementer eller mindre.</target> + </trans-unit> + <trans-unit id="56"> + <source>This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements.</source> + <target>Denne samling skal indeholde præcis {{ limit }} element.|Denne samling skal indeholde præcis {{ limit }} elementer.</target> + </trans-unit> + <trans-unit id="57"> + <source>Invalid card number.</source> + <target>Ugyldigt kortnummer.</target> + </trans-unit> + <trans-unit id="58"> + <source>Unsupported card type or invalid card number.</source> + <target>Ikke-understøttet korttype eller ugyldigt kortnummer.</target> + </trans-unit> + <trans-unit id="59"> + <source>This is not a valid International Bank Account Number (IBAN).</source> + <target>Det er ikke en gyldig International Bank Account Number (IBAN).</target> + </trans-unit> + <trans-unit id="60"> + <source>This value is not a valid ISBN-10.</source> + <target>Værdien er ikke en gyldig ISBN-10.</target> + </trans-unit> + <trans-unit id="61"> + <source>This value is not a valid ISBN-13.</source> + <target>Værdien er ikke en gyldig ISBN-13.</target> + </trans-unit> + <trans-unit id="62"> + <source>This value is neither a valid ISBN-10 nor a valid ISBN-13.</source> + <target>Værdien er hverken en gyldig ISBN-10 eller en gyldig ISBN-13.</target> + </trans-unit> + <trans-unit id="63"> + <source>This value is not a valid ISSN.</source> + <target>Værdien er ikke en gyldig ISSN.</target> + </trans-unit> + </body> + </file> +</xliff> diff --git a/core/vendor/symfony/validator/Resources/translations/validators.de.xlf b/core/vendor/symfony/validator/Resources/translations/validators.de.xlf new file mode 100644 index 0000000000000000000000000000000000000000..c79cb940314c1d83a29293c9b505dcc252d6c6cf --- /dev/null +++ b/core/vendor/symfony/validator/Resources/translations/validators.de.xlf @@ -0,0 +1,315 @@ +<?xml version="1.0"?> +<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2"> + <file source-language="en" datatype="plaintext" original="file.ext"> + <body> + <trans-unit id="1"> + <source>This value should be false.</source> + <target>Dieser Wert sollte false sein.</target> + </trans-unit> + <trans-unit id="2"> + <source>This value should be true.</source> + <target>Dieser Wert sollte true sein.</target> + </trans-unit> + <trans-unit id="3"> + <source>This value should be of type {{ type }}.</source> + <target>Dieser Wert sollte vom Typ {{ type }} sein.</target> + </trans-unit> + <trans-unit id="4"> + <source>This value should be blank.</source> + <target>Dieser Wert sollte leer sein.</target> + </trans-unit> + <trans-unit id="5"> + <source>The value you selected is not a valid choice.</source> + <target>Sie haben einen ungültigen Wert ausgewählt.</target> + </trans-unit> + <trans-unit id="6"> + <source>You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices.</source> + <target>Sie müssen mindestens {{ limit }} Möglichkeit wählen.|Sie müssen mindestens {{ limit }} Möglichkeiten wählen.</target> + </trans-unit> + <trans-unit id="7"> + <source>You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices.</source> + <target>Sie dürfen höchstens {{ limit }} Möglichkeit wählen.|Sie dürfen höchstens {{ limit }} Möglichkeiten wählen.</target> + </trans-unit> + <trans-unit id="8"> + <source>One or more of the given values is invalid.</source> + <target>Einer oder mehrere der angegebenen Werte sind ungültig.</target> + </trans-unit> + <trans-unit id="9"> + <source>This field was not expected.</source> + <target>Dieses Feld wurde nicht erwartet.</target> + </trans-unit> + <trans-unit id="10"> + <source>This field is missing.</source> + <target>Dieses Feld fehlt.</target> + </trans-unit> + <trans-unit id="11"> + <source>This value is not a valid date.</source> + <target>Dieser Wert entspricht keiner gültigen Datumsangabe.</target> + </trans-unit> + <trans-unit id="12"> + <source>This value is not a valid datetime.</source> + <target>Dieser Wert entspricht keiner gültigen Datums- und Zeitangabe.</target> + </trans-unit> + <trans-unit id="13"> + <source>This value is not a valid email address.</source> + <target>Dieser Wert ist keine gültige E-Mail-Adresse.</target> + </trans-unit> + <trans-unit id="14"> + <source>The file could not be found.</source> + <target>Die Datei wurde nicht gefunden.</target> + </trans-unit> + <trans-unit id="15"> + <source>The file is not readable.</source> + <target>Die Datei ist nicht lesbar.</target> + </trans-unit> + <trans-unit id="16"> + <source>The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>Die Datei ist zu groß ({{ size }} {{ suffix }}). Die maximal zulässige Größe beträgt {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="17"> + <source>The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}.</source> + <target>Der Dateityp ist ungültig ({{ type }}). Erlaubte Dateitypen sind {{ types }}.</target> + </trans-unit> + <trans-unit id="18"> + <source>This value should be {{ limit }} or less.</source> + <target>Dieser Wert sollte kleiner oder gleich {{ limit }} sein.</target> + </trans-unit> + <trans-unit id="19"> + <source>This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less.</source> + <target>Diese Zeichenkette ist zu lang. Sie sollte höchstens {{ limit }} Zeichen haben.|Diese Zeichenkette ist zu lang. Sie sollte höchstens {{ limit }} Zeichen haben.</target> + </trans-unit> + <trans-unit id="20"> + <source>This value should be {{ limit }} or more.</source> + <target>Dieser Wert sollte größer oder gleich {{ limit }} sein.</target> + </trans-unit> + <trans-unit id="21"> + <source>This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more.</source> + <target>Diese Zeichenkette ist zu kurz. Sie sollte mindestens {{ limit }} Zeichen haben.|Diese Zeichenkette ist zu kurz. Sie sollte mindestens {{ limit }} Zeichen haben.</target> + </trans-unit> + <trans-unit id="22"> + <source>This value should not be blank.</source> + <target>Dieser Wert sollte nicht leer sein.</target> + </trans-unit> + <trans-unit id="23"> + <source>This value should not be null.</source> + <target>Dieser Wert sollte nicht null sein.</target> + </trans-unit> + <trans-unit id="24"> + <source>This value should be null.</source> + <target>Dieser Wert sollte null sein.</target> + </trans-unit> + <trans-unit id="25"> + <source>This value is not valid.</source> + <target>Dieser Wert ist nicht gültig.</target> + </trans-unit> + <trans-unit id="26"> + <source>This value is not a valid time.</source> + <target>Dieser Wert entspricht keiner gültigen Zeitangabe.</target> + </trans-unit> + <trans-unit id="27"> + <source>This value is not a valid URL.</source> + <target>Dieser Wert ist keine gültige URL.</target> + </trans-unit> + <trans-unit id="31"> + <source>The two values should be equal.</source> + <target>Die beiden Werte sollten identisch sein.</target> + </trans-unit> + <trans-unit id="32"> + <source>The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>Die Datei ist zu groß. Die maximal zulässige Größe beträgt {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="33"> + <source>The file is too large.</source> + <target>Die Datei ist zu groß.</target> + </trans-unit> + <trans-unit id="34"> + <source>The file could not be uploaded.</source> + <target>Die Datei konnte nicht hochgeladen werden.</target> + </trans-unit> + <trans-unit id="35"> + <source>This value should be a valid number.</source> + <target>Dieser Wert sollte eine gültige Zahl sein.</target> + </trans-unit> + <trans-unit id="36"> + <source>This file is not a valid image.</source> + <target>Diese Datei ist kein gültiges Bild.</target> + </trans-unit> + <trans-unit id="37"> + <source>This is not a valid IP address.</source> + <target>Dies ist keine gültige IP-Adresse.</target> + </trans-unit> + <trans-unit id="38"> + <source>This value is not a valid language.</source> + <target>Dieser Wert entspricht keiner gültigen Sprache.</target> + </trans-unit> + <trans-unit id="39"> + <source>This value is not a valid locale.</source> + <target>Dieser Wert entspricht keinem gültigen Gebietsschema.</target> + </trans-unit> + <trans-unit id="40"> + <source>This value is not a valid country.</source> + <target>Dieser Wert entspricht keinem gültigen Land.</target> + </trans-unit> + <trans-unit id="41"> + <source>This value is already used.</source> + <target>Dieser Wert wird bereits verwendet.</target> + </trans-unit> + <trans-unit id="42"> + <source>The size of the image could not be detected.</source> + <target>Die Größe des Bildes konnte nicht ermittelt werden.</target> + </trans-unit> + <trans-unit id="43"> + <source>The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px.</source> + <target>Die Bildbreite ist zu groß ({{ width }}px). Die maximal zulässige Breite beträgt {{ max_width }}px.</target> + </trans-unit> + <trans-unit id="44"> + <source>The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px.</source> + <target>Die Bildbreite ist zu gering ({{ width }}px). Die erwartete Mindestbreite beträgt {{ min_width }}px.</target> + </trans-unit> + <trans-unit id="45"> + <source>The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px.</source> + <target>Die Bildhöhe ist zu groß ({{ height }}px). Die maximal zulässige Höhe beträgt {{ max_height }}px.</target> + </trans-unit> + <trans-unit id="46"> + <source>The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px.</source> + <target>Die Bildhöhe ist zu gering ({{ height }}px). Die erwartete Mindesthöhe beträgt {{ min_height }}px.</target> + </trans-unit> + <trans-unit id="47"> + <source>This value should be the user's current password.</source> + <target>Dieser Wert sollte dem aktuellen Benutzerpasswort entsprechen.</target> + </trans-unit> + <trans-unit id="48"> + <source>This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters.</source> + <target>Dieser Wert sollte genau {{ limit }} Zeichen lang sein.|Dieser Wert sollte genau {{ limit }} Zeichen lang sein.</target> + </trans-unit> + <trans-unit id="49"> + <source>The file was only partially uploaded.</source> + <target>Die Datei wurde nur teilweise hochgeladen.</target> + </trans-unit> + <trans-unit id="50"> + <source>No file was uploaded.</source> + <target>Es wurde keine Datei hochgeladen.</target> + </trans-unit> + <trans-unit id="51"> + <source>No temporary folder was configured in php.ini.</source> + <target>Es wurde kein temporärer Ordner in der php.ini konfiguriert.</target> + </trans-unit> + <trans-unit id="52"> + <source>Cannot write temporary file to disk.</source> + <target>Kann die temporäre Datei nicht speichern.</target> + </trans-unit> + <trans-unit id="53"> + <source>A PHP extension caused the upload to fail.</source> + <target>Eine PHP-Erweiterung verhinderte den Upload.</target> + </trans-unit> + <trans-unit id="54"> + <source>This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more.</source> + <target>Diese Sammlung sollte {{ limit }} oder mehr Elemente beinhalten.|Diese Sammlung sollte {{ limit }} oder mehr Elemente beinhalten.</target> + </trans-unit> + <trans-unit id="55"> + <source>This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less.</source> + <target>Diese Sammlung sollte {{ limit }} oder weniger Elemente beinhalten.|Diese Sammlung sollte {{ limit }} oder weniger Elemente beinhalten.</target> + </trans-unit> + <trans-unit id="56"> + <source>This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements.</source> + <target>Diese Sammlung sollte genau {{ limit }} Element beinhalten.|Diese Sammlung sollte genau {{ limit }} Elemente beinhalten.</target> + </trans-unit> + <trans-unit id="57"> + <source>Invalid card number.</source> + <target>Ungültige Kartennummer.</target> + </trans-unit> + <trans-unit id="58"> + <source>Unsupported card type or invalid card number.</source> + <target>Nicht unterstützer Kartentyp oder ungültige Kartennummer.</target> + </trans-unit> + <trans-unit id="59"> + <source>This is not a valid International Bank Account Number (IBAN).</source> + <target>Dieser Wert ist keine gültige IBAN-Kontonummer.</target> + </trans-unit> + <trans-unit id="60"> + <source>This value is not a valid ISBN-10.</source> + <target>Dieser Wert entspricht keiner gültigen ISBN-10.</target> + </trans-unit> + <trans-unit id="61"> + <source>This value is not a valid ISBN-13.</source> + <target>Dieser Wert entspricht keiner gültigen ISBN-13.</target> + </trans-unit> + <trans-unit id="62"> + <source>This value is neither a valid ISBN-10 nor a valid ISBN-13.</source> + <target>Dieser Wert ist weder eine gültige ISBN-10 noch eine gültige ISBN-13.</target> + </trans-unit> + <trans-unit id="63"> + <source>This value is not a valid ISSN.</source> + <target>Dieser Wert ist keine gültige ISSN.</target> + </trans-unit> + <trans-unit id="64"> + <source>This value is not a valid currency.</source> + <target>Dieser Wert ist keine gültige Währung.</target> + </trans-unit> + <trans-unit id="65"> + <source>This value should be equal to {{ compared_value }}.</source> + <target>Dieser Wert sollte gleich {{ compared_value }} sein.</target> + </trans-unit> + <trans-unit id="66"> + <source>This value should be greater than {{ compared_value }}.</source> + <target>Dieser Wert sollte größer als {{ compared_value }} sein.</target> + </trans-unit> + <trans-unit id="67"> + <source>This value should be greater than or equal to {{ compared_value }}.</source> + <target>Dieser Wert sollte größer oder gleich {{ compared_value }} sein.</target> + </trans-unit> + <trans-unit id="68"> + <source>This value should be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>Dieser Wert sollte identisch sein mit {{ compared_value_type }} {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="69"> + <source>This value should be less than {{ compared_value }}.</source> + <target>Dieser Wert sollte kleiner als {{ compared_value }} sein.</target> + </trans-unit> + <trans-unit id="70"> + <source>This value should be less than or equal to {{ compared_value }}.</source> + <target>Dieser Wert sollte kleiner oder gleich {{ compared_value }} sein.</target> + </trans-unit> + <trans-unit id="71"> + <source>This value should not be equal to {{ compared_value }}.</source> + <target>Dieser Wert sollte nicht {{ compared_value }} sein.</target> + </trans-unit> + <trans-unit id="72"> + <source>This value should not be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>Dieser Wert sollte nicht identisch sein mit {{ compared_value_type }} {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="73"> + <source>The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}.</source> + <target>Das Seitenverhältnis des Bildes ist zu groß ({{ ratio }}). Der erlaubte Maximalwert ist {{ max_ratio }}.</target> + </trans-unit> + <trans-unit id="74"> + <source>The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}.</source> + <target>Das Seitenverhältnis des Bildes ist zu klein ({{ ratio }}). Der erwartete Minimalwert ist {{ min_ratio }}.</target> + </trans-unit> + <trans-unit id="75"> + <source>The image is square ({{ width }}x{{ height }}px). Square images are not allowed.</source> + <target>Das Bild ist quadratisch ({{ width }}x{{ height }}px). Quadratische Bilder sind nicht erlaubt.</target> + </trans-unit> + <trans-unit id="76"> + <source>The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed.</source> + <target>Das Bild ist im Querformat ({{ width }}x{{ height }}px). Bilder im Querformat sind nicht erlaubt.</target> + </trans-unit> + <trans-unit id="77"> + <source>The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed.</source> + <target>Das Bild ist im Hochformat ({{ width }}x{{ height }}px). Bilder im Hochformat sind nicht erlaubt.</target> + </trans-unit> + <trans-unit id="78"> + <source>An empty file is not allowed.</source> + <target>Eine leere Datei ist nicht erlaubt.</target> + </trans-unit> + <trans-unit id="79"> + <source>The host could not be resolved.</source> + <target>Der Hostname konnte nicht aufgelöst werden.</target> + </trans-unit> + <trans-unit id="80"> + <source>This value does not match the expected {{ charset }} charset.</source> + <target>Dieser Wert entspricht nicht dem erwarteten Zeichensatz {{ charset }}.</target> + </trans-unit> + </body> + </file> +</xliff> diff --git a/core/vendor/symfony/validator/Resources/translations/validators.el.xlf b/core/vendor/symfony/validator/Resources/translations/validators.el.xlf new file mode 100644 index 0000000000000000000000000000000000000000..4fa0d422205007b99b5c2c1bd993ffad00647b50 --- /dev/null +++ b/core/vendor/symfony/validator/Resources/translations/validators.el.xlf @@ -0,0 +1,283 @@ +<?xml version="1.0"?> +<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2"> + <file source-language="en" datatype="plaintext" original="file.ext"> + <body> + <trans-unit id="1"> + <source>This value should be false.</source> + <target>Αυτή η τιμή Ï€ÏÎπει να είναι ψευδής.</target> + </trans-unit> + <trans-unit id="2"> + <source>This value should be true.</source> + <target>Αυτή η τιμή Ï€ÏÎπει να είναι αληθής.</target> + </trans-unit> + <trans-unit id="3"> + <source>This value should be of type {{ type }}.</source> + <target>Αυτή η τιμή Ï€ÏÎπει να είναι Ï„Ïπου {{ type }}.</target> + </trans-unit> + <trans-unit id="4"> + <source>This value should be blank.</source> + <target>Αυτή η τιμή Ï€ÏÎπει να είναι κενή.</target> + </trans-unit> + <trans-unit id="5"> + <source>The value you selected is not a valid choice.</source> + <target>Η τιμή που επιλÎχθηκε δεν αντιστοιχεί σε ÎγκυÏη επιλογή.</target> + </trans-unit> + <trans-unit id="6"> + <source>You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices.</source> + <target>Î ÏÎπει να επιλÎξετε τουλάχιστον {{ limit }} επιλογή.|Î ÏÎπει να επιλÎξετε τουλάχιστον {{ limit }} επιλογÎÏ‚.</target> + </trans-unit> + <trans-unit id="7"> + <source>You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices.</source> + <target>Î ÏÎπει να επιλÎξετε το Ï€Î¿Î»Ï {{ limit }} επιλογή.|Î ÏÎπει να επιλÎξετε το Ï€Î¿Î»Ï {{ limit }} επιλογÎÏ‚.</target> + </trans-unit> + <trans-unit id="8"> + <source>One or more of the given values is invalid.</source> + <target>Μια ή πεÏισσότεÏες τιμÎÏ‚ δεν είναι ÎγκυÏες.</target> + </trans-unit> + <trans-unit id="9"> + <source>This field was not expected.</source> + <target>Αυτό το πεδίο δεν ήταν αναμενόμενο.</target> + </trans-unit> + <trans-unit id="10"> + <source>This field is missing.</source> + <target>Λείπει αυτό το πεδίο.</target> + </trans-unit> + <trans-unit id="11"> + <source>This value is not a valid date.</source> + <target>Η τιμή δεν αντιστοιχεί σε ÎγκυÏη ημεÏομηνία.</target> + </trans-unit> + <trans-unit id="12"> + <source>This value is not a valid datetime.</source> + <target>Η τιμή δεν αντιστοιχεί σε ÎγκυÏη ημεÏομηνία και ÏŽÏα.</target> + </trans-unit> + <trans-unit id="13"> + <source>This value is not a valid email address.</source> + <target>Η τιμή δεν αντιστοιχεί σε ÎγκυÏο email.</target> + </trans-unit> + <trans-unit id="14"> + <source>The file could not be found.</source> + <target>Το αÏχείο δε μποÏεί να βÏεθεί.</target> + </trans-unit> + <trans-unit id="15"> + <source>The file is not readable.</source> + <target>Το αÏχείο δεν είναι αναγνώσιμο.</target> + </trans-unit> + <trans-unit id="16"> + <source>The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>Το αÏχείο είναι Ï€Î¿Î»Ï Î¼ÎµÎ³Î¬Î»Î¿ ({{ size }} {{ suffix }}). Το μÎγιστο επιτÏεπτό μÎγεθος είναι {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="17"> + <source>The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}.</source> + <target>Ο Ï„Ïπος mime του αÏχείου δεν είναι ÎγκυÏος ({{ type }}). Οι ÎγκÏυοι Ï„Ïποι mime είναι {{ types }}.</target> + </trans-unit> + <trans-unit id="18"> + <source>This value should be {{ limit }} or less.</source> + <target>Αυτή η τιμή θα ÎÏ€Ïεπε να είναι {{ limit }} ή λιγότεÏο.</target> + </trans-unit> + <trans-unit id="19"> + <source>This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less.</source> + <target>Αυτή η τιμή είναι Ï€Î¿Î»Ï Î¼ÎµÎ³Î¬Î»Î·. Θα ÎÏ€Ïεπε να Îχει {{ limit }} χαÏακτήÏα ή λιγότεÏο.|Αυτή η τιμή είναι Ï€Î¿Î»Ï Î¼ÎµÎ³Î¬Î»Î·. Θα ÎÏ€Ïεπε να Îχει {{ limit }} χαÏακτήÏες ή λιγότεÏο.</target> + </trans-unit> + <trans-unit id="20"> + <source>This value should be {{ limit }} or more.</source> + <target>Αυτή η τιμή θα ÎÏ€Ïεπε να είναι {{ limit }} ή πεÏισσότεÏο.</target> + </trans-unit> + <trans-unit id="21"> + <source>This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more.</source> + <target>Αυτή η τιμή είναι Ï€Î¿Î»Ï Î¼Î¹ÎºÏή. Θα ÎÏ€Ïεπε να Îχει {{ limit }} χαÏακτήÏα ή πεÏισσότεÏο.|Αυτή η τιμή είναι Ï€Î¿Î»Ï Î¼Î¹ÎºÏή. Θα ÎÏ€Ïεπε να Îχει {{ limit }} χαÏακτήÏες ή πεÏισσότεÏο.</target> + </trans-unit> + <trans-unit id="22"> + <source>This value should not be blank.</source> + <target>Αυτή η τιμή δεν Ï€ÏÎπει να είναι κενή.</target> + </trans-unit> + <trans-unit id="23"> + <source>This value should not be null.</source> + <target>Αυτή η τιμή δεν Ï€ÏÎπει να είναι μηδενική.</target> + </trans-unit> + <trans-unit id="24"> + <source>This value should be null.</source> + <target>Αυτή η τιμή Ï€ÏÎπει να είναι μηδενική.</target> + </trans-unit> + <trans-unit id="25"> + <source>This value is not valid.</source> + <target>Αυτή η τιμή δεν είναι ÎκγυÏη.</target> + </trans-unit> + <trans-unit id="26"> + <source>This value is not a valid time.</source> + <target>Αυτή η τιμή δεν αντιστοιχεί σε ÎγκυÏη ÏŽÏα.</target> + </trans-unit> + <trans-unit id="27"> + <source>This value is not a valid URL.</source> + <target>Αυτή η τιμή δεν αντιστοιχεί σε ÎγκυÏο URL.</target> + </trans-unit> + <trans-unit id="31"> + <source>The two values should be equal.</source> + <target>Οι δÏο τιμÎÏ‚ θα Ï€ÏÎπει να είναι ίδιες.</target> + </trans-unit> + <trans-unit id="32"> + <source>The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>Το αÏχείο είναι Ï€Î¿Î»Ï Î¼ÎµÎ³Î¬Î»Î¿. Το μÎγιστο επιτÏεπτό μÎγεθος είναι {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="33"> + <source>The file is too large.</source> + <target>Το αÏχείο είναι Ï€Î¿Î»Ï Î¼ÎµÎ³Î¬Î»Î¿.</target> + </trans-unit> + <trans-unit id="34"> + <source>The file could not be uploaded.</source> + <target>Το αÏχείο δε μποÏεί να ανÎβει.</target> + </trans-unit> + <trans-unit id="35"> + <source>This value should be a valid number.</source> + <target>Αυτή η τιμή θα Ï€ÏÎπει να είναι Îνας ÎγκυÏος αÏιθμός.</target> + </trans-unit> + <trans-unit id="36"> + <source>This file is not a valid image.</source> + <target>Το αÏχείο δεν αποτελεί ÎγκυÏη εικόνα.</target> + </trans-unit> + <trans-unit id="37"> + <source>This is not a valid IP address.</source> + <target>Αυτό δεν είναι μια ÎκγυÏη διεÏθυνση IP.</target> + </trans-unit> + <trans-unit id="38"> + <source>This value is not a valid language.</source> + <target>Αυτή η τιμή δεν αντιστοιχεί σε μια ÎκγυÏη γλώσσα.</target> + </trans-unit> + <trans-unit id="39"> + <source>This value is not a valid locale.</source> + <target>Αυτή η τιμή δεν αντιστοιχεί σε ÎκγυÏο κωδικό τοποθεσίας.</target> + </trans-unit> + <trans-unit id="40"> + <source>This value is not a valid country.</source> + <target>Αυτή η τιμή δεν αντιστοιχεί σε μια ÎκγυÏη χώÏα.</target> + </trans-unit> + <trans-unit id="41"> + <source>This value is already used.</source> + <target>Αυτή η τιμή χÏησιμοποιείται ήδη.</target> + </trans-unit> + <trans-unit id="42"> + <source>The size of the image could not be detected.</source> + <target>Το μÎγεθος της εικόνας δεν ήταν δυνατό να ανιχνευθεί.</target> + </trans-unit> + <trans-unit id="43"> + <source>The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px.</source> + <target>Το πλάτος της εικόνας είναι Ï€Î¿Î»Ï Î¼ÎµÎ³Î¬Î»Î¿ ({{ width }}px). Το μÎγιστο επιτÏεπτό πλάτος είναι {{ max_width }}px.</target> + </trans-unit> + <trans-unit id="44"> + <source>The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px.</source> + <target>Το πλάτος της εικόνας είναι Ï€Î¿Î»Ï Î¼Î¹ÎºÏÏŒ ({{ width }}px). Το ελάχιστο επιτÏεπτό πλάτος είναι {{ min_width }}px.</target> + </trans-unit> + <trans-unit id="45"> + <source>The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px.</source> + <target>Το Ïψος της εικόνας είναι Ï€Î¿Î»Ï Î¼ÎµÎ³Î¬Î»Î¿ ({{ height }}px). Το μÎγιστο επιτÏεπτό Ïψος είναι {{ max_height }}px.</target> + </trans-unit> + <trans-unit id="46"> + <source>The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px.</source> + <target>Το Ïψος της εικόνας είναι Ï€Î¿Î»Ï Î¼Î¹ÎºÏÏŒ ({{ height }}px). Το ελάχιστο επιτÏεπτό Ïψος είναι {{ min_height }}px.</target> + </trans-unit> + <trans-unit id="47"> + <source>This value should be the user's current password.</source> + <target>Αυτή η τιμή θα ÎÏ€Ïεπε να είναι ο Ï„ÏÎχων κωδικός.</target> + </trans-unit> + <trans-unit id="48"> + <source>This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters.</source> + <target>Αυτή η τιμή θα ÎÏ€Ïεπε να Îχει ακÏιβώς {{ limit }} χαÏακτήÏα.|Αυτή η τιμή θα ÎÏ€Ïεπε να Îχει ακÏιβώς {{ limit }} χαÏακτήÏες.</target> + </trans-unit> + <trans-unit id="49"> + <source>The file was only partially uploaded.</source> + <target>Το αÏχείο δεν ανÎβηκε ολόκληÏο.</target> + </trans-unit> + <trans-unit id="50"> + <source>No file was uploaded.</source> + <target>Δεν ανÎβηκε κανÎνα αÏχείο.</target> + </trans-unit> + <trans-unit id="51"> + <source>No temporary folder was configured in php.ini.</source> + <target>ΚανÎνας Ï€ÏοσωÏινός φάκελος δεν Îχει Ïυθμιστεί στο php.ini.</target> + </trans-unit> + <trans-unit id="52"> + <source>Cannot write temporary file to disk.</source> + <target>Αδυναμία εγγÏαφής Ï€ÏοσωÏÎ¹Î½Î¿Ï Î±Ïχείου στο δίσκο.</target> + </trans-unit> + <trans-unit id="53"> + <source>A PHP extension caused the upload to fail.</source> + <target>Μια επÎκταση PHP Ï€Ïοκάλεσε αδυναμία ανεβάσματος.</target> + </trans-unit> + <trans-unit id="54"> + <source>This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more.</source> + <target>Αυτή η συλλογή θα Ï€ÏÎπει να πεÏιÎχει {{ limit }} στοιχείο ή πεÏισσότεÏα.|Αυτή η συλλογή θα Ï€ÏÎπει να πεÏιÎχει {{ limit }} στοιχεία ή πεÏισσότεÏα.</target> + </trans-unit> + <trans-unit id="55"> + <source>This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less.</source> + <target>Αυτή η συλλογή θα Ï€ÏÎπει να πεÏιÎχει {{ limit }} στοιχείo ή λιγότεÏα.|Αυτή η συλλογή θα Ï€ÏÎπει να πεÏιÎχει {{ limit }} στοιχεία ή λιγότεÏα.</target> + </trans-unit> + <trans-unit id="56"> + <source>This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements.</source> + <target>Αυτή η συλλογή θα Ï€ÏÎπει να πεÏιÎχει ακÏιβώς {{ limit }} στοιχείo.|Αυτή η συλλογή θα Ï€ÏÎπει να πεÏιÎχει ακÏιβώς {{ limit }} στοιχεία.</target> + </trans-unit> + <trans-unit id="57"> + <source>Invalid card number.</source> + <target>Μη ÎγκυÏος αÏιθμός κάÏτας.</target> + </trans-unit> + <trans-unit id="58"> + <source>Unsupported card type or invalid card number.</source> + <target>Μη υποστηÏιζόμενος Ï„Ïπος κάÏτας ή μη ÎγκυÏος αÏιθμός κάÏτας.</target> + </trans-unit> + <trans-unit id="59"> + <source>This is not a valid International Bank Account Number (IBAN).</source> + <target>Αυτό δεν αντιστοιχεί σε ÎκγυÏο διεθνή αÏιθμό Ï„ÏÎ±Ï€ÎµÎ¶Î¹ÎºÎ¿Ï Î»Î¿Î³Î±ÏÎ¹Î±ÏƒÎ¼Î¿Ï (IBAN).</target> + </trans-unit> + <trans-unit id="60"> + <source>This value is not a valid ISBN-10.</source> + <target>Αυτό δεν είναι ÎγκυÏος κωδικός ISBN-10.</target> + </trans-unit> + <trans-unit id="61"> + <source>This value is not a valid ISBN-13.</source> + <target>Αυτό δεν είναι ÎγκυÏος κωδικός ISBN-13.</target> + </trans-unit> + <trans-unit id="62"> + <source>This value is neither a valid ISBN-10 nor a valid ISBN-13.</source> + <target>Αυτό δεν είναι οÏτε ÎγκυÏος κωδικός ISBN-10 οÏτε ÎγκυÏος κωδικός ISBN-13.</target> + </trans-unit> + <trans-unit id="63"> + <source>This value is not a valid ISSN.</source> + <target>Αυτό δεν είναι ÎγκυÏος κωδικός ISSN.</target> + </trans-unit> + <trans-unit id="64"> + <source>This value is not a valid currency.</source> + <target>Αυτό δεν αντιστοιχεί σε ÎγκυÏο νόμισμα.</target> + </trans-unit> + <trans-unit id="65"> + <source>This value should be equal to {{ compared_value }}.</source> + <target>Αυτή η τιμή θα Ï€ÏÎπει να είναι ίση με {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="66"> + <source>This value should be greater than {{ compared_value }}.</source> + <target>Αυτή η τιμή θα Ï€ÏÎπει να είναι μεγαλÏτεÏη από {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="67"> + <source>This value should be greater than or equal to {{ compared_value }}.</source> + <target>Αυτή η τιμή θα Ï€ÏÎπει να είναι μεγαλÏτεÏη ή ίση με {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="68"> + <source>This value should be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>Αυτή η τιμή θα Ï€ÏÎπει να είναι πανομοιότυπη με {{ compared_value_type }} {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="69"> + <source>This value should be less than {{ compared_value }}.</source> + <target>Αυτή η τιμή θα Ï€ÏÎπει να είναι μικÏότεÏη από {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="70"> + <source>This value should be less than or equal to {{ compared_value }}.</source> + <target>Αυτή η τιμή θα Ï€ÏÎπει να είναι μικÏότεÏη ή ίση με {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="71"> + <source>This value should not be equal to {{ compared_value }}.</source> + <target>Αυτή η τιμή δεν θα Ï€ÏÎπει να είναι ίση με {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="72"> + <source>This value should not be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>Αυτή η τιμή δεν Ï€ÏÎπει να είναι πανομοιότυπη με {{ compared_value_type }} {{ compared_value }}.</target> + </trans-unit> + </body> + </file> +</xliff> diff --git a/core/vendor/symfony/validator/Resources/translations/validators.en.xlf b/core/vendor/symfony/validator/Resources/translations/validators.en.xlf new file mode 100644 index 0000000000000000000000000000000000000000..e666c793c98b404c6573e32a72a993a35baa8566 --- /dev/null +++ b/core/vendor/symfony/validator/Resources/translations/validators.en.xlf @@ -0,0 +1,315 @@ +<?xml version="1.0"?> +<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2"> + <file source-language="en" datatype="plaintext" original="file.ext"> + <body> + <trans-unit id="1"> + <source>This value should be false.</source> + <target>This value should be false.</target> + </trans-unit> + <trans-unit id="2"> + <source>This value should be true.</source> + <target>This value should be true.</target> + </trans-unit> + <trans-unit id="3"> + <source>This value should be of type {{ type }}.</source> + <target>This value should be of type {{ type }}.</target> + </trans-unit> + <trans-unit id="4"> + <source>This value should be blank.</source> + <target>This value should be blank.</target> + </trans-unit> + <trans-unit id="5"> + <source>The value you selected is not a valid choice.</source> + <target>The value you selected is not a valid choice.</target> + </trans-unit> + <trans-unit id="6"> + <source>You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices.</source> + <target>You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices.</target> + </trans-unit> + <trans-unit id="7"> + <source>You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices.</source> + <target>You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices.</target> + </trans-unit> + <trans-unit id="8"> + <source>One or more of the given values is invalid.</source> + <target>One or more of the given values is invalid.</target> + </trans-unit> + <trans-unit id="9"> + <source>This field was not expected.</source> + <target>This field was not expected.</target> + </trans-unit> + <trans-unit id="10"> + <source>This field is missing.</source> + <target>This field is missing.</target> + </trans-unit> + <trans-unit id="11"> + <source>This value is not a valid date.</source> + <target>This value is not a valid date.</target> + </trans-unit> + <trans-unit id="12"> + <source>This value is not a valid datetime.</source> + <target>This value is not a valid datetime.</target> + </trans-unit> + <trans-unit id="13"> + <source>This value is not a valid email address.</source> + <target>This value is not a valid email address.</target> + </trans-unit> + <trans-unit id="14"> + <source>The file could not be found.</source> + <target>The file could not be found.</target> + </trans-unit> + <trans-unit id="15"> + <source>The file is not readable.</source> + <target>The file is not readable.</target> + </trans-unit> + <trans-unit id="16"> + <source>The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="17"> + <source>The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}.</source> + <target>The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}.</target> + </trans-unit> + <trans-unit id="18"> + <source>This value should be {{ limit }} or less.</source> + <target>This value should be {{ limit }} or less.</target> + </trans-unit> + <trans-unit id="19"> + <source>This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less.</source> + <target>This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less.</target> + </trans-unit> + <trans-unit id="20"> + <source>This value should be {{ limit }} or more.</source> + <target>This value should be {{ limit }} or more.</target> + </trans-unit> + <trans-unit id="21"> + <source>This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more.</source> + <target>This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more.</target> + </trans-unit> + <trans-unit id="22"> + <source>This value should not be blank.</source> + <target>This value should not be blank.</target> + </trans-unit> + <trans-unit id="23"> + <source>This value should not be null.</source> + <target>This value should not be null.</target> + </trans-unit> + <trans-unit id="24"> + <source>This value should be null.</source> + <target>This value should be null.</target> + </trans-unit> + <trans-unit id="25"> + <source>This value is not valid.</source> + <target>This value is not valid.</target> + </trans-unit> + <trans-unit id="26"> + <source>This value is not a valid time.</source> + <target>This value is not a valid time.</target> + </trans-unit> + <trans-unit id="27"> + <source>This value is not a valid URL.</source> + <target>This value is not a valid URL.</target> + </trans-unit> + <trans-unit id="31"> + <source>The two values should be equal.</source> + <target>The two values should be equal.</target> + </trans-unit> + <trans-unit id="32"> + <source>The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="33"> + <source>The file is too large.</source> + <target>The file is too large.</target> + </trans-unit> + <trans-unit id="34"> + <source>The file could not be uploaded.</source> + <target>The file could not be uploaded.</target> + </trans-unit> + <trans-unit id="35"> + <source>This value should be a valid number.</source> + <target>This value should be a valid number.</target> + </trans-unit> + <trans-unit id="36"> + <source>This file is not a valid image.</source> + <target>This file is not a valid image.</target> + </trans-unit> + <trans-unit id="37"> + <source>This is not a valid IP address.</source> + <target>This is not a valid IP address.</target> + </trans-unit> + <trans-unit id="38"> + <source>This value is not a valid language.</source> + <target>This value is not a valid language.</target> + </trans-unit> + <trans-unit id="39"> + <source>This value is not a valid locale.</source> + <target>This value is not a valid locale.</target> + </trans-unit> + <trans-unit id="40"> + <source>This value is not a valid country.</source> + <target>This value is not a valid country.</target> + </trans-unit> + <trans-unit id="41"> + <source>This value is already used.</source> + <target>This value is already used.</target> + </trans-unit> + <trans-unit id="42"> + <source>The size of the image could not be detected.</source> + <target>The size of the image could not be detected.</target> + </trans-unit> + <trans-unit id="43"> + <source>The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px.</source> + <target>The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px.</target> + </trans-unit> + <trans-unit id="44"> + <source>The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px.</source> + <target>The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px.</target> + </trans-unit> + <trans-unit id="45"> + <source>The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px.</source> + <target>The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px.</target> + </trans-unit> + <trans-unit id="46"> + <source>The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px.</source> + <target>The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px.</target> + </trans-unit> + <trans-unit id="47"> + <source>This value should be the user's current password.</source> + <target>This value should be the user's current password.</target> + </trans-unit> + <trans-unit id="48"> + <source>This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters.</source> + <target>This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters.</target> + </trans-unit> + <trans-unit id="49"> + <source>The file was only partially uploaded.</source> + <target>The file was only partially uploaded.</target> + </trans-unit> + <trans-unit id="50"> + <source>No file was uploaded.</source> + <target>No file was uploaded.</target> + </trans-unit> + <trans-unit id="51"> + <source>No temporary folder was configured in php.ini.</source> + <target>No temporary folder was configured in php.ini.</target> + </trans-unit> + <trans-unit id="52"> + <source>Cannot write temporary file to disk.</source> + <target>Cannot write temporary file to disk.</target> + </trans-unit> + <trans-unit id="53"> + <source>A PHP extension caused the upload to fail.</source> + <target>A PHP extension caused the upload to fail.</target> + </trans-unit> + <trans-unit id="54"> + <source>This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more.</source> + <target>This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more.</target> + </trans-unit> + <trans-unit id="55"> + <source>This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less.</source> + <target>This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less.</target> + </trans-unit> + <trans-unit id="56"> + <source>This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements.</source> + <target>This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements.</target> + </trans-unit> + <trans-unit id="57"> + <source>Invalid card number.</source> + <target>Invalid card number.</target> + </trans-unit> + <trans-unit id="58"> + <source>Unsupported card type or invalid card number.</source> + <target>Unsupported card type or invalid card number.</target> + </trans-unit> + <trans-unit id="59"> + <source>This is not a valid International Bank Account Number (IBAN).</source> + <target>This is not a valid International Bank Account Number (IBAN).</target> + </trans-unit> + <trans-unit id="60"> + <source>This value is not a valid ISBN-10.</source> + <target>This value is not a valid ISBN-10.</target> + </trans-unit> + <trans-unit id="61"> + <source>This value is not a valid ISBN-13.</source> + <target>This value is not a valid ISBN-13.</target> + </trans-unit> + <trans-unit id="62"> + <source>This value is neither a valid ISBN-10 nor a valid ISBN-13.</source> + <target>This value is neither a valid ISBN-10 nor a valid ISBN-13.</target> + </trans-unit> + <trans-unit id="63"> + <source>This value is not a valid ISSN.</source> + <target>This value is not a valid ISSN.</target> + </trans-unit> + <trans-unit id="64"> + <source>This value is not a valid currency.</source> + <target>This value is not a valid currency.</target> + </trans-unit> + <trans-unit id="65"> + <source>This value should be equal to {{ compared_value }}.</source> + <target>This value should be equal to {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="66"> + <source>This value should be greater than {{ compared_value }}.</source> + <target>This value should be greater than {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="67"> + <source>This value should be greater than or equal to {{ compared_value }}.</source> + <target>This value should be greater than or equal to {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="68"> + <source>This value should be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>This value should be identical to {{ compared_value_type }} {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="69"> + <source>This value should be less than {{ compared_value }}.</source> + <target>This value should be less than {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="70"> + <source>This value should be less than or equal to {{ compared_value }}.</source> + <target>This value should be less than or equal to {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="71"> + <source>This value should not be equal to {{ compared_value }}.</source> + <target>This value should not be equal to {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="72"> + <source>This value should not be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>This value should not be identical to {{ compared_value_type }} {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="73"> + <source>The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}.</source> + <target>The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}.</target> + </trans-unit> + <trans-unit id="74"> + <source>The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}.</source> + <target>The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}.</target> + </trans-unit> + <trans-unit id="75"> + <source>The image is square ({{ width }}x{{ height }}px). Square images are not allowed.</source> + <target>The image is square ({{ width }}x{{ height }}px). Square images are not allowed.</target> + </trans-unit> + <trans-unit id="76"> + <source>The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed.</source> + <target>The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed.</target> + </trans-unit> + <trans-unit id="77"> + <source>The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed.</source> + <target>The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed.</target> + </trans-unit> + <trans-unit id="78"> + <source>An empty file is not allowed.</source> + <target>An empty file is not allowed.</target> + </trans-unit> + <trans-unit id="79"> + <source>The host could not be resolved.</source> + <target>The host could not be resolved.</target> + </trans-unit> + <trans-unit id="80"> + <source>This value does not match the expected {{ charset }} charset.</source> + <target>This value does not match the expected {{ charset }} charset.</target> + </trans-unit> + </body> + </file> +</xliff> diff --git a/core/vendor/symfony/validator/Resources/translations/validators.es.xlf b/core/vendor/symfony/validator/Resources/translations/validators.es.xlf new file mode 100644 index 0000000000000000000000000000000000000000..d874573a7afa0abc879f51886e668596eb2e0680 --- /dev/null +++ b/core/vendor/symfony/validator/Resources/translations/validators.es.xlf @@ -0,0 +1,315 @@ +<?xml version="1.0"?> +<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2"> + <file source-language="en" datatype="plaintext" original="file.ext"> + <body> + <trans-unit id="1"> + <source>This value should be false.</source> + <target>Este valor deberÃa ser falso.</target> + </trans-unit> + <trans-unit id="2"> + <source>This value should be true.</source> + <target>Este valor deberÃa ser verdadero.</target> + </trans-unit> + <trans-unit id="3"> + <source>This value should be of type {{ type }}.</source> + <target>Este valor deberÃa ser de tipo {{ type }}.</target> + </trans-unit> + <trans-unit id="4"> + <source>This value should be blank.</source> + <target>Este valor deberÃa estar vacÃo.</target> + </trans-unit> + <trans-unit id="5"> + <source>The value you selected is not a valid choice.</source> + <target>El valor seleccionado no es una opción válida.</target> + </trans-unit> + <trans-unit id="6"> + <source>You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices.</source> + <target>Debe seleccionar al menos {{ limit }} opción.|Debe seleccionar al menos {{ limit }} opciones.</target> + </trans-unit> + <trans-unit id="7"> + <source>You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices.</source> + <target>Debe seleccionar como máximo {{ limit }} opción.|Debe seleccionar como máximo {{ limit }} opciones.</target> + </trans-unit> + <trans-unit id="8"> + <source>One or more of the given values is invalid.</source> + <target>Uno o más de los valores indicados no son válidos.</target> + </trans-unit> + <trans-unit id="9"> + <source>This field was not expected.</source> + <target>Este campo no se esperaba.</target> + </trans-unit> + <trans-unit id="10"> + <source>This field is missing.</source> + <target>Este campo está desaparecido.</target> + </trans-unit> + <trans-unit id="11"> + <source>This value is not a valid date.</source> + <target>Este valor no es una fecha válida.</target> + </trans-unit> + <trans-unit id="12"> + <source>This value is not a valid datetime.</source> + <target>Este valor no es una fecha y hora válidas.</target> + </trans-unit> + <trans-unit id="13"> + <source>This value is not a valid email address.</source> + <target>Este valor no es una dirección de email válida.</target> + </trans-unit> + <trans-unit id="14"> + <source>The file could not be found.</source> + <target>No se pudo encontrar el archivo.</target> + </trans-unit> + <trans-unit id="15"> + <source>The file is not readable.</source> + <target>No se puede leer el archivo.</target> + </trans-unit> + <trans-unit id="16"> + <source>The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>El archivo es demasiado grande ({{ size }} {{ suffix }}). El tamaño máximo permitido es {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="17"> + <source>The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}.</source> + <target>El tipo mime del archivo no es válido ({{ type }}). Los tipos mime válidos son {{ types }}.</target> + </trans-unit> + <trans-unit id="18"> + <source>This value should be {{ limit }} or less.</source> + <target>Este valor deberÃa ser {{ limit }} o menos.</target> + </trans-unit> + <trans-unit id="19"> + <source>This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less.</source> + <target>Este valor es demasiado largo. DeberÃa tener {{ limit }} carácter o menos.|Este valor es demasiado largo. DeberÃa tener {{ limit }} caracteres o menos.</target> + </trans-unit> + <trans-unit id="20"> + <source>This value should be {{ limit }} or more.</source> + <target>Este valor deberÃa ser {{ limit }} o más.</target> + </trans-unit> + <trans-unit id="21"> + <source>This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more.</source> + <target>Este valor es demasiado corto. DeberÃa tener {{ limit }} carácter o más.|Este valor es demasiado corto. DeberÃa tener {{ limit }} caracteres o más.</target> + </trans-unit> + <trans-unit id="22"> + <source>This value should not be blank.</source> + <target>Este valor no deberÃa estar vacÃo.</target> + </trans-unit> + <trans-unit id="23"> + <source>This value should not be null.</source> + <target>Este valor no deberÃa ser nulo.</target> + </trans-unit> + <trans-unit id="24"> + <source>This value should be null.</source> + <target>Este valor deberÃa ser nulo.</target> + </trans-unit> + <trans-unit id="25"> + <source>This value is not valid.</source> + <target>Este valor no es válido.</target> + </trans-unit> + <trans-unit id="26"> + <source>This value is not a valid time.</source> + <target>Este valor no es una hora válida.</target> + </trans-unit> + <trans-unit id="27"> + <source>This value is not a valid URL.</source> + <target>Este valor no es una URL válida.</target> + </trans-unit> + <trans-unit id="31"> + <source>The two values should be equal.</source> + <target>Los dos valores deberÃan ser iguales.</target> + </trans-unit> + <trans-unit id="32"> + <source>The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>El archivo es demasiado grande. El tamaño máximo permitido es {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="33"> + <source>The file is too large.</source> + <target>El archivo es demasiado grande.</target> + </trans-unit> + <trans-unit id="34"> + <source>The file could not be uploaded.</source> + <target>No se pudo subir el archivo.</target> + </trans-unit> + <trans-unit id="35"> + <source>This value should be a valid number.</source> + <target>Este valor deberÃa ser un número válido.</target> + </trans-unit> + <trans-unit id="36"> + <source>This file is not a valid image.</source> + <target>El archivo no es una imagen válida.</target> + </trans-unit> + <trans-unit id="37"> + <source>This is not a valid IP address.</source> + <target>Esto no es una dirección IP válida.</target> + </trans-unit> + <trans-unit id="38"> + <source>This value is not a valid language.</source> + <target>Este valor no es un idioma válido.</target> + </trans-unit> + <trans-unit id="39"> + <source>This value is not a valid locale.</source> + <target>Este valor no es una localización válida.</target> + </trans-unit> + <trans-unit id="40"> + <source>This value is not a valid country.</source> + <target>Este valor no es un paÃs válido.</target> + </trans-unit> + <trans-unit id="41"> + <source>This value is already used.</source> + <target>Este valor ya se ha utilizado.</target> + </trans-unit> + <trans-unit id="42"> + <source>The size of the image could not be detected.</source> + <target>No se pudo determinar el tamaño de la imagen.</target> + </trans-unit> + <trans-unit id="43"> + <source>The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px.</source> + <target>El ancho de la imagen es demasiado grande ({{ width }}px). El ancho máximo permitido es de {{ max_width }}px.</target> + </trans-unit> + <trans-unit id="44"> + <source>The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px.</source> + <target>El ancho de la imagen es demasiado pequeño ({{ width }}px). El ancho mÃnimo requerido es {{ min_width }}px.</target> + </trans-unit> + <trans-unit id="45"> + <source>The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px.</source> + <target>La altura de la imagen es demasiado grande ({{ height }}px). La altura máxima permitida es de {{ max_height }}px.</target> + </trans-unit> + <trans-unit id="46"> + <source>The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px.</source> + <target>La altura de la imagen es demasiado pequeña ({{ height }}px). La altura mÃnima requerida es de {{ min_height }}px.</target> + </trans-unit> + <trans-unit id="47"> + <source>This value should be the user's current password.</source> + <target>Este valor deberÃa ser la contraseña actual del usuario.</target> + </trans-unit> + <trans-unit id="48"> + <source>This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters.</source> + <target>Este valor deberÃa tener exactamente {{ limit }} carácter.|Este valor deberÃa tener exactamente {{ limit }} caracteres.</target> + </trans-unit> + <trans-unit id="49"> + <source>The file was only partially uploaded.</source> + <target>El archivo fue sólo subido parcialmente.</target> + </trans-unit> + <trans-unit id="50"> + <source>No file was uploaded.</source> + <target>Ningún archivo fue subido.</target> + </trans-unit> + <trans-unit id="51"> + <source>No temporary folder was configured in php.ini.</source> + <target>Ninguna carpeta temporal fue configurada en php.ini.</target> + </trans-unit> + <trans-unit id="52"> + <source>Cannot write temporary file to disk.</source> + <target>No se pudo escribir el archivo temporal en el disco.</target> + </trans-unit> + <trans-unit id="53"> + <source>A PHP extension caused the upload to fail.</source> + <target>Una extensión de PHP hizo que la subida fallara.</target> + </trans-unit> + <trans-unit id="54"> + <source>This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more.</source> + <target>Esta colección debe contener {{ limit }} elemento o más.|Esta colección debe contener {{ limit }} elementos o más.</target> + </trans-unit> + <trans-unit id="55"> + <source>This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less.</source> + <target>Esta colección debe contener {{ limit }} elemento o menos.|Esta colección debe contener {{ limit }} elementos o menos.</target> + </trans-unit> + <trans-unit id="56"> + <source>This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements.</source> + <target>Esta colección debe contener exactamente {{ limit }} elemento.|Esta colección debe contener exactamente {{ limit }} elementos.</target> + </trans-unit> + <trans-unit id="57"> + <source>Invalid card number.</source> + <target>Número de tarjeta inválido.</target> + </trans-unit> + <trans-unit id="58"> + <source>Unsupported card type or invalid card number.</source> + <target>Tipo de tarjeta no soportado o número de tarjeta inválido.</target> + </trans-unit> + <trans-unit id="59"> + <source>This is not a valid International Bank Account Number (IBAN).</source> + <target>Esto no es un International Bank Account Number (IBAN) válido.</target> + </trans-unit> + <trans-unit id="60"> + <source>This value is not a valid ISBN-10.</source> + <target>Este valor no es un ISBN-10 válido.</target> + </trans-unit> + <trans-unit id="61"> + <source>This value is not a valid ISBN-13.</source> + <target>Este valor no es un ISBN-13 válido.</target> + </trans-unit> + <trans-unit id="62"> + <source>This value is neither a valid ISBN-10 nor a valid ISBN-13.</source> + <target>Este valor no es ni un ISBN-10 válido ni un ISBN-13 válido.</target> + </trans-unit> + <trans-unit id="63"> + <source>This value is not a valid ISSN.</source> + <target>Este valor no es un ISSN válido.</target> + </trans-unit> + <trans-unit id="64"> + <source>This value is not a valid currency.</source> + <target>Este valor no es una divisa válida.</target> + </trans-unit> + <trans-unit id="65"> + <source>This value should be equal to {{ compared_value }}.</source> + <target>Este valor deberÃa ser igual que {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="66"> + <source>This value should be greater than {{ compared_value }}.</source> + <target>Este valor deberÃa ser mayor que {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="67"> + <source>This value should be greater than or equal to {{ compared_value }}.</source> + <target>Este valor deberÃa ser mayor o igual que {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="68"> + <source>This value should be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>Este valor deberÃa ser idéntico a {{ compared_value_type }} {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="69"> + <source>This value should be less than {{ compared_value }}.</source> + <target>Este valor deberÃa ser menor que {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="70"> + <source>This value should be less than or equal to {{ compared_value }}.</source> + <target>Este valor deberÃa ser menor o igual que {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="71"> + <source>This value should not be equal to {{ compared_value }}.</source> + <target>Este valor deberÃa ser distinto de {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="72"> + <source>This value should not be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>Este valor no deberÃa ser idéntico a {{ compared_value_type }} {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="73"> + <source>The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}.</source> + <target>La proporción de la imagen es demasiado grande ({{ ratio }}). La máxima proporción permitida es {{ max_ratio }}.</target> + </trans-unit> + <trans-unit id="74"> + <source>The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}.</source> + <target>La proporción de la imagen es demasiado pequeña ({{ ratio }}). La mÃnima proporción permitida es {{ min_ratio }}.</target> + </trans-unit> + <trans-unit id="75"> + <source>The image is square ({{ width }}x{{ height }}px). Square images are not allowed.</source> + <target>La imagen es cuadrada ({{ width }}x{{ height }}px). Las imágenes cuadradas no están permitidas.</target> + </trans-unit> + <trans-unit id="76"> + <source>The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed.</source> + <target>La imagen está orientada horizontalmente ({{ width }}x{{ height }}px). Las imágenes orientadas horizontalmente no están permitidas.</target> + </trans-unit> + <trans-unit id="77"> + <source>The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed.</source> + <target>La imagen está orientada verticalmente ({{ width }}x{{ height }}px). Las imágenes orientadas verticalmente no están permitidas.</target> + </trans-unit> + <trans-unit id="78"> + <source>An empty file is not allowed.</source> + <target>No está permitido un archivo vacÃo.</target> + </trans-unit> + <trans-unit id="79"> + <source>The host could not be resolved.</source> + <target>No se puede resolver el host.</target> + </trans-unit> + <trans-unit id="80"> + <source>This value does not match the expected {{ charset }} charset.</source> + <target>La codificación de caracteres para este valor deberÃa ser {{ charset }}.</target> + </trans-unit> + </body> + </file> +</xliff> diff --git a/core/vendor/symfony/validator/Resources/translations/validators.et.xlf b/core/vendor/symfony/validator/Resources/translations/validators.et.xlf new file mode 100644 index 0000000000000000000000000000000000000000..d047c8bb9ef82215709bcb8ad0dca42d01a36c88 --- /dev/null +++ b/core/vendor/symfony/validator/Resources/translations/validators.et.xlf @@ -0,0 +1,283 @@ +<?xml version='1.0'?> +<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2"> + <file source-language="en" datatype="plaintext" original="file.ext"> + <body> + <trans-unit id="1"> + <source>This value should be false.</source> + <target>Väärtus peaks olema väär.</target> + </trans-unit> + <trans-unit id="2"> + <source>This value should be true.</source> + <target>Väärtus peaks oleme tõene.</target> + </trans-unit> + <trans-unit id="3"> + <source>This value should be of type {{ type }}.</source> + <target>Väärtus peaks olema {{ type }}-tüüpi.</target> + </trans-unit> + <trans-unit id="4"> + <source>This value should be blank.</source> + <target>Väärtus peaks olema tühi.</target> + </trans-unit> + <trans-unit id="5"> + <source>The value you selected is not a valid choice.</source> + <target>Väärtus peaks olema üks etteantud valikutest.</target> + </trans-unit> + <trans-unit id="6"> + <source>You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices.</source> + <target>Valima peaks vähemalt {{ limit }} valikut.</target> + </trans-unit> + <trans-unit id="7"> + <source>You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices.</source> + <target>Valima peaks mitte rohkem kui {{ limit }} valikut.</target> + </trans-unit> + <trans-unit id="8"> + <source>One or more of the given values is invalid.</source> + <target>One or more of the given values is invalid.</target> + </trans-unit> + <trans-unit id="9"> + <source>This field was not expected.</source> + <target>See väli ei oodatud.</target> + </trans-unit> + <trans-unit id="10"> + <source>This field is missing.</source> + <target>See väli on puudu.</target> + </trans-unit> + <trans-unit id="11"> + <source>This value is not a valid date.</source> + <target>Väärtus pole korrektne kuupäev.</target> + </trans-unit> + <trans-unit id="12"> + <source>This value is not a valid datetime.</source> + <target>Väärtus pole korrektne kuupäev ja kellaeg.</target> + </trans-unit> + <trans-unit id="13"> + <source>This value is not a valid email address.</source> + <target>Väärtus pole korrektne e-maili aadress.</target> + </trans-unit> + <trans-unit id="14"> + <source>The file could not be found.</source> + <target>Faili ei leita.</target> + </trans-unit> + <trans-unit id="15"> + <source>The file is not readable.</source> + <target>Fail ei ole loetav.</target> + </trans-unit> + <trans-unit id="16"> + <source>The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>Fail on liiga suur ({{ size }} {{ suffix }}). Suurim lubatud suurus on {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="17"> + <source>The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}.</source> + <target>Faili sisutüüp on vigane ({{ type }}). Lubatud sisutüübid on {{ types }}.</target> + </trans-unit> + <trans-unit id="18"> + <source>This value should be {{ limit }} or less.</source> + <target>Väärtus peaks olema {{ limit }} või vähem.</target> + </trans-unit> + <trans-unit id="19"> + <source>This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less.</source> + <target>Väärtus on liiga pikk. Pikkus peaks olema {{ limit }} tähemärki või vähem.</target> + </trans-unit> + <trans-unit id="20"> + <source>This value should be {{ limit }} or more.</source> + <target>Väärtus peaks olema {{ limit }} või rohkem.</target> + </trans-unit> + <trans-unit id="21"> + <source>This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more.</source> + <target>Väärtus on liiga lühike. Pikkus peaks olema {{ limit }} tähemärki või rohkem.</target> + </trans-unit> + <trans-unit id="22"> + <source>This value should not be blank.</source> + <target>Väärtus ei tohiks olla tühi.</target> + </trans-unit> + <trans-unit id="23"> + <source>This value should not be null.</source> + <target>Väärtus ei tohiks olla 'null'.</target> + </trans-unit> + <trans-unit id="24"> + <source>This value should be null.</source> + <target>Väärtus peaks olema 'null'.</target> + </trans-unit> + <trans-unit id="25"> + <source>This value is not valid.</source> + <target>Väärtus on vigane.</target> + </trans-unit> + <trans-unit id="26"> + <source>This value is not a valid time.</source> + <target>Väärtus pole korrektne aeg.</target> + </trans-unit> + <trans-unit id="27"> + <source>This value is not a valid URL.</source> + <target>Väärtus pole korrektne URL.</target> + </trans-unit> + <trans-unit id="31"> + <source>The two values should be equal.</source> + <target>Väärtused peaksid olema võrdsed.</target> + </trans-unit> + <trans-unit id="32"> + <source>The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>Fail on liiga suur. Maksimaalne lubatud suurus on {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="33"> + <source>The file is too large.</source> + <target>Fail on liiga suur.</target> + </trans-unit> + <trans-unit id="34"> + <source>The file could not be uploaded.</source> + <target>Faili ei saa üles laadida.</target> + </trans-unit> + <trans-unit id="35"> + <source>This value should be a valid number.</source> + <target>Väärtus peaks olema korrektne number.</target> + </trans-unit> + <trans-unit id="36"> + <source>This file is not a valid image.</source> + <target>Fail ei ole korrektne pilt.</target> + </trans-unit> + <trans-unit id="37"> + <source>This is not a valid IP address.</source> + <target>IP aadress pole korrektne.</target> + </trans-unit> + <trans-unit id="38"> + <source>This value is not a valid language.</source> + <target>Väärtus pole korrektne keel.</target> + </trans-unit> + <trans-unit id="39"> + <source>This value is not a valid locale.</source> + <target>Väärtus pole korrektne asukohakeel.</target> + </trans-unit> + <trans-unit id="40"> + <source>This value is not a valid country.</source> + <target>Väärtus pole olemasolev riik.</target> + </trans-unit> + <trans-unit id="41"> + <source>This value is already used.</source> + <target>Väärtust on juba kasutatud.</target> + </trans-unit> + <trans-unit id="42"> + <source>The size of the image could not be detected.</source> + <target>Pildi suurust polnud võimalik tuvastada.</target> + </trans-unit> + <trans-unit id="43"> + <source>The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px.</source> + <target>Pilt on liiga lai ({{ width }}px). Suurim lubatud laius on {{ max_width }}px.</target> + </trans-unit> + <trans-unit id="44"> + <source>The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px.</source> + <target>Pilt on liiga kitsas ({{ width }}px). Vähim lubatud laius on {{ min_width }}px.</target> + </trans-unit> + <trans-unit id="45"> + <source>The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px.</source> + <target>Pilt on liiga pikk ({{ height }}px). Lubatud suurim pikkus on {{ max_height }}px.</target> + </trans-unit> + <trans-unit id="46"> + <source>The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px.</source> + <target>Pilt pole piisavalt pikk ({{ height }}px). Lubatud vähim pikkus on {{ min_height }}px.</target> + </trans-unit> + <trans-unit id="47"> + <source>This value should be the user's current password.</source> + <target>Väärtus peaks olema kasutaja kehtiv salasõna.</target> + </trans-unit> + <trans-unit id="48"> + <source>This value should have exactly {{ limit }} characters.</source> + <target>Väärtus peaks olema täpselt {{ limit }} tähemärk pikk.|Väärtus peaks olema täpselt {{ limit }} tähemärki pikk.</target> + </trans-unit> + <trans-unit id="49"> + <source>The file was only partially uploaded.</source> + <target>Fail ei laetud täielikult üles.</target> + </trans-unit> + <trans-unit id="50"> + <source>No file was uploaded.</source> + <target>Ãœhtegi faili ei laetud üles.</target> + </trans-unit> + <trans-unit id="51"> + <source>No temporary folder was configured in php.ini.</source> + <target>Ãœhtegi ajutist kausta polnud php.ini-s seadistatud.</target> + </trans-unit> + <trans-unit id="52"> + <source>Cannot write temporary file to disk.</source> + <target>Ajutist faili ei saa kettale kirjutada.</target> + </trans-unit> + <trans-unit id="53"> + <source>A PHP extension caused the upload to fail.</source> + <target>PHP laiendi tõttu ebaõnnestus faili üleslaadimine.</target> + </trans-unit> + <trans-unit id="54"> + <source>This collection should contain {{ limit }} elements or more.</source> + <target>Kogumikus peaks olema vähemalt {{ limit }} element.|Kogumikus peaks olema vähemalt {{ limit }} elementi.</target> + </trans-unit> + <trans-unit id="55"> + <source>This collection should contain {{ limit }} elements or less.</source> + <target>Kogumikus peaks olema ülimalt {{ limit }} element.|Kogumikus peaks olema ülimalt {{ limit }} elementi.</target> + </trans-unit> + <trans-unit id="56"> + <source>This collection should contain exactly {{ limit }} elements.</source> + <target>Kogumikus peaks olema täpselt {{ limit }} element.|Kogumikus peaks olema täpselt {{ limit }}|elementi.</target> + </trans-unit> + <trans-unit id="57"> + <source>Invalid card number.</source> + <target>Vigane kaardi number.</target> + </trans-unit> + <trans-unit id="58"> + <source>Unsupported card type or invalid card number.</source> + <target>Kaardi tüüpi ei toetata või kaardi number on vigane.</target> + </trans-unit> + <trans-unit id="59"> + <source>This is not a valid International Bank Account Number (IBAN).</source> + <target>Väärtus pole korrektne IBAN-number.</target> + </trans-unit> + <trans-unit id="60"> + <source>This value is not a valid ISBN-10.</source> + <target>Väärtus pole korrektne ISBN-10.</target> + </trans-unit> + <trans-unit id="61"> + <source>This value is not a valid ISBN-13.</source> + <target>Väärtus pole korrektne ISBN-13.</target> + </trans-unit> + <trans-unit id="62"> + <source>This value is neither a valid ISBN-10 nor a valid ISBN-13.</source> + <target>Väärtus pole korrektne ISBN-10 ega ISBN-13.</target> + </trans-unit> + <trans-unit id="63"> + <source>This value is not a valid ISSN.</source> + <target>Väärtus pole korrektne ISSN.</target> + </trans-unit> + <trans-unit id="64"> + <source>This value is not a valid currency.</source> + <target>Väärtus pole korrektne valuuta.</target> + </trans-unit> + <trans-unit id="65"> + <source>This value should be equal to {{ compared_value }}.</source> + <target>Väärtus peaks olema võrdne {{ compared_value }}-ga.</target> + </trans-unit> + <trans-unit id="66"> + <source>This value should be greater than {{ compared_value }}.</source> + <target>Väärtus peaks olema suurem kui {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="67"> + <source>This value should be greater than or equal to {{ compared_value }}.</source> + <target>Väärtus peaks olema suurem kui või võrduma {{ compared_value }}-ga.</target> + </trans-unit> + <trans-unit id="68"> + <source>This value should be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>Väärtus peaks olema identne väärtusega {{ compared_value_type }} {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="69"> + <source>This value should be less than {{ compared_value }}.</source> + <target>Väärtus peaks olema väiksem kui {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="70"> + <source>This value should be less than or equal to {{ compared_value }}.</source> + <target>Väärtus peaks olema väiksem kui või võrduma {{ compared_value }}-ga.</target> + </trans-unit> + <trans-unit id="71"> + <source>This value should not be equal to {{ compared_value }}.</source> + <target>Väärtus ei tohiks võrduda {{ compared_value }}-ga.</target> + </trans-unit> + <trans-unit id="72"> + <source>This value should not be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>Väärtus ei tohiks olla identne väärtusega {{ compared_value_type }} {{ compared_value }}.</target> + </trans-unit> + </body> + </file> +</xliff> diff --git a/core/vendor/symfony/validator/Resources/translations/validators.eu.xlf b/core/vendor/symfony/validator/Resources/translations/validators.eu.xlf new file mode 100644 index 0000000000000000000000000000000000000000..b2edefd30398bedb9e8459d7bd529ec09a08ac02 --- /dev/null +++ b/core/vendor/symfony/validator/Resources/translations/validators.eu.xlf @@ -0,0 +1,283 @@ +<?xml version="1.0"?> +<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2"> + <file source-language="en" datatype="plaintext" original="file.ext"> + <body> + <trans-unit id="1"> + <source>This value should be false.</source> + <target>Balio hau faltsua izan beharko litzateke.</target> + </trans-unit> + <trans-unit id="2"> + <source>This value should be true.</source> + <target>Balio hau egia izan beharko litzateke.</target> + </trans-unit> + <trans-unit id="3"> + <source>This value should be of type {{ type }}.</source> + <target>Balio hau {{ type }} motakoa izan beharko litzateke.</target> + </trans-unit> + <trans-unit id="4"> + <source>This value should be blank.</source> + <target>Balio hau hutsik egon beharko litzateke.</target> + </trans-unit> + <trans-unit id="5"> + <source>The value you selected is not a valid choice.</source> + <target>Hautatu duzun balioa ez da aukera egoki bat.</target> + </trans-unit> + <trans-unit id="6"> + <source>You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices.</source> + <target>Gutxienez aukera {{ limit }} hautatu behar duzu.|Gutxienez {{ limit }} aukera hautatu behar dituzu.</target> + </trans-unit> + <trans-unit id="7"> + <source>You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices.</source> + <target>Gehienez aukera {{ limit }} hautatu behar duzu.|Gehienez {{ limit }} aukera hautatu behar dituzu.</target> + </trans-unit> + <trans-unit id="8"> + <source>One or more of the given values is invalid.</source> + <target>Emandako balioetatik gutxienez bat ez da egokia.</target> + </trans-unit> + <trans-unit id="9"> + <source>This field was not expected.</source> + <target>Eremu hau ez zen espero.</target> + </trans-unit> + <trans-unit id="10"> + <source>This field is missing.</source> + <target>Eremu hau falta da.</target> + </trans-unit> + <trans-unit id="11"> + <source>This value is not a valid date.</source> + <target>Balio hau ez da data egoki bat.</target> + </trans-unit> + <trans-unit id="12"> + <source>This value is not a valid datetime.</source> + <target>Balio hau ez da data-ordu egoki bat.</target> + </trans-unit> + <trans-unit id="13"> + <source>This value is not a valid email address.</source> + <target>Balio hau ez da posta elektroniko egoki bat.</target> + </trans-unit> + <trans-unit id="14"> + <source>The file could not be found.</source> + <target>Ezin izan da fitxategia aurkitu.</target> + </trans-unit> + <trans-unit id="15"> + <source>The file is not readable.</source> + <target>Fitxategia ez da irakurgarria.</target> + </trans-unit> + <trans-unit id="16"> + <source>The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>Fitxategia handiegia da ({{ size }} {{ suffix }}). Baimendutako tamaina handiena {{ limit }} {{ suffix }} da.</target> + </trans-unit> + <trans-unit id="17"> + <source>The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}.</source> + <target>Fitxategiaren mime mota ez da egokia ({{ type }}). Hauek dira baimendutako mime motak: {{ types }}.</target> + </trans-unit> + <trans-unit id="18"> + <source>This value should be {{ limit }} or less.</source> + <target>Balio hau gehienez {{ limit }} izan beharko litzateke.</target> + </trans-unit> + <trans-unit id="19"> + <source>This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less.</source> + <target>Balio hau luzeegia da. Gehienez karaktere {{ limit }} eduki beharko luke.|Balio hau luzeegia da. Gehienez {{ limit }} karaktere eduki beharko lituzke.</target> + </trans-unit> + <trans-unit id="20"> + <source>This value should be {{ limit }} or more.</source> + <target>Balio hau gutxienez {{ limit }} izan beharko litzateke.</target> + </trans-unit> + <trans-unit id="21"> + <source>This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more.</source> + <target>Balio hau motzegia da. Karaktere {{ limit }} gutxienez eduki beharko luke.|Balio hau motzegia da. Gutxienez {{ limit }} karaktere eduki beharko lituzke.</target> + </trans-unit> + <trans-unit id="22"> + <source>This value should not be blank.</source> + <target>Balio hau ez litzateke hutsik egon behar.</target> + </trans-unit> + <trans-unit id="23"> + <source>This value should not be null.</source> + <target>Balio hau ez litzateke nulua izan behar.</target> + </trans-unit> + <trans-unit id="24"> + <source>This value should be null.</source> + <target>Balio hau nulua izan beharko litzateke.</target> + </trans-unit> + <trans-unit id="25"> + <source>This value is not valid.</source> + <target>Balio hau ez da egokia.</target> + </trans-unit> + <trans-unit id="26"> + <source>This value is not a valid time.</source> + <target>Balio hau ez da ordu egoki bat.</target> + </trans-unit> + <trans-unit id="27"> + <source>This value is not a valid URL.</source> + <target>Balio hau ez da baliabideen kokatzaile uniforme (URL) egoki bat.</target> + </trans-unit> + <trans-unit id="31"> + <source>The two values should be equal.</source> + <target>Bi balioak berdinak izan beharko lirateke.</target> + </trans-unit> + <trans-unit id="32"> + <source>The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>Fitxategia handiegia da. Baimendutako tamaina handiena {{ limit }} {{ suffix }} da.</target> + </trans-unit> + <trans-unit id="33"> + <source>The file is too large.</source> + <target>Fitxategia handiegia da.</target> + </trans-unit> + <trans-unit id="34"> + <source>The file could not be uploaded.</source> + <target>Ezin izan da fitxategia igo.</target> + </trans-unit> + <trans-unit id="35"> + <source>This value should be a valid number.</source> + <target>Balio hau zenbaki egoki bat izan beharko litzateke.</target> + </trans-unit> + <trans-unit id="36"> + <source>This file is not a valid image.</source> + <target>Fitxategi hau ez da irudi egoki bat.</target> + </trans-unit> + <trans-unit id="37"> + <source>This is not a valid IP address.</source> + <target>Honako hau ez da IP helbide egoki bat.</target> + </trans-unit> + <trans-unit id="38"> + <source>This value is not a valid language.</source> + <target>Balio hau ez da hizkuntza egoki bat.</target> + </trans-unit> + <trans-unit id="39"> + <source>This value is not a valid locale.</source> + <target>Balio hau ez da kokapen egoki bat.</target> + </trans-unit> + <trans-unit id="40"> + <source>This value is not a valid country.</source> + <target>Balio hau ez da herrialde egoki bat.</target> + </trans-unit> + <trans-unit id="41"> + <source>This value is already used.</source> + <target>Balio hau jadanik erabilia izan da.</target> + </trans-unit> + <trans-unit id="42"> + <source>The size of the image could not be detected.</source> + <target>Ezin izan da irudiaren tamaina detektatu.</target> + </trans-unit> + <trans-unit id="43"> + <source>The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px.</source> + <target>Irudiaren zabalera handiegia da ({{ width }}px). Onartutako gehienezko zabalera {{ max_width }}px dira.</target> + </trans-unit> + <trans-unit id="44"> + <source>The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px.</source> + <target>Irudiaren zabalera txikiegia da ({{ width }}px). Onartutako gutxieneko zabalera {{ min_width }}px dira.</target> + </trans-unit> + <trans-unit id="45"> + <source>The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px.</source> + <target>Irudiaren altuera handiegia da ({{ height }}px). Onartutako gehienezko altuera {{ max_height }}px dira.</target> + </trans-unit> + <trans-unit id="46"> + <source>The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px.</source> + <target>Irudiaren altuera txikiegia da ({{ height }}px). Onartutako gutxieneko altuera {{ min_height }}px dira.</target> + </trans-unit> + <trans-unit id="47"> + <source>This value should be the user's current password.</source> + <target>Balio hau uneko erabiltzailearen pasahitza izan beharko litzateke.</target> + </trans-unit> + <trans-unit id="48"> + <source>This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters.</source> + <target>Balio honek zehazki karaktere {{ limit }} izan beharko luke.|Balio honek zehazki {{ limit }} karaktere izan beharko lituzke.</target> + </trans-unit> + <trans-unit id="49"> + <source>The file was only partially uploaded.</source> + <target>Fitxategiaren zati bat bakarrik igo da.</target> + </trans-unit> + <trans-unit id="50"> + <source>No file was uploaded.</source> + <target>Ez da fitxategirik igo.</target> + </trans-unit> + <trans-unit id="51"> + <source>No temporary folder was configured in php.ini.</source> + <target>Ez da aldi baterako karpetarik konfiguratu php.ini fitxategian.</target> + </trans-unit> + <trans-unit id="52"> + <source>Cannot write temporary file to disk.</source> + <target>Ezin izan da aldi baterako fitxategia diskoan idatzi.</target> + </trans-unit> + <trans-unit id="53"> + <source>A PHP extension caused the upload to fail.</source> + <target>PHP luzapen batek igoeraren hutsa eragin du.</target> + </trans-unit> + <trans-unit id="54"> + <source>This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more.</source> + <target>Bilduma honek gutxienez elementu {{ limit }} eduki beharko luke.|Bilduma honek gutxienez {{ limit }} elementu eduki beharko lituzke.</target> + </trans-unit> + <trans-unit id="55"> + <source>This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less.</source> + <target>Bilduma honek gehienez elementu {{ limit }} eduki beharko luke.|Bilduma honek gehienez {{ limit }} elementu eduki beharko lituzke.</target> + </trans-unit> + <trans-unit id="56"> + <source>This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements.</source> + <target>Bilduma honek zehazki elementu {{ limit }} eduki beharko luke.|Bilduma honek zehazki {{ limit }} elementu eduki beharko lituzke.</target> + </trans-unit> + <trans-unit id="57"> + <source>Invalid card number.</source> + <target>Txartel zenbaki baliogabea.</target> + </trans-unit> + <trans-unit id="58"> + <source>Unsupported card type or invalid card number.</source> + <target>Txartel mota onartezina edo txartel zenbaki baliogabea.</target> + </trans-unit> + <trans-unit id="59"> + <source>This is not a valid International Bank Account Number (IBAN).</source> + <target>Hau ez da baliozko banku internazionaleko kontu zenbaki (IBAN) bat.</target> + </trans-unit> + <trans-unit id="60"> + <source>This value is not a valid ISBN-10.</source> + <target>Balio hau ez da onartutako ISBN-10 bat.</target> + </trans-unit> + <trans-unit id="61"> + <source>This value is not a valid ISBN-13.</source> + <target>Balio hau ez da onartutako ISBN-13 bat.</target> + </trans-unit> + <trans-unit id="62"> + <source>This value is neither a valid ISBN-10 nor a valid ISBN-13.</source> + <target>Balio hau ez da onartutako ISBN-10 edo ISBN-13 bat.</target> + </trans-unit> + <trans-unit id="63"> + <source>This value is not a valid ISSN.</source> + <target>Balio hau ez da onartutako ISSN bat.</target> + </trans-unit> + <trans-unit id="64"> + <source>This value is not a valid currency.</source> + <target>Balio hau ez da baliozko moneta bat.</target> + </trans-unit> + <trans-unit id="65"> + <source>This value should be equal to {{ compared_value }}.</source> + <target>Balio hau {{ compared_value }}-(r)en berbera izan beharko litzateke.</target> + </trans-unit> + <trans-unit id="66"> + <source>This value should be greater than {{ compared_value }}.</source> + <target>Balio hau {{ compared_value }} baino handiagoa izan beharko litzateke.</target> + </trans-unit> + <trans-unit id="67"> + <source>This value should be greater than or equal to {{ compared_value }}.</source> + <target>Balio hau {{ compared_value }}-(r)en berdina edota handiagoa izan beharko litzateke.</target> + </trans-unit> + <trans-unit id="68"> + <source>This value should be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>Balio hau {{ compared_value_type }} {{ compared_value }}-(r)en berbera izan beharko litzateke.</target> + </trans-unit> + <trans-unit id="69"> + <source>This value should be less than {{ compared_value }}.</source> + <target>Balio hau {{ compared_value }} baino txikiagoa izan beharko litzateke.</target> + </trans-unit> + <trans-unit id="70"> + <source>This value should be less than or equal to {{ compared_value }}.</source> + <target>Balio hau {{ compared_value }}-(r)en berdina edota txikiagoa izan beharko litzateke.</target> + </trans-unit> + <trans-unit id="71"> + <source>This value should not be equal to {{ compared_value }}.</source> + <target>Balio hau ez litzateke {{ compared_value }}-(r)en berdina izan behar.</target> + </trans-unit> + <trans-unit id="72"> + <source>This value should not be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>Balio hau ez litzateke {{ compared_value_type }} {{ compared_value }}-(r)en berbera izan behar.</target> + </trans-unit> + </body> + </file> +</xliff> diff --git a/core/vendor/symfony/validator/Resources/translations/validators.fa.xlf b/core/vendor/symfony/validator/Resources/translations/validators.fa.xlf new file mode 100644 index 0000000000000000000000000000000000000000..98b4bd66f08e8f00137427cc03223d92fbf81ce8 --- /dev/null +++ b/core/vendor/symfony/validator/Resources/translations/validators.fa.xlf @@ -0,0 +1,283 @@ +<?xml version="1.0"?> +<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2"> + <file source-language="en" datatype="plaintext" original="file.ext"> + <body> + <trans-unit id="1"> + <source>This value should be false.</source> + <target state="needs-review-translation">این مقدار باید نادرست(False) باشد.</target> + </trans-unit> + <trans-unit id="2"> + <source>This value should be true.</source> + <target>این مقدار باید درست(True) باشد.</target> + </trans-unit> + <trans-unit id="3"> + <source>This value should be of type {{ type }}.</source> + <target>این مقدار باید از نوع {{ type }} باشد.</target> + </trans-unit> + <trans-unit id="4"> + <source>This value should be blank.</source> + <target>این Ùیلد باید خالی باشد.</target> + </trans-unit> + <trans-unit id="5"> + <source>The value you selected is not a valid choice.</source> + <target>گزینه انتخابی معتبر نیست.</target> + </trans-unit> + <trans-unit id="6"> + <source>You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices.</source> + <target>باید Øداقل {{ limit }} گزینه انتخاب کنید.|باید Øداقل {{ limit }} گزینه انتخاب کنید.</target> + </trans-unit> + <trans-unit id="7"> + <source>You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices.</source> + <target>Øداکثر {{ limit }} گزینه Ù…ÛŒ توانید انتخاب کنید.|Øداکثر {{ limit }} گزینه Ù…ÛŒ توانید انتخاب کنید.</target> + </trans-unit> + <trans-unit id="8"> + <source>One or more of the given values is invalid.</source> + <target>یک یا چند مقدار نامعتبر وجود دارد.</target> + </trans-unit> + <trans-unit id="9"> + <source>The fields {{ fields }} were not expected.</source> + <target>Ùیلدهای {{ fields }} اضاÙÛŒ هستند.</target> + </trans-unit> + <trans-unit id="10"> + <source>The fields {{ fields }} are missing.</source> + <target>Ùیلدهای {{ fields }} Ú©Ù… هستند.</target> + </trans-unit> + <trans-unit id="11"> + <source>This value is not a valid date.</source> + <target>این مقدار یک تاریخ معتبر نیست.</target> + </trans-unit> + <trans-unit id="12"> + <source>This value is not a valid datetime.</source> + <target>این مقدار یک تاریخ Ùˆ زمان معتبر نیست.</target> + </trans-unit> + <trans-unit id="13"> + <source>This value is not a valid email address.</source> + <target>این یک رایانامه معتبر نیست.</target> + </trans-unit> + <trans-unit id="14"> + <source>The file could not be found.</source> + <target>Ùایل پیدا نشد.</target> + </trans-unit> + <trans-unit id="15"> + <source>The file is not readable.</source> + <target>Ùایل قابلیت خواندن ندارد.</target> + </trans-unit> + <trans-unit id="16"> + <source>The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>Ùایل بیش از اندازه بزرگ است({{ size }} {{ suffix }}). Øداکثر اندازه مجاز برابر {{ limit }} {{ suffix }} است.</target> + </trans-unit> + <trans-unit id="17"> + <source>The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}.</source> + <target>این نوع Ùایل مجاز نیست({{ type }}). نوع های مجاز {{ types }} هستند.</target> + </trans-unit> + <trans-unit id="18"> + <source>This value should be {{ limit }} or less.</source> + <target>این مقدار باید کوچکتر یا مساوی {{ limit }} باشد.</target> + </trans-unit> + <trans-unit id="19"> + <source>This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less.</source> + <target>بسیار طولانی است.Øداکثر تعداد Øرو٠مجاز برابر {{ limit }} است.|بسیار طولانی است.Øداکثر تعداد Øرو٠مجاز برابر {{ limit }} است.</target> + </trans-unit> + <trans-unit id="20"> + <source>This value should be {{ limit }} or more.</source> + <target>این مقدار باید برابر Ùˆ یا بیشتر از {{ limit }} باشد.</target> + </trans-unit> + <trans-unit id="21"> + <source>This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more.</source> + <target>بسیار کوتاه است.تعداد Øرو٠باید Øداقل {{ limit }} باشد.|بسیار کوتاه است.تعداد Øرو٠باید Øداقل {{ limit }} باشد.</target> + </trans-unit> + <trans-unit id="22"> + <source>This value should not be blank.</source> + <target>این مقدار نباید تهی باشد.</target> + </trans-unit> + <trans-unit id="23"> + <source>This value should not be null.</source> + <target>باید مقداری داشته باشد..</target> + </trans-unit> + <trans-unit id="24"> + <source>This value should be null.</source> + <target>نباید مقداری داشته باشد.</target> + </trans-unit> + <trans-unit id="25"> + <source>This value is not valid.</source> + <target>این مقدار معتبر نیست.</target> + </trans-unit> + <trans-unit id="26"> + <source>This value is not a valid time.</source> + <target>این مقدار یک زمان صØÛŒØ Ù†ÛŒØ³Øª.</target> + </trans-unit> + <trans-unit id="27"> + <source>This value is not a valid URL.</source> + <target>این یک URL معتبر نیست.</target> + </trans-unit> + <trans-unit id="31"> + <source>The two values should be equal.</source> + <target>دو مقدار باید برابر باشند.</target> + </trans-unit> + <trans-unit id="32"> + <source>The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>Ùایل بیش از اندازه بزرگ است. Øداکثر اندازه مجاز برابر {{ limit }} {{ suffix }} است.</target> + </trans-unit> + <trans-unit id="33"> + <source>The file is too large.</source> + <target>Ùایل بیش از اندازه بزرگ است.</target> + </trans-unit> + <trans-unit id="34"> + <source>The file could not be uploaded.</source> + <target>بارگذاری Ùایل با شکست مواجه شد.</target> + </trans-unit> + <trans-unit id="35"> + <source>This value should be a valid number.</source> + <target>این مقدار باید یک عدد معتبر باشد.</target> + </trans-unit> + <trans-unit id="36"> + <source>This file is not a valid image.</source> + <target>این Ùایل یک تصویر نیست.</target> + </trans-unit> + <trans-unit id="37"> + <source>This is not a valid IP address.</source> + <target>این مقدار یک IP معتبر نیست.</target> + </trans-unit> + <trans-unit id="38"> + <source>This value is not a valid language.</source> + <target>این مقدار یک زبان صØÛŒØ Ù†ÛŒØ³Øª.</target> + </trans-unit> + <trans-unit id="39"> + <source>This value is not a valid locale.</source> + <target>این مقدار یک Ù…ØÙ„ صØÛŒØ Ù†ÛŒØ³Øª.</target> + </trans-unit> + <trans-unit id="40"> + <source>This value is not a valid country.</source> + <target>این مقدار یک کشور صØÛŒØ Ù†ÛŒØ³Øª.</target> + </trans-unit> + <trans-unit id="41"> + <source>This value is already used.</source> + <target>این مقدار قبلا مورد استÙاده قرار گرÙته است.</target> + </trans-unit> + <trans-unit id="42"> + <source>The size of the image could not be detected.</source> + <target>اندازه تصویر قابل شناسایی نیست.</target> + </trans-unit> + <trans-unit id="43"> + <source>The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px.</source> + <target>طول تصویر بسیار بزرگ است ({{ width }}px). بشینه طول مجاز {{ max_width }}px است.</target> + </trans-unit> + <trans-unit id="44"> + <source>The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px.</source> + <target>طول تصویر بسیار Ú©ÙˆÚ†Ú© است ({{ width }}px). کمینه طول موردنظر {{ min_width }}px است.</target> + </trans-unit> + <trans-unit id="45"> + <source>The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px.</source> + <target>ارتÙاع تصویر بسیار بزرگ است ({{ height }}px). بشینه ارتÙاع مجاز {{ max_height }}px است.</target> + </trans-unit> + <trans-unit id="46"> + <source>The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px.</source> + <target>ارتÙاع تصویر بسیار Ú©ÙˆÚ†Ú© است ({{ height }}px). کمینه ارتÙاع موردنظر {{ min_height }}px است.</target> + </trans-unit> + <trans-unit id="47"> + <source>This value should be the user's current password.</source> + <target>این مقدار Ù…ÛŒ بایست کلمه عبور کنونی کاربر باشد.</target> + </trans-unit> + <trans-unit id="48"> + <source>This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters.</source> + <target> این مقدار Ù…ÛŒ بایست دقیقا {{ limit }} کاراکتر داشته باشد.| این مقدار Ù…ÛŒ بایست دقیقا {{ limit }} کاراکتر داشته باشد.</target> + </trans-unit> + <trans-unit id="49"> + <source>The file was only partially uploaded.</source> + <target>Ùایل به صورت جزیی بارگذاری شده است.</target> + </trans-unit> + <trans-unit id="50"> + <source>No file was uploaded.</source> + <target>هیچ Ùایلی بارگذاری نشد.</target> + </trans-unit> + <trans-unit id="51"> + <source>No temporary folder was configured in php.ini.</source> + <target>Ùولدر موقت در php.ini پیکربندی نشده است.</target> + </trans-unit> + <trans-unit id="52"> + <source>Cannot write temporary file to disk.</source> + <target>Ùایل موقت را نمی توان در دیسک نوشت.</target> + </trans-unit> + <trans-unit id="53"> + <source>A PHP extension caused the upload to fail.</source> + <target>اکستنشن PHP موجب شد Ú©Ù‡ بارگذاری Ùایل با شکست مواجه شود.</target> + </trans-unit> + <trans-unit id="54"> + <source>This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more.</source> + <target>این مجموعه Ù…ÛŒ بایست دارای {{ limit }} عنصر یا بیشتر باشد.|این مجموعه Ù…ÛŒ بایست دارای {{ limit }} عنصر یا بیشتر باشد.</target> + </trans-unit> + <trans-unit id="55"> + <source>This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less.</source> + <target>این مجموعه Ù…ÛŒ بایست دارای Øداقل {{ limit }} عنصر یا کمتر باشد.|این مجموعه Ù…ÛŒ بایست دارای {{ limit }} عنصر یا کمتر باشد.</target> + </trans-unit> + <trans-unit id="56"> + <source>This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements.</source> + <target>این مجموعه Ù…ÛŒ بایست به طور دقیق دارا {{ limit }} عنصر باشد.|این مجموعه Ù…ÛŒ بایست به طور دقیق دارای {{ limit }} قلم باشد.</target> + </trans-unit> + <trans-unit id="57"> + <source>Invalid card number.</source> + <target>شماره کارت نامعتبر است.</target> + </trans-unit> + <trans-unit id="58"> + <source>Unsupported card type or invalid card number.</source> + <target>نوع کارت پشتیبانی نمی شود یا شماره کارت نامعتبر است.</target> + </trans-unit> + <trans-unit id="59"> + <source>This is not a valid International Bank Account Number (IBAN).</source> + <target>این یک شماره Øساب بین المللی بانک (IBAN) درست نیست.</target> + </trans-unit> + <trans-unit id="60"> + <source>This value is not a valid ISBN-10.</source> + <target>این مقدار یک ISBN-10 درست نیست.</target> + </trans-unit> + <trans-unit id="61"> + <source>This value is not a valid ISBN-13.</source> + <target>این مقدار یک ISBN-13 درست نیست.</target> + </trans-unit> + <trans-unit id="62"> + <source>This value is neither a valid ISBN-10 nor a valid ISBN-13.</source> + <target>این مقدار یک ISBN-10 درست یا ISBN-13 درست نیست.</target> + </trans-unit> + <trans-unit id="63"> + <source>This value is not a valid ISSN.</source> + <target>این مقدار یک ISSN درست نیست.</target> + </trans-unit> + <trans-unit id="64"> + <source>This value is not a valid currency.</source> + <target>این مقدار یک یکای پول درست نیست.</target> + </trans-unit> + <trans-unit id="65"> + <source>This value should be equal to {{ compared_value }}.</source> + <target>این مقدار باید برابر با {{ compared_value }} باشد.</target> + </trans-unit> + <trans-unit id="66"> + <source>This value should be greater than {{ compared_value }}.</source> + <target>این مقدار باید از {{ compared_value }} بیشتر باشد.</target> + </trans-unit> + <trans-unit id="67"> + <source>This value should be greater than or equal to {{ compared_value }}.</source> + <target>این مقدار باید بزرگتر یا مساوی با {{ compared_value }} باشد.</target> + </trans-unit> + <trans-unit id="68"> + <source>This value should be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>این مقدار باید با {{ compared_value_type }} {{ compared_value }} یکی باشد.</target> + </trans-unit> + <trans-unit id="69"> + <source>This value should be less than {{ compared_value }}.</source> + <target>این مقدار باید کمتر از {{ compared_value }} باشد.</target> + </trans-unit> + <trans-unit id="70"> + <source>This value should be less than or equal to {{ compared_value }}.</source> + <target>این مقدار باید کمتر یا مساوی با {{ compared_value }} باشد.</target> + </trans-unit> + <trans-unit id="71"> + <source>This value should not be equal to {{ compared_value }}.</source> + <target>این مقدار نباید با {{ compared_value }} برابر باشد.</target> + </trans-unit> + <trans-unit id="72"> + <source>This value should not be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>این مقدار نباید {{ compared_value_type }} {{ compared_value }} یکی باشد.</target> + </trans-unit> + </body> + </file> +</xliff> diff --git a/core/vendor/symfony/validator/Resources/translations/validators.fi.xlf b/core/vendor/symfony/validator/Resources/translations/validators.fi.xlf new file mode 100644 index 0000000000000000000000000000000000000000..3f5a07e0921ae8eca05830a0c0cac384c912b609 --- /dev/null +++ b/core/vendor/symfony/validator/Resources/translations/validators.fi.xlf @@ -0,0 +1,227 @@ +<?xml version="1.0"?> +<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2"> + <file source-language="en" datatype="plaintext" original="file.ext"> + <body> + <trans-unit id="1"> + <source>This value should be false.</source> + <target>Arvon tulee olla epätosi.</target> + </trans-unit> + <trans-unit id="2"> + <source>This value should be true.</source> + <target>Arvon tulee olla tosi.</target> + </trans-unit> + <trans-unit id="3"> + <source>This value should be of type {{ type }}.</source> + <target>Arvon tulee olla tyyppiä {{ type }}.</target> + </trans-unit> + <trans-unit id="4"> + <source>This value should be blank.</source> + <target>Arvon tulee olla tyhjä.</target> + </trans-unit> + <trans-unit id="5"> + <source>The value you selected is not a valid choice.</source> + <target>Arvon tulee olla yksi annetuista vaihtoehdoista.</target> + </trans-unit> + <trans-unit id="6"> + <source>You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices.</source> + <target>Sinun tulee valita vähintään {{ limit }} vaihtoehtoa.</target> + </trans-unit> + <trans-unit id="7"> + <source>You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices.</source> + <target>Sinun tulee valitan enintään {{ limit }} vaihtoehtoa.</target> + </trans-unit> + <trans-unit id="8"> + <source>One or more of the given values is invalid.</source> + <target>Yksi tai useampi annetuista arvoista on virheellinen.</target> + </trans-unit> + <trans-unit id="9"> + <source>This field was not expected.</source> + <target>Tässä kentässä ei odotettu.</target> + </trans-unit> + <trans-unit id="10"> + <source>This field is missing.</source> + <target>Tämä kenttä puuttuu.</target> + </trans-unit> + <trans-unit id="11"> + <source>This value is not a valid date.</source> + <target>Annettu arvo ei ole kelvollinen päivämäärä.</target> + </trans-unit> + <trans-unit id="12"> + <source>This value is not a valid datetime.</source> + <target>Annettu arvo ei ole kelvollinen päivämäärä ja kellonaika.</target> + </trans-unit> + <trans-unit id="13"> + <source>This value is not a valid email address.</source> + <target>Annettu arvo ei ole kelvollinen sähköpostiosoite.</target> + </trans-unit> + <trans-unit id="14"> + <source>The file could not be found.</source> + <target>Tiedostoa ei löydy.</target> + </trans-unit> + <trans-unit id="15"> + <source>The file is not readable.</source> + <target>Tiedostoa ei voida lukea.</target> + </trans-unit> + <trans-unit id="16"> + <source>The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>Tiedostonkoko ({{ size }} {{ suffix }}) on liian iso. Suurin sallittu tiedostonkoko on {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="17"> + <source>The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}.</source> + <target>Tiedostotyyppi ({{ type }}) on virheellinen. Sallittuja tiedostotyyppejä ovat {{ types }}.</target> + </trans-unit> + <trans-unit id="18"> + <source>This value should be {{ limit }} or less.</source> + <target>Arvon tulee olla {{ limit }} tai vähemmän.</target> + </trans-unit> + <trans-unit id="19"> + <source>This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less.</source> + <target>Liian pitkä syöte. Syöte saa olla enintään {{ limit }} merkkiä.</target> + </trans-unit> + <trans-unit id="20"> + <source>This value should be {{ limit }} or more.</source> + <target>Arvon tulee olla {{ limit }} tai enemmän.</target> + </trans-unit> + <trans-unit id="21"> + <source>This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more.</source> + <target>Liian lyhyt syöte. Syötteen tulee olla vähintään {{ limit }} merkkiä.</target> + </trans-unit> + <trans-unit id="22"> + <source>This value should not be blank.</source> + <target>Kenttä ei voi olla tyhjä.</target> + </trans-unit> + <trans-unit id="23"> + <source>This value should not be null.</source> + <target>Syöte ei voi olla null.</target> + </trans-unit> + <trans-unit id="24"> + <source>This value should be null.</source> + <target>Syötteen tulee olla null.</target> + </trans-unit> + <trans-unit id="25"> + <source>This value is not valid.</source> + <target>Virheellinen arvo.</target> + </trans-unit> + <trans-unit id="26"> + <source>This value is not a valid time.</source> + <target>Annettu arvo ei ole kelvollinen kellonaika.</target> + </trans-unit> + <trans-unit id="27"> + <source>This value is not a valid URL.</source> + <target>Annettu arvo ei ole kelvollinen URL-osoite.</target> + </trans-unit> + <trans-unit id="31"> + <source>The two values should be equal.</source> + <target>Kahden annetun arvon tulee olla samat.</target> + </trans-unit> + <trans-unit id="32"> + <source>The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>Annettu tiedosto on liian iso. Suurin sallittu tiedostokoko on {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="33"> + <source>The file is too large.</source> + <target>Tiedosto on liian iso.</target> + </trans-unit> + <trans-unit id="34"> + <source>The file could not be uploaded.</source> + <target>Tiedoston siirto epäonnistui.</target> + </trans-unit> + <trans-unit id="35"> + <source>This value should be a valid number.</source> + <target>Tämän arvon tulee olla numero.</target> + </trans-unit> + <trans-unit id="36"> + <source>This file is not a valid image.</source> + <target>Tämä tiedosto ei ole kelvollinen kuva.</target> + </trans-unit> + <trans-unit id="37"> + <source>This is not a valid IP address.</source> + <target>Tämä ei ole kelvollinen IP-osoite.</target> + </trans-unit> + <trans-unit id="38"> + <source>This value is not a valid language.</source> + <target>Tämä arvo ei ole kelvollinen kieli.</target> + </trans-unit> + <trans-unit id="39"> + <source>This value is not a valid locale.</source> + <target>Tämä arvo ei ole kelvollinen kieli- ja alueasetus (locale).</target> + </trans-unit> + <trans-unit id="40"> + <source>This value is not a valid country.</source> + <target>Tämä arvo ei ole kelvollinen maa.</target> + </trans-unit> + <trans-unit id="41"> + <source>This value is already used.</source> + <target>Tämä arvo on jo käytetty.</target> + </trans-unit> + <trans-unit id="42"> + <source>The size of the image could not be detected.</source> + <target>Kuvan kokoa ei voitu tunnistaa.</target> + </trans-unit> + <trans-unit id="43"> + <source>The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px.</source> + <target>Kuva on liian leveä ({{ width }}px). Sallittu maksimileveys on {{ max_width }}px.</target> + </trans-unit> + <trans-unit id="44"> + <source>The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px.</source> + <target>Kuva on liian kapea ({{ width }}px). Leveyden tulisi olla vähintään {{ min_width }}px.</target> + </trans-unit> + <trans-unit id="45"> + <source>The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px.</source> + <target>Kuva on liian korkea ({{ width }}px). Sallittu maksimikorkeus on {{ max_width }}px.</target> + </trans-unit> + <trans-unit id="46"> + <source>The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px.</source> + <target>Kuva on liian matala ({{ height }}px). Korkeuden tulisi olla vähintään {{ min_height }}px.</target> + </trans-unit> + <trans-unit id="47"> + <source>This value should be the user's current password.</source> + <target>Tämän arvon tulisi olla käyttäjän tämänhetkinen salasana.</target> + </trans-unit> + <trans-unit id="48"> + <source>This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters.</source> + <target>Tämän arvon tulisi olla tasan yhden merkin pituinen.|Tämän arvon tulisi olla tasan {{ limit }} merkkiä pitkä.</target> + </trans-unit> + <trans-unit id="49"> + <source>The file was only partially uploaded.</source> + <target>Tiedosto ladattiin vain osittain.</target> + </trans-unit> + <trans-unit id="50"> + <source>No file was uploaded.</source> + <target>Tiedostoa ei ladattu.</target> + </trans-unit> + <trans-unit id="51"> + <source>No temporary folder was configured in php.ini.</source> + <target>Väliaikaishakemistoa ei ole asetettu php.ini -tiedostoon.</target> + </trans-unit> + <trans-unit id="52"> + <source>Cannot write temporary file to disk.</source> + <target>Väliaikaistiedostoa ei voitu kirjoittaa levylle.</target> + </trans-unit> + <trans-unit id="53"> + <source>A PHP extension caused the upload to fail.</source> + <target>PHP-laajennoksen vuoksi tiedoston lataus epäonnistui.</target> + </trans-unit> + <trans-unit id="54"> + <source>This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more.</source> + <target>Tässä ryhmässä tulisi olla yksi tai useampi elementti.|Tässä ryhmässä tulisi olla vähintään {{ limit }} elementtiä.</target> + </trans-unit> + <trans-unit id="55"> + <source>This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less.</source> + <target>Tässä ryhmässä tulisi olla enintään yksi elementti.|Tässä ryhmässä tulisi olla enintään {{ limit }} elementtiä.</target> + </trans-unit> + <trans-unit id="56"> + <source>This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements.</source> + <target>Tässä ryhmässä tulisi olla tasan yksi elementti.|Tässä ryhmässä tulisi olla enintään {{ limit }} elementtiä.</target> + </trans-unit> + <trans-unit id="57"> + <source>Invalid card number.</source> + <target>Virheellinen korttinumero.</target> + </trans-unit> + <trans-unit id="58"> + <source>Unsupported card type or invalid card number.</source> + <target>Tätä korttityyppiä ei tueta tai korttinumero on virheellinen.</target> + </trans-unit> + </body> + </file> +</xliff> diff --git a/core/vendor/symfony/validator/Resources/translations/validators.fr.xlf b/core/vendor/symfony/validator/Resources/translations/validators.fr.xlf new file mode 100644 index 0000000000000000000000000000000000000000..b50ecbc63a1b5c019a0077ea7ae332df1cb12c25 --- /dev/null +++ b/core/vendor/symfony/validator/Resources/translations/validators.fr.xlf @@ -0,0 +1,315 @@ +<?xml version="1.0"?> +<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2"> + <file source-language="en" datatype="plaintext" original="file.ext"> + <body> + <trans-unit id="1"> + <source>This value should be false.</source> + <target>Cette valeur doit être fausse.</target> + </trans-unit> + <trans-unit id="2"> + <source>This value should be true.</source> + <target>Cette valeur doit être vraie.</target> + </trans-unit> + <trans-unit id="3"> + <source>This value should be of type {{ type }}.</source> + <target>Cette valeur doit être de type {{ type }}.</target> + </trans-unit> + <trans-unit id="4"> + <source>This value should be blank.</source> + <target>Cette valeur doit être vide.</target> + </trans-unit> + <trans-unit id="5"> + <source>The value you selected is not a valid choice.</source> + <target>Cette valeur doit être l'un des choix proposés.</target> + </trans-unit> + <trans-unit id="6"> + <source>You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices.</source> + <target>Vous devez sélectionner au moins {{ limit }} choix.|Vous devez sélectionner au moins {{ limit }} choix.</target> + </trans-unit> + <trans-unit id="7"> + <source>You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices.</source> + <target>Vous devez sélectionner au maximum {{ limit }} choix.|Vous devez sélectionner au maximum {{ limit }} choix.</target> + </trans-unit> + <trans-unit id="8"> + <source>One or more of the given values is invalid.</source> + <target>Une ou plusieurs des valeurs soumises sont invalides.</target> + </trans-unit> + <trans-unit id="9"> + <source>This field was not expected.</source> + <target>Ce champ n'a pas été prévu.</target> + </trans-unit> + <trans-unit id="10"> + <source>This field is missing.</source> + <target>Ce champ est manquant.</target> + </trans-unit> + <trans-unit id="11"> + <source>This value is not a valid date.</source> + <target>Cette valeur n'est pas une date valide.</target> + </trans-unit> + <trans-unit id="12"> + <source>This value is not a valid datetime.</source> + <target>Cette valeur n'est pas une date valide.</target> + </trans-unit> + <trans-unit id="13"> + <source>This value is not a valid email address.</source> + <target>Cette valeur n'est pas une adresse email valide.</target> + </trans-unit> + <trans-unit id="14"> + <source>The file could not be found.</source> + <target>Le fichier n'a pas été trouvé.</target> + </trans-unit> + <trans-unit id="15"> + <source>The file is not readable.</source> + <target>Le fichier n'est pas lisible.</target> + </trans-unit> + <trans-unit id="16"> + <source>The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>Le fichier est trop volumineux ({{ size }} {{ suffix }}). Sa taille ne doit pas dépasser {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="17"> + <source>The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}.</source> + <target>Le type du fichier est invalide ({{ type }}). Les types autorisés sont {{ types }}.</target> + </trans-unit> + <trans-unit id="18"> + <source>This value should be {{ limit }} or less.</source> + <target>Cette valeur doit être inférieure ou égale à {{ limit }}.</target> + </trans-unit> + <trans-unit id="19"> + <source>This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less.</source> + <target>Cette chaine est trop longue. Elle doit avoir au maximum {{ limit }} caractère.|Cette chaine est trop longue. Elle doit avoir au maximum {{ limit }} caractères.</target> + </trans-unit> + <trans-unit id="20"> + <source>This value should be {{ limit }} or more.</source> + <target>Cette valeur doit être supérieure ou égale à {{ limit }}.</target> + </trans-unit> + <trans-unit id="21"> + <source>This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more.</source> + <target>Cette chaine est trop courte. Elle doit avoir au minimum {{ limit }} caractère.|Cette chaine est trop courte. Elle doit avoir au minimum {{ limit }} caractères.</target> + </trans-unit> + <trans-unit id="22"> + <source>This value should not be blank.</source> + <target>Cette valeur ne doit pas être vide.</target> + </trans-unit> + <trans-unit id="23"> + <source>This value should not be null.</source> + <target>Cette valeur ne doit pas être nulle.</target> + </trans-unit> + <trans-unit id="24"> + <source>This value should be null.</source> + <target>Cette valeur doit être nulle.</target> + </trans-unit> + <trans-unit id="25"> + <source>This value is not valid.</source> + <target>Cette valeur n'est pas valide.</target> + </trans-unit> + <trans-unit id="26"> + <source>This value is not a valid time.</source> + <target>Cette valeur n'est pas une heure valide.</target> + </trans-unit> + <trans-unit id="27"> + <source>This value is not a valid URL.</source> + <target>Cette valeur n'est pas une URL valide.</target> + </trans-unit> + <trans-unit id="31"> + <source>The two values should be equal.</source> + <target>Les deux valeurs doivent être identiques.</target> + </trans-unit> + <trans-unit id="32"> + <source>The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>Le fichier est trop volumineux. Sa taille ne doit pas dépasser {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="33"> + <source>The file is too large.</source> + <target>Le fichier est trop volumineux.</target> + </trans-unit> + <trans-unit id="34"> + <source>The file could not be uploaded.</source> + <target>Le téléchargement de ce fichier est impossible.</target> + </trans-unit> + <trans-unit id="35"> + <source>This value should be a valid number.</source> + <target>Cette valeur doit être un nombre.</target> + </trans-unit> + <trans-unit id="36"> + <source>This file is not a valid image.</source> + <target>Ce fichier n'est pas une image valide.</target> + </trans-unit> + <trans-unit id="37"> + <source>This is not a valid IP address.</source> + <target>Cette adresse IP n'est pas valide.</target> + </trans-unit> + <trans-unit id="38"> + <source>This value is not a valid language.</source> + <target>Cette langue n'est pas valide.</target> + </trans-unit> + <trans-unit id="39"> + <source>This value is not a valid locale.</source> + <target>Ce paramètre régional n'est pas valide.</target> + </trans-unit> + <trans-unit id="40"> + <source>This value is not a valid country.</source> + <target>Ce pays n'est pas valide.</target> + </trans-unit> + <trans-unit id="41"> + <source>This value is already used.</source> + <target>Cette valeur est déjà utilisée.</target> + </trans-unit> + <trans-unit id="42"> + <source>The size of the image could not be detected.</source> + <target>La taille de l'image n'a pas pu être détectée.</target> + </trans-unit> + <trans-unit id="43"> + <source>The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px.</source> + <target>La largeur de l'image est trop grande ({{ width }}px). La largeur maximale autorisée est de {{ max_width }}px.</target> + </trans-unit> + <trans-unit id="44"> + <source>The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px.</source> + <target>La largeur de l'image est trop petite ({{ width }}px). La largeur minimale attendue est de {{ min_width }}px.</target> + </trans-unit> + <trans-unit id="45"> + <source>The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px.</source> + <target>La hauteur de l'image est trop grande ({{ height }}px). La hauteur maximale autorisée est de {{ max_height }}px.</target> + </trans-unit> + <trans-unit id="46"> + <source>The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px.</source> + <target>La hauteur de l'image est trop petite ({{ height }}px). La hauteur minimale attendue est de {{ min_height }}px.</target> + </trans-unit> + <trans-unit id="47"> + <source>This value should be the user's current password.</source> + <target>Cette valeur doit être le mot de passe actuel de l'utilisateur.</target> + </trans-unit> + <trans-unit id="48"> + <source>This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters.</source> + <target>Cette chaine doit avoir exactement {{ limit }} caractère.|Cette chaine doit avoir exactement {{ limit }} caractères.</target> + </trans-unit> + <trans-unit id="49"> + <source>The file was only partially uploaded.</source> + <target>Le fichier a été partiellement transféré.</target> + </trans-unit> + <trans-unit id="50"> + <source>No file was uploaded.</source> + <target>Aucun fichier n'a été transféré.</target> + </trans-unit> + <trans-unit id="51"> + <source>No temporary folder was configured in php.ini.</source> + <target>Aucun répertoire temporaire n'a été configuré dans le php.ini.</target> + </trans-unit> + <trans-unit id="52"> + <source>Cannot write temporary file to disk.</source> + <target>Impossible d'écrire le fichier temporaire sur le disque.</target> + </trans-unit> + <trans-unit id="53"> + <source>A PHP extension caused the upload to fail.</source> + <target>Une extension PHP a empêché le transfert du fichier.</target> + </trans-unit> + <trans-unit id="54"> + <source>This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more.</source> + <target>Cette collection doit contenir {{ limit }} élément ou plus.|Cette collection doit contenir {{ limit }} éléments ou plus.</target> + </trans-unit> + <trans-unit id="55"> + <source>This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less.</source> + <target>Cette collection doit contenir {{ limit }} élément ou moins.|Cette collection doit contenir {{ limit }} éléments ou moins.</target> + </trans-unit> + <trans-unit id="56"> + <source>This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements.</source> + <target>Cette collection doit contenir exactement {{ limit }} élément.|Cette collection doit contenir exactement {{ limit }} éléments.</target> + </trans-unit> + <trans-unit id="57"> + <source>Invalid card number.</source> + <target>Numéro de carte invalide.</target> + </trans-unit> + <trans-unit id="58"> + <source>Unsupported card type or invalid card number.</source> + <target>Type de carte non supporté ou numéro invalide.</target> + </trans-unit> + <trans-unit id="59"> + <source>This is not a valid International Bank Account Number (IBAN).</source> + <target>Le numéro IBAN (International Bank Account Number) saisi n'est pas valide.</target> + </trans-unit> + <trans-unit id="60"> + <source>This value is not a valid ISBN-10.</source> + <target>Cette valeur n'est pas un code ISBN-10 valide.</target> + </trans-unit> + <trans-unit id="61"> + <source>This value is not a valid ISBN-13.</source> + <target>Cette valeur n'est pas un code ISBN-13 valide.</target> + </trans-unit> + <trans-unit id="62"> + <source>This value is neither a valid ISBN-10 nor a valid ISBN-13.</source> + <target>Cette valeur n'est ni un code ISBN-10, ni un code ISBN-13 valide.</target> + </trans-unit> + <trans-unit id="63"> + <source>This value is not a valid ISSN.</source> + <target>Cette valeur n'est pas un code ISSN valide.</target> + </trans-unit> + <trans-unit id="64"> + <source>This value is not a valid currency.</source> + <target>Cette valeur n'est pas une devise valide.</target> + </trans-unit> + <trans-unit id="65"> + <source>This value should be equal to {{ compared_value }}.</source> + <target>Cette valeur doit être égale à {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="66"> + <source>This value should be greater than {{ compared_value }}.</source> + <target>Cette valeur doit être supérieure à {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="67"> + <source>This value should be greater than or equal to {{ compared_value }}.</source> + <target>Cette valeur doit être supérieure ou égale à {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="68"> + <source>This value should be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>Cette valeur doit être identique à {{ compared_value_type }} {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="69"> + <source>This value should be less than {{ compared_value }}.</source> + <target>Cette valeur doit être inférieure à {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="70"> + <source>This value should be less than or equal to {{ compared_value }}.</source> + <target>Cette valeur doit être inférieure ou égale à {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="71"> + <source>This value should not be equal to {{ compared_value }}.</source> + <target>Cette valeur ne doit pas être égale à {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="72"> + <source>This value should not be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>Cette valeur ne doit pas être identique à {{ compared_value_type }} {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="73"> + <source>The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}.</source> + <target>Le rapport largeur/hauteur de l'image est trop grand ({{ ratio }}). Le rapport maximal autorisé est {{ max_ratio }}.</target> + </trans-unit> + <trans-unit id="74"> + <source>The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}.</source> + <target>Le rapport largeur/hauteur de l'image est trop petit ({{ ratio }}). Le rapport minimal attendu est {{ min_ratio }}.</target> + </trans-unit> + <trans-unit id="75"> + <source>The image is square ({{ width }}x{{ height }}px). Square images are not allowed.</source> + <target>L'image est carrée ({{ width }}x{{ height }}px). Les images carrées ne sont pas autorisées.</target> + </trans-unit> + <trans-unit id="76"> + <source>The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed.</source> + <target>L'image est au format paysage ({{ width }}x{{ height }}px). Les images au format paysage ne sont pas autorisées.</target> + </trans-unit> + <trans-unit id="77"> + <source>The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed.</source> + <target>L'image est au format portrait ({{ width }}x{{ height }}px). Les images au format portrait ne sont pas autorisées.</target> + </trans-unit> + <trans-unit id="78"> + <source>An empty file is not allowed.</source> + <target>Un fichier vide n'est pas autorisé.</target> + </trans-unit> + <trans-unit id="79"> + <source>The host could not be resolved.</source> + <target>Le nom de domaine n'a pas pu être résolu.</target> + </trans-unit> + <trans-unit id="80"> + <source>This value does not match the expected {{ charset }} charset.</source> + <target>Cette valeur ne correspond pas au jeu de caractères {{ charset }} attendu.</target> + </trans-unit> + </body> + </file> +</xliff> diff --git a/core/vendor/symfony/validator/Resources/translations/validators.gl.xlf b/core/vendor/symfony/validator/Resources/translations/validators.gl.xlf new file mode 100644 index 0000000000000000000000000000000000000000..1d0cc13c865c118d5292760835f8c4605b6de022 --- /dev/null +++ b/core/vendor/symfony/validator/Resources/translations/validators.gl.xlf @@ -0,0 +1,315 @@ +<?xml version="1.0"?> +<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2"> + <file source-language="en" datatype="plaintext" original="file.ext"> + <body> + <trans-unit id="1"> + <source>This value should be false.</source> + <target>Este valor deberÃa ser falso.</target> + </trans-unit> + <trans-unit id="2"> + <source>This value should be true.</source> + <target>Este valor deberÃa ser verdadeiro.</target> + </trans-unit> + <trans-unit id="3"> + <source>This value should be of type {{ type }}.</source> + <target>Este valor deberÃa ser de tipo {{ type }}.</target> + </trans-unit> + <trans-unit id="4"> + <source>This value should be blank.</source> + <target>Este valor deberÃa estar baleiro.</target> + </trans-unit> + <trans-unit id="5"> + <source>The value you selected is not a valid choice.</source> + <target>O valor seleccionado non é unha opción válida.</target> + </trans-unit> + <trans-unit id="6"> + <source>You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices.</source> + <target>Debe seleccionar polo menos {{ limit }} opción.|Debe seleccionar polo menos {{ limit }} opcions.</target> + </trans-unit> + <trans-unit id="7"> + <source>You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices.</source> + <target>Debe seleccionar como máximo {{ limit }} opción.|Debe seleccionar como máximo {{ limit }} opcions.</target> + </trans-unit> + <trans-unit id="8"> + <source>One or more of the given values is invalid.</source> + <target>Un ou máis dos valores indicados non son válidos.</target> + </trans-unit> + <trans-unit id="9"> + <source>This field was not expected.</source> + <target>Este campo non era esperado.</target> + </trans-unit> + <trans-unit id="10"> + <source>This field is missing.</source> + <target>Este campo falta.</target> + </trans-unit> + <trans-unit id="11"> + <source>This value is not a valid date.</source> + <target>Este valor non é unha data válida.</target> + </trans-unit> + <trans-unit id="12"> + <source>This value is not a valid datetime.</source> + <target>Este valor non é unha data e hora válidas.</target> + </trans-unit> + <trans-unit id="13"> + <source>This value is not a valid email address.</source> + <target>Este valor non é unha dirección de correo electrónico válida.</target> + </trans-unit> + <trans-unit id="14"> + <source>The file could not be found.</source> + <target>Non se puido atopar o arquivo.</target> + </trans-unit> + <trans-unit id="15"> + <source>The file is not readable.</source> + <target>O arquivo non se pode ler.</target> + </trans-unit> + <trans-unit id="16"> + <source>The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>O arquivo é demasiado grande ({{ size }} {{ suffix }}). O tamaño máximo permitido é {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="17"> + <source>The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}.</source> + <target>O tipo mime do arquivo non é válido ({{ type }}). Os tipos mime válidos son {{ types }}.</target> + </trans-unit> + <trans-unit id="18"> + <source>This value should be {{ limit }} or less.</source> + <target>Este valor deberÃa ser {{ limit }} ou menos.</target> + </trans-unit> + <trans-unit id="19"> + <source>This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less.</source> + <target>Este valor é demasiado longo. DeberÃa ter {{ limit }} carácter ou menos.|Este valor é demasiado longo. DeberÃa ter {{ limit }} caracteres ou menos.</target> + </trans-unit> + <trans-unit id="20"> + <source>This value should be {{ limit }} or more.</source> + <target>Este valor deberÃa ser {{ limit }} ou máis.</target> + </trans-unit> + <trans-unit id="21"> + <source>This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more.</source> + <target>Este valor é demasiado curto. DeberÃa ter {{ limit }} carácter ou máis.|Este valor é demasiado corto. DeberÃa ter {{ limit }} caracteres ou máis.</target> + </trans-unit> + <trans-unit id="22"> + <source>This value should not be blank.</source> + <target>Este valor non deberÃa estar baleiro.</target> + </trans-unit> + <trans-unit id="23"> + <source>This value should not be null.</source> + <target>Este valor non deberÃa ser null.</target> + </trans-unit> + <trans-unit id="24"> + <source>This value should be null.</source> + <target>Este valor deberÃa ser null.</target> + </trans-unit> + <trans-unit id="25"> + <source>This value is not valid.</source> + <target>Este valor non é válido.</target> + </trans-unit> + <trans-unit id="26"> + <source>This value is not a valid time.</source> + <target>Este valor non é unha hora válida.</target> + </trans-unit> + <trans-unit id="27"> + <source>This value is not a valid URL.</source> + <target>Este valor non é unha URL válida.</target> + </trans-unit> + <trans-unit id="31"> + <source>The two values should be equal.</source> + <target>Os dous valores deberÃan ser iguais.</target> + </trans-unit> + <trans-unit id="32"> + <source>The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>O arquivo é demasiado grande. O tamaño máximo permitido é {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="33"> + <source>The file is too large.</source> + <target>O arquivo é demasiado grande.</target> + </trans-unit> + <trans-unit id="34"> + <source>The file could not be uploaded.</source> + <target>No se puido cargar o arquivo.</target> + </trans-unit> + <trans-unit id="35"> + <source>This value should be a valid number.</source> + <target>Este valor deberÃa ser un número válido.</target> + </trans-unit> + <trans-unit id="36"> + <source>This file is not a valid image.</source> + <target>O arquivo non é unha imaxe válida.</target> + </trans-unit> + <trans-unit id="37"> + <source>This is not a valid IP address.</source> + <target>Isto non é unha dirección IP válida.</target> + </trans-unit> + <trans-unit id="38"> + <source>This value is not a valid language.</source> + <target>Este valor non é un idioma válido.</target> + </trans-unit> + <trans-unit id="39"> + <source>This value is not a valid locale.</source> + <target>Este valor non é unha localización válida.</target> + </trans-unit> + <trans-unit id="40"> + <source>This value is not a valid country.</source> + <target>Este valor non é un paÃs válido.</target> + </trans-unit> + <trans-unit id="41"> + <source>This value is already used.</source> + <target>Este valor xa está a ser empregado.</target> + </trans-unit> + <trans-unit id="42"> + <source>The size of the image could not be detected.</source> + <target>Non se puido determinar o tamaño da imaxe.</target> + </trans-unit> + <trans-unit id="43"> + <source>The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px.</source> + <target>A largura da imaxe é demasiado grande ({{ width }}px). A largura máxima permitida son {{ max_width }}px.</target> + </trans-unit> + <trans-unit id="44"> + <source>The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px.</source> + <target>A largura da imaxe é demasiado pequena ({{ width }}px). A largura mÃnima requerida son {{ min_width }}px.</target> + </trans-unit> + <trans-unit id="45"> + <source>The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px.</source> + <target>A altura da imaxe é demasiado grande ({{ height }}px). A altura máxima permitida son {{ max_height }}px.</target> + </trans-unit> + <trans-unit id="46"> + <source>The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px.</source> + <target>A altura da imaxe é demasiado pequena ({{ height }}px). A altura mÃnima requerida son {{ min_height }}px.</target> + </trans-unit> + <trans-unit id="47"> + <source>This value should be the user's current password.</source> + <target>Este valor deberÃa ser a contrasinal actual do usuario.</target> + </trans-unit> + <trans-unit id="48"> + <source>This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters.</source> + <target>Este valor deberÃa ter exactamente {{ limit }} carácter.|Este valor deberÃa ter exactamente {{ limit }} caracteres.</target> + </trans-unit> + <trans-unit id="49"> + <source>The file was only partially uploaded.</source> + <target>O arquivo foi só subido parcialmente.</target> + </trans-unit> + <trans-unit id="50"> + <source>No file was uploaded.</source> + <target>Non se subiu ningún arquivo.</target> + </trans-unit> + <trans-unit id="51"> + <source>No temporary folder was configured in php.ini.</source> + <target>Ningunha carpeta temporal foi configurada en php.ini.</target> + </trans-unit> + <trans-unit id="52"> + <source>Cannot write temporary file to disk.</source> + <target>Non se puido escribir o arquivo temporal no disco.</target> + </trans-unit> + <trans-unit id="53"> + <source>A PHP extension caused the upload to fail.</source> + <target>Unha extensión de PHP provocou que a subida fallara.</target> + </trans-unit> + <trans-unit id="54"> + <source>This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more.</source> + <target>Esta colección debe conter {{ limit }} elemento ou máis.|Esta colección debe conter {{ limit }} elementos ou máis.</target> + </trans-unit> + <trans-unit id="55"> + <source>This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less.</source> + <target>Esta colección debe conter {{ limit }} elemento ou menos.|Esta colección debe conter {{ limit }} elementos ou menos.</target> + </trans-unit> + <trans-unit id="56"> + <source>This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements.</source> + <target>Esta colección debe conter exactamente {{ limit }} elemento.|Esta colección debe conter exactamente {{ limit }} elementos.</target> + </trans-unit> + <trans-unit id="57"> + <source>Invalid card number.</source> + <target>Número de tarxeta non válido.</target> + </trans-unit> + <trans-unit id="58"> + <source>Unsupported card type or invalid card number.</source> + <target>Tipo de tarxeta non soportado ou número de tarxeta non válido.</target> + </trans-unit> + <trans-unit id="59"> + <source>This is not a valid International Bank Account Number (IBAN).</source> + <target>Este valor non é un International Bank Account Number (IBAN) válido.</target> + </trans-unit> + <trans-unit id="60"> + <source>This value is not a valid ISBN-10.</source> + <target>Este valor non é un ISBN-10 válido.</target> + </trans-unit> + <trans-unit id="61"> + <source>This value is not a valid ISBN-13.</source> + <target>Este valor non é un ISBN-13 válido.</target> + </trans-unit> + <trans-unit id="62"> + <source>This value is neither a valid ISBN-10 nor a valid ISBN-13.</source> + <target>Este valor non é nin un ISBN-10 válido nin un ISBN-13 válido.</target> + </trans-unit> + <trans-unit id="63"> + <source>This value is not a valid ISSN.</source> + <target>Este valor non é un ISSN válido.</target> + </trans-unit> + <trans-unit id="64"> + <source>This value is not a valid currency.</source> + <target>Este valor non é unha moeda válida.</target> + </trans-unit> + <trans-unit id="65"> + <source>This value should be equal to {{ compared_value }}.</source> + <target>Este valor deberÃa ser igual a {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="66"> + <source>This value should be greater than {{ compared_value }}.</source> + <target>Este valor deberÃa ser maior que {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="67"> + <source>This value should be greater than or equal to {{ compared_value }}.</source> + <target>Este valor deberÃa ser maior ou igual que {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="68"> + <source>This value should be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>Este valor deberÃa ser identico a {{ compared_value_type }} {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="69"> + <source>This value should be less than {{ compared_value }}.</source> + <target>Este valor deberÃa ser menor que {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="70"> + <source>This value should be less than or equal to {{ compared_value }}.</source> + <target>Este valor deberÃa ser menor ou igual que {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="71"> + <source>This value should not be equal to {{ compared_value }}.</source> + <target>Este valor non deberÃa ser igual a {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="72"> + <source>This value should not be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>Este valor non deberÃa ser identico a {{ compared_value_type }} {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="73"> + <source>The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}.</source> + <target>A proporción da imaxe é demasiado grande ({{ ratio }}). A proporción máxima permitida é {{ max_ratio }}.</target> + </trans-unit> + <trans-unit id="74"> + <source>The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}.</source> + <target>A proporción da é demasiado pequena ({{ ratio }}). A proporción mÃnima permitida é {{ min_ratio }}.</target> + </trans-unit> + <trans-unit id="75"> + <source>The image is square ({{ width }}x{{ height }}px). Square images are not allowed.</source> + <target>A imaxe é cadrada ({{ width }}x{{ height }}px). As imáxenes cadradas non están permitidas.</target> + </trans-unit> + <trans-unit id="76"> + <source>The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed.</source> + <target>A imaxe está orientada horizontalmente ({{ width }}x{{ height }}px). As imáxenes orientadas horizontalmente non están permitidas.</target> + </trans-unit> + <trans-unit id="77"> + <source>The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed.</source> + <target>A imaxe está orientada verticalmente ({{ width }}x{{ height }}px). As imáxenes orientadas verticalmente non están permitidas.</target> + </trans-unit> + <trans-unit id="78"> + <source>An empty file is not allowed.</source> + <target>Non está permitido un arquivo baleiro.</target> + </trans-unit> + <trans-unit id="79"> + <source>The host could not be resolved.</source> + <target>Non se puido resolver o host.</target> + </trans-unit> + <trans-unit id="80"> + <source>This value does not match the expected {{ charset }} charset.</source> + <target>A codificación de caracteres para este valor deberÃa ser {{ charset }}.</target> + </trans-unit> + </body> + </file> +</xliff> diff --git a/core/vendor/symfony/validator/Resources/translations/validators.he.xlf b/core/vendor/symfony/validator/Resources/translations/validators.he.xlf new file mode 100644 index 0000000000000000000000000000000000000000..65105149005838dc0372d8feb943a055b0979ce9 --- /dev/null +++ b/core/vendor/symfony/validator/Resources/translations/validators.he.xlf @@ -0,0 +1,307 @@ +<?xml version="1.0"?> +<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2"> + <file source-language="en" datatype="plaintext" original="file.ext"> + <body> + <trans-unit id="1"> + <source>This value should be false.</source> + <target>הערך צריך להיות שקר.</target> + </trans-unit> + <trans-unit id="2"> + <source>This value should be true.</source> + <target>הערך צריך להיות ×מת.</target> + </trans-unit> + <trans-unit id="3"> + <source>This value should be of type {{ type }}.</source> + <target>הערך צריך להיות מסוג {{ type }}.</target> + </trans-unit> + <trans-unit id="4"> + <source>This value should be blank.</source> + <target>הערך צריך להיות ריק.</target> + </trans-unit> + <trans-unit id="5"> + <source>The value you selected is not a valid choice.</source> + <target>הערך שבחרת ××™× ×• חוקי.</target> + </trans-unit> + <trans-unit id="6"> + <source>You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices.</source> + <target>×תה צריך לבחור לפחות {{ limit }} ×פשרויות.|×תה צריך לבחור לפחות {{ limit }} ×פשרויות.</target> + </trans-unit> + <trans-unit id="7"> + <source>You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices.</source> + <target>×תה צריך לבחור לכל היותר {{ limit }} ×פשרויות.|×תה צריך לבחור לכל היותר {{ limit }} ×פשרויות.</target> + </trans-unit> + <trans-unit id="8"> + <source>One or more of the given values is invalid.</source> + <target>×חד ×ו יותר ×ž×”×¢×¨×›×™× ××™× ×• חוקי.</target> + </trans-unit> + <trans-unit id="9"> + <source>This field was not expected.</source> + <target>שדה ×–×” ×œ× ×”×™×” צפוי</target> + </trans-unit> + <trans-unit id="10"> + <source>This field is missing.</source> + <target>שדה ×–×” חסר.</target> + </trans-unit> + <trans-unit id="11"> + <source>This value is not a valid date.</source> + <target>הערך ××™× ×• ת×ריך חוקי.</target> + </trans-unit> + <trans-unit id="12"> + <source>This value is not a valid datetime.</source> + <target>הערך ××™× ×• ת×ריך ושעה חוקיי×.</target> + </trans-unit> + <trans-unit id="13"> + <source>This value is not a valid email address.</source> + <target>כתובת המייל ××™× ×” ×ª×§×™× ×”.</target> + </trans-unit> + <trans-unit id="14"> + <source>The file could not be found.</source> + <target>הקובץ ×œ× × ×ž×¦×.</target> + </trans-unit> + <trans-unit id="15"> + <source>The file is not readable.</source> + <target>×œ× × ×™×ª×Ÿ ×œ×§×¨×•× ×ת הקובץ.</target> + </trans-unit> + <trans-unit id="16"> + <source>The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>הקובץ גדול מדי ({{ size }} {{ suffix }}). הגודל המרבי המותר ×”×•× {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="17"> + <source>The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}.</source> + <target>סוג MIME של הקובץ ××™× ×• חוקי ({{ type }}). ×ž×•×ª×¨×™× ×¡×•×’×™ MIME {{ types }}.</target> + </trans-unit> + <trans-unit id="18"> + <source>This value should be {{ limit }} or less.</source> + <target>הערך צריל להכיל {{ limit }} ×ª×•×•×™× ×œ×›×œ היותר.</target> + </trans-unit> + <trans-unit id="19"> + <source>This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less.</source> + <target>הערך ×רוך מידי. ×”×•× ×¦×¨×™×š להכיל {{ limit }} ×ª×•×•×™× ×œ×›×œ היותר.|הערך ×רוך מידי. ×”×•× ×¦×¨×™×š להכיל {{ limit }} ×ª×•×•×™× ×œ×›×œ היותר.</target> + </trans-unit> + <trans-unit id="20"> + <source>This value should be {{ limit }} or more.</source> + <target>הערך צריך להכיל {{ limit }} ×ª×•×•×™× ×œ×¤×—×•×ª.</target> + </trans-unit> + <trans-unit id="21"> + <source>This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more.</source> + <target>הערך קצר מידיץ ×”×•× ×¦×¨×™×š להכיל {{ limit }} ×ª×•×•×™× ×œ×¤×—×•×ª.|הערך קצר מידיץ ×”×•× ×¦×¨×™×š להכיל {{ limit }} ×ª×•×•×™× ×œ×¤×—×•×ª.</target> + </trans-unit> + <trans-unit id="22"> + <source>This value should not be blank.</source> + <target>הערך ×œ× ×מור להיות ריק.</target> + </trans-unit> + <trans-unit id="23"> + <source>This value should not be null.</source> + <target>הערך ×œ× ×מור להיות ריק.</target> + </trans-unit> + <trans-unit id="24"> + <source>This value should be null.</source> + <target>הערך צריך להיות ריק.</target> + </trans-unit> + <trans-unit id="25"> + <source>This value is not valid.</source> + <target>הערך ××™× ×• חוקי.</target> + </trans-unit> + <trans-unit id="26"> + <source>This value is not a valid time.</source> + <target>הערך ××™× ×• זמן תקין.</target> + </trans-unit> + <trans-unit id="27"> + <source>This value is not a valid URL.</source> + <target>×–×ת ××™× ×” כתובת ×תר ×ª×§×™× ×”.</target> + </trans-unit> + <trans-unit id="31"> + <source>The two values should be equal.</source> + <target>×©× ×™ ×”×¢×¨×›×™× ×¦×¨×™×›×™× ×œ×”×™×•×ª שווי×.</target> + </trans-unit> + <trans-unit id="32"> + <source>The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>הקובץ גדול מדי. הגודל המרבי המותר ×”×•× {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="33"> + <source>The file is too large.</source> + <target>הקובץ גדול מדי.</target> + </trans-unit> + <trans-unit id="34"> + <source>The file could not be uploaded.</source> + <target>×œ× × ×™×ª×Ÿ לעלות ×ת הקובץ.</target> + </trans-unit> + <trans-unit id="35"> + <source>This value should be a valid number.</source> + <target>הערך צריך להיות מספר חוקי.</target> + </trans-unit> + <trans-unit id="36"> + <source>This file is not a valid image.</source> + <target>הקובץ ×”×–×” ××™× ×• ×ª×ž×•× ×” ×ª×§×™× ×”.</target> + </trans-unit> + <trans-unit id="37"> + <source>This is not a valid IP address.</source> + <target>זו ××™× ×” כתובת IP חוקית.</target> + </trans-unit> + <trans-unit id="38"> + <source>This value is not a valid language.</source> + <target>הערך ××™× ×• שפה חוקית.</target> + </trans-unit> + <trans-unit id="39"> + <source>This value is not a valid locale.</source> + <target>הערך ××™× ×• ×זור תקף.</target> + </trans-unit> + <trans-unit id="40"> + <source>This value is not a valid country.</source> + <target>הערך ××™× ×• ×רץ חוקית.</target> + </trans-unit> + <trans-unit id="41"> + <source>This value is already used.</source> + <target>הערך כבר בשימוש.</target> + </trans-unit> + <trans-unit id="42"> + <source>The size of the image could not be detected.</source> + <target>×œ× × ×™×ª×Ÿ לקבוע ×ת גודל ×”×ª×ž×•× ×”.</target> + </trans-unit> + <trans-unit id="43"> + <source>The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px.</source> + <target>רוחב ×”×ª×ž×•× ×” גדול מדי ({{ width }}px). הרוחב המקסימלי ×”×•× {{ max_width }}px.</target> + </trans-unit> + <trans-unit id="44"> + <source>The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px.</source> + <target>רוחב ×”×ª×ž×•× ×” קטן מדי ({{ width }}px). הרוחב ×”×ž×™× ×™×ž×œ×™ ×”×•× {{ min_width }}px.</target> + </trans-unit> + <trans-unit id="45"> + <source>The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px.</source> + <target>גובה ×”×ª×ž×•× ×” גדול מדי ({{ height }}px). הגובה המקסימלי ×”×•× {{ max_height }}px.</target> + </trans-unit> + <trans-unit id="46"> + <source>The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px.</source> + <target>גובה ×”×ª×ž×•× ×” קטן מדי ({{ height }}px). הגובה ×”×ž×™× ×™×ž×œ×™ ×”×•× {{ min_height }}px.</target> + </trans-unit> + <trans-unit id="47"> + <source>This value should be the user's current password.</source> + <target>הערך צריך להיות סיסמת המשתמש ×”× ×•×›×—×™.</target> + </trans-unit> + <trans-unit id="48"> + <source>This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters.</source> + <target>הערך צריך להיות בדיוק {{ limit }} תווי×.|הערך צריך להיות בדיוק {{ limit }} תווי×.</target> + </trans-unit> + <trans-unit id="49"> + <source>The file was only partially uploaded.</source> + <target>הקובץ הועלה ב×ופן חלקי.</target> + </trans-unit> + <trans-unit id="50"> + <source>No file was uploaded.</source> + <target>הקובץ ×œ× ×”×•×¢×œ×”.</target> + </trans-unit> + <trans-unit id="51"> + <source>No temporary folder was configured in php.ini.</source> + <target>×œ× ×”×•×’×“×¨×” תיקייה ×–×ž× ×™×ª ב php.ini.</target> + </trans-unit> + <trans-unit id="52"> + <source>Cannot write temporary file to disk.</source> + <target>×œ× × ×™×ª×Ÿ לכתוב קובץ ×–×ž× ×™ לדיסק.</target> + </trans-unit> + <trans-unit id="53"> + <source>A PHP extension caused the upload to fail.</source> + <target>סיומת PHP ×’×¨× ×œ×”×¢×œ××” להיכשל.</target> + </trans-unit> + <trans-unit id="54"> + <source>This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more.</source> + <target>×”×וסף ×מור להכיל {{ limit }} ××œ×ž× ×˜×™× ×ו יותר.|×”×וסף ×מור להכיל {{ limit }} ××œ×ž× ×˜×™× ×ו יותר.</target> + </trans-unit> + <trans-unit id="55"> + <source>This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less.</source> + <target>×”×וסף ×מור להכיל {{ limit }} ××œ×ž× ×˜×™× ×ו פחות.|×”×וסף ×מור להכיל {{ limit }} ××œ×ž× ×˜×™× ×ו פחות.</target> + </trans-unit> + <trans-unit id="56"> + <source>This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements.</source> + <target>×”×וסף צריך להכיל בדיוק {{ limit }} ××œ×ž× ×˜×™×.|×”×וסף צריך להכיל בדיוק {{ limit }} ××œ×ž× ×˜×™×.</target> + </trans-unit> + <trans-unit id="57"> + <source>Invalid card number.</source> + <target>מספר הכרטיס ××™× ×• חוקי.</target> + </trans-unit> + <trans-unit id="58"> + <source>Unsupported card type or invalid card number.</source> + <target>סוג הכרטיס ××™× ×• × ×ª×ž×š ×ו ×œ× ×—×•×§×™.</target> + </trans-unit> + <trans-unit id="59"> + <source>This is not a valid International Bank Account Number (IBAN).</source> + <target>This is not a valid International Bank Account Number (IBAN).</target> + </trans-unit> + <trans-unit id="60"> + <source>This value is not a valid ISBN-10.</source> + <target>This value is not a valid ISBN-10.</target> + </trans-unit> + <trans-unit id="61"> + <source>This value is not a valid ISBN-13.</source> + <target>This value is not a valid ISBN-13.</target> + </trans-unit> + <trans-unit id="62"> + <source>This value is neither a valid ISBN-10 nor a valid ISBN-13.</source> + <target>This value is neither a valid ISBN-10 nor a valid ISBN-13.</target> + </trans-unit> + <trans-unit id="63"> + <source>This value is not a valid ISSN.</source> + <target>This value is not a valid ISSN.</target> + </trans-unit> + <trans-unit id="64"> + <source>This value is not a valid currency.</source> + <target>This value is not a valid currency.</target> + </trans-unit> + <trans-unit id="65"> + <source>This value should be equal to {{ compared_value }}.</source> + <target>This value should be equal to {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="66"> + <source>This value should be greater than {{ compared_value }}.</source> + <target>This value should be greater than {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="67"> + <source>This value should be greater than or equal to {{ compared_value }}.</source> + <target>This value should be greater than or equal to {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="68"> + <source>This value should be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>This value should be identical to {{ compared_value_type }} {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="69"> + <source>This value should be less than {{ compared_value }}.</source> + <target>This value should be less than {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="70"> + <source>This value should be less than or equal to {{ compared_value }}.</source> + <target>This value should be less than or equal to {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="71"> + <source>This value should not be equal to {{ compared_value }}.</source> + <target>This value should not be equal to {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="72"> + <source>This value should not be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>This value should not be identical to {{ compared_value_type }} {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="73"> + <source>The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}.</source> + <target>The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}.</target> + </trans-unit> + <trans-unit id="74"> + <source>The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}.</source> + <target>The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}.</target> + </trans-unit> + <trans-unit id="75"> + <source>The image is square ({{ width }}x{{ height }}px). Square images are not allowed.</source> + <target>The image is square ({{ width }}x{{ height }}px). Square images are not allowed.</target> + </trans-unit> + <trans-unit id="76"> + <source>The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed.</source> + <target>The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed.</target> + </trans-unit> + <trans-unit id="77"> + <source>The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed.</source> + <target>The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed.</target> + </trans-unit> + <trans-unit id="78"> + <source>An empty file is not allowed.</source> + <target>An empty file is not allowed.</target> + </trans-unit> + </body> + </file> +</xliff> diff --git a/core/vendor/symfony/validator/Resources/translations/validators.hr.xlf b/core/vendor/symfony/validator/Resources/translations/validators.hr.xlf new file mode 100644 index 0000000000000000000000000000000000000000..a11e825ccadad8bd6ff468d40f1bf2293111be3a --- /dev/null +++ b/core/vendor/symfony/validator/Resources/translations/validators.hr.xlf @@ -0,0 +1,283 @@ +<?xml version="1.0"?> +<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2"> + <file source-language="en" datatype="plaintext" original="file.ext"> + <body> + <trans-unit id="1"> + <source>This value should be false.</source> + <target>Ova vrijednost treba biti netoÄna (false).</target> + </trans-unit> + <trans-unit id="2"> + <source>This value should be true.</source> + <target>Ova vrijednost treba biti toÄna (true).</target> + </trans-unit> + <trans-unit id="3"> + <source>This value should be of type {{ type }}.</source> + <target>Ova vrijednost treba biti tipa {{ type }}.</target> + </trans-unit> + <trans-unit id="4"> + <source>This value should be blank.</source> + <target>Ova vrijednost treba biti prazna.</target> + </trans-unit> + <trans-unit id="5"> + <source>The value you selected is not a valid choice.</source> + <target>Ova vrijednost treba biti jedna od ponuÄ‘enih.</target> + </trans-unit> + <trans-unit id="6"> + <source>You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices.</source> + <target>Izaberite barem {{ limit }} mogućnosti.</target> + </trans-unit> + <trans-unit id="7"> + <source>You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices.</source> + <target>Izaberite najviÅ¡e {{ limit }} mogućnosti.</target> + </trans-unit> + <trans-unit id="8"> + <source>One or more of the given values is invalid.</source> + <target>Jedna ili viÅ¡e danih vrijednosti nije ispravna.</target> + </trans-unit> + <trans-unit id="9"> + <source>This field was not expected.</source> + <target>Ovo polje nije oÄekivalo.</target> + </trans-unit> + <trans-unit id="10"> + <source>This field is missing.</source> + <target>Ovo polje nedostaje.</target> + </trans-unit> + <trans-unit id="11"> + <source>This value is not a valid date.</source> + <target>Ova vrijednost nije ispravan datum.</target> + </trans-unit> + <trans-unit id="12"> + <source>This value is not a valid datetime.</source> + <target>Ova vrijednost nije ispravan datum-vrijeme.</target> + </trans-unit> + <trans-unit id="13"> + <source>This value is not a valid email address.</source> + <target>Ova vrijednost nije ispravna e-mail adresa.</target> + </trans-unit> + <trans-unit id="14"> + <source>The file could not be found.</source> + <target>Datoteka ne može biti pronaÄ‘ena.</target> + </trans-unit> + <trans-unit id="15"> + <source>The file is not readable.</source> + <target>Datoteka nije Äitljiva.</target> + </trans-unit> + <trans-unit id="16"> + <source>The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>Datoteka je prevelika ({{ size }} {{ suffix }}). Najveća dozvoljena veliÄina je {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="17"> + <source>The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}.</source> + <target>Mime tip datoteke nije ispravan ({{ type }}). Dozvoljeni mime tipovi su {{ types }}.</target> + </trans-unit> + <trans-unit id="18"> + <source>This value should be {{ limit }} or less.</source> + <target>Ova vrijednost treba biti {{ limit }} ili manje.</target> + </trans-unit> + <trans-unit id="19"> + <source>This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less.</source> + <target>Ova vrijednost je predugaÄka. Treba imati {{ limit }} znakova ili manje.</target> + </trans-unit> + <trans-unit id="20"> + <source>This value should be {{ limit }} or more.</source> + <target>Ova vrijednost treba biti {{ limit }} ili viÅ¡e.</target> + </trans-unit> + <trans-unit id="21"> + <source>This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more.</source> + <target>Ova vrijednost je prekratka. Treba imati {{ limit }} znakova ili viÅ¡e.</target> + </trans-unit> + <trans-unit id="22"> + <source>This value should not be blank.</source> + <target>Ova vrijednost ne smije biti prazna.</target> + </trans-unit> + <trans-unit id="23"> + <source>This value should not be null.</source> + <target>Ova vrijednost ne smije biti null.</target> + </trans-unit> + <trans-unit id="24"> + <source>This value should be null.</source> + <target>Ova vrijednost treba biti null.</target> + </trans-unit> + <trans-unit id="25"> + <source>This value is not valid.</source> + <target>Ova vrijednost nije ispravna.</target> + </trans-unit> + <trans-unit id="26"> + <source>This value is not a valid time.</source> + <target>Ova vrijednost nije ispravno vrijeme.</target> + </trans-unit> + <trans-unit id="27"> + <source>This value is not a valid URL.</source> + <target>Ova vrijednost nije ispravan URL.</target> + </trans-unit> + <trans-unit id="31"> + <source>The two values should be equal.</source> + <target>Obje vrijednosti trebaju biti jednake.</target> + </trans-unit> + <trans-unit id="32"> + <source>The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>Ova datoteka je prevelika. Najveća dozvoljena veliÄina je {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="33"> + <source>The file is too large.</source> + <target>Ova datoteka je prevelika.</target> + </trans-unit> + <trans-unit id="34"> + <source>The file could not be uploaded.</source> + <target>Ova datoteka ne može biti prenesena.</target> + </trans-unit> + <trans-unit id="35"> + <source>This value should be a valid number.</source> + <target>Ova vrijednost treba biti ispravan broj.</target> + </trans-unit> + <trans-unit id="36"> + <source>This file is not a valid image.</source> + <target>Ova datoteka nije ispravna slika.</target> + </trans-unit> + <trans-unit id="37"> + <source>This is not a valid IP address.</source> + <target>Ovo nije ispravna IP adresa.</target> + </trans-unit> + <trans-unit id="38"> + <source>This value is not a valid language.</source> + <target>Ova vrijednost nije ispravan jezik.</target> + </trans-unit> + <trans-unit id="39"> + <source>This value is not a valid locale.</source> + <target>Ova vrijednost nije ispravana regionalna oznaka.</target> + </trans-unit> + <trans-unit id="40"> + <source>This value is not a valid country.</source> + <target>Ova vrijednost nije ispravna zemlja.</target> + </trans-unit> + <trans-unit id="41"> + <source>This value is already used.</source> + <target>Ova vrijednost je već iskoriÅ¡tena.</target> + </trans-unit> + <trans-unit id="42"> + <source>The size of the image could not be detected.</source> + <target>VeliÄina slike se ne može odrediti.</target> + </trans-unit> + <trans-unit id="43"> + <source>The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px.</source> + <target>Å irina slike je prevelika ({{ width }}px). Najveća dozvoljena Å¡irina je {{ max_width }}px.</target> + </trans-unit> + <trans-unit id="44"> + <source>The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px.</source> + <target>Å irina slike je premala ({{ width }}px). Najmanja dozvoljena Å¡irina je {{ min_width }}px.</target> + </trans-unit> + <trans-unit id="45"> + <source>The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px.</source> + <target>Visina slike je prevelika ({{ height }}px). Najveća dozvoljena visina je {{ max_height }}px.</target> + </trans-unit> + <trans-unit id="46"> + <source>The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px.</source> + <target>Visina slike je premala ({{ height }}px). Najmanja dozvoljena visina je {{ min_height }}px.</target> + </trans-unit> + <trans-unit id="47"> + <source>This value should be the user's current password.</source> + <target>Ova vrijednost treba biti trenutna korisniÄka lozinka.</target> + </trans-unit> + <trans-unit id="48"> + <source>This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters.</source> + <target>Ova vrijednost treba imati toÄno {{ limit }} znakova.</target> + </trans-unit> + <trans-unit id="49"> + <source>The file was only partially uploaded.</source> + <target>Datoteka je samo djelomiÄno prenesena.</target> + </trans-unit> + <trans-unit id="50"> + <source>No file was uploaded.</source> + <target>Niti jedna datoteka nije prenesena.</target> + </trans-unit> + <trans-unit id="51"> + <source>No temporary folder was configured in php.ini.</source> + <target>U php.ini datoteci nije konfiguriran privremeni folder.</target> + </trans-unit> + <trans-unit id="52"> + <source>Cannot write temporary file to disk.</source> + <target>Ne mogu zapisati privremenu datoteku na disk.</target> + </trans-unit> + <trans-unit id="53"> + <source>A PHP extension caused the upload to fail.</source> + <target>Prijenos datoteke nije uspio zbog PHP ekstenzije.</target> + </trans-unit> + <trans-unit id="54"> + <source>This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more.</source> + <target>Ova kolekcija treba sadržavati {{ limit }} ili viÅ¡e elemenata.|Ova kolekcija treba sadržavati {{ limit }} ili viÅ¡e elemenata.|Ova kolekcija treba sadržavati {{ limit }} ili viÅ¡e elemenata.</target> + </trans-unit> + <trans-unit id="55"> + <source>This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less.</source> + <target>Ova kolekcija treba sadržavati {{ limit }} ili manje elemenata.|Ova kolekcija treba sadržavati {{ limit }} ili manje elemenata.|Ova kolekcija treba sadržavati {{ limit }} ili manje elemenata.</target> + </trans-unit> + <trans-unit id="56"> + <source>This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements.</source> + <target>Ova kolekcija treba sadržavati toÄno {{ limit }} element.|Ova kolekcija treba sadržavati toÄno {{ limit }} elementa.|Ova kolekcija treba sadržavati toÄno {{ limit }} elemenata.</target> + </trans-unit> + <trans-unit id="57"> + <source>Invalid card number.</source> + <target>Neispravan broj kartice.</target> + </trans-unit> + <trans-unit id="58"> + <source>Unsupported card type or invalid card number.</source> + <target>Neispravan broj kartice ili tip kartice nije podržan.</target> + </trans-unit> + <trans-unit id="59"> + <source>This is not a valid International Bank Account Number (IBAN).</source> + <target>Ova vrijednost nije ispravan meÄ‘unarodni broj bankovnog raÄuna (IBAN).</target> + </trans-unit> + <trans-unit id="60"> + <source>This value is not a valid ISBN-10.</source> + <target>Ova vrijednost nije ispravan ISBN-10.</target> + </trans-unit> + <trans-unit id="61"> + <source>This value is not a valid ISBN-13.</source> + <target>Ova vrijednost nije ispravan ISBN-13.</target> + </trans-unit> + <trans-unit id="62"> + <source>This value is neither a valid ISBN-10 nor a valid ISBN-13.</source> + <target>Ova vrijednost nije ispravan ISBN-10 niti ISBN-13.</target> + </trans-unit> + <trans-unit id="63"> + <source>This value is not a valid ISSN.</source> + <target>Ova vrijednost nije ispravan ISSN.</target> + </trans-unit> + <trans-unit id="64"> + <source>This value is not a valid currency.</source> + <target>Ova vrijednost nije ispravna valuta.</target> + </trans-unit> + <trans-unit id="65"> + <source>This value should be equal to {{ compared_value }}.</source> + <target>Ova vrijednost bi trebala biti jednaka {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="66"> + <source>This value should be greater than {{ compared_value }}.</source> + <target>Ova vrijednost bi trebala biti veća od {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="67"> + <source>This value should be greater than or equal to {{ compared_value }}.</source> + <target>Ova vrijednost bi trebala biti veća ili jednaka od {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="68"> + <source>This value should be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>Ova vrijednost bi trebala biti {{ compared_value_type }} {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="69"> + <source>This value should be less than {{ compared_value }}.</source> + <target>Ova vrijednost bi trebala biti manja od {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="70"> + <source>This value should be less than or equal to {{ compared_value }}.</source> + <target>Ova vrijednost bi trebala biti manja ili jednaka {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="71"> + <source>This value should not be equal to {{ compared_value }}.</source> + <target>Ova vrijednost ne bi trebala biti {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="72"> + <source>This value should not be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>Ova vrijednost ne bi trebala biti {{ compared_value_type }} {{ compared_value }}.</target> + </trans-unit> + </body> + </file> +</xliff> diff --git a/core/vendor/symfony/validator/Resources/translations/validators.hu.xlf b/core/vendor/symfony/validator/Resources/translations/validators.hu.xlf new file mode 100644 index 0000000000000000000000000000000000000000..a972c02e56b609620078dbc74e1fabd5c865b96e --- /dev/null +++ b/core/vendor/symfony/validator/Resources/translations/validators.hu.xlf @@ -0,0 +1,315 @@ +<?xml version="1.0"?> +<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2"> + <file source-language="en" datatype="plaintext" original="file.ext"> + <body> + <trans-unit id="1"> + <source>This value should be false.</source> + <target>Ennek az értéknek hamisnak kell lennie.</target> + </trans-unit> + <trans-unit id="2"> + <source>This value should be true.</source> + <target>Ennek az értéknek igaznak kell lennie.</target> + </trans-unit> + <trans-unit id="3"> + <source>This value should be of type {{ type }}.</source> + <target>Ennek az értéknek {{ type }} tÃpusúnak kell lennie.</target> + </trans-unit> + <trans-unit id="4"> + <source>This value should be blank.</source> + <target>Ennek az értéknek üresnek kell lennie.</target> + </trans-unit> + <trans-unit id="5"> + <source>The value you selected is not a valid choice.</source> + <target>A választott érték érvénytelen.</target> + </trans-unit> + <trans-unit id="6"> + <source>You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices.</source> + <target>Legalább {{ limit }} értéket kell kiválasztani.|Legalább {{ limit }} értéket kell kiválasztani.</target> + </trans-unit> + <trans-unit id="7"> + <source>You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices.</source> + <target>Legfeljebb {{ limit }} értéket lehet kiválasztani.|Legfeljebb {{ limit }} értéket lehet kiválasztani.</target> + </trans-unit> + <trans-unit id="8"> + <source>One or more of the given values is invalid.</source> + <target>A megadott értékek közül legalább egy érvénytelen.</target> + </trans-unit> + <trans-unit id="9"> + <source>This field was not expected.</source> + <target>Nem várt mezÅ‘.</target> + </trans-unit> + <trans-unit id="10"> + <source>This field is missing.</source> + <target>Ez a mezÅ‘ hiányzik.</target> + </trans-unit> + <trans-unit id="11"> + <source>This value is not a valid date.</source> + <target>Ez az érték nem egy érvényes dátum.</target> + </trans-unit> + <trans-unit id="12"> + <source>This value is not a valid datetime.</source> + <target>Ez az érték nem egy érvényes idÅ‘pont.</target> + </trans-unit> + <trans-unit id="13"> + <source>This value is not a valid email address.</source> + <target>Ez az érték nem egy érvényes e-mail cÃm.</target> + </trans-unit> + <trans-unit id="14"> + <source>The file could not be found.</source> + <target>A fájl nem található.</target> + </trans-unit> + <trans-unit id="15"> + <source>The file is not readable.</source> + <target>A fájl nem olvasható.</target> + </trans-unit> + <trans-unit id="16"> + <source>The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>A fájl túl nagy ({{ size }} {{ suffix }}). A legnagyobb megengedett méret {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="17"> + <source>The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}.</source> + <target>A fájl MIME tÃpusa érvénytelen ({{ type }}). Az engedélyezett MIME tÃpusok: {{ types }}.</target> + </trans-unit> + <trans-unit id="18"> + <source>This value should be {{ limit }} or less.</source> + <target>Ez az érték legfeljebb {{ limit }} lehet.</target> + </trans-unit> + <trans-unit id="19"> + <source>This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less.</source> + <target>Ez az érték túl hosszú. Legfeljebb {{ limit }} karaktert tartalmazhat.|Ez az érték túl hosszú. Legfeljebb {{ limit }} karaktert tartalmazhat.</target> + </trans-unit> + <trans-unit id="20"> + <source>This value should be {{ limit }} or more.</source> + <target>Ez az érték legalább {{ limit }} kell, hogy legyen.</target> + </trans-unit> + <trans-unit id="21"> + <source>This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more.</source> + <target>Ez az érték túl rövid. Legalább {{ limit }} karaktert kell tartalmaznia.|Ez az érték túl rövid. Legalább {{ limit }} karaktert kell tartalmaznia.</target> + </trans-unit> + <trans-unit id="22"> + <source>This value should not be blank.</source> + <target>Ez az érték nem lehet üres.</target> + </trans-unit> + <trans-unit id="23"> + <source>This value should not be null.</source> + <target>Ez az érték nem lehet null.</target> + </trans-unit> + <trans-unit id="24"> + <source>This value should be null.</source> + <target>Ennek az értéknek nullnak kell lennie.</target> + </trans-unit> + <trans-unit id="25"> + <source>This value is not valid.</source> + <target>Ez az érték nem érvényes.</target> + </trans-unit> + <trans-unit id="26"> + <source>This value is not a valid time.</source> + <target>Ez az érték nem egy érvényes idÅ‘pont.</target> + </trans-unit> + <trans-unit id="27"> + <source>This value is not a valid URL.</source> + <target>Ez az érték nem egy érvényes URL.</target> + </trans-unit> + <trans-unit id="31"> + <source>The two values should be equal.</source> + <target>A két értéknek azonosnak kell lennie.</target> + </trans-unit> + <trans-unit id="32"> + <source>The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>A fájl túl nagy. A megengedett maximális méret: {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="33"> + <source>The file is too large.</source> + <target>A fájl túl nagy.</target> + </trans-unit> + <trans-unit id="34"> + <source>The file could not be uploaded.</source> + <target>A fájl nem tölthetÅ‘ fel.</target> + </trans-unit> + <trans-unit id="35"> + <source>This value should be a valid number.</source> + <target>Ennek az értéknek érvényes számnak kell lennie.</target> + </trans-unit> + <trans-unit id="36"> + <source>This file is not a valid image.</source> + <target>Ez a fájl nem egy érvényes kép.</target> + </trans-unit> + <trans-unit id="37"> + <source>This is not a valid IP address.</source> + <target>Ez az érték nem egy érvényes IP cÃm.</target> + </trans-unit> + <trans-unit id="38"> + <source>This value is not a valid language.</source> + <target>Ez az érték nem egy érvényes nyelv.</target> + </trans-unit> + <trans-unit id="39"> + <source>This value is not a valid locale.</source> + <target>Ez az érték nem egy érvényes területi beállÃtás.</target> + </trans-unit> + <trans-unit id="40"> + <source>This value is not a valid country.</source> + <target>Ez az érték nem egy érvényes ország.</target> + </trans-unit> + <trans-unit id="41"> + <source>This value is already used.</source> + <target>Ez az érték már használatban van.</target> + </trans-unit> + <trans-unit id="42"> + <source>The size of the image could not be detected.</source> + <target>A kép méretét nem lehet megállapÃtani.</target> + </trans-unit> + <trans-unit id="43"> + <source>The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px.</source> + <target>A kép szélessége túl nagy ({{ width }}px). A megengedett legnagyobb szélesség {{ max_width }}px.</target> + </trans-unit> + <trans-unit id="44"> + <source>The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px.</source> + <target>A kép szélessége túl kicsi ({{ width }}px). Az elvárt legkisebb szélesség {{ min_width }}px.</target> + </trans-unit> + <trans-unit id="45"> + <source>The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px.</source> + <target>A kép magassága túl nagy ({{ height }}px). A megengedett legnagyobb magasság {{ max_height }}px.</target> + </trans-unit> + <trans-unit id="46"> + <source>The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px.</source> + <target>A kép magassága túl kicsi ({{ height }}px). Az elvárt legkisebb magasság {{ min_height }}px.</target> + </trans-unit> + <trans-unit id="47"> + <source>This value should be the user's current password.</source> + <target>Ez az érték a felhasználó jelenlegi jelszavával kell megegyezzen.</target> + </trans-unit> + <trans-unit id="48"> + <source>This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters.</source> + <target>Ennek az értéknek pontosan {{ limit }} karaktert kell tartalmaznia.|Ennek az értéknek pontosan {{ limit }} karaktert kell tartalmaznia.</target> + </trans-unit> + <trans-unit id="49"> + <source>The file was only partially uploaded.</source> + <target>A fájl csak részben lett feltöltve.</target> + </trans-unit> + <trans-unit id="50"> + <source>No file was uploaded.</source> + <target>Nem lett fájl feltöltve.</target> + </trans-unit> + <trans-unit id="51"> + <source>No temporary folder was configured in php.ini.</source> + <target>Nincs ideiglenes könyvtár beállÃtva a php.ini-ben.</target> + </trans-unit> + <trans-unit id="52"> + <source>Cannot write temporary file to disk.</source> + <target>Az ideiglenes fájl nem Ãrható a lemezre.</target> + </trans-unit> + <trans-unit id="53"> + <source>A PHP extension caused the upload to fail.</source> + <target>Egy PHP bÅ‘vÃtmény miatt a feltöltés nem sikerült.</target> + </trans-unit> + <trans-unit id="54"> + <source>This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more.</source> + <target>Ennek a gyűjteménynek legalább {{ limit }} elemet kell tartalmaznia.|Ennek a gyűjteménynek legalább {{ limit }} elemet kell tartalmaznia.</target> + </trans-unit> + <trans-unit id="55"> + <source>This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less.</source> + <target>Ez a gyűjtemény legfeljebb {{ limit }} elemet tartalmazhat.|Ez a gyűjtemény legfeljebb {{ limit }} elemet tartalmazhat.</target> + </trans-unit> + <trans-unit id="56"> + <source>This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements.</source> + <target>Ennek a gyűjteménynek pontosan {{ limit }} elemet kell tartalmaznia.|Ennek a gyűjteménynek pontosan {{ limit }} elemet kell tartalmaznia.</target> + </trans-unit> + <trans-unit id="57"> + <source>Invalid card number.</source> + <target>Érvénytelen kártyaszám.</target> + </trans-unit> + <trans-unit id="58"> + <source>Unsupported card type or invalid card number.</source> + <target>Nem támogatott kártyatÃpus vagy érvénytelen kártyaszám.</target> + </trans-unit> + <trans-unit id="59"> + <source>This is not a valid International Bank Account Number (IBAN).</source> + <target>Érvénytelen nemzetközi bankszámlaszám (IBAN).</target> + </trans-unit> + <trans-unit id="60"> + <source>This value is not a valid ISBN-10.</source> + <target>Ez az érték nem egy érvényes ISBN-10.</target> + </trans-unit> + <trans-unit id="61"> + <source>This value is not a valid ISBN-13.</source> + <target>Ez az érték nem egy érvényes ISBN-13.</target> + </trans-unit> + <trans-unit id="62"> + <source>This value is neither a valid ISBN-10 nor a valid ISBN-13.</source> + <target>Ez az érték nem egy érvényes ISBN-10 vagy ISBN-13.</target> + </trans-unit> + <trans-unit id="63"> + <source>This value is not a valid ISSN.</source> + <target>Ez az érték nem egy érvényes ISSN.</target> + </trans-unit> + <trans-unit id="64"> + <source>This value is not a valid currency.</source> + <target>Ez az érték nem egy érvényes pénznem.</target> + </trans-unit> + <trans-unit id="65"> + <source>This value should be equal to {{ compared_value }}.</source> + <target>Ez az érték legyen {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="66"> + <source>This value should be greater than {{ compared_value }}.</source> + <target>Ez az érték nagyobb legyen, mint {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="67"> + <source>This value should be greater than or equal to {{ compared_value }}.</source> + <target>Ez az érték nagyobb vagy egyenlÅ‘ legyen, mint {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="68"> + <source>This value should be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>Ez az érték ugyanolyan legyen, mint {{ compared_value_type }} {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="69"> + <source>This value should be less than {{ compared_value }}.</source> + <target>Ez az érték kisebb legyen, mint {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="70"> + <source>This value should be less than or equal to {{ compared_value }}.</source> + <target>Ez az érték kisebb vagy egyenlÅ‘ legyen, mint {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="71"> + <source>This value should not be equal to {{ compared_value }}.</source> + <target>Ez az érték ne legyen {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="72"> + <source>This value should not be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>Ez az érték ne legyen ugyanolyan, mint {{ compared_value_type }} {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="73"> + <source>The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}.</source> + <target>A képarány túl nagy ({{ ratio }}). A megengedett legnagyobb képarány {{ max_ratio }}.</target> + </trans-unit> + <trans-unit id="74"> + <source>The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}.</source> + <target>A képarány túl kicsi ({{ ratio }}). A megengedett legkisebb képarány {{ min_ratio }}.</target> + </trans-unit> + <trans-unit id="75"> + <source>The image is square ({{ width }}x{{ height }}px). Square images are not allowed.</source> + <target>A kép négyzet alakú ({{ width }}x{{ height }}px). A négyzet alakú képek nem engedélyezettek.</target> + </trans-unit> + <trans-unit id="76"> + <source>The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed.</source> + <target>A kép fekvÅ‘ tájolású ({{ width }}x{{ height }}px). A fekvÅ‘ tájolású képek nem engedélyezettek.</target> + </trans-unit> + <trans-unit id="77"> + <source>The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed.</source> + <target>A kép álló tájolású ({{ width }}x{{ height }}px). Az álló tájolású képek nem engedélyezettek.</target> + </trans-unit> + <trans-unit id="78"> + <source>An empty file is not allowed.</source> + <target>Ãœres fájl nem megengedett.</target> + </trans-unit> + <trans-unit id="79"> + <source>The host could not be resolved.</source> + <target>Az állomásnevet nem lehet feloldani.</target> + </trans-unit> + <trans-unit id="80"> + <source>This value does not match the expected {{ charset }} charset.</source> + <target>Ez az érték nem az elvárt {{ charset }} karakterkódolást használja.</target> + </trans-unit> + </body> + </file> +</xliff> diff --git a/core/vendor/symfony/validator/Resources/translations/validators.hy.xlf b/core/vendor/symfony/validator/Resources/translations/validators.hy.xlf new file mode 100644 index 0000000000000000000000000000000000000000..664c085ae71af7b1f744917cd7c855a72ac6cd8d --- /dev/null +++ b/core/vendor/symfony/validator/Resources/translations/validators.hy.xlf @@ -0,0 +1,187 @@ +<?xml version="1.0"?> +<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2"> + <file source-language="en" datatype="plaintext" original="file.ext"> + <body> + <trans-unit id="1"> + <source>This value should be false.</source> + <target>Ô±Ö€ÕªÕ¥Ö„Õ¨ ÕºÕ¥Õ¿Ö„ Õ§ Õ¬Õ«Õ¶Õ« Õ¯Õ¥Õ²Õ®.</target> + </trans-unit> + <trans-unit id="2"> + <source>This value should be true.</source> + <target>Ô±Ö€ÕªÕ¥Ö„Õ¨ ÕºÕ¥Õ¿Ö„ Õ§ Õ¬Õ«Õ¶Õ« Õ³Õ·Õ´Õ¡Ö€Õ«Õ¿.</target> + </trans-unit> + <trans-unit id="3"> + <source>This value should be of type {{ type }}.</source> + <target>Ô±Ö€ÕªÕ¥Ö„Õ¨ ÕºÕ¥Õ¿Ö„ Õ§ Õ¬Õ«Õ¶Õ« {{ type }} Õ¿Õ¥Õ½Õ¡Õ¯Õ«.</target> + </trans-unit> + <trans-unit id="4"> + <source>This value should be blank.</source> + <target>Ô±Ö€ÕªÕ¥Ö„Õ¨ ÕºÕ¥Õ¿Ö„ Õ§ Õ¬Õ«Õ¶Õ« Õ¤Õ¡Õ¿Õ¡Ö€Õ¯.</target> + </trans-unit> + <trans-unit id="5"> + <source>The value you selected is not a valid choice.</source> + <target>ÕÕ¥Ö€ Õ¨Õ¶Õ¿Ö€Õ¡Õ® Õ¡Ö€ÕªÕ¥Ö„Õ¨ Õ¡Õ¶Õ©Õ¸Ö‚ÕµÕ¬Õ¡Õ¿Ö€Õ¥Õ¬Õ« Õ§.</target> + </trans-unit> + <trans-unit id="6"> + <source>You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices.</source> + <target>Ô´Õ¸Ö‚Ö„ ÕºÕ¥Õ¿Ö„ Õ§ Õ¨Õ¶Õ¿Ö€Õ¥Ö„ Õ¡Õ´Õ¥Õ¶Õ¡Ö„Õ«Õ¹Õ¨ {{ limit }} Õ¿Õ¡Ö€Õ¢Õ¥Ö€Õ¡Õ¯Õ¶Õ¥Ö€.</target> + </trans-unit> + <trans-unit id="7"> + <source>You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices.</source> + <target>Ô´Õ¸Ö‚Ö„ ÕºÕ¥Õ¿Ö„ Õ§ Õ¨Õ¶Õ¿Ö€Õ¥Ö„ Õ¸Õ¹ Õ¡Õ¾Õ¥Õ¬Õ« Ö„Õ¡Õ¶ {{ limit }} Õ¿Õ¡Ö€Õ¢Õ¥Ö€Õ¡Õ¯Õ¶Õ¥Ö€.</target> + </trans-unit> + <trans-unit id="8"> + <source>One or more of the given values is invalid.</source> + <target>Õ„Õ¥Õ¯ Õ¯Õ¡Õ´ Õ¡Õ¾Õ¥Õ¬Õ« Õ¿Ö€Õ¾Õ¡Õ® Õ¡Ö€ÕªÕ¥Ö„Õ¶Õ¥Ö€Õ¨ Õ¡Õ¶Õ©Õ¸Ö‚ÕµÕ¬Õ¡Õ¿Ö€Õ¥Õ¬Õ« Õ¥Õ¶.</target> + </trans-unit> + <trans-unit id="9"> + <source>This field was not expected.</source> + <target>Ô±ÕµÕ½ Õ¤Õ¡Õ·Õ¿Õ¨ Õ¹Õ« Õ½ÕºÕ¡Õ½Õ¾Õ¸Ö‚Õ´.</target> + </trans-unit> + <trans-unit id="10"> + <source>This field is missing.</source> + <target>Ô±ÕµÕ½ Õ¤Õ¡Õ·Õ¿Õ¨ Õ¢Õ¡ÖÕ¡Õ¯Õ¡ÕµÕ¸Ö‚Õ´ Õ§.</target> + </trans-unit> + <trans-unit id="11"> + <source>This value is not a valid date.</source> + <target>Ô±Ö€ÕªÕ¥Ö„Õ¨ Õ½ÕÕ¡Õ¬ Õ¡Õ´Õ½Õ¡Õ©Õ«Õ¾ Õ§.</target> + </trans-unit> + <trans-unit id="12"> + <source>This value is not a valid datetime.</source> + <target>Ô±Õ´Õ½Õ¡Õ©Õ¾Õ« Ö‡ ÕªÕ¡Õ´Õ¡Õ¶Õ¡Õ¯Õ« Õ¡Ö€ÕªÕ¥Ö„Õ¨ Õ¡Õ¶Õ©Õ¸Ö‚ÕµÕ¬Õ¡Õ¿Ö€Õ¥Õ¬Õ« Õ§.</target> + </trans-unit> + <trans-unit id="13"> + <source>This value is not a valid email address.</source> + <target>Ô·Õ¬-ÖƒÕ¸Õ½Õ¿Õ« Õ¡Ö€ÕªÕ¥Ö„Õ¨ Õ¡Õ¶Õ©Õ¸Ö‚ÕµÕ¬Õ¡Õ¿Ö€Õ¥Õ¬Õ« Õ§.</target> + </trans-unit> + <trans-unit id="14"> + <source>The file could not be found.</source> + <target>Õ–Õ¡ÕµÕ¬Õ¨ Õ¹Õ« Õ£Õ¿Õ¶Õ¾Õ¥Õ¬.</target> + </trans-unit> + <trans-unit id="15"> + <source>The file is not readable.</source> + <target>Õ–Õ¡ÕµÕ¬Õ¨ Õ¡Õ¶Õ¨Õ¶Õ©Õ¥Õ¼Õ¶Õ¥Õ¬Õ« Õ§.</target> + </trans-unit> + <trans-unit id="16"> + <source>The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>Õ–Õ¡ÕµÕ¬Õ¨ Õ¹Õ¡ÖƒÕ¡Õ¦Õ¡Õ¶Ö Õ´Õ¥Õ® Õ§ ({{ size }} {{ suffix }}): Õ„Õ¡Ö„Õ½Õ«Õ´Õ¡Õ¬ Õ©Õ¸Ö‚ÕµÕ¬Õ¡Õ¿Ö€Õ¥Õ¬Õ« Õ¹Õ¡ÖƒÕ½Õ¨Õ {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="17"> + <source>The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}.</source> + <target>MIME-Õ¿Õ¥Õ½Õ¡Õ¯Õ¨ Õ¡Õ¶Õ©Õ¸Ö‚ÕµÕ¬Õ¡Õ¿Ö€Õ¥Õ¬Õ« Õ§({{ type }}): Õ–Õ¡ÕµÕ¬Õ¥Ö€Õ« Õ©Õ¸Ö‚ÕµÕ¬Õ¡Õ¿Ö€Õ¥Õ¬Õ« MIME-Õ¿Õ¥Õ½Õ¡Õ¯Õ¶Õ¥Ö€Õ¶ Õ¥Õ¶: {{ types }}.</target> + </trans-unit> + <trans-unit id="18"> + <source>This value should be {{ limit }} or less.</source> + <target>Ô±Ö€ÕªÕ¥Ö„Õ¨ ÕºÕ¥Õ¿Ö„ Õ§ Õ¬Õ«Õ¶Õ« {{ limit }} Õ¯Õ¡Õ´ ÖƒÕ¸Ö„Ö€.</target> + </trans-unit> + <trans-unit id="19"> + <source>This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less.</source> + <target>Ô±Ö€ÕªÕ¥Ö„Õ¨ Õ¹Õ¡ÖƒÕ¡Õ¦Õ¡Õ¶Ö Õ¥Ö€Õ¯Õ¡Ö€ Õ§: ÕŠÕ¥Õ¿Ö„ Õ§ Õ¬Õ«Õ¶Õ« {{ limit }} Õ¯Õ¡Õ´ Õ¡Õ¾Õ¥Õ¬ Õ½Õ«Õ´Õ¾Õ¸Õ¬Õ¶Õ¥Ö€.</target> + </trans-unit> + <trans-unit id="20"> + <source>This value should be {{ limit }} or more.</source> + <target>Ô±Ö€ÕªÕ¥Ö„Õ¨ ÕºÕ¥Õ¿ Õ§ Õ¬Õ«Õ¶Õ« {{ limit }} Õ¯Õ¡Õ´ Õ·Õ¡Õ¿.</target> + </trans-unit> + <trans-unit id="21"> + <source>This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more.</source> + <target>Ô±Ö€ÕªÕ¥Ö„Õ¨ Õ¹Õ¡ÖƒÕ¡Õ¦Õ¡Õ¶Ö Õ¯Õ¡Ö€Õ³ Õ§: ÕŠÕ¥Õ¿Ö„ Õ§ Õ¬Õ«Õ¶Õ« {{ limit }} Õ¯Õ¡Õ´ Õ¡Õ¾Õ¥Õ¬Õ« Õ½Õ«Õ´Õ¾Õ¸Õ¬Õ¶Õ¥Ö€.</target> + </trans-unit> + <trans-unit id="22"> + <source>This value should not be blank.</source> + <target>Ô±Ö€ÕªÕ¥Ö„Õ¨ Õ¹ÕºÕ¥Õ¿Ö„ Õ§ Õ¤Õ¡Õ¿Õ¡Ö€Õ¯ Õ¬Õ«Õ¶Õ«.</target> + </trans-unit> + <trans-unit id="23"> + <source>This value should not be null.</source> + <target>Ô±Ö€ÕªÕ¥Ö„Õ¨ Õ¹ÕºÕ¥Õ¿Ö„ Õ§ Õ¬Õ«Õ¶Õ« null.</target> + </trans-unit> + <trans-unit id="24"> + <source>This value should be null.</source> + <target>Ô±Ö€ÕªÕ¥Ö„Õ¨ ÕºÕ¥Õ¿Ö„ Õ§ Õ¬Õ«Õ¶Õ« null.</target> + </trans-unit> + <trans-unit id="25"> + <source>This value is not valid.</source> + <target>Ô±Õ¶Õ©Õ¸Ö‚ÕµÕ¬Õ¡Õ¿Ö€Õ¥Õ¬Õ« Õ¡Ö€ÕªÕ¥Ö„.</target> + </trans-unit> + <trans-unit id="26"> + <source>This value is not a valid time.</source> + <target>ÔºÕ¡Õ´Õ¡Õ¶Õ¡Õ¯Õ« Õ¡Ö€ÕªÕ¥Ö„Õ¨ Õ¡Õ¶Õ©Õ¸Ö‚ÕµÕ¬Õ¡Õ¿Ö€Õ¥Õ¬Õ« Õ§.</target> + </trans-unit> + <trans-unit id="27"> + <source>This value is not a valid URL.</source> + <target>Ô±Ö€ÕªÕ¥Ö„Õ¨ URL Õ¹Õ§.</target> + </trans-unit> + <trans-unit id="31"> + <source>The two values should be equal.</source> + <target>ÔµÖ€Õ¯Õ¸Ö‚ Õ¡Ö€ÕªÕ¥Ö„Õ¶Õ¥Ö€Õ¨ ÕºÕ¥Õ¿Ö„ Õ§ Õ¶Õ¸Ö‚ÕµÕ¶Õ¨ Õ¬Õ«Õ¶Õ¥Õ¶.</target> + </trans-unit> + <trans-unit id="32"> + <source>The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>Õ–Õ¡ÕµÕ¬Õ¨ Õ¹Õ¡ÖƒÕ¡Õ¦Õ¡Õ¶Ö Õ´Õ¥Õ® Õ§: Õ„Õ¡Ö„Õ½Õ«Õ´Õ¡Õ¬ Õ©Õ¸Ö‚ÕµÕ¬Õ¡Õ¿Ö€Õ¥Õ¬Õ« Õ¹Õ¡ÖƒÕ½Õ¨ {{ limit }} {{ suffix }} Õ§.</target> + </trans-unit> + <trans-unit id="33"> + <source>The file is too large.</source> + <target>Õ–Õ¡ÕµÕ¬Õ¨ Õ¹Õ¡ÖƒÕ¡Õ¦Õ¡Õ¶Ö Õ´Õ¥Õ® Õ§.</target> + </trans-unit> + <trans-unit id="34"> + <source>The file could not be uploaded.</source> + <target>Õ–Õ¡ÕµÕ¬Õ¨ Õ¹Õ« Õ¯Õ¡Ö€Õ¸Õ² Õ¢Õ¥Õ¼Õ¶Õ¾Õ¥Õ¬.</target> + </trans-unit> + <trans-unit id="35"> + <source>This value should be a valid number.</source> + <target>Ô±Ö€ÕªÕ¥Ö„Õ¨ ÕºÕ¥Õ¿Ö„ Õ§ Õ¬Õ«Õ¶Õ« Õ©Õ«Õ¾.</target> + </trans-unit> + <trans-unit id="36"> + <source>This value is not a valid country.</source> + <target>Ô±Ö€ÕªÕ¥Ö„Õ¨ ÕºÕ¥Õ¿Ö„ Õ§ Õ¬Õ«Õ¶Õ« Õ¥Ö€Õ¯Õ«Ö€.</target> + </trans-unit> + <trans-unit id="37"> + <source>This file is not a valid image.</source> + <target>Õ–Õ¡ÕµÕ¬Õ¨ Õ¶Õ¯Õ¡Ö€Õ« Õ©Õ¸Ö‚ÕµÕ¬Õ¡Õ¿Ö€Õ¥Õ¬Õ« Ö†Õ¸Ö€Õ´Õ¡Õ¿ Õ¹Õ§.</target> + </trans-unit> + <trans-unit id="38"> + <source>This is not a valid IP address.</source> + <target>Ô±Ö€ÕªÕ¥Ö„Õ¨ Õ©Õ¸Ö‚ÕµÕ¬Õ¡Õ¿Ö€Õ¥Õ¬Õ« IP Õ°Õ¡Õ½ÖÕ¥ Õ¹Õ§.</target> + </trans-unit> + <trans-unit id="39"> + <source>This value is not a valid language.</source> + <target>Ô±Ö€ÕªÕ¥Ö„Õ¨ Õ©Õ¸Ö‚ÕµÕ¬Õ¡Õ¿Ö€Õ¥Õ¬Õ« Õ¬Õ¥Õ¦Õ¸Ö‚ Õ¹Õ§.</target> + </trans-unit> + <trans-unit id="40"> + <source>This value is not a valid locale.</source> + <target>Ô±Ö€ÕªÕ¥Ö„Õ¨ Õ¹Õ« Õ°Õ¡Õ¶Õ¤Õ«Õ½Õ¡Õ¶Õ¸Ö‚Õ´ Õ©Õ¸Ö‚ÕµÕ¬Õ¡Õ¿Ö€Õ¥Õ¬Õ« Õ¿Õ¥Õ²Õ¡ÕµÕ¶Õ¡ÖÕ¸Ö‚Õ´.</target> + </trans-unit> + <trans-unit id="41"> + <source>This value is already used.</source> + <target>Ô±ÕµÕ¤ Õ¡Ö€ÕªÕ¥Ö„Õ¨ Õ¡Ö€Õ¤Õ¥Õ¶ Ö…Õ£Õ¿Õ¡Õ£Õ¸Ö€Õ®Õ¾Õ¸Ö‚Õ´ Õ§.</target> + </trans-unit> + <trans-unit id="42"> + <source>The size of the image could not be detected.</source> + <target>Õ†Õ¯Õ¡Ö€Õ« Õ¹Õ¡ÖƒÕ½Õ¥Ö€Õ¨ Õ¹Õ½Õ¿Õ¡ÖÕ¾Õ¥Ö Õ¸Ö€Õ¸Õ·Õ¥Õ¬.</target> + </trans-unit> + <trans-unit id="43"> + <source>The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px.</source> + <target>Õ†Õ¯Õ¡Ö€Õ« Õ¬Õ¡ÕµÕ¶Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶Õ¨ Õ¹Õ¡ÖƒÕ¡Õ¦Õ¡Õ¶Ö Õ´Õ¥Õ® Õ§({{ width }}px). Õ„Õ¡Ö„Õ½Õ«Õ´Õ¡Õ¬ Õ¹Õ¡ÖƒÕ¶ Õ§ {{ max_width }}px.</target> + </trans-unit> + <trans-unit id="44"> + <source>The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px.</source> + <target>Õ†Õ¯Õ¡Ö€Õ« Õ¬Õ¡ÕµÕ¶Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶Õ¨ Õ¹Õ¡ÖƒÕ¡Õ¦Õ¡Õ¶Ö ÖƒÕ¸Ö„Ö€ Õ§ ({{ width }}px). Õ„Õ«Õ¶Õ«Õ´Õ¡Õ¬ Õ¹Õ¡ÖƒÕ¶ Õ§ {{ min_ width }}px.</target> + </trans-unit> + <trans-unit id="45"> + <source>The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px.</source> + <target>Õ†Õ¯Õ¡Ö€Õ« Õ¢Õ¡Ö€Õ±Ö€Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶Õ¨ Õ¹Õ¡ÖƒÕ¡Õ¦Õ¡Õ¶Ö Õ´Õ¥Õ® Õ§ ({{ height }}px). Õ„Õ¡Ö„Õ½Õ«Õ´Õ¡Õ¬ Õ¹Õ¡ÖƒÕ¶ Õ§ {{ max_height }}px.</target> + </trans-unit> + <trans-unit id="46"> + <source>The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px.</source> + <target>Õ†Õ¯Õ¡Ö€Õ« Õ¢Õ¡Ö€Õ±Ö€Õ¸Ö‚Õ©ÕµÕ¸Ö‚Õ¶Õ¨ Õ¹Õ¡ÖƒÕ¡Õ¦Õ¡Õ¶Ö ÖƒÕ¸Ö„Ö€ Õ§ ({{ height }}px). Õ„Õ«Õ¶Õ«Õ´Õ¡Õ¬ Õ¹Õ¡ÖƒÕ¶ Õ§ {{ min_height }}px.</target> + </trans-unit> + <trans-unit id="47"> + <source>This value should be the user's current password.</source> + <target>Ô±ÕµÕ½ Õ¡Ö€ÕªÕ¥Ö„Õ¨ ÕºÕ¥Õ¿Ö„ Õ§ Õ¬Õ«Õ¶Õ« Ö…Õ£Õ¿Õ¡Õ£Õ¸Ö€Õ®Õ¸Õ²Õ« Õ¶Õ¥Ö€Õ¯Õ¡ Õ®Õ¡Õ®Õ¯Õ¡Õ£Õ«Ö€Õ¨.</target> + </trans-unit> + <trans-unit id="48"> + <source>This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters.</source> + <target>Ô±ÕµÕ½ Õ¡Ö€ÕªÕ¥Ö„Õ¨ ÕºÕ¥Õ¿Ö„ Õ§ Õ¸Ö‚Õ¶Õ¥Õ¶Õ¡ Õ³Õ«Õ·Õ¿ {{ limit }} Õ½Õ«Õ´Õ¾Õ¸Õ¬Õ¶Õ¥Ö€.</target> + </trans-unit> + </body> + </file> +</xliff> diff --git a/core/vendor/symfony/validator/Resources/translations/validators.id.xlf b/core/vendor/symfony/validator/Resources/translations/validators.id.xlf new file mode 100644 index 0000000000000000000000000000000000000000..742f4a163ebd6c5e8891091e6e93c149a4d3e4f0 --- /dev/null +++ b/core/vendor/symfony/validator/Resources/translations/validators.id.xlf @@ -0,0 +1,283 @@ +<?xml version="1.0"?> +<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2"> + <file source-language="en" datatype="plaintext" original="file.ext"> + <body> + <trans-unit id="1"> + <source>This value should be false.</source> + <target>Nilai ini harus bernilai salah.</target> + </trans-unit> + <trans-unit id="2"> + <source>This value should be true.</source> + <target>Nilai ini harus bernilai benar.</target> + </trans-unit> + <trans-unit id="3"> + <source>This value should be of type {{ type }}.</source> + <target>Nilai ini harus bertipe {{ type }}.</target> + </trans-unit> + <trans-unit id="4"> + <source>This value should be blank.</source> + <target>Nilai ini harus kosong.</target> + </trans-unit> + <trans-unit id="5"> + <source>The value you selected is not a valid choice.</source> + <target>Nilai yang dipilih tidak tepat.</target> + </trans-unit> + <trans-unit id="6"> + <source>You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices.</source> + <target>Anda harus memilih paling tidak {{ limit }} pilihan.</target> + </trans-unit> + <trans-unit id="7"> + <source>You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices.</source> + <target>Anda harus memilih paling banyak {{ limit }} pilihan.</target> + </trans-unit> + <trans-unit id="8"> + <source>One or more of the given values is invalid.</source> + <target>Satu atau lebih nilai yang diberikan tidak sah.</target> + </trans-unit> + <trans-unit id="9"> + <source>This field was not expected.</source> + <target>Bidang ini tidak diharapkan.</target> + </trans-unit> + <trans-unit id="10"> + <source>This field is missing.</source> + <target>Bidang ini hilang.</target> + </trans-unit> + <trans-unit id="11"> + <source>This value is not a valid date.</source> + <target>Nilai ini bukan merupakan tanggal yang sah.</target> + </trans-unit> + <trans-unit id="12"> + <source>This value is not a valid datetime.</source> + <target>Nilai ini bukan merupakan tanggal dan waktu yang sah.</target> + </trans-unit> + <trans-unit id="13"> + <source>This value is not a valid email address.</source> + <target>Nilai ini bukan alamat email yang sah.</target> + </trans-unit> + <trans-unit id="14"> + <source>The file could not be found.</source> + <target>Berkas tidak ditemukan.</target> + </trans-unit> + <trans-unit id="15"> + <source>The file is not readable.</source> + <target>Berkas tidak bisa dibaca.</target> + </trans-unit> + <trans-unit id="16"> + <source>The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>Ukuran berkas terlalu besar ({{ size }} {{ suffix }}). Ukuran maksimum yang diizinkan adalah {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="17"> + <source>The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}.</source> + <target>Jenis berkas ({{ type }}) tidak sah. Jenis berkas yang diijinkan adalah {{ types }}.</target> + </trans-unit> + <trans-unit id="18"> + <source>This value should be {{ limit }} or less.</source> + <target>Nilai ini harus {{ limit }} atau kurang.</target> + </trans-unit> + <trans-unit id="19"> + <source>This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less.</source> + <target>Nilai ini terlalu panjang. Seharusnya {{ limit }} karakter atau kurang.</target> + </trans-unit> + <trans-unit id="20"> + <source>This value should be {{ limit }} or more.</source> + <target>Nilai ini harus {{ limit }} atau lebih.</target> + </trans-unit> + <trans-unit id="21"> + <source>This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more.</source> + <target>Nilai ini terlalu pendek. Seharusnya {{ limit }} karakter atau lebih.</target> + </trans-unit> + <trans-unit id="22"> + <source>This value should not be blank.</source> + <target>Nilai ini tidak boleh kosong.</target> + </trans-unit> + <trans-unit id="23"> + <source>This value should not be null.</source> + <target>Nilai ini tidak boleh 'null'.</target> + </trans-unit> + <trans-unit id="24"> + <source>This value should be null.</source> + <target>Nilai ini harus 'null'.</target> + </trans-unit> + <trans-unit id="25"> + <source>This value is not valid.</source> + <target>Nilai ini tidak sah.</target> + </trans-unit> + <trans-unit id="26"> + <source>This value is not a valid time.</source> + <target>Nilai ini bukan merupakan waktu yang sah.</target> + </trans-unit> + <trans-unit id="27"> + <source>This value is not a valid URL.</source> + <target>Nilai ini bukan URL yang sah.</target> + </trans-unit> + <trans-unit id="31"> + <source>The two values should be equal.</source> + <target>Isi keduanya harus sama.</target> + </trans-unit> + <trans-unit id="32"> + <source>The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>Ukuran berkas terlalu besar. Ukuran maksimum yang diijinkan adalah {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="33"> + <source>The file is too large.</source> + <target>Ukuran berkas terlalu besar.</target> + </trans-unit> + <trans-unit id="34"> + <source>The file could not be uploaded.</source> + <target>Berkas tidak dapat diunggah.</target> + </trans-unit> + <trans-unit id="35"> + <source>This value should be a valid number.</source> + <target>Nilai ini harus angka yang sah.</target> + </trans-unit> + <trans-unit id="36"> + <source>This file is not a valid image.</source> + <target>Berkas ini tidak termasuk gambar.</target> + </trans-unit> + <trans-unit id="37"> + <source>This is not a valid IP address.</source> + <target>Ini bukan alamat IP yang sah.</target> + </trans-unit> + <trans-unit id="38"> + <source>This value is not a valid language.</source> + <target>Nilai ini bukan bahasa yang sah.</target> + </trans-unit> + <trans-unit id="39"> + <source>This value is not a valid locale.</source> + <target>Nilai ini bukan lokal yang sah.</target> + </trans-unit> + <trans-unit id="40"> + <source>This value is not a valid country.</source> + <target>Nilai ini bukan negara yang sah.</target> + </trans-unit> + <trans-unit id="41"> + <source>This value is already used.</source> + <target>Nilai ini sudah digunakan.</target> + </trans-unit> + <trans-unit id="42"> + <source>The size of the image could not be detected.</source> + <target>Ukuran dari gambar tidak bisa dideteksi.</target> + </trans-unit> + <trans-unit id="43"> + <source>The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px.</source> + <target>Lebar gambar terlalu besar ({{ width }}px). Ukuran lebar maksimum adalah {{ max_width }}px.</target> + </trans-unit> + <trans-unit id="44"> + <source>The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px.</source> + <target>Lebar gambar terlalu kecil ({{ width }}px). Ukuran lebar minimum yang diharapkan adalah {{ min_width }}px.</target> + </trans-unit> + <trans-unit id="45"> + <source>The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px.</source> + <target>Tinggi gambar terlalu besar ({{ height }}px). Ukuran tinggi maksimum adalah {{ max_height }}px.</target> + </trans-unit> + <trans-unit id="46"> + <source>The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px.</source> + <target>Tinggi gambar terlalu kecil ({{ height }}px). Ukuran tinggi minimum yang diharapkan adalah {{ min_height }}px.</target> + </trans-unit> + <trans-unit id="47"> + <source>This value should be the user's current password.</source> + <target>Nilai ini harus kata sandi pengguna saat ini.</target> + </trans-unit> + <trans-unit id="48"> + <source>This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters.</source> + <target>Nilai ini harus memiliki tepat {{ limit }} karakter.</target> + </trans-unit> + <trans-unit id="49"> + <source>The file was only partially uploaded.</source> + <target>Berkas hanya terunggah sebagian.</target> + </trans-unit> + <trans-unit id="50"> + <source>No file was uploaded.</source> + <target>Tidak ada berkas terunggah.</target> + </trans-unit> + <trans-unit id="51"> + <source>No temporary folder was configured in php.ini.</source> + <target>Direktori sementara tidak dikonfiguasi pada php.ini.</target> + </trans-unit> + <trans-unit id="52"> + <source>Cannot write temporary file to disk.</source> + <target>Tidak dapat menuliskan berkas sementara ke dalam media penyimpanan.</target> + </trans-unit> + <trans-unit id="53"> + <source>A PHP extension caused the upload to fail.</source> + <target>Sebuah ekstensi PHP menyebabkan kegagalan unggah.</target> + </trans-unit> + <trans-unit id="54"> + <source>This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more.</source> + <target>Kumpulan ini harus memiliki {{ limit }} elemen atau lebih.</target> + </trans-unit> + <trans-unit id="55"> + <source>This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less.</source> + <target>Kumpulan ini harus memiliki kurang dari {{ limit }} elemen.</target> + </trans-unit> + <trans-unit id="56"> + <source>This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements.</source> + <target>Kumpulan ini harus memiliki tepat {{ limit }} elemen.</target> + </trans-unit> + <trans-unit id="57"> + <source>Invalid card number.</source> + <target>Nomor kartu tidak sah.</target> + </trans-unit> + <trans-unit id="58"> + <source>Unsupported card type or invalid card number.</source> + <target>Jenis kartu tidak didukung atau nomor kartu tidak sah.</target> + </trans-unit> + <trans-unit id="59"> + <source>This is not a valid International Bank Account Number (IBAN).</source> + <target>Ini bukan Nomor Rekening Bank Internasional (IBAN) yang sah.</target> + </trans-unit> + <trans-unit id="60"> + <source>This value is not a valid ISBN-10.</source> + <target>Nilai ini bukan ISBN-10 yang sah.</target> + </trans-unit> + <trans-unit id="61"> + <source>This value is not a valid ISBN-13.</source> + <target>Nilai ini bukan ISBN-13 yang sah.</target> + </trans-unit> + <trans-unit id="62"> + <source>This value is neither a valid ISBN-10 nor a valid ISBN-13.</source> + <target>Nilai ini bukan ISBN-10 maupun ISBN-13 yang sah.</target> + </trans-unit> + <trans-unit id="63"> + <source>This value is not a valid ISSN.</source> + <target>Nilai ini bukan ISSN yang sah.</target> + </trans-unit> + <trans-unit id="64"> + <source>This value is not a valid currency.</source> + <target>Nilai ini bukan mata uang yang sah.</target> + </trans-unit> + <trans-unit id="65"> + <source>This value should be equal to {{ compared_value }}.</source> + <target>Nilai ini seharusnya sama dengan {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="66"> + <source>This value should be greater than {{ compared_value }}.</source> + <target>Nilai ini seharusnya lebih dari {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="67"> + <source>This value should be greater than or equal to {{ compared_value }}.</source> + <target>Nilai ini seharusnya lebih dari atau sama dengan {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="68"> + <source>This value should be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>Nilai ini seharusnya identik dengan {{ compared_value_type }} {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="69"> + <source>This value should be less than {{ compared_value }}.</source> + <target>Nilai ini seharusnya kurang dari {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="70"> + <source>This value should be less than or equal to {{ compared_value }}.</source> + <target>Nilai ini seharusnya kurang dari atau sama dengan {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="71"> + <source>This value should not be equal to {{ compared_value }}.</source> + <target>Nilai ini seharusnya tidak sama dengan {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="72"> + <source>This value should not be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>Nilai ini seharusnya tidak identik dengan {{ compared_value_type }} {{ compared_value }}.</target> + </trans-unit> + </body> + </file> +</xliff> diff --git a/core/vendor/symfony/validator/Resources/translations/validators.it.xlf b/core/vendor/symfony/validator/Resources/translations/validators.it.xlf new file mode 100644 index 0000000000000000000000000000000000000000..5a411eaa0ac96984d11a80e9245823102be8e29c --- /dev/null +++ b/core/vendor/symfony/validator/Resources/translations/validators.it.xlf @@ -0,0 +1,307 @@ +<?xml version="1.0"?> +<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2"> + <file source-language="en" datatype="plaintext" original="file.ext"> + <body> + <trans-unit id="1"> + <source>This value should be false.</source> + <target>Questo valore dovrebbe essere falso.</target> + </trans-unit> + <trans-unit id="2"> + <source>This value should be true.</source> + <target>Questo valore dovrebbe essere vero.</target> + </trans-unit> + <trans-unit id="3"> + <source>This value should be of type {{ type }}.</source> + <target>Questo valore dovrebbe essere di tipo {{ type }}.</target> + </trans-unit> + <trans-unit id="4"> + <source>This value should be blank.</source> + <target>Questo valore dovrebbe essere vuoto.</target> + </trans-unit> + <trans-unit id="5"> + <source>The value you selected is not a valid choice.</source> + <target>Questo valore dovrebbe essere una delle opzioni disponibili.</target> + </trans-unit> + <trans-unit id="6"> + <source>You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices.</source> + <target>Si dovrebbe selezionare almeno {{ limit }} opzione.|Si dovrebbero selezionare almeno {{ limit }} opzioni.</target> + </trans-unit> + <trans-unit id="7"> + <source>You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices.</source> + <target>Si dovrebbe selezionare al massimo {{ limit }} opzione.|Si dovrebbero selezionare al massimo {{ limit }} opzioni.</target> + </trans-unit> + <trans-unit id="8"> + <source>One or more of the given values is invalid.</source> + <target>Uno o più valori inseriti non sono validi.</target> + </trans-unit> + <trans-unit id="9"> + <source>This field was not expected.</source> + <target>Questo campo non è stato previsto.</target> + </trans-unit> + <trans-unit id="10"> + <source>This field is missing.</source> + <target>Questo campo è manca.</target> + </trans-unit> + <trans-unit id="11"> + <source>This value is not a valid date.</source> + <target>Questo valore non è una data valida.</target> + </trans-unit> + <trans-unit id="12"> + <source>This value is not a valid datetime.</source> + <target>Questo valore non è una data e ora valida.</target> + </trans-unit> + <trans-unit id="13"> + <source>This value is not a valid email address.</source> + <target>Questo valore non è un indirizzo email valido.</target> + </trans-unit> + <trans-unit id="14"> + <source>The file could not be found.</source> + <target>Non è stato possibile trovare il file.</target> + </trans-unit> + <trans-unit id="15"> + <source>The file is not readable.</source> + <target>Il file non è leggibile.</target> + </trans-unit> + <trans-unit id="16"> + <source>The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>Il file è troppo grande ({{ size }} {{ suffix }}). La dimensione massima consentita è {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="17"> + <source>The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}.</source> + <target>Il mime type del file non è valido ({{ type }}). I tipi permessi sono {{ types }}.</target> + </trans-unit> + <trans-unit id="18"> + <source>This value should be {{ limit }} or less.</source> + <target>Questo valore dovrebbe essere {{ limit }} o inferiore.</target> + </trans-unit> + <trans-unit id="19"> + <source>This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less.</source> + <target>Questo valore è troppo lungo. Dovrebbe essere al massimo di {{ limit }} carattere.|Questo valore è troppo lungo. Dovrebbe essere al massimo di {{ limit }} caratteri.</target> + </trans-unit> + <trans-unit id="20"> + <source>This value should be {{ limit }} or more.</source> + <target>Questo valore dovrebbe essere {{ limit }} o superiore.</target> + </trans-unit> + <trans-unit id="21"> + <source>This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more.</source> + <target>Questo valore è troppo corto. Dovrebbe essere almeno di {{ limit }} carattere.|Questo valore è troppo corto. Dovrebbe essere almeno di {{ limit }} caratteri.</target> + </trans-unit> + <trans-unit id="22"> + <source>This value should not be blank.</source> + <target>Questo valore non dovrebbe essere vuoto.</target> + </trans-unit> + <trans-unit id="23"> + <source>This value should not be null.</source> + <target>Questo valore non dovrebbe essere nullo.</target> + </trans-unit> + <trans-unit id="24"> + <source>This value should be null.</source> + <target>Questo valore dovrebbe essere nullo.</target> + </trans-unit> + <trans-unit id="25"> + <source>This value is not valid.</source> + <target>Questo valore non è valido.</target> + </trans-unit> + <trans-unit id="26"> + <source>This value is not a valid time.</source> + <target>Questo valore non è un'ora valida.</target> + </trans-unit> + <trans-unit id="27"> + <source>This value is not a valid URL.</source> + <target>Questo valore non è un URL valido.</target> + </trans-unit> + <trans-unit id="31"> + <source>The two values should be equal.</source> + <target>I due valori dovrebbero essere uguali.</target> + </trans-unit> + <trans-unit id="32"> + <source>The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>Il file è troppo grande. La dimensione massima è {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="33"> + <source>The file is too large.</source> + <target>Il file è troppo grande.</target> + </trans-unit> + <trans-unit id="34"> + <source>The file could not be uploaded.</source> + <target>Il file non può essere caricato.</target> + </trans-unit> + <trans-unit id="35"> + <source>This value should be a valid number.</source> + <target>Questo valore dovrebbe essere un numero.</target> + </trans-unit> + <trans-unit id="36"> + <source>This file is not a valid image.</source> + <target>Questo file non è una immagine valida.</target> + </trans-unit> + <trans-unit id="37"> + <source>This is not a valid IP address.</source> + <target>Questo valore non è un indirizzo IP valido.</target> + </trans-unit> + <trans-unit id="38"> + <source>This value is not a valid language.</source> + <target>Questo valore non è una lingua valida.</target> + </trans-unit> + <trans-unit id="39"> + <source>This value is not a valid locale.</source> + <target>Questo valore non è una impostazione regionale valida.</target> + </trans-unit> + <trans-unit id="40"> + <source>This value is not a valid country.</source> + <target>Questo valore non è una nazione valida.</target> + </trans-unit> + <trans-unit id="41"> + <source>This value is already used.</source> + <target>Questo valore è già stato utilizzato.</target> + </trans-unit> + <trans-unit id="42"> + <source>The size of the image could not be detected.</source> + <target>La dimensione dell'immagine non può essere determinata.</target> + </trans-unit> + <trans-unit id="43"> + <source>The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px.</source> + <target>La larghezza dell'immagine è troppo grande ({{ width }}px). La larghezza massima è di {{ max_width }}px.</target> + </trans-unit> + <trans-unit id="44"> + <source>The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px.</source> + <target>La larghezza dell'immagine è troppo piccola ({{ width }}px). La larghezza minima è di {{ min_width }}px.</target> + </trans-unit> + <trans-unit id="45"> + <source>The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px.</source> + <target>L'altezza dell'immagine è troppo grande ({{ height }}px). L'altezza massima è di {{ max_height }}px.</target> + </trans-unit> + <trans-unit id="46"> + <source>The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px.</source> + <target>L'altezza dell'immagine è troppo piccola ({{ height }}px). L'altezza minima è di {{ min_height }}px.</target> + </trans-unit> + <trans-unit id="47"> + <source>This value should be the user's current password.</source> + <target>Questo valore dovrebbe essere la password attuale dell'utente.</target> + </trans-unit> + <trans-unit id="48"> + <source>This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters.</source> + <target>Questo valore dovrebbe contenere esattamente {{ limit }} carattere.|Questo valore dovrebbe contenere esattamente {{ limit }} caratteri.</target> + </trans-unit> + <trans-unit id="49"> + <source>The file was only partially uploaded.</source> + <target>Il file è stato caricato solo parzialmente.</target> + </trans-unit> + <trans-unit id="50"> + <source>No file was uploaded.</source> + <target>Nessun file è stato caricato.</target> + </trans-unit> + <trans-unit id="51"> + <source>No temporary folder was configured in php.ini.</source> + <target>Nessuna cartella temporanea è stata configurata nel php.ini.</target> + </trans-unit> + <trans-unit id="52"> + <source>Cannot write temporary file to disk.</source> + <target>Impossibile scrivere il file temporaneo sul disco.</target> + </trans-unit> + <trans-unit id="53"> + <source>A PHP extension caused the upload to fail.</source> + <target>Un'estensione PHP ha causato il fallimento del caricamento.</target> + </trans-unit> + <trans-unit id="54"> + <source>This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more.</source> + <target>Questa collezione dovrebbe contenere almeno {{ limit }} elemento.|Questa collezione dovrebbe contenere almeno {{ limit }} elementi.</target> + </trans-unit> + <trans-unit id="55"> + <source>This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less.</source> + <target>Questa collezione dovrebbe contenere massimo {{ limit }} elemento.|Questa collezione dovrebbe contenere massimo {{ limit }} elementi.</target> + </trans-unit> + <trans-unit id="56"> + <source>This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements.</source> + <target>Questa collezione dovrebbe contenere esattamente {{ limit }} elemento.|Questa collezione dovrebbe contenere esattamente {{ limit }} elementi.</target> + </trans-unit> + <trans-unit id="57"> + <source>Invalid card number.</source> + <target>Numero di carta non valido.</target> + </trans-unit> + <trans-unit id="58"> + <source>Unsupported card type or invalid card number.</source> + <target>Tipo di carta non supportato o numero non valido.</target> + </trans-unit> + <trans-unit id="59"> + <source>This is not a valid International Bank Account Number (IBAN).</source> + <target>Questo valore non è un IBAN (International Bank Account Number) valido.</target> + </trans-unit> + <trans-unit id="60"> + <source>This value is not a valid ISBN-10.</source> + <target>Questo valore non è un codice ISBN-10 valido.</target> + </trans-unit> + <trans-unit id="61"> + <source>This value is not a valid ISBN-13.</source> + <target>Questo valore non è un codice ISBN-13 valido.</target> + </trans-unit> + <trans-unit id="62"> + <source>This value is neither a valid ISBN-10 nor a valid ISBN-13.</source> + <target>Questo valore non è un codice ISBN-10 o ISBN-13 valido.</target> + </trans-unit> + <trans-unit id="63"> + <source>This value is not a valid ISSN.</source> + <target>Questo valore non è un codice ISSN valido.</target> + </trans-unit> + <trans-unit id="64"> + <source>This value is not a valid currency.</source> + <target>Questo valore non è una valuta valida.</target> + </trans-unit> + <trans-unit id="65"> + <source>This value should be equal to {{ compared_value }}.</source> + <target>Questo valore dovrebbe essere uguale a {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="66"> + <source>This value should be greater than {{ compared_value }}.</source> + <target>Questo valore dovrebbe essere maggiore di {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="67"> + <source>This value should be greater than or equal to {{ compared_value }}.</source> + <target>Questo valore dovrebbe essere maggiore o uguale a {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="68"> + <source>This value should be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>Questo valore dovrebbe essere identico a {{ compared_value_type }} {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="69"> + <source>This value should be less than {{ compared_value }}.</source> + <target>Questo valore dovrebbe essere minore di {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="70"> + <source>This value should be less than or equal to {{ compared_value }}.</source> + <target>Questo valore dovrebbe essere minore o uguale a {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="71"> + <source>This value should not be equal to {{ compared_value }}.</source> + <target>Questo valore dovrebbe essere diverso da {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="72"> + <source>This value should not be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>Questo valore dovrebbe essere diverso da {{ compared_value_type }} {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="73"> + <source>The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}.</source> + <target>Il rapporto di aspetto dell'immagine è troppo grande ({{ ratio }}). Il rapporto massimo consentito è {{ max_ratio }}.</target> + </trans-unit> + <trans-unit id="74"> + <source>The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}.</source> + <target>Il rapporto di aspetto dell'immagine è troppo piccolo ({{ ratio }}). Il rapporto minimo consentito è {{ min_ratio }}.</target> + </trans-unit> + <trans-unit id="75"> + <source>The image is square ({{ width }}x{{ height }}px). Square images are not allowed.</source> + <target>L'immagine è quadrata ({{ width }}x{{ height }}px). Le immagini quadrate non sono consentite.</target> + </trans-unit> + <trans-unit id="76"> + <source>The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed.</source> + <target>L'immagine è orizzontale ({{ width }}x{{ height }}px). Le immagini orizzontali non sono consentite.</target> + </trans-unit> + <trans-unit id="77"> + <source>The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed.</source> + <target>L'immagine è verticale ({{ width }}x{{ height }}px). Le immagini verticali non sono consentite.</target> + </trans-unit> + <trans-unit id="78"> + <source>An empty file is not allowed.</source> + <target>Un file vuoto non è consentito.</target> + </trans-unit> + </body> + </file> +</xliff> diff --git a/core/vendor/symfony/validator/Resources/translations/validators.ja.xlf b/core/vendor/symfony/validator/Resources/translations/validators.ja.xlf new file mode 100644 index 0000000000000000000000000000000000000000..63eecc0e19e79630b2c9374d802e91e14c9ea0a9 --- /dev/null +++ b/core/vendor/symfony/validator/Resources/translations/validators.ja.xlf @@ -0,0 +1,315 @@ +<?xml version="1.0"?> +<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2"> + <file source-language="en" datatype="plaintext" original="file.ext"> + <body> + <trans-unit id="1"> + <source>This value should be false.</source> + <target>falseã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。</target> + </trans-unit> + <trans-unit id="2"> + <source>This value should be true.</source> + <target>trueã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。</target> + </trans-unit> + <trans-unit id="3"> + <source>This value should be of type {{ type }}.</source> + <target>åž‹ã¯{{ type }}ã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。</target> + </trans-unit> + <trans-unit id="4"> + <source>This value should be blank.</source> + <target>空ã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。</target> + </trans-unit> + <trans-unit id="5"> + <source>The value you selected is not a valid choice.</source> + <target>有効ãªé¸æŠžè‚¢ã§ã¯ã‚ã‚Šã¾ã›ã‚“。</target> + </trans-unit> + <trans-unit id="6"> + <source>You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices.</source> + <target>{{ limit }}個以上é¸æŠžã—ã¦ãã ã•ã„。</target> + </trans-unit> + <trans-unit id="7"> + <source>You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices.</source> + <target>{{ limit }}個以内ã§é¸æŠžã—ã¦ãã ã•ã„。</target> + </trans-unit> + <trans-unit id="8"> + <source>One or more of the given values is invalid.</source> + <target>無効ãªé¸æŠžè‚¢ãŒå«ã¾ã‚Œã¦ã„ã¾ã™ã€‚</target> + </trans-unit> + <trans-unit id="9"> + <source>This field was not expected.</source> + <target>ã“ã®ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã¯äºˆæœŸã•ã‚Œã¦ã„ã¾ã›ã‚“ã§ã—ãŸã€‚</target> + </trans-unit> + <trans-unit id="10"> + <source>This field is missing.</source> + <target>ã“ã®ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã¯ã€æ¬ è½ã—ã¦ã„ã¾ã™ã€‚</target> + </trans-unit> + <trans-unit id="11"> + <source>This value is not a valid date.</source> + <target>有効ãªæ—¥ä»˜ã§ã¯ã‚ã‚Šã¾ã›ã‚“。</target> + </trans-unit> + <trans-unit id="12"> + <source>This value is not a valid datetime.</source> + <target>有効ãªæ—¥æ™‚ã§ã¯ã‚ã‚Šã¾ã›ã‚“。</target> + </trans-unit> + <trans-unit id="13"> + <source>This value is not a valid email address.</source> + <target>有効ãªãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã§ã¯ã‚ã‚Šã¾ã›ã‚“。</target> + </trans-unit> + <trans-unit id="14"> + <source>The file could not be found.</source> + <target>ファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“。</target> + </trans-unit> + <trans-unit id="15"> + <source>The file is not readable.</source> + <target>ファイルをèªã¿è¾¼ã‚ã¾ã›ã‚“。</target> + </trans-unit> + <trans-unit id="16"> + <source>The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>ファイルã®ã‚µã‚¤ã‚ºãŒå¤§ãã™ãŽã¾ã™({{ size }} {{ suffix }})。有効ãªæœ€å¤§ã‚µã‚¤ã‚ºã¯{{ limit }} {{ suffix }}ã§ã™ã€‚</target> + </trans-unit> + <trans-unit id="17"> + <source>The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}.</source> + <target>ファイルã®MIMEタイプãŒç„¡åŠ¹ã§ã™({{ type }})。有効ãªMIMEタイプã¯{{ types }}ã§ã™ã€‚</target> + </trans-unit> + <trans-unit id="18"> + <source>This value should be {{ limit }} or less.</source> + <target>{{ limit }}以下ã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。</target> + </trans-unit> + <trans-unit id="19"> + <source>This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less.</source> + <target>値ãŒé•·ã™ãŽã¾ã™ã€‚{{ limit }}æ–‡å—以内ã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。</target> + </trans-unit> + <trans-unit id="20"> + <source>This value should be {{ limit }} or more.</source> + <target>{{ limit }}以上ã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。</target> + </trans-unit> + <trans-unit id="21"> + <source>This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more.</source> + <target>値ãŒçŸã™ãŽã¾ã™ã€‚{{ limit }}æ–‡å—以上ã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。</target> + </trans-unit> + <trans-unit id="22"> + <source>This value should not be blank.</source> + <target>空ã§ã‚ã£ã¦ã¯ãªã‚Šã¾ã›ã‚“。</target> + </trans-unit> + <trans-unit id="23"> + <source>This value should not be null.</source> + <target>nullã§ã‚ã£ã¦ã¯ãªã‚Šã¾ã›ã‚“。</target> + </trans-unit> + <trans-unit id="24"> + <source>This value should be null.</source> + <target>nullã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。</target> + </trans-unit> + <trans-unit id="25"> + <source>This value is not valid.</source> + <target>有効ãªå€¤ã§ã¯ã‚ã‚Šã¾ã›ã‚“。</target> + </trans-unit> + <trans-unit id="26"> + <source>This value is not a valid time.</source> + <target>有効ãªæ™‚刻ã§ã¯ã‚ã‚Šã¾ã›ã‚“。</target> + </trans-unit> + <trans-unit id="27"> + <source>This value is not a valid URL.</source> + <target>有効ãªURLã§ã¯ã‚ã‚Šã¾ã›ã‚“。</target> + </trans-unit> + <trans-unit id="31"> + <source>The two values should be equal.</source> + <target>2ã¤ã®å€¤ãŒåŒã˜ã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。</target> + </trans-unit> + <trans-unit id="32"> + <source>The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>ファイルã®ã‚µã‚¤ã‚ºãŒå¤§ãã™ãŽã¾ã™ã€‚有効ãªæœ€å¤§ã‚µã‚¤ã‚ºã¯{{ limit }} {{ suffix }}ã§ã™ã€‚</target> + </trans-unit> + <trans-unit id="33"> + <source>The file is too large.</source> + <target>ファイルã®ã‚µã‚¤ã‚ºãŒå¤§ãã™ãŽã¾ã™ã€‚</target> + </trans-unit> + <trans-unit id="34"> + <source>The file could not be uploaded.</source> + <target>ファイルをアップãƒãƒ¼ãƒ‰ã§ãã¾ã›ã‚“ã§ã—ãŸã€‚</target> + </trans-unit> + <trans-unit id="35"> + <source>This value should be a valid number.</source> + <target>有効ãªæ•°å—ã§ã¯ã‚ã‚Šã¾ã›ã‚“。</target> + </trans-unit> + <trans-unit id="36"> + <source>This file is not a valid image.</source> + <target>ファイルãŒç”»åƒã§ã¯ã‚ã‚Šã¾ã›ã‚“。</target> + </trans-unit> + <trans-unit id="37"> + <source>This is not a valid IP address.</source> + <target>有効ãªIPアドレスã§ã¯ã‚ã‚Šã¾ã›ã‚“。</target> + </trans-unit> + <trans-unit id="38"> + <source>This value is not a valid language.</source> + <target>有効ãªè¨€èªžåã§ã¯ã‚ã‚Šã¾ã›ã‚“。</target> + </trans-unit> + <trans-unit id="39"> + <source>This value is not a valid locale.</source> + <target>有効ãªãƒã‚±ãƒ¼ãƒ«ã§ã¯ã‚ã‚Šã¾ã›ã‚“。</target> + </trans-unit> + <trans-unit id="40"> + <source>This value is not a valid country.</source> + <target>有効ãªå›½åã§ã¯ã‚ã‚Šã¾ã›ã‚“。</target> + </trans-unit> + <trans-unit id="41"> + <source>This value is already used.</source> + <target>æ—¢ã«ä½¿ç”¨ã•ã‚Œã¦ã„ã¾ã™ã€‚</target> + </trans-unit> + <trans-unit id="42"> + <source>The size of the image could not be detected.</source> + <target>ç”»åƒã®ã‚µã‚¤ã‚ºãŒæ¤œå‡ºã§ãã¾ã›ã‚“。</target> + </trans-unit> + <trans-unit id="43"> + <source>The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px.</source> + <target>ç”»åƒã®å¹…ãŒå¤§ãã™ãŽã¾ã™({{ width }}ピクセル)。{{ max_width }}ピクセルã¾ã§ã«ã—ã¦ãã ã•ã„。</target> + </trans-unit> + <trans-unit id="44"> + <source>The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px.</source> + <target>ç”»åƒã®å¹…ãŒå°ã•ã™ãŽã¾ã™({{ width }}ピクセル)。{{ min_width }}ピクセル以上ã«ã—ã¦ãã ã•ã„。</target> + </trans-unit> + <trans-unit id="45"> + <source>The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px.</source> + <target>ç”»åƒã®é«˜ã•ãŒå¤§ãã™ãŽã¾ã™({{ height }}ピクセル)。{{ max_height }}ピクセルã¾ã§ã«ã—ã¦ãã ã•ã„。</target> + </trans-unit> + <trans-unit id="46"> + <source>The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px.</source> + <target>ç”»åƒã®é«˜ã•ãŒå°ã•ã™ãŽã¾ã™({{ height }}ピクセル)。{{ min_height }}ピクセル以上ã«ã—ã¦ãã ã•ã„。</target> + </trans-unit> + <trans-unit id="47"> + <source>This value should be the user current password.</source> + <target>ユーザーã®ç¾åœ¨ã®ãƒ‘スワードã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。</target> + </trans-unit> + <trans-unit id="48"> + <source>This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters.</source> + <target>ã¡ã‚‡ã†ã©{{ limit }}æ–‡å—ã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。</target> + </trans-unit> + <trans-unit id="49"> + <source>The file was only partially uploaded.</source> + <target>ファイルã®ã‚¢ãƒƒãƒ—ãƒãƒ¼ãƒ‰ã¯å®Œå…¨ã§ã¯ã‚ã‚Šã¾ã›ã‚“。</target> + </trans-unit> + <trans-unit id="50"> + <source>No file was uploaded.</source> + <target>ファイルãŒã‚¢ãƒƒãƒ—ãƒãƒ¼ãƒ‰ã•ã‚Œã¦ã„ã¾ã›ã‚“。</target> + </trans-unit> + <trans-unit id="51"> + <source>No temporary folder was configured in php.ini.</source> + <target>php.iniã§ä¸€æ™‚フォルダãŒè¨å®šã•ã‚Œã¦ã„ã¾ã›ã‚“。</target> + </trans-unit> + <trans-unit id="52"> + <source>Cannot write temporary file to disk.</source> + <target>一時ファイルをディスクã«æ›¸ã込むã“ã¨ãŒã§ãã¾ã›ã‚“。</target> + </trans-unit> + <trans-unit id="53"> + <source>A PHP extension caused the upload to fail.</source> + <target>PHPæ‹¡å¼µã«ã‚ˆã£ã¦ã‚¢ãƒƒãƒ—ãƒãƒ¼ãƒ‰ã«å¤±æ•—ã—ã¾ã—ãŸã€‚</target> + </trans-unit> + <trans-unit id="54"> + <source>This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more.</source> + <target>{{ limit }}個以上ã®è¦ç´ ã‚’å«ã‚“ã§ãªã‘ã‚Œã°ã„ã‘ã¾ã›ã‚“。</target> + </trans-unit> + <trans-unit id="55"> + <source>This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less.</source> + <target>è¦ç´ ã¯{{ limit }}個ã¾ã§ã§ã™ã€‚</target> + </trans-unit> + <trans-unit id="56"> + <source>This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements.</source> + <target>è¦ç´ ã¯ã¡ã‚‡ã†ã©{{ limit }}個ã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。</target> + </trans-unit> + <trans-unit id="57"> + <source>Invalid card number.</source> + <target>無効ãªã‚«ãƒ¼ãƒ‰ç•ªå·ã§ã™ã€‚</target> + </trans-unit> + <trans-unit id="58"> + <source>Unsupported card type or invalid card number.</source> + <target>未対応ã®ã‚«ãƒ¼ãƒ‰ç¨®é¡žåˆã¯ç„¡åŠ¹ãªã‚«ãƒ¼ãƒ‰ç•ªå·ã§ã™ã€‚</target> + </trans-unit> + <trans-unit id="59"> + <source>This is not a valid International Bank Account Number (IBAN).</source> + <target>有効ãªIBANコードã§ã¯ã‚ã‚Šã¾ã›ã‚“。</target> + </trans-unit> + <trans-unit id="60"> + <source>This value is not a valid ISBN-10.</source> + <target>有効ãªISBN-10コードã§ã¯ã‚ã‚Šã¾ã›ã‚“。</target> + </trans-unit> + <trans-unit id="61"> + <source>This value is not a valid ISBN-13.</source> + <target>有効ãªISBN-13コードã§ã¯ã‚ã‚Šã¾ã›ã‚“。</target> + </trans-unit> + <trans-unit id="62"> + <source>This value is neither a valid ISBN-10 nor a valid ISBN-13.</source> + <target>有効ãªISBN-10コードåˆã¯ISBN-13コードã§ã¯ã‚ã‚Šã¾ã›ã‚“。</target> + </trans-unit> + <trans-unit id="63"> + <source>This value is not a valid ISSN.</source> + <target>有効ãªISSNコードã§ã¯ã‚ã‚Šã¾ã›ã‚“。</target> + </trans-unit> + <trans-unit id="64"> + <source>This value is not a valid currency.</source> + <target>有効ãªè²¨å¹£ã§ã¯ã‚ã‚Šã¾ã›ã‚“。</target> + </trans-unit> + <trans-unit id="65"> + <source>This value should be equal to {{ compared_value }}.</source> + <target>{{ compared_value }}ã¨ç‰ã—ããªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。</target> + </trans-unit> + <trans-unit id="66"> + <source>This value should be greater than {{ compared_value }}.</source> + <target>{{ compared_value }}より大ãããªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。</target> + </trans-unit> + <trans-unit id="67"> + <source>This value should be greater than or equal to {{ compared_value }}.</source> + <target>{{ compared_value }}以上ã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。</target> + </trans-unit> + <trans-unit id="68"> + <source>This value should be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>{{ compared_value_type }}ã¨ã—ã¦ã®{{ compared_value }}ã¨ç‰ã—ããªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。</target> + </trans-unit> + <trans-unit id="69"> + <source>This value should be less than {{ compared_value }}.</source> + <target>{{ compared_value }}未満ã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。</target> + </trans-unit> + <trans-unit id="70"> + <source>This value should be less than or equal to {{ compared_value }}.</source> + <target>{{ compared_value }}以下ã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。</target> + </trans-unit> + <trans-unit id="71"> + <source>This value should not be equal to {{ compared_value }}.</source> + <target>{{ compared_value }}ã¨ç‰ã—ãã¦ã¯ã„ã‘ã¾ã›ã‚“。</target> + </trans-unit> + <trans-unit id="72"> + <source>This value should not be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>{{ compared_value_type }}ã¨ã—ã¦ã®{{ compared_value }}ã¨ç‰ã—ãã¦ã¯ã„ã‘ã¾ã›ã‚“。</target> + </trans-unit> + <trans-unit id="73"> + <source>The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}.</source> + <target>ç”»åƒã®ã‚¢ã‚¹ãƒšã‚¯ãƒˆæ¯”ãŒå¤§ãã™ãŽã¾ã™({{ ratio }})。{{ max_ratio }}ã¾ã§ã«ã—ã¦ãã ã•ã„。</target> + </trans-unit> + <trans-unit id="74"> + <source>The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}.</source> + <target>ç”»åƒã®ã‚¢ã‚¹ãƒšã‚¯ãƒˆæ¯”ãŒå°ã•ã™ãŽã¾ã™({{ ratio }})。{{ min_ratio }}以上ã«ã—ã¦ãã ã•ã„。</target> + </trans-unit> + <trans-unit id="75"> + <source>The image is square ({{ width }}x{{ height }}px). Square images are not allowed.</source> + <target>ç”»åƒãŒæ£æ–¹å½¢ã«ãªã£ã¦ã„ã¾ã™({{ width }}x{{ height }}ピクセル)。æ£æ–¹å½¢ã®ç”»åƒã¯è¨±å¯ã•ã‚Œã¦ã„ã¾ã›ã‚“。</target> + </trans-unit> + <trans-unit id="76"> + <source>The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed.</source> + <target>ç”»åƒãŒæ¨ªå‘ãã«ãªã£ã¦ã„ã¾ã™({{ width }}x{{ height }}ピクセル)。横å‘ãã®ç”»åƒã¯è¨±å¯ã•ã‚Œã¦ã„ã¾ã›ã‚“。</target> + </trans-unit> + <trans-unit id="77"> + <source>The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed.</source> + <target>ç”»åƒãŒç¸¦å‘ãã«ãªã£ã¦ã„ã¾ã™({{ width }}x{{ height }}ピクセル)。縦å‘ãã®ç”»åƒã¯è¨±å¯ã•ã‚Œã¦ã„ã¾ã›ã‚“。</target> + </trans-unit> + <trans-unit id="78"> + <source>An empty file is not allowed.</source> + <target>空ã®ãƒ•ã‚¡ã‚¤ãƒ«ã¯è¨±å¯ã•ã‚Œã¦ã„ã¾ã›ã‚“。</target> + </trans-unit> + <trans-unit id="79"> + <source>The host could not be resolved.</source> + <target>ホストを解決ã§ãã¾ã›ã‚“ã§ã—ãŸã€‚</target> + </trans-unit> + <trans-unit id="80"> + <source>This value does not match the expected {{ charset }} charset.</source> + <target>ã“ã®å€¤ã¯äºˆæœŸã•ã‚Œã‚‹æ–‡å—コード({{ charset }})ã¨ç•°ãªã‚Šã¾ã™ã€‚</target> + </trans-unit> + </body> + </file> +</xliff> diff --git a/core/vendor/symfony/validator/Resources/translations/validators.lb.xlf b/core/vendor/symfony/validator/Resources/translations/validators.lb.xlf new file mode 100644 index 0000000000000000000000000000000000000000..8281c7c249a053be61f362b334bd2a867424039d --- /dev/null +++ b/core/vendor/symfony/validator/Resources/translations/validators.lb.xlf @@ -0,0 +1,303 @@ +<?xml version="1.0"?> +<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2"> + <file source-language="en" datatype="plaintext" original="file.ext"> + <body> + <trans-unit id="1"> + <source>This value should be false.</source> + <target>Dëse Wäert sollt falsch sinn.</target> + </trans-unit> + <trans-unit id="2"> + <source>This value should be true.</source> + <target>Dëse Wäert sollt wouer sinn.</target> + </trans-unit> + <trans-unit id="3"> + <source>This value should be of type {{ type }}.</source> + <target>Dëse Wäert sollt vum Typ {{ type }} sinn.</target> + </trans-unit> + <trans-unit id="4"> + <source>This value should be blank.</source> + <target>Dëse Wäert sollt eidel sinn.</target> + </trans-unit> + <trans-unit id="5"> + <source>The value you selected is not a valid choice.</source> + <target>Dëse Wäert sollt enger vun de Wielméiglechkeeten entspriechen.</target> + </trans-unit> + <trans-unit id="6"> + <source>You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices.</source> + <target>Dir sollt mindestens {{ limit }} Méiglechkeete wielen.</target> + </trans-unit> + <trans-unit id="7"> + <source>You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices.</source> + <target>Dir sollt héchstens {{ limit }} Méiglechkeete wielen.</target> + </trans-unit> + <trans-unit id="8"> + <source>One or more of the given values is invalid.</source> + <target>Een oder méi vun de Wäerter ass ongëlteg.</target> + </trans-unit> + <trans-unit id="9"> + <source>The fields {{ fields }} were not expected.</source> + <target>D'Felder {{ fields }} goufen net erwaart.</target> + </trans-unit> + <trans-unit id="10"> + <source>The fields {{ fields }} are missing.</source> + <target>D'Felder {{ fields }} feelen.</target> + </trans-unit> + <trans-unit id="11"> + <source>This value is not a valid date.</source> + <target>Dëse Wäert entsprécht kenger gëlteger Datumsangab.</target> + </trans-unit> + <trans-unit id="12"> + <source>This value is not a valid datetime.</source> + <target>Dëse Wäert entsprécht kenger gëlteger Datums- an Zäitangab.</target> + </trans-unit> + <trans-unit id="13"> + <source>This value is not a valid email address.</source> + <target>Dëse Wäert ass keng gëlteg Email-Adress.</target> + </trans-unit> + <trans-unit id="14"> + <source>The file could not be found.</source> + <target>De Fichier gouf net fonnt.</target> + </trans-unit> + <trans-unit id="15"> + <source>The file is not readable.</source> + <target>De Fichier ass net liesbar.</target> + </trans-unit> + <trans-unit id="16"> + <source>The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>De Fichier ass ze grouss ({{ size }} {{ suffix }}). Déi zougeloosse Maximalgréisst bedréit {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="17"> + <source>The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}.</source> + <target>Den Typ vum Fichier ass ongëlteg ({{ type }}). Erlaabten Type sinn {{ types }}.</target> + </trans-unit> + <trans-unit id="18"> + <source>This value should be {{ limit }} or less.</source> + <target>Dëse Wäert soll méi kleng oder gläich {{ limit }} sinn.</target> + </trans-unit> + <trans-unit id="19"> + <source>This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less.</source> + <target>Dës Zeecheketten ass ze laang. Se sollt héchstens {{ limit }} Zeechen hunn.</target> + </trans-unit> + <trans-unit id="20"> + <source>This value should be {{ limit }} or more.</source> + <target>Dëse Wäert sollt méi grouss oder gläich {{ limit }} sinn.</target> + </trans-unit> + <trans-unit id="21"> + <source>This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more.</source> + <target>Dës Zeecheketten ass ze kuerz. Se sollt mindestens {{ limit }} Zeechen hunn.</target> + </trans-unit> + <trans-unit id="22"> + <source>This value should not be blank.</source> + <target>Dëse Wäert sollt net eidel sinn.</target> + </trans-unit> + <trans-unit id="23"> + <source>This value should not be null.</source> + <target>Dëst sollt keen Null-Wäert sinn.</target> + </trans-unit> + <trans-unit id="24"> + <source>This value should be null.</source> + <target>Dëst sollt keen Null-Wäert sinn.</target> + </trans-unit> + <trans-unit id="25"> + <source>This value is not valid.</source> + <target>Dëse Wäert ass net gëlteg.</target> + </trans-unit> + <trans-unit id="26"> + <source>This value is not a valid time.</source> + <target>Dëse Wäert entsprécht kenger gëlteger Zäitangab.</target> + </trans-unit> + <trans-unit id="27"> + <source>This value is not a valid URL.</source> + <target>Dëse Wäert ass keng gëlteg URL.</target> + </trans-unit> + <trans-unit id="31"> + <source>The two values should be equal.</source> + <target>Béid Wäerter sollten identesch sinn.</target> + </trans-unit> + <trans-unit id="32"> + <source>The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>De fichier ass ze grouss. Déi maximal Gréisst dierf {{ limit }} {{ suffix }} net depasséieren.</target> + </trans-unit> + <trans-unit id="33"> + <source>The file is too large.</source> + <target>De Fichier ass ze grouss.</target> + </trans-unit> + <trans-unit id="34"> + <source>The file could not be uploaded.</source> + <target>De Fichier konnt net eropgeluede ginn.</target> + </trans-unit> + <trans-unit id="35"> + <source>This value should be a valid number.</source> + <target>Dëse Wäert sollt eng gëlteg Zuel sinn.</target> + </trans-unit> + <trans-unit id="36"> + <source>This file is not a valid image.</source> + <target>Dëse Fichier ass kee gëltegt Bild.</target> + </trans-unit> + <trans-unit id="37"> + <source>This is not a valid IP address.</source> + <target>Dëst ass keng gëlteg IP-Adress.</target> + </trans-unit> + <trans-unit id="38"> + <source>This value is not a valid language.</source> + <target>Dëse Wäert aentsprécht kenger gëlteger Sprooch.</target> + </trans-unit> + <trans-unit id="39"> + <source>This value is not a valid locale.</source> + <target>Dëse Wäert entsprécht kengem gëltege Gebittsschema.</target> + </trans-unit> + <trans-unit id="40"> + <source>This value is not a valid country.</source> + <target>Dëse Wäert entsprécht kengem gëltege Land.</target> + </trans-unit> + <trans-unit id="41"> + <source>This value is already used.</source> + <target>Dëse Wäert gëtt scho benotzt.</target> + </trans-unit> + <trans-unit id="42"> + <source>The size of the image could not be detected.</source> + <target>D'Gréisst vum Bild konnt net detektéiert ginn.</target> + </trans-unit> + <trans-unit id="43"> + <source>The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px.</source> + <target>D'Breet vum Bild ass ze grouss ({{ width }}px). Déi erlaabte maximal Breet ass {{ max_width }}px.</target> + </trans-unit> + <trans-unit id="44"> + <source>The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px.</source> + <target>D'Breet vum Bild ass ze kleng ({{ width }}px). Déi minimal Breet ass {{ min_width }}px.</target> + </trans-unit> + <trans-unit id="45"> + <source>The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px.</source> + <target>D'Héicht vum Bild ass ze grouss ({{ height }}px). Déi erlaabte maximal Héicht ass {{ max_height }}px.</target> + </trans-unit> + <trans-unit id="46"> + <source>The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px.</source> + <target>D'Héicht vum Bild ass ze kleng ({{ height }}px). Déi minimal Héicht ass {{ min_height }}px.</target> + </trans-unit> + <trans-unit id="47"> + <source>This value should be the user's current password.</source> + <target>Dëse Wäert sollt dem aktuelle Benotzerpasswuert entspriechen.</target> + </trans-unit> + <trans-unit id="48"> + <source>This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters.</source> + <target>Dëse Wäert sollt exactly {{ limit }} Buschtaf hunn.|Dëse Wäert sollt exakt {{ limit }} Buschtawen hunn.</target> + </trans-unit> + <trans-unit id="49"> + <source>The file was only partially uploaded.</source> + <target>De Fichier gouf just deelweis eropgelueden.</target> + </trans-unit> + <trans-unit id="50"> + <source>No file was uploaded.</source> + <target>Et gouf kee Fichier eropgelueden.</target> + </trans-unit> + <trans-unit id="51"> + <source>No temporary folder was configured in php.ini.</source> + <target>Et gouf keen temporären Dossier an der php.ini konfiguréiert.</target> + </trans-unit> + <trans-unit id="52"> + <source>Cannot write temporary file to disk.</source> + <target>Den temporäre Fichier kann net gespäichert ginn.</target> + </trans-unit> + <trans-unit id="53"> + <source>A PHP extension caused the upload to fail.</source> + <target>Eng PHP-Erweiderung huet den Upload verhënnert.</target> + </trans-unit> + <trans-unit id="54"> + <source>This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more.</source> + <target>Dës Sammlung sollt {{ limit }} oder méi Elementer hunn.</target> + </trans-unit> + <trans-unit id="55"> + <source>This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less.</source> + <target>Dës Sammlung sollt {{ limit }} oder manner Elementer hunn.</target> + </trans-unit> + <trans-unit id="56"> + <source>This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements.</source> + <target>Dës Sammlung sollt exakt {{ limit }} Element hunn.|Dës Sammlung sollt exakt {{ limit }} Elementer hunn.</target> + </trans-unit> + <trans-unit id="57"> + <source>Invalid card number.</source> + <target>Ongëlteg Kaartennummer.</target> + </trans-unit> + <trans-unit id="58"> + <source>Unsupported card type or invalid card number.</source> + <target>Net ënnerstëtzte Kaartentyp oder ongëlteg Kaartennummer.</target> + </trans-unit> + <trans-unit id="59"> + <source>This is not a valid International Bank Account Number (IBAN).</source> + <target>Dëst ass keng gëlteg IBAN-Kontonummer.</target> + </trans-unit> + <trans-unit id="60"> + <source>This value is not a valid ISBN-10.</source> + <target>Dëse Wäert ass keng gëlteg ISBN-10.</target> + </trans-unit> + <trans-unit id="61"> + <source>This value is not a valid ISBN-13.</source> + <target>Dëse Wäert ass keng gëlteg ISBN-13.</target> + </trans-unit> + <trans-unit id="62"> + <source>This value is neither a valid ISBN-10 nor a valid ISBN-13.</source> + <target>Dëse Wäert ass weder eng gëlteg ISBN-10 nach eng gëlteg ISBN-13.</target> + </trans-unit> + <trans-unit id="63"> + <source>This value is not a valid ISSN.</source> + <target>Dëse Wäert ass keng gëlteg ISSN.</target> + </trans-unit> + <trans-unit id="64"> + <source>This value is not a valid currency.</source> + <target>Dëse Wäert ass keng gëlteg Währung.</target> + </trans-unit> + <trans-unit id="65"> + <source>This value should be equal to {{ compared_value }}.</source> + <target>Dëse Wäert sollt {{ compared_value }} sinn.</target> + </trans-unit> + <trans-unit id="66"> + <source>This value should be greater than {{ compared_value }}.</source> + <target>Dëse Wäert sollt méi grouss wéi {{ compared_value }} sinn.</target> + </trans-unit> + <trans-unit id="67"> + <source>This value should be greater than or equal to {{ compared_value }}.</source> + <target>Dëse Wäert sollt méi grouss wéi oder gläich {{ compared_value }} sinn.</target> + </trans-unit> + <trans-unit id="68"> + <source>This value should be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>Dëse Wäert sollt identesch si mat {{ compared_value_type }} {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="69"> + <source>This value should be less than {{ compared_value }}.</source> + <target>Dëse Wäert sollt méi kleng wéi {{ compared_value }} sinn.</target> + </trans-unit> + <trans-unit id="70"> + <source>This value should be less than or equal to {{ compared_value }}.</source> + <target>Dëse Wäert sollt méi kleng wéi oder gläich {{ compared_value }} sinn.</target> + </trans-unit> + <trans-unit id="71"> + <source>This value should not be equal to {{ compared_value }}.</source> + <target>Dëse Wäert sollt net {{ compared_value }} sinn.</target> + </trans-unit> + <trans-unit id="72"> + <source>This value should not be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>Dëse Wäert sollt net identesch si mat {{ compared_value_type }} {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="73"> + <source>The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}.</source> + <target>D'Säiteverhältnis vum Bild ass ze grouss ({{ ratio }}). Den erlaabte Maximalwäert ass {{ max_ratio }}.</target> + </trans-unit> + <trans-unit id="74"> + <source>The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}.</source> + <target>D'Säiteverhältnis vum Bild ass ze kleng ({{ ratio }}). Den erwaarte Minimalwäert ass {{ min_ratio }}.</target> + </trans-unit> + <trans-unit id="75"> + <source>The image is square ({{ width }}x{{ height }}px). Square images are not allowed.</source> + <target>D'Bild ass quadratesch ({{ width }}x{{ height }}px). Quadratesch Biller sinn net erlaabt.</target> + </trans-unit> + <trans-unit id="76"> + <source>The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed.</source> + <target>D'Bild ass am Queeschformat ({{ width }}x{{ height }}px). Biller am Queeschformat sinn net erlaabt.</target> + </trans-unit> + <trans-unit id="77"> + <source>The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed.</source> + <target>D'Bild ass am Héichformat ({{ width }}x{{ height }}px). Biller am Héichformat sinn net erlaabt.</target> + </trans-unit> + </body> + </file> +</xliff> diff --git a/core/vendor/symfony/validator/Resources/translations/validators.lt.xlf b/core/vendor/symfony/validator/Resources/translations/validators.lt.xlf new file mode 100644 index 0000000000000000000000000000000000000000..a556c45f0c42f528a50f33b6742f2aebe7b50475 --- /dev/null +++ b/core/vendor/symfony/validator/Resources/translations/validators.lt.xlf @@ -0,0 +1,307 @@ +<?xml version="1.0"?> +<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2"> + <file source-language="en" datatype="plaintext" original="file.ext"> + <body> + <trans-unit id="1"> + <source>This value should be false.</source> + <target>ReikÅ¡mÄ— turi bÅ«ti neigiama.</target> + </trans-unit> + <trans-unit id="2"> + <source>This value should be true.</source> + <target>ReikÅ¡mÄ— turi bÅ«ti teigiama.</target> + </trans-unit> + <trans-unit id="3"> + <source>This value should be of type {{ type }}.</source> + <target>Å ios reikÅ¡mÄ—s tipas turi bÅ«ti {{ type }}.</target> + </trans-unit> + <trans-unit id="4"> + <source>This value should be blank.</source> + <target>Å i reikÅ¡mÄ— turi bÅ«ti tuÅ¡Äia.</target> + </trans-unit> + <trans-unit id="5"> + <source>The value you selected is not a valid choice.</source> + <target>Neteisingas pasirinkimas.</target> + </trans-unit> + <trans-unit id="6"> + <source>You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices.</source> + <target>Turite pasirinkti bent {{ limit }} variantÄ….|Turite pasirinkti bent {{ limit }} variantus.|Turite pasirinkti bent {{ limit }} variantų.</target> + </trans-unit> + <trans-unit id="7"> + <source>You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices.</source> + <target>Turite pasirinkti ne daugiau kaip {{ limit }} variantÄ….|Turite pasirinkti ne daugiau kaip {{ limit }} variantus.|Turite pasirinkti ne daugiau kaip {{ limit }} variantų.</target> + </trans-unit> + <trans-unit id="8"> + <source>One or more of the given values is invalid.</source> + <target>Viena ar daugiau įvestų reikÅ¡mių yra netinkamos.</target> + </trans-unit> + <trans-unit id="9"> + <source>This field was not expected.</source> + <target>Nebuvo tikimasi Å is laukas.</target> + </trans-unit> + <trans-unit id="10"> + <source>This field is missing.</source> + <target>Å iame lauke yra dingÄ™s.</target> + </trans-unit> + <trans-unit id="11"> + <source>This value is not a valid date.</source> + <target>Å i reikÅ¡mÄ— nÄ—ra data.</target> + </trans-unit> + <trans-unit id="12"> + <source>This value is not a valid datetime.</source> + <target>Å i reikÅ¡mÄ— nera data ir laikas.</target> + </trans-unit> + <trans-unit id="13"> + <source>This value is not a valid email address.</source> + <target>Å i reikÅ¡mÄ— nÄ—ra tinkamas el. paÅ¡to adresas.</target> + </trans-unit> + <trans-unit id="14"> + <source>The file could not be found.</source> + <target>Byla nerasta.</target> + </trans-unit> + <trans-unit id="15"> + <source>The file is not readable.</source> + <target>Negalima nuskaityti bylos.</target> + </trans-unit> + <trans-unit id="16"> + <source>The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>Byla yra per didelÄ— ({{ size }} {{ suffix }}). Maksimalus dydis {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="17"> + <source>The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}.</source> + <target>Netinkamas bylos tipas (mime type) ({{ type }}). Galimi bylų tipai {{ types }}.</target> + </trans-unit> + <trans-unit id="18"> + <source>This value should be {{ limit }} or less.</source> + <target>ReikÅ¡mÄ— turi bÅ«ti {{ limit }} arba mažiau.</target> + </trans-unit> + <trans-unit id="19"> + <source>This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less.</source> + <target>Per didelis simbolių skaiÄius. Turi susidaryti iÅ¡ {{ limit }} arba mažiau simbolių.|Per didelis simbolių skaiÄius. Turi susidaryti iÅ¡ {{ limit }} arba mažiau simbolių.|Per didelis simbolių skaiÄius. Turi susidaryti iÅ¡ {{ limit }} arba mažiau simbolių.</target> + </trans-unit> + <trans-unit id="20"> + <source>This value should be {{ limit }} or more.</source> + <target>ReikÅ¡mÄ— turi bÅ«ti {{ limit }} arba daugiau.</target> + </trans-unit> + <trans-unit id="21"> + <source>This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more.</source> + <target>Per mažas simbolių skaiÄius. Turi susidaryti iÅ¡ {{ limit }} arba daugiau simbolių.|Per mažas simbolių skaiÄius. Turi susidaryti iÅ¡ {{ limit }} arba daugiau simbolių.|Per mažas simbolių skaiÄius. Turi susidaryti iÅ¡ {{ limit }} arba daugiau simbolių.</target> + </trans-unit> + <trans-unit id="22"> + <source>This value should not be blank.</source> + <target>Å i reikÅ¡mÄ— negali bÅ«ti tuÅ¡Äia.</target> + </trans-unit> + <trans-unit id="23"> + <source>This value should not be null.</source> + <target>Å i reikÅ¡mÄ— negali bÅ«ti null.</target> + </trans-unit> + <trans-unit id="24"> + <source>This value should be null.</source> + <target>Å i reikÅ¡mÄ— turi bÅ«ti null.</target> + </trans-unit> + <trans-unit id="25"> + <source>This value is not valid.</source> + <target>Netinkama reikÅ¡mÄ—.</target> + </trans-unit> + <trans-unit id="26"> + <source>This value is not a valid time.</source> + <target>Å i reikÅ¡mÄ— nÄ—ra laikas.</target> + </trans-unit> + <trans-unit id="27"> + <source>This value is not a valid URL.</source> + <target>Å i reikÅ¡mÄ— nÄ—ra tinkamas interneto adresas.</target> + </trans-unit> + <trans-unit id="31"> + <source>The two values should be equal.</source> + <target>Abi reikÅ¡mÄ—s turi bÅ«ti identiÅ¡kos.</target> + </trans-unit> + <trans-unit id="32"> + <source>The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>Byla yra per didelÄ—. Maksimalus dydis yra {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="33"> + <source>The file is too large.</source> + <target>Byla per didelÄ—.</target> + </trans-unit> + <trans-unit id="34"> + <source>The file could not be uploaded.</source> + <target>Byla negali bÅ«ti įkelta.</target> + </trans-unit> + <trans-unit id="35"> + <source>This value should be a valid number.</source> + <target>Å i reikÅ¡mÄ— turi bÅ«ti skaiÄius.</target> + </trans-unit> + <trans-unit id="36"> + <source>This value is not a valid country.</source> + <target>Å i reikÅ¡mÄ— nÄ—ra tinkama Å¡alis.</target> + </trans-unit> + <trans-unit id="37"> + <source>This file is not a valid image.</source> + <target>Byla nÄ—ra paveikslÄ—lis.</target> + </trans-unit> + <trans-unit id="38"> + <source>This is not a valid IP address.</source> + <target>Å i reikÅ¡mÄ— nÄ—ra tinkamas IP adresas.</target> + </trans-unit> + <trans-unit id="39"> + <source>This value is not a valid language.</source> + <target>Å i reikÅ¡mÄ— nÄ—ra tinkama kalba.</target> + </trans-unit> + <trans-unit id="40"> + <source>This value is not a valid locale.</source> + <target>Å i reikÅ¡mÄ— nÄ—ra tinkama lokalÄ—.</target> + </trans-unit> + <trans-unit id="41"> + <source>This value is already used.</source> + <target>Å i reikÅ¡mÄ— jau yra naudojama.</target> + </trans-unit> + <trans-unit id="42"> + <source>The size of the image could not be detected.</source> + <target>Nepavyko nustatyti nuotraukos dydžio.</target> + </trans-unit> + <trans-unit id="43"> + <source>The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px.</source> + <target>Nuotraukos plotis per didelis ({{ width }}px). Maksimalus leidžiamas plotis yra {{ max_width }}px.</target> + </trans-unit> + <trans-unit id="44"> + <source>The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px.</source> + <target>Nuotraukos plotis per mažas ({{ width }}px). Minimalus leidžiamas plotis yra {{ min_width }}px.</target> + </trans-unit> + <trans-unit id="45"> + <source>The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px.</source> + <target>Nuotraukos aukÅ¡tis per didelis ({{ height }}px). Maksimalus leidžiamas aukÅ¡tis yra {{ max_height }}px.</target> + </trans-unit> + <trans-unit id="46"> + <source>The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px.</source> + <target>Nuotraukos aukÅ¡tis per mažas ({{ height }}px). Minimalus leidžiamas aukÅ¡tis yra {{ min_height }}px.</target> + </trans-unit> + <trans-unit id="47"> + <source>This value should be the user's current password.</source> + <target>Å i reikÅ¡mÄ— turi sutapti su dabartiniu naudotojo slaptažodžiu.</target> + </trans-unit> + <trans-unit id="48"> + <source>This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters.</source> + <target>Å i reikÅ¡mÄ— turi turÄ—ti lygiai {{ limit }} simbolį.|Å i reikÅ¡mÄ— turi turÄ—ti lygiai {{ limit }} simbolius.|Å i reikÅ¡mÄ— turi turÄ—ti lygiai {{ limit }} simbolių.</target> + </trans-unit> + <trans-unit id="49"> + <source>The file was only partially uploaded.</source> + <target>Failas buvo tik dalinai įkeltas.</target> + </trans-unit> + <trans-unit id="50"> + <source>No file was uploaded.</source> + <target>Nebuvo įkelta jokių failų.</target> + </trans-unit> + <trans-unit id="51"> + <source>No temporary folder was configured in php.ini.</source> + <target>NÄ—ra sukonfiguruoto jokio laikino katalogo php.ini faile.</target> + </trans-unit> + <trans-unit id="52"> + <source>Cannot write temporary file to disk.</source> + <target>Nepavyko iÅ¡saugoti laikino failo.</target> + </trans-unit> + <trans-unit id="53"> + <source>A PHP extension caused the upload to fail.</source> + <target>PHP plÄ—tinys sutrukdÄ— failo įkÄ—limÄ… ir jis nepavyko.</target> + </trans-unit> + <trans-unit id="54"> + <source>This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more.</source> + <target>SÄ…raÅ¡e turi bÅ«ti {{ limit }} arba daugiau įrašų.|SÄ…raÅ¡e turi bÅ«ti {{ limit }} arba daugiau įrašų.|SÄ…raÅ¡e turi bÅ«ti {{ limit }} arba daugiau įrašų.</target> + </trans-unit> + <trans-unit id="55"> + <source>This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less.</source> + <target>SÄ…raÅ¡e turi bÅ«ti {{ limit }} arba mažiau įrašų.|SÄ…raÅ¡e turi bÅ«ti {{ limit }} arba mažiau įrašų.|SÄ…raÅ¡e turi bÅ«ti {{ limit }} arba mažiau įrašų.</target> + </trans-unit> + <trans-unit id="56"> + <source>This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements.</source> + <target>SÄ…raÅ¡e turi bÅ«ti lygiai {{ limit }} įraÅ¡as.|SÄ…raÅ¡e turi bÅ«ti lygiai {{ limit }} įraÅ¡ai.|SÄ…raÅ¡e turi bÅ«ti lygiai {{ limit }} įrašų.</target> + </trans-unit> + <trans-unit id="57"> + <source>Invalid card number.</source> + <target>Klaidingas kortelÄ—s numeris.</target> + </trans-unit> + <trans-unit id="58"> + <source>Unsupported card type or invalid card number.</source> + <target>KortelÄ—s tipas nepalaikomas arba klaidingas kortelÄ—s numeris.</target> + </trans-unit> + <trans-unit id="59"> + <source>This is not a valid International Bank Account Number (IBAN).</source> + <target>Å i reiÅ¡mÄ— neatitinka tarptautinio banko sÄ…skaitos numerio formato (IBAN).</target> + </trans-unit> + <trans-unit id="60"> + <source>This value is not a valid ISBN-10.</source> + <target>Å i reikÅ¡mÄ— neatitinka ISBN-10 formato.</target> + </trans-unit> + <trans-unit id="61"> + <source>This value is not a valid ISBN-13.</source> + <target>Å i reikÅ¡mÄ— neatitinka ISBN-13 formato.</target> + </trans-unit> + <trans-unit id="62"> + <source>This value is neither a valid ISBN-10 nor a valid ISBN-13.</source> + <target>Å i reikÅ¡mÄ— neatitinka nei ISBN-10, nei ISBN-13 formato.</target> + </trans-unit> + <trans-unit id="63"> + <source>This value is not a valid ISSN.</source> + <target>Å i reiÅ¡mÄ— neatitinka ISSN formato.</target> + </trans-unit> + <trans-unit id="64"> + <source>This value is not a valid currency.</source> + <target>Netinkamas valiutos formatas.</target> + </trans-unit> + <trans-unit id="65"> + <source>This value should be equal to {{ compared_value }}.</source> + <target>Å i reikÅ¡mÄ— turi bÅ«ti lygi {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="66"> + <source>This value should be greater than {{ compared_value }}.</source> + <target>Å i reikÅ¡mÄ— turi bÅ«ti didesnÄ— už {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="67"> + <source>This value should be greater than or equal to {{ compared_value }}.</source> + <target>Å i reikÅ¡mÄ— turi bÅ«ti didesnÄ— už arba lygi {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="68"> + <source>This value should be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>Å i reikÅ¡mÄ— turi bÅ«ti identiÅ¡ka {{ compared_value_type }} {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="69"> + <source>This value should be less than {{ compared_value }}.</source> + <target>Å i reikÅ¡mÄ— turi bÅ«ti mažesnÄ— už {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="70"> + <source>This value should be less than or equal to {{ compared_value }}.</source> + <target>Å i reikÅ¡mÄ— turi bÅ«ti mažesnÄ— už arba lygi {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="71"> + <source>This value should not be equal to {{ compared_value }}.</source> + <target>Å i reikÅ¡mÄ— neturi bÅ«ti lygi {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="72"> + <source>This value should not be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>Å i reikÅ¡mÄ— neturi bÅ«ti identiÅ¡ka {{ compared_value_type }} {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="73"> + <source>The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}.</source> + <target>Nuotraukos santykis yra per didelis ({{ ratio }}). Didžiausias leistinas santykis yra {{ max_ratio }}.</target> + </trans-unit> + <trans-unit id="74"> + <source>The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}.</source> + <target>Nuotraukos santykis yra per mažas ({{ ratio }}). Mažiausias leistinas santykis yra {{ min_ratio }}.</target> + </trans-unit> + <trans-unit id="75"> + <source>The image is square ({{ width }}x{{ height }}px). Square images are not allowed.</source> + <target>Nuotrauka yra kvadratinÄ— ({{ width }}x{{ height }}px). KvadratinÄ—s nuotraukos nÄ—ra leistinos.</target> + </trans-unit> + <trans-unit id="76"> + <source>The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed.</source> + <target>Nuotrauka orientuota į plotį ({{ width }}x{{ height }}px). Nuotraukos orientuotos į plotį nÄ—ra leistinos.</target> + </trans-unit> + <trans-unit id="77"> + <source>The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed.</source> + <target>Nuotrauka orientuota į aukÅ¡tį ({{ width }}x{{ height }}px). Nuotraukos orientuotos į aukÅ¡tį nÄ—ra leistinos.</target> + </trans-unit> + <trans-unit id="78"> + <source>An empty file is not allowed.</source> + <target>Failas negali bÅ«ti tuÅ¡Äias.</target> + </trans-unit> + </body> + </file> +</xliff> diff --git a/core/vendor/symfony/validator/Resources/translations/validators.mn.xlf b/core/vendor/symfony/validator/Resources/translations/validators.mn.xlf new file mode 100644 index 0000000000000000000000000000000000000000..dfe7eebf6d53e63c7299a3041987f58616a1d665 --- /dev/null +++ b/core/vendor/symfony/validator/Resources/translations/validators.mn.xlf @@ -0,0 +1,151 @@ +<?xml version="1.0"?> +<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2"> + <file source-language="en" datatype="plaintext" original="file.ext"> + <body> + <trans-unit id="1"> + <source>This value should be false.</source> + <target>ÐÐ½Ñ ÑƒÑ‚Ð³Ð° буруу байх Ñ‘Ñтой.</target> + </trans-unit> + <trans-unit id="2"> + <source>This value should be true.</source> + <target>ÐÐ½Ñ ÑƒÑ‚Ð³Ð° үнÑн байх Ñ‘Ñтой.</target> + </trans-unit> + <trans-unit id="3"> + <source>This value should be of type {{ type }}.</source> + <target>ÐÐ½Ñ ÑƒÑ‚Ð³Ð° {{ type }} -н төрөл байх Ñ‘Ñтой.</target> + </trans-unit> + <trans-unit id="4"> + <source>This value should be blank.</source> + <target>ÐÐ½Ñ ÑƒÑ‚Ð³Ð° хооÑон байх Ñ‘Ñтой.</target> + </trans-unit> + <trans-unit id="5"> + <source>The value you selected is not a valid choice.</source> + <target>СонгоÑон утга буруу байна.</target> + </trans-unit> + <trans-unit id="6"> + <source>You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices.</source> + <target>Хамгийн багадаа {{ limit }} утга ÑонгогдÑон байх Ñ‘Ñтой.</target> + </trans-unit> + <trans-unit id="7"> + <source>You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices.</source> + <target>Хамгийн ихдÑÑ {{ limit }} утга Ñонгогдох боломжтой.</target> + </trans-unit> + <trans-unit id="8"> + <source>One or more of the given values is invalid.</source> + <target>ӨгөгдÑөн нÑг ÑÑвÑл нÑгÑÑÑ Ð¾Ð»Ð¾Ð½ утга буруу байна.</target> + </trans-unit> + <trans-unit id="9"> + <source>This field was not expected.</source> + <target>ÐÐ½Ñ Ñ‚Ð°Ð»Ð±Ð°Ñ€ нь хүлÑÑгдÑж байÑан юм.</target> + </trans-unit> + <trans-unit id="10"> + <source>This field is missing.</source> + <target>ÐÐ½Ñ Ñ‚Ð°Ð»Ð±Ð°Ñ€ нь алга болÑон байна.</target> + </trans-unit> + <trans-unit id="11"> + <source>This value is not a valid date.</source> + <target>ÐÐ½Ñ ÑƒÑ‚Ð³Ð° буруу date төрөл байна .</target> + </trans-unit> + <trans-unit id="12"> + <source>This value is not a valid datetime.</source> + <target>ÐÐ½Ñ ÑƒÑ‚Ð³Ð° буруу цаг төрөл байна.</target> + </trans-unit> + <trans-unit id="13"> + <source>This value is not a valid email address.</source> + <target>И-майл хаÑг буруу байна.</target> + </trans-unit> + <trans-unit id="14"> + <source>The file could not be found.</source> + <target>Файл олдÑонгүй.</target> + </trans-unit> + <trans-unit id="15"> + <source>The file is not readable.</source> + <target>Файл уншигдахуйц биш байна.</target> + </trans-unit> + <trans-unit id="16"> + <source>The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>Файл Ñ…ÑÑ‚Ñрхий том байна ({{ size }} {{ suffix }}). Зөвшөөрөгдөх дÑÑд Ñ…ÑмжÑÑ {{ limit }} {{ suffix }} байна.</target> + </trans-unit> + <trans-unit id="17"> + <source>The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}.</source> + <target>Файлын MIME-төрөл нь буруу байна ({{ type }}). Зөвшөөрөгдөх MIME-төрлүүд {{ types }}.</target> + </trans-unit> + <trans-unit id="18"> + <source>This value should be {{ limit }} or less.</source> + <target>ÐÐ½Ñ ÑƒÑ‚Ð³Ð° {{ limit }} юмуу ÑÑвÑл бага байна.</target> + </trans-unit> + <trans-unit id="19"> + <source>This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less.</source> + <target>ÐÐ½Ñ ÑƒÑ‚Ð³Ð° Ñ…ÑÑ‚Ñрхий урт байна. {{ limit }} Ñ‚ÑмдÑгтийн урттай юмуу ÑÑвÑл бага байна.</target> + </trans-unit> + <trans-unit id="20"> + <source>This value should be {{ limit }} or more.</source> + <target>ÐÐ½Ñ ÑƒÑ‚Ð³Ð° {{ limit }} юмуу ÑÑвÑл их байна.</target> + </trans-unit> + <trans-unit id="21"> + <source>This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more.</source> + <target>ÐÐ½Ñ ÑƒÑ‚Ð³Ð° Ñ…ÑÑ‚Ñрхий богино байна. {{ limit }} Ñ‚ÑмдÑгт ÑÑвÑл их байна.</target> + </trans-unit> + <trans-unit id="22"> + <source>This value should not be blank.</source> + <target>ÐÐ½Ñ ÑƒÑ‚Ð³Ð° хооÑон байж болохгүй.</target> + </trans-unit> + <trans-unit id="23"> + <source>This value should not be null.</source> + <target>ÐÐ½Ñ ÑƒÑ‚Ð³Ð° null байж болохгүй.</target> + </trans-unit> + <trans-unit id="24"> + <source>This value should be null.</source> + <target>ÐÐ½Ñ ÑƒÑ‚Ð³Ð° null байна.</target> + </trans-unit> + <trans-unit id="25"> + <source>This value is not valid.</source> + <target>ÐÐ½Ñ ÑƒÑ‚Ð³Ð° буруу байна.</target> + </trans-unit> + <trans-unit id="26"> + <source>This value is not a valid time.</source> + <target>ÐÐ½Ñ ÑƒÑ‚Ð³Ð° буруу цаг төрөл байна.</target> + </trans-unit> + <trans-unit id="27"> + <source>This value is not a valid URL.</source> + <target>ÐÐ½Ñ ÑƒÑ‚Ð³Ð° буруу URL байна .</target> + </trans-unit> + <trans-unit id="31"> + <source>The two values should be equal.</source> + <target>Хоёр утгууд ижил байх Ñ‘Ñтой.</target> + </trans-unit> + <trans-unit id="32"> + <source>The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>Файл Ñ…ÑÑ‚Ñрхий том байна. Зөвшөөрөгдөх дÑÑд Ñ…ÑмжÑÑ Ð½ÑŒ {{ limit }} {{ suffix }} байна.</target> + </trans-unit> + <trans-unit id="33"> + <source>The file is too large.</source> + <target>Файл Ñ…ÑÑ‚Ñрхий том байна.</target> + </trans-unit> + <trans-unit id="34"> + <source>The file could not be uploaded.</source> + <target>Файл upload хийгдÑÑнгүй.</target> + </trans-unit> + <trans-unit id="35"> + <source>This value should be a valid number.</source> + <target>ÐÐ½Ñ ÑƒÑ‚Ð³Ð° зөвхөн тоо байна.</target> + </trans-unit> + <trans-unit id="36"> + <source>This value is not a valid country.</source> + <target>ÐÐ½Ñ ÑƒÑ‚Ð³Ð° үнÑн бодит ÑƒÐ»Ñ Ð±Ð¸Ñˆ байна.</target> + </trans-unit> + <trans-unit id="37"> + <source>This file is not a valid image.</source> + <target>Файл зураг биш байна.</target> + </trans-unit> + <trans-unit id="38"> + <source>This is not a valid IP address.</source> + <target>IP хаÑг зөв биш байна.</target> + </trans-unit> + <trans-unit id="39"> + <source>This value is not a valid language.</source> + <target>ÐÐ½Ñ ÑƒÑ‚Ð³Ð° үнÑн зөв Ñ…Ñл биш байна .</target> + </trans-unit> + </body> + </file> +</xliff> diff --git a/core/vendor/symfony/validator/Resources/translations/validators.nb.xlf b/core/vendor/symfony/validator/Resources/translations/validators.nb.xlf new file mode 100644 index 0000000000000000000000000000000000000000..a8b790c7d8640cf06be7aed7198ac1560c3951ce --- /dev/null +++ b/core/vendor/symfony/validator/Resources/translations/validators.nb.xlf @@ -0,0 +1,155 @@ +<?xml version="1.0"?> +<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2"> + <file source-language="en" datatype="plaintext" original="file.ext"> + <body> + <trans-unit id="1"> + <source>This value should be false.</source> + <target>Verdien skal være falsk.</target> + </trans-unit> + <trans-unit id="2"> + <source>This value should be true.</source> + <target>Verdien skal være sann.</target> + </trans-unit> + <trans-unit id="3"> + <source>This value should be of type {{ type }}.</source> + <target>Verdien skal være av typen {{ type }}.</target> + </trans-unit> + <trans-unit id="4"> + <source>This value should be blank.</source> + <target>Verdien skal være blank.</target> + </trans-unit> + <trans-unit id="5"> + <source>The value you selected is not a valid choice.</source> + <target>Verdien skal være en av de gitte valg.</target> + </trans-unit> + <trans-unit id="6"> + <source>You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices.</source> + <target>Du skal velge minst {{ limit }} valg.</target> + </trans-unit> + <trans-unit id="7"> + <source>You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices.</source> + <target>Du kan maks velge {{ limit }} valg.</target> + </trans-unit> + <trans-unit id="8"> + <source>One or more of the given values is invalid.</source> + <target>En eller flere av de oppgitte verdier er ugyldige.</target> + </trans-unit> + <trans-unit id="9"> + <source>This field was not expected.</source> + <target>Dette feltet ikke var forventet.</target> + </trans-unit> + <trans-unit id="10"> + <source>This field is missing.</source> + <target>Dette feltet mangler.</target> + </trans-unit> + <trans-unit id="11"> + <source>This value is not a valid date.</source> + <target>Verdien er ikke en gyldig dato.</target> + </trans-unit> + <trans-unit id="12"> + <source>This value is not a valid datetime.</source> + <target>Verdien er ikke en gyldig dato og tid.</target> + </trans-unit> + <trans-unit id="13"> + <source>This value is not a valid email address.</source> + <target>Verdien er ikke en gyldig e-mail adresse.</target> + </trans-unit> + <trans-unit id="14"> + <source>The file could not be found.</source> + <target>Filen kunne ikke finnes.</target> + </trans-unit> + <trans-unit id="15"> + <source>The file is not readable.</source> + <target>Filen kan ikke leses.</target> + </trans-unit> + <trans-unit id="16"> + <source>The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>Filen er for stor ({{ size }} {{ suffix }}). Tilatte maksimale størrelse {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="17"> + <source>The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}.</source> + <target>Mimetypen av filen er ugyldig ({{ type }}). Tilatte mimetyper er {{ types }}.</target> + </trans-unit> + <trans-unit id="18"> + <source>This value should be {{ limit }} or less.</source> + <target>Verdien skal være {{ limit }} eller mindre.</target> + </trans-unit> + <trans-unit id="19"> + <source>This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less.</source> + <target>Verdien er for lang. Den skal ha {{ limit }} bokstaver eller mindre.</target> + </trans-unit> + <trans-unit id="20"> + <source>This value should be {{ limit }} or more.</source> + <target>Verdien skal være {{ limit }} eller mer.</target> + </trans-unit> + <trans-unit id="21"> + <source>This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more.</source> + <target>Verdien er for kort. Den skal ha {{ limit }} tegn eller flere.</target> + </trans-unit> + <trans-unit id="22"> + <source>This value should not be blank.</source> + <target>Verdien mÃ¥ ikke være blank.</target> + </trans-unit> + <trans-unit id="23"> + <source>This value should not be null.</source> + <target>Verdien mÃ¥ ikke være tom (null).</target> + </trans-unit> + <trans-unit id="24"> + <source>This value should be null.</source> + <target>Verdien skal være tom (null).</target> + </trans-unit> + <trans-unit id="25"> + <source>This value is not valid.</source> + <target>Verdien er ikke gyldig.</target> + </trans-unit> + <trans-unit id="26"> + <source>This value is not a valid time.</source> + <target>Verdien er ikke en gyldig tid.</target> + </trans-unit> + <trans-unit id="27"> + <source>This value is not a valid URL.</source> + <target>Verdien er ikke en gyldig URL.</target> + </trans-unit> + <trans-unit id="31"> + <source>The two values should be equal.</source> + <target>De to verdier skal være ens.</target> + </trans-unit> + <trans-unit id="32"> + <source>The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>Filen er for stor. Den maksimale størrelse er {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="33"> + <source>The file is too large.</source> + <target>Filen er for stor.</target> + </trans-unit> + <trans-unit id="34"> + <source>The file could not be uploaded.</source> + <target>Filen kunne ikke lastes opp.</target> + </trans-unit> + <trans-unit id="35"> + <source>This value should be a valid number.</source> + <target>Denne verdi skal være et gyldig tall.</target> + </trans-unit> + <trans-unit id="36"> + <source>This file is not a valid image.</source> + <target>Denne filen er ikke et gyldig bilde.</target> + </trans-unit> + <trans-unit id="37"> + <source>This is not a valid IP address.</source> + <target>Dette er ikke en gyldig IP adresse.</target> + </trans-unit> + <trans-unit id="38"> + <source>This value is not a valid language.</source> + <target>Denne verdi er ikke et gyldig sprÃ¥k.</target> + </trans-unit> + <trans-unit id="39"> + <source>This value is not a valid locale.</source> + <target>Denne verdi er ikke en gyldig lokalitet.</target> + </trans-unit> + <trans-unit id="40"> + <source>This value is not a valid country.</source> + <target>Denne verdi er ikke et gyldig land.</target> + </trans-unit> + </body> + </file> +</xliff> diff --git a/core/vendor/symfony/validator/Resources/translations/validators.nl.xlf b/core/vendor/symfony/validator/Resources/translations/validators.nl.xlf new file mode 100644 index 0000000000000000000000000000000000000000..fe3346973e8b41ece05d6b37f9bf48811c124bd6 --- /dev/null +++ b/core/vendor/symfony/validator/Resources/translations/validators.nl.xlf @@ -0,0 +1,311 @@ +<?xml version="1.0"?> +<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2"> + <file source-language="en" datatype="plaintext" original="file.ext"> + <body> + <trans-unit id="1"> + <source>This value should be false.</source> + <target>Deze waarde mag niet waar zijn.</target> + </trans-unit> + <trans-unit id="2"> + <source>This value should be true.</source> + <target>Deze waarde moet waar zijn.</target> + </trans-unit> + <trans-unit id="3"> + <source>This value should be of type {{ type }}.</source> + <target>Deze waarde moet van het type {{ type }} zijn.</target> + </trans-unit> + <trans-unit id="4"> + <source>This value should be blank.</source> + <target>Deze waarde moet leeg zijn.</target> + </trans-unit> + <trans-unit id="5"> + <source>The value you selected is not a valid choice.</source> + <target>De geselecteerde waarde is geen geldige optie.</target> + </trans-unit> + <trans-unit id="6"> + <source>You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices.</source> + <target>Selecteer ten minste {{ limit }} optie.|Selecteer ten minste {{ limit }} opties.</target> + </trans-unit> + <trans-unit id="7"> + <source>You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices.</source> + <target>Selecteer maximaal {{ limit }} optie.|Selecteer maximaal {{ limit }} opties.</target> + </trans-unit> + <trans-unit id="8"> + <source>One or more of the given values is invalid.</source> + <target>Eén of meer van de ingegeven waarden zijn ongeldig.</target> + </trans-unit> + <trans-unit id="9"> + <source>This field was not expected.</source> + <target>Dit veld was niet verwacht.</target> + </trans-unit> + <trans-unit id="10"> + <source>This field is missing.</source> + <target>Dit veld ontbreekt.</target> + </trans-unit> + <trans-unit id="11"> + <source>This value is not a valid date.</source> + <target>Deze waarde is geen geldige datum.</target> + </trans-unit> + <trans-unit id="12"> + <source>This value is not a valid datetime.</source> + <target>Deze waarde is geen geldige datum en tijd.</target> + </trans-unit> + <trans-unit id="13"> + <source>This value is not a valid email address.</source> + <target>Deze waarde is geen geldig e-mailadres.</target> + </trans-unit> + <trans-unit id="14"> + <source>The file could not be found.</source> + <target>Het bestand is niet gevonden.</target> + </trans-unit> + <trans-unit id="15"> + <source>The file is not readable.</source> + <target>Het bestand is niet leesbaar.</target> + </trans-unit> + <trans-unit id="16"> + <source>The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>Het bestand is te groot ({{ size }} {{ suffix }}). Toegestane maximum grootte is {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="17"> + <source>The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}.</source> + <target>Het mime type van het bestand is ongeldig ({{ type }}). Toegestane mime types zijn {{ types }}.</target> + </trans-unit> + <trans-unit id="18"> + <source>This value should be {{ limit }} or less.</source> + <target>Deze waarde moet {{ limit }} of minder zijn.</target> + </trans-unit> + <trans-unit id="19"> + <source>This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less.</source> + <target>Deze waarde is te lang. Hij mag maximaal {{ limit }} teken bevatten.|Deze waarde is te lang. Hij mag maximaal {{ limit }} tekens bevatten.</target> + </trans-unit> + <trans-unit id="20"> + <source>This value should be {{ limit }} or more.</source> + <target>Deze waarde moet {{ limit }} of meer zijn.</target> + </trans-unit> + <trans-unit id="21"> + <source>This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more.</source> + <target>Deze waarde is te kort. Hij moet tenminste {{ limit }} teken bevatten.|Deze waarde is te kort. Hij moet tenminste {{ limit }} tekens bevatten.</target> + </trans-unit> + <trans-unit id="22"> + <source>This value should not be blank.</source> + <target>Deze waarde mag niet leeg zijn.</target> + </trans-unit> + <trans-unit id="23"> + <source>This value should not be null.</source> + <target>Deze waarde mag niet null zijn.</target> + </trans-unit> + <trans-unit id="24"> + <source>This value should be null.</source> + <target>Deze waarde moet null zijn.</target> + </trans-unit> + <trans-unit id="25"> + <source>This value is not valid.</source> + <target>Deze waarde is ongeldig.</target> + </trans-unit> + <trans-unit id="26"> + <source>This value is not a valid time.</source> + <target>Deze waarde is geen geldige tijd.</target> + </trans-unit> + <trans-unit id="27"> + <source>This value is not a valid URL.</source> + <target>Deze waarde is geen geldige URL.</target> + </trans-unit> + <trans-unit id="31"> + <source>The two values should be equal.</source> + <target>De twee waarden moeten gelijk zijn.</target> + </trans-unit> + <trans-unit id="32"> + <source>The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>Het bestand is te groot. Toegestane maximum grootte is {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="33"> + <source>The file is too large.</source> + <target>Het bestand is te groot.</target> + </trans-unit> + <trans-unit id="34"> + <source>The file could not be uploaded.</source> + <target>Het bestand kon niet geüpload worden.</target> + </trans-unit> + <trans-unit id="35"> + <source>This value should be a valid number.</source> + <target>Deze waarde moet een geldig getal zijn.</target> + </trans-unit> + <trans-unit id="36"> + <source>This file is not a valid image.</source> + <target>Dit bestand is geen geldige afbeelding.</target> + </trans-unit> + <trans-unit id="37"> + <source>This is not a valid IP address.</source> + <target>Dit is geen geldig IP-adres.</target> + </trans-unit> + <trans-unit id="38"> + <source>This value is not a valid language.</source> + <target>Deze waarde representeert geen geldige taal.</target> + </trans-unit> + <trans-unit id="39"> + <source>This value is not a valid locale.</source> + <target>Deze waarde representeert geen geldige lokalisering.</target> + </trans-unit> + <trans-unit id="40"> + <source>This value is not a valid country.</source> + <target>Deze waarde representeert geen geldig land.</target> + </trans-unit> + <trans-unit id="41"> + <source>This value is already used.</source> + <target>Deze waarde wordt al gebruikt.</target> + </trans-unit> + <trans-unit id="42"> + <source>The size of the image could not be detected.</source> + <target>De grootte van de afbeelding kon niet bepaald worden.</target> + </trans-unit> + <trans-unit id="43"> + <source>The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px.</source> + <target>De afbeelding is te breed ({{ width }}px). De maximaal toegestane breedte is {{ max_width }}px.</target> + </trans-unit> + <trans-unit id="44"> + <source>The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px.</source> + <target>De afbeelding is niet breed genoeg ({{ width }}px). De minimaal verwachte breedte is {{ min_width }}px.</target> + </trans-unit> + <trans-unit id="45"> + <source>The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px.</source> + <target>De afbeelding is te hoog ({{ height }}px). De maximaal toegestane hoogte is {{ max_height }}px.</target> + </trans-unit> + <trans-unit id="46"> + <source>The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px.</source> + <target>De afbeelding is niet hoog genoeg ({{ height }}px). De minimaal verwachte hoogte is {{ min_height }}px.</target> + </trans-unit> + <trans-unit id="47"> + <source>This value should be the user's current password.</source> + <target>Deze waarde moet het huidige wachtwoord van de gebruiker zijn.</target> + </trans-unit> + <trans-unit id="48"> + <source>This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters.</source> + <target>Deze waarde moet exact {{ limit }} teken lang zijn.|Deze waarde moet exact {{ limit }} tekens lang zijn.</target> + </trans-unit> + <trans-unit id="49"> + <source>The file was only partially uploaded.</source> + <target>Het bestand is niet geheel geüpload.</target> + </trans-unit> + <trans-unit id="50"> + <source>No file was uploaded.</source> + <target>Er is geen bestand geüpload.</target> + </trans-unit> + <trans-unit id="51"> + <source>No temporary folder was configured in php.ini.</source> + <target>Er is geen tijdelijke map geconfigureerd in php.ini.</target> + </trans-unit> + <trans-unit id="52"> + <source>Cannot write temporary file to disk.</source> + <target>Kan het tijdelijke bestand niet wegschrijven op disk.</target> + </trans-unit> + <trans-unit id="53"> + <source>A PHP extension caused the upload to fail.</source> + <target>De upload is mislukt vanwege een PHP-extensie.</target> + </trans-unit> + <trans-unit id="54"> + <source>This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more.</source> + <target>Deze collectie moet {{ limit }} element of meer bevatten.|Deze collectie moet {{ limit }} elementen of meer bevatten.</target> + </trans-unit> + <trans-unit id="55"> + <source>This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less.</source> + <target>Deze collectie moet {{ limit }} element of minder bevatten.|Deze collectie moet {{ limit }} elementen of minder bevatten.</target> + </trans-unit> + <trans-unit id="56"> + <source>This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements.</source> + <target>Deze collectie moet exact {{ limit }} element bevatten.|Deze collectie moet exact {{ limit }} elementen bevatten.</target> + </trans-unit> + <trans-unit id="57"> + <source>Invalid card number.</source> + <target>Ongeldig creditcardnummer.</target> + </trans-unit> + <trans-unit id="58"> + <source>Unsupported card type or invalid card number.</source> + <target>Niet-ondersteund type creditcard of ongeldig nummer.</target> + </trans-unit> + <trans-unit id="59"> + <source>This is not a valid International Bank Account Number (IBAN).</source> + <target>Dit is geen geldig internationaal bankrekeningnummer (IBAN).</target> + </trans-unit> + <trans-unit id="60"> + <source>This value is not a valid ISBN-10.</source> + <target>Deze waarde is geen geldige ISBN-10.</target> + </trans-unit> + <trans-unit id="61"> + <source>This value is not a valid ISBN-13.</source> + <target>Deze waarde is geen geldige ISBN-13.</target> + </trans-unit> + <trans-unit id="62"> + <source>This value is neither a valid ISBN-10 nor a valid ISBN-13.</source> + <target>Deze waarde is geen geldige ISBN-10 of ISBN-13 waarde.</target> + </trans-unit> + <trans-unit id="63"> + <source>This value is not a valid ISSN.</source> + <target>Deze waarde is geen geldige ISSN waarde.</target> + </trans-unit> + <trans-unit id="64"> + <source>This value is not a valid currency.</source> + <target>Deze waarde is geen geldige valuta.</target> + </trans-unit> + <trans-unit id="65"> + <source>This value should be equal to {{ compared_value }}.</source> + <target>Deze waarde moet gelijk zijn aan {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="66"> + <source>This value should be greater than {{ compared_value }}.</source> + <target>Deze waarde moet groter zijn dan {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="67"> + <source>This value should be greater than or equal to {{ compared_value }}.</source> + <target>Deze waarde moet groter dan of gelijk aan {{ compared_value }} zijn.</target> + </trans-unit> + <trans-unit id="68"> + <source>This value should be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>Deze waarde moet identiek zijn aan {{ compared_value_type }} {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="69"> + <source>This value should be less than {{ compared_value }}.</source> + <target>Deze waarde moet minder zijn dan {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="70"> + <source>This value should be less than or equal to {{ compared_value }}.</source> + <target>Deze waarde moet minder dan of gelijk aan {{ compared_value }} zijn.</target> + </trans-unit> + <trans-unit id="71"> + <source>This value should not be equal to {{ compared_value }}.</source> + <target>Deze waarde mag niet gelijk zijn aan {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="72"> + <source>This value should not be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>Deze waarde mag niet identiek zijn aan {{ compared_value_type }} {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="73"> + <source>The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}.</source> + <target>De afbeeldingsverhouding is te groot ({{ ratio }}). Maximale verhouding is {{ max_ratio }}.</target> + </trans-unit> + <trans-unit id="74"> + <source>The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}.</source> + <target>De afbeeldingsverhouding is te klein ({{ ratio }}). Minimale verhouding is {{ min_ratio }}.</target> + </trans-unit> + <trans-unit id="75"> + <source>The image is square ({{ width }}x{{ height }}px). Square images are not allowed.</source> + <target>De afbeelding is vierkant ({{ width }}x{{ height }}px). Vierkante afbeeldingen zijn niet toegestaan.</target> + </trans-unit> + <trans-unit id="76"> + <source>The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed.</source> + <target>De afbeelding is liggend ({{ width }}x{{ height }}px). Liggende afbeeldingen zijn niet toegestaan.</target> + </trans-unit> + <trans-unit id="77"> + <source>The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed.</source> + <target>De afbeelding is staand ({{ width }}x{{ height }}px). Staande afbeeldingen zijn niet toegestaan.</target> + </trans-unit> + <trans-unit id="78"> + <source>An empty file is not allowed.</source> + <target>Lege bestanden zijn niet toegestaan.</target> + </trans-unit> + <trans-unit id="80"> + <source>This value does not match the expected {{ charset }} charset.</source> + <target>Deze waarde is niet in de verwachte tekencodering {{ charset }}.</target> + </trans-unit> + </body> + </file> +</xliff> diff --git a/core/vendor/symfony/validator/Resources/translations/validators.no.xlf b/core/vendor/symfony/validator/Resources/translations/validators.no.xlf new file mode 100644 index 0000000000000000000000000000000000000000..ea01c63ee4aa40dfa381f3bb27fb909de8202a2a --- /dev/null +++ b/core/vendor/symfony/validator/Resources/translations/validators.no.xlf @@ -0,0 +1,227 @@ +<?xml version="1.0"?> +<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2"> + <file source-language="en" datatype="plaintext" original="file.ext"> + <body> + <trans-unit id="1"> + <source>This value should be false.</source> + <target>Verdien skulle ha vore tom/nei.</target> + </trans-unit> + <trans-unit id="2"> + <source>This value should be true.</source> + <target>Verdien skulla ha vore satt/ja.</target> + </trans-unit> + <trans-unit id="3"> + <source>This value should be of type {{ type }}.</source> + <target>Verdien mÃ¥ vere av typen {{ type }}.</target> + </trans-unit> + <trans-unit id="4"> + <source>This value should be blank.</source> + <target>Verdien skal vere blank.</target> + </trans-unit> + <trans-unit id="5"> + <source>The value you selected is not a valid choice.</source> + <target>Verdien du valgte er ikkje gyldig.</target> + </trans-unit> + <trans-unit id="6"> + <source>You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices.</source> + <target>Du mÃ¥ velge minst {{ limit }} valg.</target> + </trans-unit> + <trans-unit id="7"> + <source>You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices.</source> + <target>Du kan maksimalt gjere {{ limit }} valg.</target> + </trans-unit> + <trans-unit id="8"> + <source>One or more of the given values is invalid.</source> + <target>Ein eller fleire av dei opplyste verdiane er ugyldige.</target> + </trans-unit> + <trans-unit id="9"> + <source>This field was not expected.</source> + <target>Dette feltet var ikke forventet.</target> + </trans-unit> + <trans-unit id="10"> + <source>This field is missing.</source> + <target>Dette feltet mangler.</target> + </trans-unit> + <trans-unit id="11"> + <source>This value is not a valid date.</source> + <target>Verdien er ikkje ein gyldig dato.</target> + </trans-unit> + <trans-unit id="12"> + <source>This value is not a valid datetime.</source> + <target>Verdien er ikkje ein gyldig dato og tid.</target> + </trans-unit> + <trans-unit id="13"> + <source>This value is not a valid email address.</source> + <target>Verdien er ikkje ei gyldig e-postadresse.</target> + </trans-unit> + <trans-unit id="14"> + <source>The file could not be found.</source> + <target>Fila kunne ikkje finnes.</target> + </trans-unit> + <trans-unit id="15"> + <source>The file is not readable.</source> + <target>Fila kan ikkje lesast.</target> + </trans-unit> + <trans-unit id="16"> + <source>The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>Fila er for stor ({{ size }} {{ suffix }}). Tillatt maksimal størrelse er {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="17"> + <source>The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}.</source> + <target>Mime-typen av fila er ugyldig ({{ type }}). Tillatte mime-typar er {{ types }}.</target> + </trans-unit> + <trans-unit id="18"> + <source>This value should be {{ limit }} or less.</source> + <target>Verdien mÃ¥ vere {{ limit }} eller mindre.</target> + </trans-unit> + <trans-unit id="19"> + <source>This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less.</source> + <target>Verdien er for lang. Den mÃ¥ vere {{ limit }} bokstavar eller mindre.</target> + </trans-unit> + <trans-unit id="20"> + <source>This value should be {{ limit }} or more.</source> + <target>Verdien mÃ¥ vere {{ limit }} eller meir.</target> + </trans-unit> + <trans-unit id="21"> + <source>This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more.</source> + <target>Verdien er for kort. Den mÃ¥ ha {{ limit }} teikn eller fleire.</target> + </trans-unit> + <trans-unit id="22"> + <source>This value should not be blank.</source> + <target>Verdien mÃ¥ ikkje vere blank.</target> + </trans-unit> + <trans-unit id="23"> + <source>This value should not be null.</source> + <target>Verdien mÃ¥ ikkje vere tom (null).</target> + </trans-unit> + <trans-unit id="24"> + <source>This value should be null.</source> + <target>Verdien mÃ¥ vere tom (null).</target> + </trans-unit> + <trans-unit id="25"> + <source>This value is not valid.</source> + <target>Verdien er ikkje gyldig.</target> + </trans-unit> + <trans-unit id="26"> + <source>This value is not a valid time.</source> + <target>Verdien er ikkje gyldig tidseining.</target> + </trans-unit> + <trans-unit id="27"> + <source>This value is not a valid URL.</source> + <target>Verdien er ikkje ein gyldig URL.</target> + </trans-unit> + <trans-unit id="31"> + <source>The two values should be equal.</source> + <target>Dei to verdiane mÃ¥ vere like.</target> + </trans-unit> + <trans-unit id="32"> + <source>The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>Fila er for stor. Den maksimale storleik er {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="33"> + <source>The file is too large.</source> + <target>Fila er for stor.</target> + </trans-unit> + <trans-unit id="34"> + <source>The file could not be uploaded.</source> + <target>Fila kunne ikkje bli lasta opp.</target> + </trans-unit> + <trans-unit id="35"> + <source>This value should be a valid number.</source> + <target>Verdien mÃ¥ vere eit gyldig tal.</target> + </trans-unit> + <trans-unit id="36"> + <source>This file is not a valid image.</source> + <target>Fila er ikkje eit gyldig bilete.</target> + </trans-unit> + <trans-unit id="37"> + <source>This is not a valid IP address.</source> + <target>Dette er ikkje ei gyldig IP-adresse.</target> + </trans-unit> + <trans-unit id="38"> + <source>This value is not a valid language.</source> + <target>Verdien er ikkje eit gyldig sprÃ¥k.</target> + </trans-unit> + <trans-unit id="39"> + <source>This value is not a valid locale.</source> + <target>Verdien er ikkje ein gyldig lokalitet (sprÃ¥k/region).</target> + </trans-unit> + <trans-unit id="40"> + <source>This value is not a valid country.</source> + <target>Verdien er ikkje eit gyldig land.</target> + </trans-unit> + <trans-unit id="41"> + <source>This value is already used.</source> + <target>Verdien er allereie i bruk.</target> + </trans-unit> + <trans-unit id="42"> + <source>The size of the image could not be detected.</source> + <target>Storleiken pÃ¥ biletet kunne ikkje oppdagast.</target> + </trans-unit> + <trans-unit id="43"> + <source>The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px.</source> + <target>Biletbreidda er for stor, ({{ width }} pikslar). Tillatt maksimumsbreidde er {{ max_width }} pikslar.</target> + </trans-unit> + <trans-unit id="44"> + <source>The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px.</source> + <target>Biletbreidda er for liten, ({{ width }} pikslar). Forventa minimumsbreidde er {{ min_width }} pikslar.</target> + </trans-unit> + <trans-unit id="45"> + <source>The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px.</source> + <target>Bilethøgda er for stor, ({{ height }} pikslar). Tillatt maksimumshøgde er {{ max_height }} pikslar.</target> + </trans-unit> + <trans-unit id="46"> + <source>The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px.</source> + <target>Billethøgda er for lÃ¥g, ({{ height }} pikslar). Forventa minimumshøgde er {{ min_height }} pikslar.</target> + </trans-unit> + <trans-unit id="47"> + <source>This value should be the user's current password.</source> + <target>Verdien mÃ¥ vere brukaren sitt noverande passord.</target> + </trans-unit> + <trans-unit id="48"> + <source>This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters.</source> + <target>Verdien mÃ¥ vere nøyaktig {{ limit }} teikn.</target> + </trans-unit> + <trans-unit id="49"> + <source>The file was only partially uploaded.</source> + <target>Fila vart kun delvis opplasta.</target> + </trans-unit> + <trans-unit id="50"> + <source>No file was uploaded.</source> + <target>Inga fil vart lasta opp.</target> + </trans-unit> + <trans-unit id="51"> + <source>No temporary folder was configured in php.ini.</source> + <target>Førebels mappe (tmp) er ikkje konfigurert i php.ini.</target> + </trans-unit> + <trans-unit id="52"> + <source>Cannot write temporary file to disk.</source> + <target>Kan ikkje skrive førebels fil til disk.</target> + </trans-unit> + <trans-unit id="53"> + <source>A PHP extension caused the upload to fail.</source> + <target>Ei PHP-udviding forÃ¥rsaka feil under opplasting.</target> + </trans-unit> + <trans-unit id="54"> + <source>This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more.</source> + <target>Denne samlinga mÃ¥ innehalde {{ limit }} element eller meir.|Denne samlinga mÃ¥ innehalde {{ limit }} element eller meir.</target> + </trans-unit> + <trans-unit id="55"> + <source>This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less.</source> + <target>Denne samlinga mÃ¥ innehalde {{ limit }} element eller færre.|Denne samlinga mÃ¥ innehalde {{ limit }} element eller færre.</target> + </trans-unit> + <trans-unit id="56"> + <source>This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements.</source> + <target>Denne samlinga mÃ¥ innehalde nøyaktig {{ limit }} element.|Denne samlinga mÃ¥ innehalde nøyaktig {{ limit }} element.</target> + </trans-unit> + <trans-unit id="57"> + <source>Invalid card number.</source> + <target>Ugyldig kortnummer.</target> + </trans-unit> + <trans-unit id="58"> + <source>Unsupported card type or invalid card number.</source> + <target>Korttypen er ikkje støtta eller ugyldig kortnummer.</target> + </trans-unit> + </body> + </file> +</xliff> diff --git a/core/vendor/symfony/validator/Resources/translations/validators.pl.xlf b/core/vendor/symfony/validator/Resources/translations/validators.pl.xlf new file mode 100644 index 0000000000000000000000000000000000000000..1d6875fb78f48a236d7e3ceb5b8413709f9627d4 --- /dev/null +++ b/core/vendor/symfony/validator/Resources/translations/validators.pl.xlf @@ -0,0 +1,315 @@ +<?xml version="1.0"?> +<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2"> + <file source-language="en" datatype="plaintext" original="file.ext"> + <body> + <trans-unit id="1"> + <source>This value should be false.</source> + <target>Ta wartość powinna być faÅ‚szem.</target> + </trans-unit> + <trans-unit id="2"> + <source>This value should be true.</source> + <target>Ta wartość powinna być prawdÄ….</target> + </trans-unit> + <trans-unit id="3"> + <source>This value should be of type {{ type }}.</source> + <target>Ta wartość powinna być typu {{ type }}.</target> + </trans-unit> + <trans-unit id="4"> + <source>This value should be blank.</source> + <target>Ta wartość powinna być pusta.</target> + </trans-unit> + <trans-unit id="5"> + <source>The value you selected is not a valid choice.</source> + <target>Ta wartość powinna być jednÄ… z podanych opcji.</target> + </trans-unit> + <trans-unit id="6"> + <source>You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices.</source> + <target>PowinieneÅ› wybrać co najmniej {{ limit }} opcjÄ™.|PowinieneÅ› wybrać co najmniej {{ limit }} opcje.|PowinieneÅ› wybrać co najmniej {{ limit }} opcji.</target> + </trans-unit> + <trans-unit id="7"> + <source>You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices.</source> + <target>PowinieneÅ› wybrać maksymalnie {{ limit }} opcjÄ™.|PowinieneÅ› wybrać maksymalnie {{ limit }} opcje.|PowinieneÅ› wybrać maksymalnie {{ limit }} opcji.</target> + </trans-unit> + <trans-unit id="8"> + <source>One or more of the given values is invalid.</source> + <target>Jedna lub wiÄ™cej z podanych wartoÅ›ci jest nieprawidÅ‚owa.</target> + </trans-unit> + <trans-unit id="9"> + <source>This field was not expected.</source> + <target>To pole nie spodziewano.</target> + </trans-unit> + <trans-unit id="10"> + <source>This field is missing.</source> + <target>To pole jest chybianie.</target> + </trans-unit> + <trans-unit id="11"> + <source>This value is not a valid date.</source> + <target>Ta wartość nie jest prawidÅ‚owÄ… datÄ….</target> + </trans-unit> + <trans-unit id="12"> + <source>This value is not a valid datetime.</source> + <target>Ta wartość nie jest prawidÅ‚owÄ… datÄ… i czasem.</target> + </trans-unit> + <trans-unit id="13"> + <source>This value is not a valid email address.</source> + <target>Ta wartość nie jest prawidÅ‚owym adresem email.</target> + </trans-unit> + <trans-unit id="14"> + <source>The file could not be found.</source> + <target>Plik nie mógÅ‚ zostać odnaleziony.</target> + </trans-unit> + <trans-unit id="15"> + <source>The file is not readable.</source> + <target>Nie można odczytać pliku.</target> + </trans-unit> + <trans-unit id="16"> + <source>The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>Plik jest za duży ({{ size }} {{ suffix }}). Maksymalny dozwolony rozmiar to {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="17"> + <source>The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}.</source> + <target>NieprawidÅ‚owy typ mime pliku ({{ type }}). Dozwolone typy mime to {{ types }}.</target> + </trans-unit> + <trans-unit id="18"> + <source>This value should be {{ limit }} or less.</source> + <target>Ta wartość powinna wynosić {{ limit }} lub mniej.</target> + </trans-unit> + <trans-unit id="19"> + <source>This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less.</source> + <target>Ta wartość jest zbyt dÅ‚uga. Powinna mieć {{ limit }} lub mniej znaków.|Ta wartość jest zbyt dÅ‚uga. Powinna mieć {{ limit }} lub mniej znaków.|Ta wartość jest zbyt dÅ‚uga. Powinna mieć {{ limit }} lub mniej znaków.</target> + </trans-unit> + <trans-unit id="20"> + <source>This value should be {{ limit }} or more.</source> + <target>Ta wartość powinna wynosić {{ limit }} lub wiÄ™cej.</target> + </trans-unit> + <trans-unit id="21"> + <source>This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more.</source> + <target>Ta wartość jest zbyt krótka. Powinna mieć {{ limit }} lub wiÄ™cej znaków.|Ta wartość jest zbyt krótka. Powinna mieć {{ limit }} lub wiÄ™cej znaków.|Ta wartość jest zbyt krótka. Powinna mieć {{ limit }} lub wiÄ™cej znaków.</target> + </trans-unit> + <trans-unit id="22"> + <source>This value should not be blank.</source> + <target>Ta wartość nie powinna być pusta.</target> + </trans-unit> + <trans-unit id="23"> + <source>This value should not be null.</source> + <target>Ta wartość nie powinna być nullem.</target> + </trans-unit> + <trans-unit id="24"> + <source>This value should be null.</source> + <target>Ta wartość powinna być nullem.</target> + </trans-unit> + <trans-unit id="25"> + <source>This value is not valid.</source> + <target>Ta wartość jest nieprawidÅ‚owa.</target> + </trans-unit> + <trans-unit id="26"> + <source>This value is not a valid time.</source> + <target>Ta wartość nie jest prawidÅ‚owym czasem.</target> + </trans-unit> + <trans-unit id="27"> + <source>This value is not a valid URL.</source> + <target>Ta wartość nie jest prawidÅ‚owym adresem URL.</target> + </trans-unit> + <trans-unit id="31"> + <source>The two values should be equal.</source> + <target>Obie wartoÅ›ci powinny być równe.</target> + </trans-unit> + <trans-unit id="32"> + <source>The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>Plik jest za duży. Maksymalny dozwolony rozmiar to {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="33"> + <source>The file is too large.</source> + <target>Plik jest za duży.</target> + </trans-unit> + <trans-unit id="34"> + <source>The file could not be uploaded.</source> + <target>Plik nie mógÅ‚ być wgrany.</target> + </trans-unit> + <trans-unit id="35"> + <source>This value should be a valid number.</source> + <target>Ta wartość powinna być prawidÅ‚owÄ… liczbÄ….</target> + </trans-unit> + <trans-unit id="36"> + <source>This file is not a valid image.</source> + <target>Ten plik nie jest obrazem.</target> + </trans-unit> + <trans-unit id="37"> + <source>This is not a valid IP address.</source> + <target>To nie jest prawidÅ‚owy adres IP.</target> + </trans-unit> + <trans-unit id="38"> + <source>This value is not a valid language.</source> + <target>Ta wartość nie jest prawidÅ‚owym jÄ™zykiem.</target> + </trans-unit> + <trans-unit id="39"> + <source>This value is not a valid locale.</source> + <target>Ta wartość nie jest prawidÅ‚owÄ… lokalizacjÄ….</target> + </trans-unit> + <trans-unit id="40"> + <source>This value is not a valid country.</source> + <target>Ta wartość nie jest prawidÅ‚owÄ… nazwÄ… kraju.</target> + </trans-unit> + <trans-unit id="41"> + <source>This value is already used.</source> + <target>Ta wartość jest już wykorzystywana.</target> + </trans-unit> + <trans-unit id="42"> + <source>The size of the image could not be detected.</source> + <target>Nie można wykryć rozmiaru obrazka.</target> + </trans-unit> + <trans-unit id="43"> + <source>The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px.</source> + <target>Szerokość obrazka jest zbyt duża ({{ width }}px). Maksymalna dopuszczalna szerokość to {{ max_width }}px.</target> + </trans-unit> + <trans-unit id="44"> + <source>The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px.</source> + <target>Szerokość obrazka jest zbyt maÅ‚a ({{ width }}px). Oczekiwana minimalna szerokość to {{ min_width }}px.</target> + </trans-unit> + <trans-unit id="45"> + <source>The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px.</source> + <target>Wysokość obrazka jest zbyt duża ({{ height }}px). Maksymalna dopuszczalna wysokość to {{ max_height }}px.</target> + </trans-unit> + <trans-unit id="46"> + <source>The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px.</source> + <target>Wysokość obrazka jest zbyt maÅ‚a ({{ height }}px). Oczekiwana minimalna wysokość to {{ min_height }}px.</target> + </trans-unit> + <trans-unit id="47"> + <source>This value should be the user's current password.</source> + <target>Ta wartość powinna być aktualnym hasÅ‚em użytkownika.</target> + </trans-unit> + <trans-unit id="48"> + <source>This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters.</source> + <target>Ta wartość powinna mieć dokÅ‚adnie {{ limit }} znak.|Ta wartość powinna mieć dokÅ‚adnie {{ limit }} znaki.|Ta wartość powinna mieć dokÅ‚adnie {{ limit }} znaków.</target> + </trans-unit> + <trans-unit id="49"> + <source>The file was only partially uploaded.</source> + <target>Plik zostaÅ‚ wgrany tylko częściowo.</target> + </trans-unit> + <trans-unit id="50"> + <source>No file was uploaded.</source> + <target>Å»aden plik nie zostaÅ‚ wgrany.</target> + </trans-unit> + <trans-unit id="51"> + <source>No temporary folder was configured in php.ini.</source> + <target>Nie skonfigurowano folderu tymczasowego w php.ini.</target> + </trans-unit> + <trans-unit id="52"> + <source>Cannot write temporary file to disk.</source> + <target>Nie można zapisać pliku tymczasowego na dysku.</target> + </trans-unit> + <trans-unit id="53"> + <source>A PHP extension caused the upload to fail.</source> + <target>Rozszerzenie PHP spowodowaÅ‚o bÅ‚Ä…d podczas wgrywania.</target> + </trans-unit> + <trans-unit id="54"> + <source>This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more.</source> + <target>Ten zbiór powinien zawierać {{ limit }} lub wiÄ™cej elementów.</target> + </trans-unit> + <trans-unit id="55"> + <source>This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less.</source> + <target>Ten zbiór powinien zawierać {{ limit }} lub mniej elementów.</target> + </trans-unit> + <trans-unit id="56"> + <source>This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements.</source> + <target>Ten zbiór powinien zawierać dokÅ‚adnie {{ limit }} element.|Ten zbiór powinien zawierać dokÅ‚adnie {{ limit }} elementy.|Ten zbiór powinien zawierać dokÅ‚adnie {{ limit }} elementów.</target> + </trans-unit> + <trans-unit id="57"> + <source>Invalid card number.</source> + <target>NieprawidÅ‚owy numer karty.</target> + </trans-unit> + <trans-unit id="58"> + <source>Unsupported card type or invalid card number.</source> + <target>NieobsÅ‚ugiwany rodzaj karty lub nieprawidÅ‚owy numer karty.</target> + </trans-unit> + <trans-unit id="59"> + <source>This is not a valid International Bank Account Number (IBAN).</source> + <target>NieprawidÅ‚owy miÄ™dzynarodowy numer rachunku bankowego (IBAN).</target> + </trans-unit> + <trans-unit id="60"> + <source>This value is not a valid ISBN-10.</source> + <target>Ta wartość nie jest prawidÅ‚owym numerem ISBN-10.</target> + </trans-unit> + <trans-unit id="61"> + <source>This value is not a valid ISBN-13.</source> + <target>Ta wartość nie jest prawidÅ‚owym numerem ISBN-13.</target> + </trans-unit> + <trans-unit id="62"> + <source>This value is neither a valid ISBN-10 nor a valid ISBN-13.</source> + <target>Ta wartość nie jest prawidÅ‚owym numerem ISBN-10 ani ISBN-13.</target> + </trans-unit> + <trans-unit id="63"> + <source>This value is not a valid ISSN.</source> + <target>Ta wartość nie jest prawidÅ‚owym numerem ISSN.</target> + </trans-unit> + <trans-unit id="64"> + <source>This value is not a valid currency.</source> + <target>Ta wartość nie jest prawidÅ‚owÄ… walutÄ….</target> + </trans-unit> + <trans-unit id="65"> + <source>This value should be equal to {{ compared_value }}.</source> + <target>Ta wartość powinna być równa {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="66"> + <source>This value should be greater than {{ compared_value }}.</source> + <target>Ta wartość powinna być wiÄ™ksza niż {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="67"> + <source>This value should be greater than or equal to {{ compared_value }}.</source> + <target>Ta wartość powinna być wiÄ™ksza bÄ…dź równa {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="68"> + <source>This value should be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>Ta wartość powinna być identycznego typu {{ compared_value_type }} oraz wartoÅ›ci {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="69"> + <source>This value should be less than {{ compared_value }}.</source> + <target>Ta wartość powinna być mniejsza niż {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="70"> + <source>This value should be less than or equal to {{ compared_value }}.</source> + <target>Ta wartość powinna być mniejsza bÄ…dź równa {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="71"> + <source>This value should not be equal to {{ compared_value }}.</source> + <target>Ta wartość nie powinna być równa {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="72"> + <source>This value should not be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>Ta wartość nie powinna być identycznego typu {{ compared_value_type }} oraz wartoÅ›ci {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="73"> + <source>The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}.</source> + <target>Proporcje obrazu sÄ… zbyt duże ({{ ratio }}). Maksymalne proporcje to {{ max_ratio }}.</target> + </trans-unit> + <trans-unit id="74"> + <source>The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}.</source> + <target>Proporcje obrazu sÄ… zbyt maÅ‚e ({{ ratio }}). Minimalne proporcje to {{ min_ratio }}.</target> + </trans-unit> + <trans-unit id="75"> + <source>The image is square ({{ width }}x{{ height }}px). Square images are not allowed.</source> + <target>Obraz jest kwadratem ({{ width }}x{{ height }}px). Kwadratowe obrazy nie sÄ… akceptowane.</target> + </trans-unit> + <trans-unit id="76"> + <source>The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed.</source> + <target>Obraz jest panoramiczny ({{ width }}x{{ height }}px). Panoramiczne zdjÄ™cia nie sÄ… akceptowane.</target> + </trans-unit> + <trans-unit id="77"> + <source>The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed.</source> + <target>Obraz jest portretowy ({{ width }}x{{ height }}px). Portretowe zdjÄ™cia nie sÄ… akceptowane.</target> + </trans-unit> + <trans-unit id="78"> + <source>An empty file is not allowed.</source> + <target>Plik nie może być pusty.</target> + </trans-unit> + <trans-unit id="79"> + <source>The host could not be resolved.</source> + <target>Nazwa hosta nie zostaÅ‚a rozpoznana.</target> + </trans-unit> + <trans-unit id="80"> + <source>This value does not match the expected {{ charset }} charset.</source> + <target>Ta wartość nie pasuje do oczekiwanego zestawu znaków {{ charset }}.</target> + </trans-unit> + </body> + </file> +</xliff> diff --git a/core/vendor/symfony/validator/Resources/translations/validators.pt.xlf b/core/vendor/symfony/validator/Resources/translations/validators.pt.xlf new file mode 100644 index 0000000000000000000000000000000000000000..d563c921cb90b87ec557809a09fe517e8882b6ec --- /dev/null +++ b/core/vendor/symfony/validator/Resources/translations/validators.pt.xlf @@ -0,0 +1,307 @@ +<?xml version="1.0"?> +<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2"> + <file source-language="en" datatype="plaintext" original="file.ext"> + <body> + <trans-unit id="1"> + <source>This value should be false.</source> + <target>Este valor deveria ser falso.</target> + </trans-unit> + <trans-unit id="2"> + <source>This value should be true.</source> + <target>Este valor deveria ser verdadeiro.</target> + </trans-unit> + <trans-unit id="3"> + <source>This value should be of type {{ type }}.</source> + <target>Este valor deveria ser do tipo {{ type }}.</target> + </trans-unit> + <trans-unit id="4"> + <source>This value should be blank.</source> + <target>Este valor deveria ser vazio.</target> + </trans-unit> + <trans-unit id="5"> + <source>The value you selected is not a valid choice.</source> + <target>O valor selecionado não é uma opção válida.</target> + </trans-unit> + <trans-unit id="6"> + <source>You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices.</source> + <target>Você deveria selecionar {{ limit }} opção no mÃnimo.|Você deveria selecionar {{ limit }} opções no mÃnimo.</target> + </trans-unit> + <trans-unit id="7"> + <source>You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices.</source> + <target>Você deve selecionar, no máximo {{ limit }} opção.|Você deve selecionar, no máximo {{ limit }} opções.</target> + </trans-unit> + <trans-unit id="8"> + <source>One or more of the given values is invalid.</source> + <target>Um ou mais dos valores introduzidos não são válidos.</target> + </trans-unit> + <trans-unit id="9"> + <source>This field was not expected.</source> + <target>Este campo não era esperado.</target> + </trans-unit> + <trans-unit id="10"> + <source>This field is missing.</source> + <target>Este campo está faltando.</target> + </trans-unit> + <trans-unit id="11"> + <source>This value is not a valid date.</source> + <target>Este valor não é uma data válida.</target> + </trans-unit> + <trans-unit id="12"> + <source>This value is not a valid datetime.</source> + <target>Este valor não é uma data-hora válida.</target> + </trans-unit> + <trans-unit id="13"> + <source>This value is not a valid email address.</source> + <target>Este valor não é um endereço de e-mail válido.</target> + </trans-unit> + <trans-unit id="14"> + <source>The file could not be found.</source> + <target>O arquivo não pôde ser encontrado.</target> + </trans-unit> + <trans-unit id="15"> + <source>The file is not readable.</source> + <target>O arquivo não pôde ser lido.</target> + </trans-unit> + <trans-unit id="16"> + <source>The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>O arquivo é muito grande ({{ size }} {{ suffix }}). O tamanho máximo permitido é de {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="17"> + <source>The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}.</source> + <target>O tipo mime do arquivo é inválido ({{ type }}). Os tipos mime permitidos são {{ types }}.</target> + </trans-unit> + <trans-unit id="18"> + <source>This value should be {{ limit }} or less.</source> + <target>Este valor deveria ser {{ limit }} ou menor.</target> + </trans-unit> + <trans-unit id="19"> + <source>This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less.</source> + <target>O valor é muito longo. Deveria ter {{ limit }} caracteres ou menos.</target> + </trans-unit> + <trans-unit id="20"> + <source>This value should be {{ limit }} or more.</source> + <target>Este valor deveria ser {{ limit }} ou mais.</target> + </trans-unit> + <trans-unit id="21"> + <source>This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more.</source> + <target>O valor é muito curto. Deveria de ter {{ limit }} caractere ou mais.|O valor é muito curto. Deveria de ter {{ limit }} caracteres ou mais.</target> + </trans-unit> + <trans-unit id="22"> + <source>This value should not be blank.</source> + <target>Este valor não deveria ser branco/vazio.</target> + </trans-unit> + <trans-unit id="23"> + <source>This value should not be null.</source> + <target>Este valor não deveria ser nulo.</target> + </trans-unit> + <trans-unit id="24"> + <source>This value should be null.</source> + <target>Este valor deveria ser nulo.</target> + </trans-unit> + <trans-unit id="25"> + <source>This value is not valid.</source> + <target>Este valor não é válido.</target> + </trans-unit> + <trans-unit id="26"> + <source>This value is not a valid time.</source> + <target>Este valor não é uma hora válida.</target> + </trans-unit> + <trans-unit id="27"> + <source>This value is not a valid URL.</source> + <target>Este valor não é um URL válido.</target> + </trans-unit> + <trans-unit id="31"> + <source>The two values should be equal.</source> + <target>Os dois valores deveriam ser iguais.</target> + </trans-unit> + <trans-unit id="32"> + <source>The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>O arquivo é muito grande. O tamanho máximo permitido é de {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="33"> + <source>The file is too large.</source> + <target>O ficheiro é muito grande.</target> + </trans-unit> + <trans-unit id="34"> + <source>The file could not be uploaded.</source> + <target>Não foi possÃvel carregar o ficheiro.</target> + </trans-unit> + <trans-unit id="35"> + <source>This value should be a valid number.</source> + <target>Este valor deveria de ser um número válido.</target> + </trans-unit> + <trans-unit id="36"> + <source>This file is not a valid image.</source> + <target>Este ficheiro não é uma imagem.</target> + </trans-unit> + <trans-unit id="37"> + <source>This is not a valid IP address.</source> + <target>Este endereço de IP não é válido.</target> + </trans-unit> + <trans-unit id="38"> + <source>This value is not a valid language.</source> + <target>Este valor não é uma linguagem válida.</target> + </trans-unit> + <trans-unit id="39"> + <source>This value is not a valid locale.</source> + <target>Este valor não é um 'locale' válido.</target> + </trans-unit> + <trans-unit id="40"> + <source>This value is not a valid country.</source> + <target>Este valor não é um PaÃs válido.</target> + </trans-unit> + <trans-unit id="41"> + <source>This value is already used.</source> + <target>Este valor já está a ser usado.</target> + </trans-unit> + <trans-unit id="42"> + <source>The size of the image could not be detected.</source> + <target>O tamanho da imagem não foi detetado.</target> + </trans-unit> + <trans-unit id="43"> + <source>The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px.</source> + <target>A largura da imagem ({{ width }}px) é muito grande. A largura máxima da imagem é: {{ max_width }}px.</target> + </trans-unit> + <trans-unit id="44"> + <source>The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px.</source> + <target>A largura da imagem ({{ width }}px) é muito pequena. A largura minÃma da imagem é de: {{ min_width }}px.</target> + </trans-unit> + <trans-unit id="45"> + <source>The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px.</source> + <target>A altura da imagem ({{ height }}px) é muito grande. A altura máxima da imagem é de: {{ max_height }}px.</target> + </trans-unit> + <trans-unit id="46"> + <source>The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px.</source> + <target>A altura da imagem ({{ height }}px) é muito pequena. A altura minÃma da imagem é de: {{ min_height }}px.</target> + </trans-unit> + <trans-unit id="47"> + <source>This value should be the user's current password.</source> + <target>Este valor deveria de ser a password atual do utilizador.</target> + </trans-unit> + <trans-unit id="48"> + <source>This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters.</source> + <target>Este valor tem de ter exatamente {{ limit }} carateres.</target> + </trans-unit> + <trans-unit id="49"> + <source>The file was only partially uploaded.</source> + <target>Só foi enviado parte do ficheiro.</target> + </trans-unit> + <trans-unit id="50"> + <source>No file was uploaded.</source> + <target>Nenhum ficheiro foi enviado.</target> + </trans-unit> + <trans-unit id="51"> + <source>No temporary folder was configured in php.ini.</source> + <target>Não existe nenhum directório temporária configurado no ficheiro php.ini.</target> + </trans-unit> + <trans-unit id="52"> + <source>Cannot write temporary file to disk.</source> + <target>Não foi possÃvel escrever ficheiros temporários no disco.</target> + </trans-unit> + <trans-unit id="53"> + <source>A PHP extension caused the upload to fail.</source> + <target>Uma extensão PHP causou a falha no envio.</target> + </trans-unit> + <trans-unit id="54"> + <source>This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more.</source> + <target>Esta coleção deve conter {{ limit }} elemento ou mais.|Esta coleção deve conter {{ limit }} elementos ou mais.</target> + </trans-unit> + <trans-unit id="55"> + <source>This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less.</source> + <target>Esta coleção deve conter {{ limit }} elemento ou menos.|Esta coleção deve conter {{ limit }} elementos ou menos.</target> + </trans-unit> + <trans-unit id="56"> + <source>This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements.</source> + <target>Esta coleção deve conter exatamente {{ limit }} elemento.|Esta coleção deve conter exatamente {{ limit }} elementos.</target> + </trans-unit> + <trans-unit id="57"> + <source>Invalid card number.</source> + <target>Número de cartão inválido.</target> + </trans-unit> + <trans-unit id="58"> + <source>Unsupported card type or invalid card number.</source> + <target>Tipo de cartão não suportado ou número de cartão inválido.</target> + </trans-unit> + <trans-unit id="59"> + <source>This is not a valid International Bank Account Number (IBAN).</source> + <target>Este não é um Número Internacional de Conta Bancária (IBAN) válido.</target> + </trans-unit> + <trans-unit id="60"> + <source>This value is not a valid ISBN-10.</source> + <target>Este valor não é um ISBN-10 válido.</target> + </trans-unit> + <trans-unit id="61"> + <source>This value is not a valid ISBN-13.</source> + <target>Este valor não é um ISBN-13 válido.</target> + </trans-unit> + <trans-unit id="62"> + <source>This value is neither a valid ISBN-10 nor a valid ISBN-13.</source> + <target>Este valor não é um ISBN-10 ou ISBN-13 válido.</target> + </trans-unit> + <trans-unit id="63"> + <source>This value is not a valid ISSN.</source> + <target>Este valor não é um ISSN válido.</target> + </trans-unit> + <trans-unit id="64"> + <source>This value is not a valid currency.</source> + <target>Este não é um valor monetário válido.</target> + </trans-unit> + <trans-unit id="65"> + <source>This value should be equal to {{ compared_value }}.</source> + <target>Este valor deve ser igual a {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="66"> + <source>This value should be greater than {{ compared_value }}.</source> + <target>Este valor deve ser superior a {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="67"> + <source>This value should be greater than or equal to {{ compared_value }}.</source> + <target>Este valor deve ser igual ou superior a {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="68"> + <source>This value should be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>Este valor deve ser idêntico a {{ compared_value_type }} {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="69"> + <source>This value should be less than {{ compared_value }}.</source> + <target>Este valor deve ser inferior a {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="70"> + <source>This value should be less than or equal to {{ compared_value }}.</source> + <target>Este valor deve ser igual ou inferior a {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="71"> + <source>This value should not be equal to {{ compared_value }}.</source> + <target>Este valor não deve ser igual a {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="72"> + <source>This value should not be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>Este valor não deve ser idêntico a {{ compared_value_type }} {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="73"> + <source>The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}.</source> + <target>O formato da imagem é muito grande ({{ ratio }}). O formato máximo é {{ max_ratio }}.</target> + </trans-unit> + <trans-unit id="74"> + <source>The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}.</source> + <target>O formato da imagem é muito pequeno ({{ ratio }}). O formato mÃnimo esperado é {{ min_ratio }}.</target> + </trans-unit> + <trans-unit id="75"> + <source>The image is square ({{ width }}x{{ height }}px). Square images are not allowed.</source> + <target>A imagem é um quadrado ({{ width }}x{{ height }}px). Imagens quadradas não são permitidas.</target> + </trans-unit> + <trans-unit id="76"> + <source>The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed.</source> + <target>A imagem está orientada à paisagem ({{ width }}x{{ height }}px). Imagens orientadas à paisagem não são permitidas.</target> + </trans-unit> + <trans-unit id="77"> + <source>The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed.</source> + <target>A imagem está orientada ao retrato ({{ width }}x{{ height }}px). Imagens orientadas ao retrato não são permitidas.</target> + </trans-unit> + <trans-unit id="78"> + <source>An empty file is not allowed.</source> + <target>Ficheiro vazio não é permitido.</target> + </trans-unit> + </body> + </file> +</xliff> diff --git a/core/vendor/symfony/validator/Resources/translations/validators.pt_BR.xlf b/core/vendor/symfony/validator/Resources/translations/validators.pt_BR.xlf new file mode 100644 index 0000000000000000000000000000000000000000..bff91e363ff403f34ecfc581064ba033aa42374f --- /dev/null +++ b/core/vendor/symfony/validator/Resources/translations/validators.pt_BR.xlf @@ -0,0 +1,315 @@ +<?xml version="1.0"?> +<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2"> + <file source-language="en" datatype="plaintext" original="file.ext"> + <body> + <trans-unit id="1"> + <source>This value should be false.</source> + <target>Este valor deve ser falso.</target> + </trans-unit> + <trans-unit id="2"> + <source>This value should be true.</source> + <target>Este valor deve ser verdadeiro.</target> + </trans-unit> + <trans-unit id="3"> + <source>This value should be of type {{ type }}.</source> + <target>Este valor deve ser do tipo {{ type }}.</target> + </trans-unit> + <trans-unit id="4"> + <source>This value should be blank.</source> + <target>Este valor deve ser vazio.</target> + </trans-unit> + <trans-unit id="5"> + <source>The value you selected is not a valid choice.</source> + <target>O valor selecionado não é uma opção válida.</target> + </trans-unit> + <trans-unit id="6"> + <source>You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices.</source> + <target>Você deve selecionar, no mÃnimo, {{ limit }} opção.|Você deve selecionar, no mÃnimo, {{ limit }} opções.</target> + </trans-unit> + <trans-unit id="7"> + <source>You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices.</source> + <target>Você deve selecionar, no máximo, {{ limit }} opção.|Você deve selecionar, no máximo, {{ limit }} opções.</target> + </trans-unit> + <trans-unit id="8"> + <source>One or more of the given values is invalid.</source> + <target>Um ou mais valores informados são inválidos.</target> + </trans-unit> + <trans-unit id="9"> + <source>This field was not expected.</source> + <target>Este campo não era esperado.</target> + </trans-unit> + <trans-unit id="10"> + <source>This field is missing.</source> + <target>Este campo está ausente.</target> + </trans-unit> + <trans-unit id="11"> + <source>This value is not a valid date.</source> + <target>Este valor não é uma data válida.</target> + </trans-unit> + <trans-unit id="12"> + <source>This value is not a valid datetime.</source> + <target>Este valor não é uma data e hora válida.</target> + </trans-unit> + <trans-unit id="13"> + <source>This value is not a valid email address.</source> + <target>Este valor não é um endereço de e-mail válido.</target> + </trans-unit> + <trans-unit id="14"> + <source>The file could not be found.</source> + <target>O arquivo não foi encontrado.</target> + </trans-unit> + <trans-unit id="15"> + <source>The file is not readable.</source> + <target>O arquivo não pode ser lido.</target> + </trans-unit> + <trans-unit id="16"> + <source>The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>O arquivo é muito grande ({{ size }} {{ suffix }}). O tamanho máximo permitido é {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="17"> + <source>The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}.</source> + <target>O tipo mime do arquivo é inválido ({{ type }}). Os tipos mime permitidos são {{ types }}.</target> + </trans-unit> + <trans-unit id="18"> + <source>This value should be {{ limit }} or less.</source> + <target>Este valor deve ser {{ limit }} ou menos.</target> + </trans-unit> + <trans-unit id="19"> + <source>This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less.</source> + <target>Este valor é muito longo. Deve ter {{ limit }} caractere ou menos.|Este valor é muito longo. Deve ter {{ limit }} caracteres ou menos.</target> + </trans-unit> + <trans-unit id="20"> + <source>This value should be {{ limit }} or more.</source> + <target>Este valor deve ser {{ limit }} ou mais.</target> + </trans-unit> + <trans-unit id="21"> + <source>This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more.</source> + <target>Este valor é muito curto. Deve ter {{ limit }} caractere ou mais.|Este valor é muito curto. Deve ter {{ limit }} caracteres ou mais.</target> + </trans-unit> + <trans-unit id="22"> + <source>This value should not be blank.</source> + <target>Este valor não deve ser vazio.</target> + </trans-unit> + <trans-unit id="23"> + <source>This value should not be null.</source> + <target>Este valor não deve ser nulo.</target> + </trans-unit> + <trans-unit id="24"> + <source>This value should be null.</source> + <target>Este valor deve ser nulo.</target> + </trans-unit> + <trans-unit id="25"> + <source>This value is not valid.</source> + <target>Este valor não é válido.</target> + </trans-unit> + <trans-unit id="26"> + <source>This value is not a valid time.</source> + <target>Este valor não é uma hora válida.</target> + </trans-unit> + <trans-unit id="27"> + <source>This value is not a valid URL.</source> + <target>Este valor não é uma URL válida.</target> + </trans-unit> + <trans-unit id="31"> + <source>The two values should be equal.</source> + <target>Os dois valores devem ser iguais.</target> + </trans-unit> + <trans-unit id="32"> + <source>The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>O arquivo é muito grande. O tamanho máximo permitido é de {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="33"> + <source>The file is too large.</source> + <target>O arquivo é muito grande.</target> + </trans-unit> + <trans-unit id="34"> + <source>The file could not be uploaded.</source> + <target>O arquivo não pode ser enviado.</target> + </trans-unit> + <trans-unit id="35"> + <source>This value should be a valid number.</source> + <target>Este valor deve ser um número válido.</target> + </trans-unit> + <trans-unit id="36"> + <source>This file is not a valid image.</source> + <target>Este arquivo não é uma imagem válida.</target> + </trans-unit> + <trans-unit id="37"> + <source>This is not a valid IP address.</source> + <target>Este não é um endereço de IP válido.</target> + </trans-unit> + <trans-unit id="38"> + <source>This value is not a valid language.</source> + <target>Este valor não é um idioma válido.</target> + </trans-unit> + <trans-unit id="39"> + <source>This value is not a valid locale.</source> + <target>Este valor não é uma localidade válida.</target> + </trans-unit> + <trans-unit id="40"> + <source>This value is not a valid country.</source> + <target>Este valor não é um paÃs válido.</target> + </trans-unit> + <trans-unit id="41"> + <source>This value is already used.</source> + <target>Este valor já está sendo usado.</target> + </trans-unit> + <trans-unit id="42"> + <source>The size of the image could not be detected.</source> + <target>O tamanho da imagem não pode ser detectado.</target> + </trans-unit> + <trans-unit id="43"> + <source>The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px.</source> + <target>A largura da imagem é muito grande ({{ width }}px). A largura máxima permitida é de {{ max_width }}px.</target> + </trans-unit> + <trans-unit id="44"> + <source>The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px.</source> + <target>A largura da imagem é muito pequena ({{ width }}px). A largura mÃnima esperada é de {{ min_width }}px.</target> + </trans-unit> + <trans-unit id="45"> + <source>The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px.</source> + <target>A altura da imagem é muito grande ({{ height }}px). A altura máxima permitida é de {{ max_height }}px.</target> + </trans-unit> + <trans-unit id="46"> + <source>The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px.</source> + <target>A altura da imagem é muito pequena ({{ height }}px). A altura mÃnima esperada é de {{ min_height }}px.</target> + </trans-unit> + <trans-unit id="47"> + <source>This value should be the user's current password.</source> + <target>Este valor deve ser a senha atual do usuário.</target> + </trans-unit> + <trans-unit id="48"> + <source>This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters.</source> + <target>Este valor deve ter exatamente {{ limit }} caractere.|Este valor deve ter exatamente {{ limit }} caracteres.</target> + </trans-unit> + <trans-unit id="49"> + <source>The file was only partially uploaded.</source> + <target>O arquivo foi enviado apenas parcialmente.</target> + </trans-unit> + <trans-unit id="50"> + <source>No file was uploaded.</source> + <target>Nenhum arquivo foi enviado.</target> + </trans-unit> + <trans-unit id="51"> + <source>No temporary folder was configured in php.ini.</source> + <target>Nenhum diretório temporário foi configurado no php.ini.</target> + </trans-unit> + <trans-unit id="52"> + <source>Cannot write temporary file to disk.</source> + <target>Não foi possÃvel escrever o arquivo temporário no disco.</target> + </trans-unit> + <trans-unit id="53"> + <source>A PHP extension caused the upload to fail.</source> + <target>Uma extensão PHP fez com que o envio falhasse.</target> + </trans-unit> + <trans-unit id="54"> + <source>This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more.</source> + <target>Esta coleção deve conter {{ limit }} elemento ou mais.|Esta coleção deve conter {{ limit }} elementos ou mais.</target> + </trans-unit> + <trans-unit id="55"> + <source>This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less.</source> + <target>Esta coleção deve conter {{ limit }} elemento ou menos.|Esta coleção deve conter {{ limit }} elementos ou menos.</target> + </trans-unit> + <trans-unit id="56"> + <source>This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements.</source> + <target>Esta coleção deve conter exatamente {{ limit }} elemento.|Esta coleção deve conter exatamente {{ limit }} elementos.</target> + </trans-unit> + <trans-unit id="57"> + <source>Invalid card number.</source> + <target>Número de cartão inválido.</target> + </trans-unit> + <trans-unit id="58"> + <source>Unsupported card type or invalid card number.</source> + <target>Tipo de cartão não suportado ou número de cartão inválido.</target> + </trans-unit> + <trans-unit id="59"> + <source>This is not a valid International Bank Account Number (IBAN).</source> + <target>Este não é um Número Internacional de Conta Bancária (IBAN) válido.</target> + </trans-unit> + <trans-unit id="60"> + <source>This value is not a valid ISBN-10.</source> + <target>Este valor não é um ISBN-10 válido.</target> + </trans-unit> + <trans-unit id="61"> + <source>This value is not a valid ISBN-13.</source> + <target>Este valor não é um ISBN-13 válido.</target> + </trans-unit> + <trans-unit id="62"> + <source>This value is neither a valid ISBN-10 nor a valid ISBN-13.</source> + <target>Este valor não é um ISBN-10 e nem um ISBN-13 válido.</target> + </trans-unit> + <trans-unit id="63"> + <source>This value is not a valid ISSN.</source> + <target>Este valor não é um ISSN válido.</target> + </trans-unit> + <trans-unit id="64"> + <source>This value is not a valid currency.</source> + <target>Este não é um valor monetário válido.</target> + </trans-unit> + <trans-unit id="65"> + <source>This value should be equal to {{ compared_value }}.</source> + <target>Este valor deve ser igual a {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="66"> + <source>This value should be greater than {{ compared_value }}.</source> + <target>Este valor deve ser maior que {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="67"> + <source>This value should be greater than or equal to {{ compared_value }}.</source> + <target>Este valor deve ser maior ou igual a {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="68"> + <source>This value should be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>Este valor deve ser idêntico a {{ compared_value_type }} {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="69"> + <source>This value should be less than {{ compared_value }}.</source> + <target>Este valor deve ser menor que {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="70"> + <source>This value should be less than or equal to {{ compared_value }}.</source> + <target>Este valor deve ser menor ou igual a {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="71"> + <source>This value should not be equal to {{ compared_value }}.</source> + <target>Este valor não deve ser igual a {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="72"> + <source>This value should not be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>Este valor não deve ser idêntico a {{ compared_value_type }} {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="73"> + <source>The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}.</source> + <target>A proporção da imagem é muito grande ({{ ratio }}). A proporção máxima permitida é {{ max_ratio }}.</target> + </trans-unit> + <trans-unit id="74"> + <source>The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}.</source> + <target>A proporção da imagem é muito pequena ({{ ratio }}). A proporção mÃnima esperada é {{ min_ratio }}.</target> + </trans-unit> + <trans-unit id="75"> + <source>The image is square ({{ width }}x{{ height }}px). Square images are not allowed.</source> + <target>A imagem está num formato quadrado ({{ width }}x{{ height }}px). Imagens com formato quadrado não são permitidas.</target> + </trans-unit> + <trans-unit id="76"> + <source>The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed.</source> + <target>A imagem está orientada à paisagem ({{ width }}x{{ height }}px). Imagens orientadas à paisagem não são permitidas.</target> + </trans-unit> + <trans-unit id="77"> + <source>The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed.</source> + <target>A imagem está orientada ao retrato ({{ width }}x{{ height }}px). Imagens orientadas ao retrato não são permitidas.</target> + </trans-unit> + <trans-unit id="78"> + <source>An empty file is not allowed.</source> + <target>Arquivo vazio não é permitido.</target> + </trans-unit> + <trans-unit id="79"> + <source>The host could not be resolved.</source> + <target>O host não pôde ser resolvido.</target> + </trans-unit> + <trans-unit id="80"> + <source>This value does not match the expected {{ charset }} charset.</source> + <target>Este valor não corresponde ao charset {{ charset }} esperado.</target> + </trans-unit> + </body> + </file> +</xliff> diff --git a/core/vendor/symfony/validator/Resources/translations/validators.ro.xlf b/core/vendor/symfony/validator/Resources/translations/validators.ro.xlf new file mode 100644 index 0000000000000000000000000000000000000000..27346a9f17718e4f03999a2499bbd697d7bbe850 --- /dev/null +++ b/core/vendor/symfony/validator/Resources/translations/validators.ro.xlf @@ -0,0 +1,283 @@ +<?xml version="1.0"?> +<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2"> + <file source-language="en" datatype="plaintext" original="file.ext"> + <body> + <trans-unit id="1"> + <source>This value should be false.</source> + <target>Această valoare ar trebui să fie falsă (false).</target> + </trans-unit> + <trans-unit id="2"> + <source>This value should be true.</source> + <target>Această valoare ar trebui să fie adevărată (true).</target> + </trans-unit> + <trans-unit id="3"> + <source>This value should be of type {{ type }}.</source> + <target>Această valoare ar trebui să fie de tipul {{ type }}.</target> + </trans-unit> + <trans-unit id="4"> + <source>This value should be blank.</source> + <target>Această valoare ar trebui sa fie goală.</target> + </trans-unit> + <trans-unit id="5"> + <source>The value you selected is not a valid choice.</source> + <target>Valoarea selectată nu este o opÈ›iune validă.</target> + </trans-unit> + <trans-unit id="6"> + <source>You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices.</source> + <target>Trebuie să selectaÈ›i cel puÈ›in {{ limit }} opÈ›iune.|Trebuie să selectaÈ›i cel puÈ›in {{ limit }} opÈ›iuni.|Trebuie să selectaÈ›i cel puÈ›in {{ limit }} de opÈ›iuni</target> + </trans-unit> + <trans-unit id="7"> + <source>You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices.</source> + <target>Trebuie să selectaÈ›i cel mult {{ limit }} opÈ›iune.|Trebuie să selectaÈ›i cel mult {{ limit }} opÈ›iuni.|Trebuie să selectaÈ›i cel mult {{ limit }} de opÈ›iuni.</target> + </trans-unit> + <trans-unit id="8"> + <source>One or more of the given values is invalid.</source> + <target>Una sau mai multe dintre valorile furnizate sunt invalide.</target> + </trans-unit> + <trans-unit id="9"> + <source>This field was not expected.</source> + <target>Acest câmp nu era de aÅŸteptat.</target> + </trans-unit> + <trans-unit id="10"> + <source>This field is missing.</source> + <target>Acest câmp este lipsă.</target> + </trans-unit> + <trans-unit id="11"> + <source>This value is not a valid date.</source> + <target>Această valoare nu reprezintă o dată validă.</target> + </trans-unit> + <trans-unit id="12"> + <source>This value is not a valid datetime.</source> + <target>Această valoare nu reprezintă o dată È™i oră validă.</target> + </trans-unit> + <trans-unit id="13"> + <source>This value is not a valid email address.</source> + <target>Această valoare nu reprezintă o adresă de e-mail validă.</target> + </trans-unit> + <trans-unit id="14"> + <source>The file could not be found.</source> + <target>FiÈ™ierul nu a putut fi găsit.</target> + </trans-unit> + <trans-unit id="15"> + <source>The file is not readable.</source> + <target>FiÈ™ierul nu poate fi citit.</target> + </trans-unit> + <trans-unit id="16"> + <source>The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>FiÈ™ierul este prea mare ({{ size }} {{ suffix }}). Dimensiunea maximă permisă este {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="17"> + <source>The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}.</source> + <target>Tipul fiÈ™ierului este invalid ({{ type }}). Tipurile permise de fiÈ™iere sunt ({{ types }}).</target> + </trans-unit> + <trans-unit id="18"> + <source>This value should be {{ limit }} or less.</source> + <target>Această valoare ar trebui să fie cel mult {{ limit }}.</target> + </trans-unit> + <trans-unit id="19"> + <source>This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less.</source> + <target>Această valoare este prea lungă. Ar trebui să aibă maxim {{ limit }} caracter.|Această valoare este prea lungă. Ar trebui să aibă maxim {{ limit }} caractere.|Această valoare este prea lungă. Ar trebui să aibă maxim {{ limit }} de caractere.</target> + </trans-unit> + <trans-unit id="20"> + <source>This value should be {{ limit }} or more.</source> + <target>Această valoare ar trebui să fie cel puÈ›in {{ limit }}.</target> + </trans-unit> + <trans-unit id="21"> + <source>This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more.</source> + <target>Această valoare este prea scurtă. Ar trebui să aibă minim {{ limit }} caracter.|Această valoare este prea scurtă. Ar trebui să aibă minim {{ limit }} caractere.|Această valoare este prea scurtă. Ar trebui să aibă minim {{ limit }} de caractere.</target> + </trans-unit> + <trans-unit id="22"> + <source>This value should not be blank.</source> + <target>Această valoare nu ar trebui să fie goală.</target> + </trans-unit> + <trans-unit id="23"> + <source>This value should not be null.</source> + <target>Această valoare nu ar trebui să fie nulă (null).</target> + </trans-unit> + <trans-unit id="24"> + <source>This value should be null.</source> + <target>Această valoare ar trebui să fie nulă (null).</target> + </trans-unit> + <trans-unit id="25"> + <source>This value is not valid.</source> + <target>Această valoare nu este validă.</target> + </trans-unit> + <trans-unit id="26"> + <source>This value is not a valid time.</source> + <target>Această valoare nu reprezintă o oră validă.</target> + </trans-unit> + <trans-unit id="27"> + <source>This value is not a valid URL.</source> + <target>Această valoare nu reprezintă un URL (link) valid.</target> + </trans-unit> + <trans-unit id="31"> + <source>The two values should be equal.</source> + <target>Cele două valori ar trebui să fie egale.</target> + </trans-unit> + <trans-unit id="32"> + <source>The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>FiÈ™ierul este prea mare. Mărimea maximă permisă este {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="33"> + <source>The file is too large.</source> + <target>FiÈ™ierul este prea mare.</target> + </trans-unit> + <trans-unit id="34"> + <source>The file could not be uploaded.</source> + <target>FiÈ™ierul nu a putut fi încărcat.</target> + </trans-unit> + <trans-unit id="35"> + <source>This value should be a valid number.</source> + <target>Această valoare nu reprezintă un număr valid.</target> + </trans-unit> + <trans-unit id="36"> + <source>This file is not a valid image.</source> + <target>Acest fiÈ™ier nu este o imagine validă.</target> + </trans-unit> + <trans-unit id="37"> + <source>This is not a valid IP address.</source> + <target>Această valoare nu este o adresă IP validă.</target> + </trans-unit> + <trans-unit id="38"> + <source>This value is not a valid language.</source> + <target>Această valoare nu reprezintă o limbă corectă.</target> + </trans-unit> + <trans-unit id="39"> + <source>This value is not a valid locale.</source> + <target>Această valoare nu reprezintă un dialect (o limbă) corect.</target> + </trans-unit> + <trans-unit id="40"> + <source>This value is not a valid country.</source> + <target>Această valoare nu este o È›ară validă.</target> + </trans-unit> + <trans-unit id="41"> + <source>This value is already used.</source> + <target>Această valoare este folosită deja.</target> + </trans-unit> + <trans-unit id="42"> + <source>The size of the image could not be detected.</source> + <target>Mărimea imaginii nu a putut fi detectată.</target> + </trans-unit> + <trans-unit id="43"> + <source>The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px.</source> + <target>Lățimea imaginii este prea mare ({{ width }}px). Lățimea maximă permisă este de {{ max_width }}px.</target> + </trans-unit> + <trans-unit id="44"> + <source>The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px.</source> + <target>Lățimea imaginii este prea mică ({{ width }}px). Lățimea minimă permisă este de {{ min_width }}px.</target> + </trans-unit> + <trans-unit id="45"> + <source>The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px.</source> + <target>ÃŽnălÈ›imea imaginii este prea mare ({{ height }}px). ÃŽnălÈ›imea maximă permisă este de {{ max_height }}px.</target> + </trans-unit> + <trans-unit id="46"> + <source>The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px.</source> + <target>ÃŽnălÈ›imea imaginii este prea mică ({{ height }}px). ÃŽnălÈ›imea minimă permisă este de {{ min_height }}px.</target> + </trans-unit> + <trans-unit id="47"> + <source>This value should be the user's current password.</source> + <target>Această valoare trebuie să fie parola curentă a utilizatorului.</target> + </trans-unit> + <trans-unit id="48"> + <source>This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters.</source> + <target>Această valoare trebuie să conÈ›ină exact {{ limit }} caracter.|Această valoare trebuie să conÈ›ină exact {{ limit }} caractere.|Această valoare trebuie să conÈ›ină exact {{ limit }} de caractere.</target> + </trans-unit> + <trans-unit id="49"> + <source>The file was only partially uploaded.</source> + <target>FiÈ™ierul a fost încărcat parÈ›ial.</target> + </trans-unit> + <trans-unit id="50"> + <source>No file was uploaded.</source> + <target>Nu a fost încărcat nici un fiÈ™ier.</target> + </trans-unit> + <trans-unit id="51"> + <source>No temporary folder was configured in php.ini.</source> + <target>Nu este configurat nici un director temporar in php.ini.</target> + </trans-unit> + <trans-unit id="52"> + <source>Cannot write temporary file to disk.</source> + <target>Nu a fost posibilă scrierea fiÈ™ierului temporar pe disk.</target> + </trans-unit> + <trans-unit id="53"> + <source>A PHP extension caused the upload to fail.</source> + <target>O extensie PHP a prevenit încărcarea cu succes a fiÈ™ierului.</target> + </trans-unit> + <trans-unit id="54"> + <source>This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more.</source> + <target>Această colecÈ›ie trebuie să conÈ›ină cel puÈ›in {{ limit }} element.|Această colecÈ›ie trebuie să conÈ›ină cel puÈ›in {{ limit }} elemente.|Această colecÈ›ie trebuie să conÈ›ină cel puÈ›in {{ limit }} de elemente.</target> + </trans-unit> + <trans-unit id="55"> + <source>This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less.</source> + <target>Această colecÈ›ie trebuie să conÈ›ină cel mult {{ limit }} element.|Această colecÈ›ie trebuie să conÈ›ină cel mult {{ limit }} elemente.|Această colecÈ›ie trebuie să conÈ›ină cel mult {{ limit }} de elemente.</target> + </trans-unit> + <trans-unit id="56"> + <source>This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements.</source> + <target>Această colecÈ›ie trebuie să conÈ›ină {{ limit }} element.|Această colecÈ›ie trebuie să conÈ›ină {{ limit }} elemente.|Această colecÈ›ie trebuie să conÈ›ină {{ limit }} de elemente.</target> + </trans-unit> + <trans-unit id="57"> + <source>Invalid card number.</source> + <target>Numărul card invalid.</target> + </trans-unit> + <trans-unit id="58"> + <source>Unsupported card type or invalid card number.</source> + <target>Tipul sau numărul cardului nu sunt valide.</target> + </trans-unit> + <trans-unit id="59"> + <source>This is not a valid International Bank Account Number (IBAN).</source> + <target>Acesta nu este un cod IBAN (International Bank Account Number) valid.</target> + </trans-unit> + <trans-unit id="60"> + <source>This value is not a valid ISBN-10.</source> + <target>Această valoare nu este un cod ISBN-10 valid.</target> + </trans-unit> + <trans-unit id="61"> + <source>This value is not a valid ISBN-13.</source> + <target>Această valoare nu este un cod ISBN-13 valid.</target> + </trans-unit> + <trans-unit id="62"> + <source>This value is neither a valid ISBN-10 nor a valid ISBN-13.</source> + <target>Această valoare nu este un cod ISBN-10 sau ISBN-13 valid.</target> + </trans-unit> + <trans-unit id="63"> + <source>This value is not a valid ISSN.</source> + <target>Această valoare nu este un cod ISSN valid.</target> + </trans-unit> + <trans-unit id="64"> + <source>This value is not a valid currency.</source> + <target>Această valoare nu este o monedă validă.</target> + </trans-unit> + <trans-unit id="65"> + <source>This value should be equal to {{ compared_value }}.</source> + <target>Această valoare trebuie să fie egală cu {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="66"> + <source>This value should be greater than {{ compared_value }}.</source> + <target>Această valoare trebuie să fie mai mare de {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="67"> + <source>This value should be greater than or equal to {{ compared_value }}.</source> + <target>Această valoare trebuie să fie mai mare sau egală cu {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="68"> + <source>This value should be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>Această valoare trebuie identică cu {{ compared_value_type }} {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="69"> + <source>This value should be less than {{ compared_value }}.</source> + <target>Această valoare trebuie să fie mai mică de {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="70"> + <source>This value should be less than or equal to {{ compared_value }}.</source> + <target>Această valoare trebuie să fie mai mică sau egală cu {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="71"> + <source>This value should not be equal to {{ compared_value }}.</source> + <target>Această valoare nu trebuie să fie egală cu {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="72"> + <source>This value should not be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>Această valoare nu trebuie să fie identică cu {{ compared_value_type }} {{ compared_value }}.</target> + </trans-unit> + </body> + </file> +</xliff> diff --git a/core/vendor/symfony/validator/Resources/translations/validators.ru.xlf b/core/vendor/symfony/validator/Resources/translations/validators.ru.xlf new file mode 100644 index 0000000000000000000000000000000000000000..d7a90c907ed08fdcda4315becec6abc7ca669c23 --- /dev/null +++ b/core/vendor/symfony/validator/Resources/translations/validators.ru.xlf @@ -0,0 +1,315 @@ +<?xml version="1.0"?> +<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2"> + <file source-language="en" datatype="plaintext" original="file.ext"> + <body> + <trans-unit id="1"> + <source>This value should be false.</source> + <target>Значение должно быть ложным.</target> + </trans-unit> + <trans-unit id="2"> + <source>This value should be true.</source> + <target>Значение должно быть иÑтинным.</target> + </trans-unit> + <trans-unit id="3"> + <source>This value should be of type {{ type }}.</source> + <target>Тип Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð´Ð¾Ð»Ð¶ÐµÐ½ быть {{ type }}.</target> + </trans-unit> + <trans-unit id="4"> + <source>This value should be blank.</source> + <target>Значение должно быть пуÑтым.</target> + </trans-unit> + <trans-unit id="5"> + <source>The value you selected is not a valid choice.</source> + <target>Выбранное Вами значение недопуÑтимо.</target> + </trans-unit> + <trans-unit id="6"> + <source>You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices.</source> + <target>Ð’Ñ‹ должны выбрать Ñ…Ð¾Ñ‚Ñ Ð±Ñ‹ {{ limit }} вариант.|Ð’Ñ‹ должны выбрать Ñ…Ð¾Ñ‚Ñ Ð±Ñ‹ {{ limit }} варианта.|Ð’Ñ‹ должны выбрать Ñ…Ð¾Ñ‚Ñ Ð±Ñ‹ {{ limit }} вариантов.</target> + </trans-unit> + <trans-unit id="7"> + <source>You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices.</source> + <target>Ð’Ñ‹ должны выбрать не более чем {{ limit }} вариант.|Ð’Ñ‹ должны выбрать не более чем {{ limit }} варианта.|Ð’Ñ‹ должны выбрать не более чем {{ limit }} вариантов.</target> + </trans-unit> + <trans-unit id="8"> + <source>One or more of the given values is invalid.</source> + <target>Одно или неÑколько заданных значений недопуÑтимо.</target> + </trans-unit> + <trans-unit id="9"> + <source>This field was not expected.</source> + <target>Ðто поле не ожидалоÑÑŒ.</target> + </trans-unit> + <trans-unit id="10"> + <source>This field is missing.</source> + <target>Ðто поле отÑутÑтвует.</target> + </trans-unit> + <trans-unit id="11"> + <source>This value is not a valid date.</source> + <target>Значение не ÑвлÑетÑÑ Ð¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¾Ð¹ датой.</target> + </trans-unit> + <trans-unit id="12"> + <source>This value is not a valid datetime.</source> + <target>Значение даты и времени недопуÑтимо.</target> + </trans-unit> + <trans-unit id="13"> + <source>This value is not a valid email address.</source> + <target>Значение адреÑа Ñлектронной почты недопуÑтимо.</target> + </trans-unit> + <trans-unit id="14"> + <source>The file could not be found.</source> + <target>Файл не может быть найден.</target> + </trans-unit> + <trans-unit id="15"> + <source>The file is not readable.</source> + <target>Файл не может быть прочитан.</target> + </trans-unit> + <trans-unit id="16"> + <source>The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>Файл Ñлишком большой ({{ size }} {{ suffix }}). МакÑимально допуÑтимый размер {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="17"> + <source>The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}.</source> + <target>MIME-тип файла недопуÑтим ({{ type }}). ДопуÑтимы MIME-типы файлов {{ types }}.</target> + </trans-unit> + <trans-unit id="18"> + <source>This value should be {{ limit }} or less.</source> + <target>Значение должно быть {{ limit }} или меньше.</target> + </trans-unit> + <trans-unit id="19"> + <source>This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less.</source> + <target>Значение Ñлишком длинное. Должно быть равно {{ limit }} Ñимволу или меньше.|Значение Ñлишком длинное. Должно быть равно {{ limit }} Ñимволам или меньше.|Значение Ñлишком длинное. Должно быть равно {{ limit }} Ñимволам или меньше.</target> + </trans-unit> + <trans-unit id="20"> + <source>This value should be {{ limit }} or more.</source> + <target>Значение должно быть {{ limit }} или больше.</target> + </trans-unit> + <trans-unit id="21"> + <source>This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more.</source> + <target>Значение Ñлишком короткое. Должно быть равно {{ limit }} Ñимволу или больше.|Значение Ñлишком короткое. Должно быть равно {{ limit }} Ñимволам или больше.|Значение Ñлишком короткое. Должно быть равно {{ limit }} Ñимволам или больше.</target> + </trans-unit> + <trans-unit id="22"> + <source>This value should not be blank.</source> + <target>Значение не должно быть пуÑтым.</target> + </trans-unit> + <trans-unit id="23"> + <source>This value should not be null.</source> + <target>Значение не должно быть null.</target> + </trans-unit> + <trans-unit id="24"> + <source>This value should be null.</source> + <target>Значение должно быть null.</target> + </trans-unit> + <trans-unit id="25"> + <source>This value is not valid.</source> + <target>Значение недопуÑтимо.</target> + </trans-unit> + <trans-unit id="26"> + <source>This value is not a valid time.</source> + <target>Значение времени недопуÑтимо.</target> + </trans-unit> + <trans-unit id="27"> + <source>This value is not a valid URL.</source> + <target>Значение не ÑвлÑетÑÑ Ð´Ð¾Ð¿ÑƒÑтимым URL.</target> + </trans-unit> + <trans-unit id="31"> + <source>The two values should be equal.</source> + <target>Оба Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ‹ быть одинаковыми.</target> + </trans-unit> + <trans-unit id="32"> + <source>The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>Файл Ñлишком большой. МакÑимально допуÑтимый размер {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="33"> + <source>The file is too large.</source> + <target>Файл Ñлишком большой.</target> + </trans-unit> + <trans-unit id="34"> + <source>The file could not be uploaded.</source> + <target>Файл не может быть загружен.</target> + </trans-unit> + <trans-unit id="35"> + <source>This value should be a valid number.</source> + <target>Значение должно быть чиÑлом.</target> + </trans-unit> + <trans-unit id="36"> + <source>This value is not a valid country.</source> + <target>Значение не ÑвлÑетÑÑ Ð´Ð¾Ð¿ÑƒÑтимой Ñтраной.</target> + </trans-unit> + <trans-unit id="37"> + <source>This file is not a valid image.</source> + <target>Файл не ÑвлÑетÑÑ Ð´Ð¾Ð¿ÑƒÑтимым форматом изображениÑ.</target> + </trans-unit> + <trans-unit id="38"> + <source>This is not a valid IP address.</source> + <target>Значение не ÑвлÑетÑÑ Ð´Ð¾Ð¿ÑƒÑтимым IP адреÑом.</target> + </trans-unit> + <trans-unit id="39"> + <source>This value is not a valid language.</source> + <target>Значение не ÑвлÑетÑÑ Ð´Ð¾Ð¿ÑƒÑтимым Ñзыком.</target> + </trans-unit> + <trans-unit id="40"> + <source>This value is not a valid locale.</source> + <target>Значение не ÑвлÑетÑÑ Ð´Ð¾Ð¿ÑƒÑтимой локалью.</target> + </trans-unit> + <trans-unit id="41"> + <source>This value is already used.</source> + <target>Ðто значение уже иÑпользуетÑÑ.</target> + </trans-unit> + <trans-unit id="42"> + <source>The size of the image could not be detected.</source> + <target>Ðе удалоÑÑŒ определить размер изображениÑ.</target> + </trans-unit> + <trans-unit id="43"> + <source>The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px.</source> + <target>Ширина Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ñлишком велика ({{ width }}px). МакÑимально допуÑÑ‚Ð¸Ð¼Ð°Ñ ÑˆÐ¸Ñ€Ð¸Ð½Ð° {{ max_width }}px.</target> + </trans-unit> + <trans-unit id="44"> + <source>The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px.</source> + <target>Ширина Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ñлишком мала ({{ width }}px). Минимально допуÑÑ‚Ð¸Ð¼Ð°Ñ ÑˆÐ¸Ñ€Ð¸Ð½Ð° {{ min_width }}px.</target> + </trans-unit> + <trans-unit id="45"> + <source>The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px.</source> + <target>Ð’Ñ‹Ñота Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ñлишком велика ({{ height }}px). МакÑимально допуÑÑ‚Ð¸Ð¼Ð°Ñ Ð²Ñ‹Ñота {{ max_height }}px.</target> + </trans-unit> + <trans-unit id="46"> + <source>The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px.</source> + <target>Ð’Ñ‹Ñота Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ñлишком мала ({{ height }}px). Минимально допуÑÑ‚Ð¸Ð¼Ð°Ñ Ð²Ñ‹Ñота {{ min_height }}px.</target> + </trans-unit> + <trans-unit id="47"> + <source>This value should be the user's current password.</source> + <target>Значение должно быть текущим паролем пользователÑ.</target> + </trans-unit> + <trans-unit id="48"> + <source>This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters.</source> + <target>Значение должно быть равно {{ limit }} Ñимволу.|Значение должно быть равно {{ limit }} Ñимволам.|Значение должно быть равно {{ limit }} Ñимволам.</target> + </trans-unit> + <trans-unit id="49"> + <source>The file was only partially uploaded.</source> + <target>Файл был загружен только чаÑтично.</target> + </trans-unit> + <trans-unit id="50"> + <source>No file was uploaded.</source> + <target>Файл не был загружен.</target> + </trans-unit> + <trans-unit id="51"> + <source>No temporary folder was configured in php.ini.</source> + <target>Ðе наÑтроена Ð²Ñ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ð² php.ini.</target> + </trans-unit> + <trans-unit id="52"> + <source>Cannot write temporary file to disk.</source> + <target>Ðевозможно запиÑать временный файл на диÑк.</target> + </trans-unit> + <trans-unit id="53"> + <source>A PHP extension caused the upload to fail.</source> + <target>РаÑширение PHP вызвало ошибку при загрузке.</target> + </trans-unit> + <trans-unit id="54"> + <source>This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more.</source> + <target>Ðта ÐºÐ¾Ð»Ð»ÐµÐºÑ†Ð¸Ñ Ð´Ð¾Ð»Ð¶Ð½Ð° Ñодержать {{ limit }} Ñлемент или больше.|Ðта ÐºÐ¾Ð»Ð»ÐµÐºÑ†Ð¸Ñ Ð´Ð¾Ð»Ð¶Ð½Ð° Ñодержать {{ limit }} Ñлемента или больше.|Ðта ÐºÐ¾Ð»Ð»ÐµÐºÑ†Ð¸Ñ Ð´Ð¾Ð»Ð¶Ð½Ð° Ñодержать {{ limit }} Ñлементов или больше.</target> + </trans-unit> + <trans-unit id="55"> + <source>This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less.</source> + <target>Ðта ÐºÐ¾Ð»Ð»ÐµÐºÑ†Ð¸Ñ Ð´Ð¾Ð»Ð¶Ð½Ð° Ñодержать {{ limit }} Ñлемент или меньше.|Ðта ÐºÐ¾Ð»Ð»ÐµÐºÑ†Ð¸Ñ Ð´Ð¾Ð»Ð¶Ð½Ð° Ñодержать {{ limit }} Ñлемента или меньше.|Ðта ÐºÐ¾Ð»Ð»ÐµÐºÑ†Ð¸Ñ Ð´Ð¾Ð»Ð¶Ð½Ð° Ñодержать {{ limit }} Ñлементов или меньше.</target> + </trans-unit> + <trans-unit id="56"> + <source>This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements.</source> + <target>Ðта ÐºÐ¾Ð»Ð»ÐµÐºÑ†Ð¸Ñ Ð´Ð¾Ð»Ð¶Ð½Ð° Ñодержать ровно {{ limit }} Ñлемент.|Ðта ÐºÐ¾Ð»Ð»ÐµÐºÑ†Ð¸Ñ Ð´Ð¾Ð»Ð¶Ð½Ð° Ñодержать ровно {{ limit }} Ñлемента.|Ðта ÐºÐ¾Ð»Ð»ÐµÐºÑ†Ð¸Ñ Ð´Ð¾Ð»Ð¶Ð½Ð° Ñодержать ровно {{ limit }} Ñлементов.</target> + </trans-unit> + <trans-unit id="57"> + <source>Invalid card number.</source> + <target>Ðеверный номер карты.</target> + </trans-unit> + <trans-unit id="58"> + <source>Unsupported card type or invalid card number.</source> + <target>Ðеподдерживаемый тип или неверный номер карты.</target> + </trans-unit> + <trans-unit id="59"> + <source>This is not a valid International Bank Account Number (IBAN).</source> + <target>Значение не ÑвлÑетÑÑ Ð´Ð¾Ð¿ÑƒÑтимым международным номером банковÑкого Ñчета (IBAN).</target> + </trans-unit> + <trans-unit id="60"> + <source>This value is not a valid ISBN-10.</source> + <target>Значение имеет неверный формат ISBN-10.</target> + </trans-unit> + <trans-unit id="61"> + <source>This value is not a valid ISBN-13.</source> + <target>Значение имеет неверный формат ISBN-13.</target> + </trans-unit> + <trans-unit id="62"> + <source>This value is neither a valid ISBN-10 nor a valid ISBN-13.</source> + <target>Значение не ÑоответÑтвует форматам ISBN-10 и ISBN-13.</target> + </trans-unit> + <trans-unit id="63"> + <source>This value is not a valid ISSN.</source> + <target>Значение не ÑоответÑтвует формату ISSN.</target> + </trans-unit> + <trans-unit id="64"> + <source>This value is not a valid currency.</source> + <target>Ðекорректный формат валюты.</target> + </trans-unit> + <trans-unit id="65"> + <source>This value should be equal to {{ compared_value }}.</source> + <target>Значение должно быть равно {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="66"> + <source>This value should be greater than {{ compared_value }}.</source> + <target>Значение должно быть больше чем {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="67"> + <source>This value should be greater than or equal to {{ compared_value }}.</source> + <target>Значение должно быть больше или равно {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="68"> + <source>This value should be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>Значение должно быть идентичным {{ compared_value_type }} {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="69"> + <source>This value should be less than {{ compared_value }}.</source> + <target>Значение должно быть меньше чем {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="70"> + <source>This value should be less than or equal to {{ compared_value }}.</source> + <target>Значение должно быть меньше или равно {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="71"> + <source>This value should not be equal to {{ compared_value }}.</source> + <target>Значение не должно быть равно {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="72"> + <source>This value should not be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>Значение не должно быть идентичным {{ compared_value_type }} {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="73"> + <source>The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}.</source> + <target>Соотношение Ñторон Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ñлишком велико ({{ ratio }}). МакÑимальное Ñоотношение Ñторон {{ max_ratio }}.</target> + </trans-unit> + <trans-unit id="74"> + <source>The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}.</source> + <target>Соотношение Ñторон Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ñлишком мало ({{ ratio }}). Минимальное Ñоотношение Ñторон {{ min_ratio }}.</target> + </trans-unit> + <trans-unit id="75"> + <source>The image is square ({{ width }}x{{ height }}px). Square images are not allowed.</source> + <target>Изображение квадратное ({{ width }}x{{ height }}px). Квадратные Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð½Ðµ разрешены.</target> + </trans-unit> + <trans-unit id="76"> + <source>The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed.</source> + <target>Изображение в альбомной ориентации ({{ width }}x{{ height }}px). Ð˜Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð² альбомной ориентации не разрешены.</target> + </trans-unit> + <trans-unit id="77"> + <source>The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed.</source> + <target>Изображение в портретной ориентации ({{ width }}x{{ height }}px). Ð˜Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð² портретной ориентации не разрешены.</target> + </trans-unit> + <trans-unit id="78"> + <source>An empty file is not allowed.</source> + <target>ПуÑтые файлы не разрешены.</target> + </trans-unit> + <trans-unit id="79"> + <source>The host could not be resolved.</source> + <target>Ð˜Ð¼Ñ Ñ…Ð¾Ñта не может быть разрешено.</target> + </trans-unit> + <trans-unit id="80"> + <source>This value does not match the expected {{ charset }} charset.</source> + <target>Значение не Ñовпадает Ñ Ð¾Ð¶Ð¸Ð´Ð°ÐµÐ¼Ð¾Ð¹ {{ charset }} кодировкой.</target> + </trans-unit> + </body> + </file> +</xliff> diff --git a/core/vendor/symfony/validator/Resources/translations/validators.sk.xlf b/core/vendor/symfony/validator/Resources/translations/validators.sk.xlf new file mode 100644 index 0000000000000000000000000000000000000000..46f3ec38452aa641c01baff8a1b420f782e82d95 --- /dev/null +++ b/core/vendor/symfony/validator/Resources/translations/validators.sk.xlf @@ -0,0 +1,307 @@ +<?xml version="1.0"?> +<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2"> + <file source-language="en" datatype="plaintext" original="file.ext"> + <body> + <trans-unit id="1"> + <source>This value should be false.</source> + <target>Táto hodnota by mala byÅ¥ nastavená na false.</target> + </trans-unit> + <trans-unit id="2"> + <source>This value should be true.</source> + <target>Táto hodnota by mala byÅ¥ nastavená na true.</target> + </trans-unit> + <trans-unit id="3"> + <source>This value should be of type {{ type }}.</source> + <target>Táto hodnota by mala byÅ¥ typu {{ type }}.</target> + </trans-unit> + <trans-unit id="4"> + <source>This value should be blank.</source> + <target>Táto hodnota by mala byÅ¥ prázdna.</target> + </trans-unit> + <trans-unit id="5"> + <source>The value you selected is not a valid choice.</source> + <target>Táto hodnota by mala byÅ¥ jednou z poskytnutých možnostÃ.</target> + </trans-unit> + <trans-unit id="6"> + <source>You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices.</source> + <target>Mali by ste vybraÅ¥ minimálne {{ limit }} možnosÅ¥.|Mali by ste vybraÅ¥ minimálne {{ limit }} možnosti.|Mali by ste vybraÅ¥ minimálne {{ limit }} možnostÃ.</target> + </trans-unit> + <trans-unit id="7"> + <source>You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices.</source> + <target>Mali by ste vybraÅ¥ najviac {{ limit }} možnosÅ¥.|Mali by ste vybraÅ¥ najviac {{ limit }} možnosti.|Mali by ste vybraÅ¥ najviac {{ limit }} možnostÃ.</target> + </trans-unit> + <trans-unit id="8"> + <source>One or more of the given values is invalid.</source> + <target>Niektoré z uvedených hodnôt sú neplatné.</target> + </trans-unit> + <trans-unit id="9"> + <source>This field was not expected.</source> + <target>Toto pole sa neoÄakáva.</target> + </trans-unit> + <trans-unit id="10"> + <source>This field is missing.</source> + <target>Toto pole chýba.</target> + </trans-unit> + <trans-unit id="11"> + <source>This value is not a valid date.</source> + <target>Tato hodnota nemá platný formát dátumu.</target> + </trans-unit> + <trans-unit id="12"> + <source>This value is not a valid datetime.</source> + <target>Táto hodnota nemá platný formát dátumu a Äasu.</target> + </trans-unit> + <trans-unit id="13"> + <source>This value is not a valid email address.</source> + <target>Táto hodnota nie je platná emailová adresa.</target> + </trans-unit> + <trans-unit id="14"> + <source>The file could not be found.</source> + <target>Súbor sa nenaÅ¡iel.</target> + </trans-unit> + <trans-unit id="15"> + <source>The file is not readable.</source> + <target>Súbor nie je Äitateľný.</target> + </trans-unit> + <trans-unit id="16"> + <source>The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>Súbor je prÃliÅ¡ veľký ({{ size }} {{ suffix }}). Maximálna povolená veľkosÅ¥ je {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="17"> + <source>The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}.</source> + <target>Súbor typu ({{ type }}) nie je podporovaný. Podporované typy sú {{ types }}.</target> + </trans-unit> + <trans-unit id="18"> + <source>This value should be {{ limit }} or less.</source> + <target>Táto hodnota by mala byÅ¥ {{ limit }} alebo menej.</target> + </trans-unit> + <trans-unit id="19"> + <source>This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less.</source> + <target>Táto hodnota obsahuje viac znakov ako je povolené. Mala by obsahovaÅ¥ najviac {{ limit }} znak.|Táto hodnota obsahuje viac znakov ako je povolené. Mala by obsahovaÅ¥ najviac {{ limit }} znaky.|Táto hodnota obsahuje viac znakov ako je povolené. Mala by obsahovaÅ¥ najviac {{ limit }} znakov.</target> + </trans-unit> + <trans-unit id="20"> + <source>This value should be {{ limit }} or more.</source> + <target>Táto hodnota by mala byÅ¥ viac ako {{ limit }}.</target> + </trans-unit> + <trans-unit id="21"> + <source>This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more.</source> + <target>Táto hodnota je prÃliÅ¡ krátka. Musà obsahovaÅ¥ minimálne {{ limit }} znak.|Táto hodnota je prÃliÅ¡ krátka. Musà obsahovaÅ¥ minimálne {{ limit }} znaky.|Táto hodnota je prÃliÅ¡ krátka. Minimálny poÄet znakov je {{ limit }}.</target> + </trans-unit> + <trans-unit id="22"> + <source>This value should not be blank.</source> + <target>Táto hodnota by mala byÅ¥ vyplnená.</target> + </trans-unit> + <trans-unit id="23"> + <source>This value should not be null.</source> + <target>Táto hodnota by nemala byÅ¥ null.</target> + </trans-unit> + <trans-unit id="24"> + <source>This value should be null.</source> + <target>Táto hodnota by mala byÅ¥ null.</target> + </trans-unit> + <trans-unit id="25"> + <source>This value is not valid.</source> + <target>Táto hodnota nie je platná.</target> + </trans-unit> + <trans-unit id="26"> + <source>This value is not a valid time.</source> + <target>Tato hodnota nemá správny formát Äasu.</target> + </trans-unit> + <trans-unit id="27"> + <source>This value is not a valid URL.</source> + <target>Táto hodnota nie je platnou URL adresou.</target> + </trans-unit> + <trans-unit id="31"> + <source>The two values should be equal.</source> + <target>Tieto dve hodnoty by mali byÅ¥ rovnaké.</target> + </trans-unit> + <trans-unit id="32"> + <source>The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>Súbor je prÃliÅ¡ veľký. Maximálna povolená veľkosÅ¥ je {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="33"> + <source>The file is too large.</source> + <target>Súbor je prÃliÅ¡ veľký.</target> + </trans-unit> + <trans-unit id="34"> + <source>The file could not be uploaded.</source> + <target>Súbor sa nepodarilo nahraÅ¥.</target> + </trans-unit> + <trans-unit id="35"> + <source>This value should be a valid number.</source> + <target>Táto hodnota by mala byÅ¥ ÄÃslo.</target> + </trans-unit> + <trans-unit id="36"> + <source>This file is not a valid image.</source> + <target>Tento súbor nie je obrázok.</target> + </trans-unit> + <trans-unit id="37"> + <source>This is not a valid IP address.</source> + <target>Toto nie je platná IP adresa.</target> + </trans-unit> + <trans-unit id="38"> + <source>This value is not a valid language.</source> + <target>Tento jazyk neexistuje.</target> + </trans-unit> + <trans-unit id="39"> + <source>This value is not a valid locale.</source> + <target>Táto lokalizácia neexistuje.</target> + </trans-unit> + <trans-unit id="40"> + <source>This value is not a valid country.</source> + <target>Táto krajina neexistuje.</target> + </trans-unit> + <trans-unit id="41"> + <source>This value is already used.</source> + <target>Táto hodnota sa už použÃva.</target> + </trans-unit> + <trans-unit id="42"> + <source>The size of the image could not be detected.</source> + <target>Nepodarilo sa zistiÅ¥ rozmery obrázku.</target> + </trans-unit> + <trans-unit id="43"> + <source>The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px.</source> + <target>Obrázok je prÃliÅ¡ Å¡iroký ({{ width }}px). Maximálna povolená Å¡Ãrka obrázku je {{ max_width }}px.</target> + </trans-unit> + <trans-unit id="44"> + <source>The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px.</source> + <target>Obrázok je prÃliÅ¡ úzky ({{ width }}px). Minimálna Å¡Ãrka obrázku by mala byÅ¥ {{ min_width }}px.</target> + </trans-unit> + <trans-unit id="45"> + <source>The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px.</source> + <target>>Obrázok je prÃliÅ¡ vysoký ({{ height }}px). Maximálna povolená výška obrázku je {{ max_height }}px.</target> + </trans-unit> + <trans-unit id="46"> + <source>The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px.</source> + <target>Obrázok je prÃliÅ¡ nÃzky ({{ height }}px). Minimálna výška obrázku by mala byÅ¥ {{ min_height }}px.</target> + </trans-unit> + <trans-unit id="47"> + <source>This value should be the user's current password.</source> + <target>Táto hodnota by mala byÅ¥ aktuálne heslo použÃvateľa.</target> + </trans-unit> + <trans-unit id="48"> + <source>This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters.</source> + <target>Táto hodnota by mala maÅ¥ presne {{ limit }} znak.|Táto hodnota by mala maÅ¥ presne {{ limit }} znaky.|Táto hodnota by mala maÅ¥ presne {{ limit }} znakov.</target> + </trans-unit> + <trans-unit id="49"> + <source>The file was only partially uploaded.</source> + <target>Bola nahraná len ÄasÅ¥ súboru.</target> + </trans-unit> + <trans-unit id="50"> + <source>No file was uploaded.</source> + <target>Žiadny súbor nebol nahraný.</target> + </trans-unit> + <trans-unit id="51"> + <source>No temporary folder was configured in php.ini.</source> + <target>V php.ini nie je nastavená cesta k adresáru pre doÄasné súbory.</target> + </trans-unit> + <trans-unit id="52"> + <source>Cannot write temporary file to disk.</source> + <target>DoÄasný súbor sa nepodarilo zapÃsaÅ¥ na disk.</target> + </trans-unit> + <trans-unit id="53"> + <source>A PHP extension caused the upload to fail.</source> + <target>RozÅ¡Ãrenie PHP zabránilo nahraniu súboru.</target> + </trans-unit> + <trans-unit id="54"> + <source>This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more.</source> + <target>Táto kolekcia by mala obsahovaÅ¥ aspoň {{ limit }} prvok alebo viac.|Táto kolekcia by mala obsahovaÅ¥ aspoň {{ limit }} prvky alebo viac.|Táto kolekcia by mala obsahovaÅ¥ aspoň {{ limit }} prvkov alebo viac.</target> + </trans-unit> + <trans-unit id="55"> + <source>This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less.</source> + <target>Táto kolekcia by mala maximálne {{ limit }} prvok.|Táto kolekcia by mala obsahovaÅ¥ maximálne {{ limit }} prvky.|Táto kolekcia by mala obsahovaÅ¥ maximálne {{ limit }} prvkov.</target> + </trans-unit> + <trans-unit id="56"> + <source>This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements.</source> + <target>Táto kolekcia by mala obsahovaÅ¥ presne {{ limit }} prvok.|Táto kolekcia by mala obsahovaÅ¥ presne {{ limit }} prvky.|Táto kolekcia by mala obsahovaÅ¥ presne {{ limit }} prvkov.</target> + </trans-unit> + <trans-unit id="57"> + <source>Invalid card number.</source> + <target>Neplatné ÄÃslo karty.</target> + </trans-unit> + <trans-unit id="58"> + <source>Unsupported card type or invalid card number.</source> + <target>Nepodporovaný typ karty alebo neplatné ÄÃslo karty.</target> + </trans-unit> + <trans-unit id="59"> + <source>This is not a valid International Bank Account Number (IBAN).</source> + <target>Toto je neplatný IBAN.</target> + </trans-unit> + <trans-unit id="60"> + <source>This value is not a valid ISBN-10.</source> + <target>Táto hodnota je neplatné ISBN-10.</target> + </trans-unit> + <trans-unit id="61"> + <source>This value is not a valid ISBN-13.</source> + <target>Táto hodnota je neplatné ISBN-13.</target> + </trans-unit> + <trans-unit id="62"> + <source>This value is neither a valid ISBN-10 nor a valid ISBN-13.</source> + <target>Táto hodnota nie je platné ISBN-10 ani ISBN-13.</target> + </trans-unit> + <trans-unit id="63"> + <source>This value is not a valid ISSN.</source> + <target>Táto hodnota nie je platné ISSN.</target> + </trans-unit> + <trans-unit id="64"> + <source>This value is not a valid currency.</source> + <target>Táto hodnota nie je platná mena.</target> + </trans-unit> + <trans-unit id="65"> + <source>This value should be equal to {{ compared_value }}.</source> + <target>Táto hodnota by mala byÅ¥ rovná {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="66"> + <source>This value should be greater than {{ compared_value }}.</source> + <target>Táto hodnota by mala byÅ¥ väÄÅ¡ia ako {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="67"> + <source>This value should be greater than or equal to {{ compared_value }}.</source> + <target>Táto hodnota by mala byÅ¥ väÄÅ¡ia alebo rovná {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="68"> + <source>This value should be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>Táto hodnota by mala byÅ¥ typu {{ compared_value_type }} a zároveň by mala byÅ¥ rovná {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="69"> + <source>This value should be less than {{ compared_value }}.</source> + <target>Táto hodnota by mala byÅ¥ menÅ¡ia ako {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="70"> + <source>This value should be less than or equal to {{ compared_value }}.</source> + <target>Táto hodnota by mala byÅ¥ menÅ¡ia alebo rovná {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="71"> + <source>This value should not be equal to {{ compared_value }}.</source> + <target>Táto hodnota by nemala byÅ¥ rovná {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="72"> + <source>This value should not be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>Táto hodnota by nemala byÅ¥ typu {{ compared_value_type }} a zároveň by nemala byÅ¥ rovná {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="73"> + <source>The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}.</source> + <target>Pomer strán obrázku je prÃliÅ¡ veľký ({{ ratio }}). Maximálny povolený pomer strán obrázku je {{ max_ratio }}.</target> + </trans-unit> + <trans-unit id="74"> + <source>The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}.</source> + <target>Pomer strán obrázku je prÃliÅ¡ malý ({{ ratio }}). Minimálny povolený pomer strán obrázku je {{ min_ratio }}.</target> + </trans-unit> + <trans-unit id="75"> + <source>The image is square ({{ width }}x{{ height }}px). Square images are not allowed.</source> + <target>Strany obrázku sú Å¡tvorcové ({{ width }}x{{ height }}px). Å tvorcové obrázky nie sú povolené.</target> + </trans-unit> + <trans-unit id="76"> + <source>The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed.</source> + <target>Obrázok je orientovaný na Å¡Ãrku ({{ width }}x{{ height }}px). Obrázky orientované na Å¡Ãrku nie sú povolené.</target> + </trans-unit> + <trans-unit id="77"> + <source>The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed.</source> + <target>Obrázok je orientovaný na výšku ({{ width }}x{{ height }}px). Obrázky orientované na výšku nie sú povolené.</target> + </trans-unit> + <trans-unit id="78"> + <source>An empty file is not allowed.</source> + <target>Súbor nesmie byÅ¥ prázdny.</target> + </trans-unit> + </body> + </file> +</xliff> diff --git a/core/vendor/symfony/validator/Resources/translations/validators.sl.xlf b/core/vendor/symfony/validator/Resources/translations/validators.sl.xlf new file mode 100644 index 0000000000000000000000000000000000000000..4f0e7c6364e37c8ed803ece6750ba6ce63da6047 --- /dev/null +++ b/core/vendor/symfony/validator/Resources/translations/validators.sl.xlf @@ -0,0 +1,315 @@ +<?xml version="1.0"?> +<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2"> + <file source-language="en" datatype="plaintext" original="file.ext"> + <body> + <trans-unit id="1"> + <source>This value should be false.</source> + <target>Vrednost bi morala biti nepravilna (false).</target> + </trans-unit> + <trans-unit id="2"> + <source>This value should be true.</source> + <target>Vrednost bi morala biti pravilna (true).</target> + </trans-unit> + <trans-unit id="3"> + <source>This value should be of type {{ type }}.</source> + <target>Vrednost mora biti naslednjega tipa {{ type }}.</target> + </trans-unit> + <trans-unit id="4"> + <source>This value should be blank.</source> + <target>Vrednost mora biti prazna.</target> + </trans-unit> + <trans-unit id="5"> + <source>The value you selected is not a valid choice.</source> + <target>Vrednost, ki ste jo izbrali, ni veljavna možnost.</target> + </trans-unit> + <trans-unit id="6"> + <source>You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices.</source> + <target>Izbrati morate vsaj {{ limit }} možnost.|Izbrati morate vsaj {{ limit }} možnosti.|Izbrati morate vsaj {{ limit }} možnosti.|Izbrati morate vsaj {{ limit }} možnosti.</target> + </trans-unit> + <trans-unit id="7"> + <source>You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices.</source> + <target>Izberete lahko najveÄ {{ limit }} možnost.|Izberete lahko najveÄ {{ limit }} možnosti.|Izberete lahko najveÄ {{ limit }} možnosti.|Izberete lahko najveÄ {{ limit }} možnosti.</target> + </trans-unit> + <trans-unit id="8"> + <source>One or more of the given values is invalid.</source> + <target>Ena ali veÄ podanih vrednosti ni veljavnih.</target> + </trans-unit> + <trans-unit id="9"> + <source>This field was not expected.</source> + <target>To polje ni bilo priÄakovati.</target> + </trans-unit> + <trans-unit id="10"> + <source>This field is missing.</source> + <target>To polje manjka.</target> + </trans-unit> + <trans-unit id="11"> + <source>This value is not a valid date.</source> + <target>Ta vrednost ni veljaven datum.</target> + </trans-unit> + <trans-unit id="12"> + <source>This value is not a valid datetime.</source> + <target>Ta vrednost ni veljaven datum in Äas.</target> + </trans-unit> + <trans-unit id="13"> + <source>This value is not a valid email address.</source> + <target>Ta vrednost ni veljaven e-poÅ¡tni naslov.</target> + </trans-unit> + <trans-unit id="14"> + <source>The file could not be found.</source> + <target>Datoteke ni mogoÄe najti.</target> + </trans-unit> + <trans-unit id="15"> + <source>The file is not readable.</source> + <target>Datoteke ni mogoÄe prebrati.</target> + </trans-unit> + <trans-unit id="16"> + <source>The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>Datoteka je prevelika ({{ size }} {{ suffix }}). NajveÄja dovoljena velikost je {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="17"> + <source>The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}.</source> + <target>Mime tip datoteke je neveljaven ({{ type }}). Dovoljeni mime tipi so {{ types }}.</target> + </trans-unit> + <trans-unit id="18"> + <source>This value should be {{ limit }} or less.</source> + <target>Ta vrednost bi morala biti {{ limit }} ali manj.</target> + </trans-unit> + <trans-unit id="19"> + <source>This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less.</source> + <target>Ta vrednost je predolga. Morala bi imeti {{ limit }} znak ali manj.|Ta vrednost je predolga. Morala bi imeti {{ limit }} znaka ali manj.|Ta vrednost je predolga. Morala bi imeti {{ limit }} znake ali manj.|Ta vrednost je predolga. Morala bi imeti {{ limit }} znakov ali manj.</target> + </trans-unit> + <trans-unit id="20"> + <source>This value should be {{ limit }} or more.</source> + <target>Ta vrednost bi morala biti {{ limit }} ali veÄ.</target> + </trans-unit> + <trans-unit id="21"> + <source>This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more.</source> + <target>Ta vrednost je prekratka. Morala bi imeti {{ limit }} znak ali veÄ.|Ta vrednost je prekratka. Morala bi imeti {{ limit }} znaka ali veÄ.|Ta vrednost je prekratka. Morala bi imeti {{ limit }} znake ali veÄ.|Ta vrednost je prekratka. Morala bi imeti {{ limit }} znakov ali veÄ.</target> + </trans-unit> + <trans-unit id="22"> + <source>This value should not be blank.</source> + <target>Ta vrednost ne bi smela biti prazna.</target> + </trans-unit> + <trans-unit id="23"> + <source>This value should not be null.</source> + <target>Ta vrednost ne bi smela biti nedefinirana (null).</target> + </trans-unit> + <trans-unit id="24"> + <source>This value should be null.</source> + <target>Ta vrednost bi morala biti nedefinirana (null).</target> + </trans-unit> + <trans-unit id="25"> + <source>This value is not valid.</source> + <target>Ta vrednost ni veljavna.</target> + </trans-unit> + <trans-unit id="26"> + <source>This value is not a valid time.</source> + <target>Ta vrednost ni veljaven Äas.</target> + </trans-unit> + <trans-unit id="27"> + <source>This value is not a valid URL.</source> + <target>Ta vrednost ni veljaven URL.</target> + </trans-unit> + <trans-unit id="31"> + <source>The two values should be equal.</source> + <target>Ti dve vrednosti bi morali biti enaki.</target> + </trans-unit> + <trans-unit id="32"> + <source>The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>Datoteka je prevelika. NajveÄja dovoljena velikost je {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="33"> + <source>The file is too large.</source> + <target>Datoteka je prevelika.</target> + </trans-unit> + <trans-unit id="34"> + <source>The file could not be uploaded.</source> + <target>Datoteke ni bilo mogoÄe naložiti.</target> + </trans-unit> + <trans-unit id="35"> + <source>This value should be a valid number.</source> + <target>Ta vrednost bi morala biti veljavna Å¡tevilka.</target> + </trans-unit> + <trans-unit id="36"> + <source>This file is not a valid image.</source> + <target>Ta datoteka ni veljavna slika.</target> + </trans-unit> + <trans-unit id="37"> + <source>This is not a valid IP address.</source> + <target>To ni veljaven IP naslov.</target> + </trans-unit> + <trans-unit id="38"> + <source>This value is not a valid language.</source> + <target>Ta vrednost ni veljaven jezik.</target> + </trans-unit> + <trans-unit id="39"> + <source>This value is not a valid locale.</source> + <target>Ta vrednost ni veljavna lokalnost.</target> + </trans-unit> + <trans-unit id="40"> + <source>This value is not a valid country.</source> + <target>Ta vrednost ni veljavna država.</target> + </trans-unit> + <trans-unit id="41"> + <source>This value is already used.</source> + <target>Ta vrednost je že uporabljena.</target> + </trans-unit> + <trans-unit id="42"> + <source>The size of the image could not be detected.</source> + <target>Velikosti slike ni bilo mogoÄe zaznati.</target> + </trans-unit> + <trans-unit id="43"> + <source>The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px.</source> + <target>Å irina slike je preÅ¡iroka ({{ width }}px). NajveÄja dovoljena Å¡irina je {{ max_width }}px.</target> + </trans-unit> + <trans-unit id="44"> + <source>The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px.</source> + <target>Å irina slike je premajhna ({{ width }}px). NajmanjÅ¡a predvidena Å¡irina je {{ min_width }}px.</target> + </trans-unit> + <trans-unit id="45"> + <source>The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px.</source> + <target>ViÅ¡ina slike je prevelika ({{ height }}px). NajveÄja dovoljena viÅ¡ina je {{ max_height }}px.</target> + </trans-unit> + <trans-unit id="46"> + <source>The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px.</source> + <target>ViÅ¡ina slike je premajhna ({{ height }}px). NajmanjÅ¡a predvidena viÅ¡ina je {{ min_height }}px.</target> + </trans-unit> + <trans-unit id="47"> + <source>This value should be the user's current password.</source> + <target>Ta vrednost bi morala biti trenutno uporabnikovo geslo.</target> + </trans-unit> + <trans-unit id="48"> + <source>This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters.</source> + <target>Ta vrednost bi morala imeti toÄno {{ limit }} znak.|Ta vrednost bi morala imeti toÄno {{ limit }} znaka.|Ta vrednost bi morala imeti toÄno {{ limit }} znake.|Ta vrednost bi morala imeti toÄno {{ limit }} znakov.</target> + </trans-unit> + <trans-unit id="49"> + <source>The file was only partially uploaded.</source> + <target>Datoteka je bila le delno naložena.</target> + </trans-unit> + <trans-unit id="50"> + <source>No file was uploaded.</source> + <target>Nobena datoteka ni bila naložena.</target> + </trans-unit> + <trans-unit id="51"> + <source>No temporary folder was configured in php.ini.</source> + <target>ZaÄasna mapa ni nastavljena v php.ini.</target> + </trans-unit> + <trans-unit id="52"> + <source>Cannot write temporary file to disk.</source> + <target>ZaÄasne datoteke ni bilo mogoÄe zapisati na disk.</target> + </trans-unit> + <trans-unit id="53"> + <source>A PHP extension caused the upload to fail.</source> + <target>PHP razÅ¡iritev je vzrok, da nalaganje ni uspelo.</target> + </trans-unit> + <trans-unit id="54"> + <source>This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more.</source> + <target>Ta zbirka bi morala vsebovati {{ limit }} element ali veÄ.|Ta zbirka bi morala vsebovati {{ limit }} elementa ali veÄ.|Ta zbirka bi morala vsebovati {{ limit }} elemente ali veÄ.|Ta zbirka bi morala vsebovati {{ limit }} elementov ali veÄ.</target> + </trans-unit> + <trans-unit id="55"> + <source>This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less.</source> + <target>Ta zbirka bi morala vsebovati {{ limit }} element ali manj.|Ta zbirka bi morala vsebovati {{ limit }} elementa ali manj.|Ta zbirka bi morala vsebovati {{ limit }} elemente ali manj.|Ta zbirka bi morala vsebovati {{ limit }} elementov ali manj.</target> + </trans-unit> + <trans-unit id="56"> + <source>This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements.</source> + <target>Ta zbirka bi morala vsebovati toÄno {{ limit }} element.|Ta zbirka bi morala vsebovati toÄno {{ limit }} elementa.|Ta zbirka bi morala vsebovati toÄno {{ limit }} elemente.|Ta zbirka bi morala vsebovati toÄno {{ limit }} elementov.</target> + </trans-unit> + <trans-unit id="57"> + <source>Invalid card number.</source> + <target>Neveljavna Å¡tevilka kartice.</target> + </trans-unit> + <trans-unit id="58"> + <source>Unsupported card type or invalid card number.</source> + <target>Nepodprti tip kartice ali neveljavna Å¡tevilka kartice.</target> + </trans-unit> + <trans-unit id="59"> + <source>This is not a valid International Bank Account Number (IBAN).</source> + <target>To ni veljavna mednarodna Å¡tevilka banÄnega raÄuna (IBAN).</target> + </trans-unit> + <trans-unit id="60"> + <source>This value is not a valid ISBN-10.</source> + <target>Neveljavna vrednost po ISBN-10.</target> + </trans-unit> + <trans-unit id="61"> + <source>This value is not a valid ISBN-13.</source> + <target>Neveljavna vrednost po ISBN-13.</target> + </trans-unit> + <trans-unit id="62"> + <source>This value is neither a valid ISBN-10 nor a valid ISBN-13.</source> + <target>Neveljavna vrednost po ISBN-10 ali po ISBN-13.</target> + </trans-unit> + <trans-unit id="63"> + <source>This value is not a valid ISSN.</source> + <target>Neveljavna vrednost ISSN.</target> + </trans-unit> + <trans-unit id="64"> + <source>This value is not a valid currency.</source> + <target>Ta vrednost ni veljavna valuta.</target> + </trans-unit> + <trans-unit id="65"> + <source>This value should be equal to {{ compared_value }}.</source> + <target>Ta vrednost bi morala biti enaka {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="66"> + <source>This value should be greater than {{ compared_value }}.</source> + <target>Ta vrednost bi morala biti veÄja od {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="67"> + <source>This value should be greater than or equal to {{ compared_value }}.</source> + <target>Ta vrednost bi morala biti veÄja ali enaka {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="68"> + <source>This value should be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>Ta vrednost bi morala biti identiÄna {{ compared_value_type }} {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="69"> + <source>This value should be less than {{ compared_value }}.</source> + <target>Ta vrednost bi morala biti manjÅ¡a od {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="70"> + <source>This value should be less than or equal to {{ compared_value }}.</source> + <target>Ta vrednost bi morala biti manjÅ¡a ali enaka {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="71"> + <source>This value should not be equal to {{ compared_value }}.</source> + <target>Ta vrednost ne bi smela biti enaka {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="72"> + <source>This value should not be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>Ta vrednost ne bi smela biti identiÄna {{ compared_value_type }} {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="73"> + <source>The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}.</source> + <target>Razmerje slike je preveliko ({{ ratio }}). NajveÄje dovoljeno razmerje je {{ max_ratio }}.</target> + </trans-unit> + <trans-unit id="74"> + <source>The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}.</source> + <target>Razmerje slike je premajhno ({{ ratio }}). NajmanjÅ¡e priÄakovano razmerje je {{ min_ratio }}.</target> + </trans-unit> + <trans-unit id="75"> + <source>The image is square ({{ width }}x{{ height }}px). Square images are not allowed.</source> + <target>Slika je kvadrat ({{ width }}x{{ height }}px). Kvadratne slike niso dovoljene.</target> + </trans-unit> + <trans-unit id="76"> + <source>The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed.</source> + <target>Slika je ležeÄe usmerjena ({{ width }}x{{ height }}px). LežeÄe usmerjene slike niso dovoljene.</target> + </trans-unit> + <trans-unit id="77"> + <source>The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed.</source> + <target>Slika je pokonÄno usmerjena ({{ width }}x{{ height }}px). PokonÄno usmerjene slike niso dovoljene.</target> + </trans-unit> + <trans-unit id="78"> + <source>An empty file is not allowed.</source> + <target>Prazna datoteka ni dovoljena.</target> + </trans-unit> + <trans-unit id="79"> + <source>The host could not be resolved.</source> + <target>Gostitelja ni bilo mogoÄe prepoznati.</target> + </trans-unit> + <trans-unit id="80"> + <source>This value does not match the expected {{ charset }} charset.</source> + <target>Ta vrednost se ne ujema s priÄakovanim naborom znakov {{ charset }}.</target> + </trans-unit> + </body> + </file> +</xliff> diff --git a/core/vendor/symfony/validator/Resources/translations/validators.sq.xlf b/core/vendor/symfony/validator/Resources/translations/validators.sq.xlf new file mode 100644 index 0000000000000000000000000000000000000000..ffc8ccf2f9831daadd85ac8f5b954e7872fd9d22 --- /dev/null +++ b/core/vendor/symfony/validator/Resources/translations/validators.sq.xlf @@ -0,0 +1,227 @@ +<?xml version="1.0"?> +<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2"> + <file source-language="en" datatype="plaintext" original="file.ext"> + <body> + <trans-unit id="1"> + <source>This value should be false.</source> + <target>Kjo vlerë duhet të jetë e pavërtetë (false).</target> + </trans-unit> + <trans-unit id="2"> + <source>This value should be true.</source> + <target>Kjo vlerë duhet të jetë e vërtetë (true).</target> + </trans-unit> + <trans-unit id="3"> + <source>This value should be of type {{ type }}.</source> + <target>Kjo vlerë duhet të jetë e llojit {{ type }}.</target> + </trans-unit> + <trans-unit id="4"> + <source>This value should be blank.</source> + <target>Kjo vlerë duhet të jetë e zbrazët.</target> + </trans-unit> + <trans-unit id="5"> + <source>The value you selected is not a valid choice.</source> + <target>Vlera që keni zgjedhur nuk është alternativë e vlefshme.</target> + </trans-unit> + <trans-unit id="6"> + <source>You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices.</source> + <target>Duhet të zgjedhni së paku {{ limit }} alternativa.|Duhet të zgjedhni së paku {{ limit }} alternativa.</target> + </trans-unit> + <trans-unit id="7"> + <source>You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices.</source> + <target>Duhet të zgjedhni më së shumti {{ limit }} alternativa.|Duhet të zgjedhni më së shumti {{ limit }} alternativa.</target> + </trans-unit> + <trans-unit id="8"> + <source>One or more of the given values is invalid.</source> + <target>Një apo më shumë nga vlerat e dhëna nuk janë të sakta.</target> + </trans-unit> + <trans-unit id="9"> + <source>This field was not expected.</source> + <target>Kjo fushë nuk pritej.</target> + </trans-unit> + <trans-unit id="10"> + <source>This field is missing.</source> + <target>Kjo fushë është zhdukur.</target> + </trans-unit> + <trans-unit id="11"> + <source>This value is not a valid date.</source> + <target>Kjo vlerë nuk është datë e vlefshme.</target> + </trans-unit> + <trans-unit id="12"> + <source>This value is not a valid datetime.</source> + <target>Kjo vlerë nuk është datë-kohë e vlefshme.</target> + </trans-unit> + <trans-unit id="13"> + <source>This value is not a valid email address.</source> + <target>Kjo vlerë nuk është e-mail adresë e vlefshme.</target> + </trans-unit> + <trans-unit id="14"> + <source>The file could not be found.</source> + <target>File nuk mund të gjindej.</target> + </trans-unit> + <trans-unit id="15"> + <source>The file is not readable.</source> + <target>File nuk është i lexueshëm.</target> + </trans-unit> + <trans-unit id="16"> + <source>The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>File është shumë i madh ({{ size }} {{ suffix }}). Madhësia më e madhe e lejuar është {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="17"> + <source>The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}.</source> + <target>Lloji mime i files nuk është i vlefshëm ({{ type }}). Llojet mime të lejuara janë {{ types }}.</target> + </trans-unit> + <trans-unit id="18"> + <source>This value should be {{ limit }} or less.</source> + <target>Kjo vlerë duhet të jetë {{ limit }} ose më pak.</target> + </trans-unit> + <trans-unit id="19"> + <source>This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less.</source> + <target>Kjo vlerë është shumë e gjatë. Duhet t'i ketë {{ limit }} ose më pak karaktere.|Kjo vlerë është shumë e gjatë. Duhet t'i ketë {{ limit }} ose më pak karaktere.</target> + </trans-unit> + <trans-unit id="20"> + <source>This value should be {{ limit }} or more.</source> + <target>Kjo vlerë duhet të jetë {{ limit }} ose më shumë.</target> + </trans-unit> + <trans-unit id="21"> + <source>This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more.</source> + <target>Kjo vlerë është shumë e shkurtër. Duhet t'i ketë {{ limit }} ose më shumë karaktere.|Kjo vlerë është shumë e shkurtër. Duhet t'i ketë {{ limit }} ose më shumë karaktere.</target> + </trans-unit> + <trans-unit id="22"> + <source>This value should not be blank.</source> + <target>Kjo vlerë nuk duhet të jetë e zbrazët.</target> + </trans-unit> + <trans-unit id="23"> + <source>This value should not be null.</source> + <target>Kjo vlerë nuk duhet të jetë null.</target> + </trans-unit> + <trans-unit id="24"> + <source>This value should be null.</source> + <target>Kjo vlerë duhet të jetë null.</target> + </trans-unit> + <trans-unit id="25"> + <source>This value is not valid.</source> + <target>Kjo vlerë nuk është e vlefshme.</target> + </trans-unit> + <trans-unit id="26"> + <source>This value is not a valid time.</source> + <target>Kjo vlerë nuk është kohë e vlefshme.</target> + </trans-unit> + <trans-unit id="27"> + <source>This value is not a valid URL.</source> + <target>Kjo vlerë nuk është URL e vlefshme.</target> + </trans-unit> + <trans-unit id="31"> + <source>The two values should be equal.</source> + <target>Këto dy vlera duhet të jenë të barabarta.</target> + </trans-unit> + <trans-unit id="32"> + <source>The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>Ky file është shumë i madh. Madhësia maksimale e lejuar është {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="33"> + <source>The file is too large.</source> + <target>Ky file është shumë i madh.</target> + </trans-unit> + <trans-unit id="34"> + <source>The file could not be uploaded.</source> + <target>Ky file nuk mund të ngarkohet.</target> + </trans-unit> + <trans-unit id="35"> + <source>This value should be a valid number.</source> + <target>Kjo vlerë duhet të jetë numër i vlefshëm.</target> + </trans-unit> + <trans-unit id="36"> + <source>This file is not a valid image.</source> + <target>Ky file nuk është imazh i vlefshëm.</target> + </trans-unit> + <trans-unit id="37"> + <source>This is not a valid IP address.</source> + <target>Kjo vlerë nuk është IP adresë e vlefshme.</target> + </trans-unit> + <trans-unit id="38"> + <source>This value is not a valid language.</source> + <target>Kjo vlerë nuk është gjuhë e vlefshme.</target> + </trans-unit> + <trans-unit id="39"> + <source>This value is not a valid locale.</source> + <target>Kjo vlerë nuk është përcaktim rajonal i vlefshëm.</target> + </trans-unit> + <trans-unit id="40"> + <source>This value is not a valid country.</source> + <target>Kjo vlerë nuk është shtet i vlefshëm.</target> + </trans-unit> + <trans-unit id="41"> + <source>This value is already used.</source> + <target>Kjo vlerë është tashmë në përdorim.</target> + </trans-unit> + <trans-unit id="42"> + <source>The size of the image could not be detected.</source> + <target>Madhësia e këtij imazhi nuk mund të zbulohet.</target> + </trans-unit> + <trans-unit id="43"> + <source>The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px.</source> + <target>Gjerësia e imazhit është shumë e madhe ({{ width }}px). Gjerësia maksimale e lejuar është {{ max_width }}px.</target> + </trans-unit> + <trans-unit id="44"> + <source>The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px.</source> + <target>Gjerësia e imazhit është shumë e vogël ({{ width }}px). Gjerësia minimale e pritur është {{ min_width }}px.</target> + </trans-unit> + <trans-unit id="45"> + <source>The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px.</source> + <target>Gjatësia e imazhit është shumë e madhe ({{ height }}px). Gjatësia maksimale e lejuar është {{ max_height }}px.</target> + </trans-unit> + <trans-unit id="46"> + <source>The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px.</source> + <target>Gjatësia e imazhit është shumë e vogël ({{ height }}px). Gjatësia minimale e pritur është {{ min_height }}px.</target> + </trans-unit> + <trans-unit id="47"> + <source>This value should be the user's current password.</source> + <target>Kjo vlerë duhet të jetë fjalëkalimi aktual i përdoruesit.</target> + </trans-unit> + <trans-unit id="48"> + <source>This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters.</source> + <target>Kjo vlerë duhet të ketë saktësisht {{ limit }} karaktere.|Kjo vlerë duhet të ketë saktësisht {{ limit }} karaktere.</target> + </trans-unit> + <trans-unit id="49"> + <source>The file was only partially uploaded.</source> + <target>Ky file është ngarkuar pjesërisht.</target> + </trans-unit> + <trans-unit id="50"> + <source>No file was uploaded.</source> + <target>Nuk është ngarkuar ndonjë file.</target> + </trans-unit> + <trans-unit id="51"> + <source>No temporary folder was configured in php.ini.</source> + <target>Asnjë folder i përkohshëm nuk është konfiguruar në php.ini.</target> + </trans-unit> + <trans-unit id="52"> + <source>Cannot write temporary file to disk.</source> + <target>Nuk mund të shkruhet file i përkohshëm në disk.</target> + </trans-unit> + <trans-unit id="53"> + <source>A PHP extension caused the upload to fail.</source> + <target>Një ekstenzion i PHP-së bëri të dështojë ngarkimi i files.</target> + </trans-unit> + <trans-unit id="54"> + <source>This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more.</source> + <target>Ky kolekcion duhet të përmbajë {{ limit }} ose më shumë elemente.|Ky kolekcion duhet të përmbajë {{ limit }} ose më shumë elemente.</target> + </trans-unit> + <trans-unit id="55"> + <source>This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less.</source> + <target>Ky kolekcion duhet të përmbajë {{ limit }} ose më shumë elemente.|Ky kolekcion duhet të përmbajë {{ limit }} ose më shumë elemente.</target> + </trans-unit> + <trans-unit id="56"> + <source>This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements.</source> + <target>Ky kolekcion duhet të përmbajë saktësisht {{ limit }} elemente.|Ky kolekcion duhet të përmbajë saktësisht {{ limit }} elemente.</target> + </trans-unit> + <trans-unit id="57"> + <source>Invalid card number.</source> + <target>Numër kartele i pavlefshëm.</target> + </trans-unit> + <trans-unit id="58"> + <source>Unsupported card type or invalid card number.</source> + <target>Lloj kartele i pambështetur ose numër kartele i pavlefshëm.</target> + </trans-unit> + </body> + </file> +</xliff> diff --git a/core/vendor/symfony/validator/Resources/translations/validators.sr_Cyrl.xlf b/core/vendor/symfony/validator/Resources/translations/validators.sr_Cyrl.xlf new file mode 100644 index 0000000000000000000000000000000000000000..81f5210f6fb334b8ed5e156deffd2d14ba9ea960 --- /dev/null +++ b/core/vendor/symfony/validator/Resources/translations/validators.sr_Cyrl.xlf @@ -0,0 +1,303 @@ +<?xml version="1.0"?> +<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2"> + <file source-language="en" datatype="plaintext" original="file.ext"> + <body> + <trans-unit id="1"> + <source>This value should be false.</source> + <target>ВредноÑÑ‚ треба да буде нетачна.</target> + </trans-unit> + <trans-unit id="2"> + <source>This value should be true.</source> + <target>ВредноÑÑ‚ треба да буде тачна.</target> + </trans-unit> + <trans-unit id="3"> + <source>This value should be of type {{ type }}.</source> + <target>ВредноÑÑ‚ треба да буде типа {{ type }}.</target> + </trans-unit> + <trans-unit id="4"> + <source>This value should be blank.</source> + <target>ВредноÑÑ‚ треба да буде празна.</target> + </trans-unit> + <trans-unit id="5"> + <source>The value you selected is not a valid choice.</source> + <target>ВредноÑÑ‚ треба да буде једна од понуђених.</target> + </trans-unit> + <trans-unit id="6"> + <source>You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices.</source> + <target>Изаберите бар {{ limit }} могућноÑÑ‚.|Изаберите бар {{ limit }} могућноÑти.|Изаберите бар {{ limit }} могућноÑти.</target> + </trans-unit> + <trans-unit id="7"> + <source>You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices.</source> + <target>Изаберите највише {{ limit }} могућноÑÑ‚.|Изаберите највише {{ limit }} могућноÑти.|Изаберите највише {{ limit }} могућноÑти.</target> + </trans-unit> + <trans-unit id="8"> + <source>One or more of the given values is invalid.</source> + <target>Једна или више вредноÑти је невалидна.</target> + </trans-unit> + <trans-unit id="9"> + <source>This field was not expected.</source> + <target>Ово поље не очекује.</target> + </trans-unit> + <trans-unit id="10"> + <source>This field is missing.</source> + <target>Ово поље недоÑтаје.</target> + </trans-unit> + <trans-unit id="11"> + <source>This value is not a valid date.</source> + <target>ВредноÑÑ‚ није валидан датум.</target> + </trans-unit> + <trans-unit id="12"> + <source>This value is not a valid datetime.</source> + <target>ВредноÑÑ‚ није валидан датум-време.</target> + </trans-unit> + <trans-unit id="13"> + <source>This value is not a valid email address.</source> + <target>ВредноÑÑ‚ није валидна адреÑа електронÑке поште.</target> + </trans-unit> + <trans-unit id="14"> + <source>The file could not be found.</source> + <target>Датотека не може бити пронађена.</target> + </trans-unit> + <trans-unit id="15"> + <source>The file is not readable.</source> + <target>Датотека није читљива.</target> + </trans-unit> + <trans-unit id="16"> + <source>The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>Датотека је превелика ({{ size }} {{ suffix }}). Ðајвећа дозвољена величина је {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="17"> + <source>The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}.</source> + <target>Миме тип датотеке није валидан ({{ type }}). Дозвољени миме типови Ñу {{ types }}.</target> + </trans-unit> + <trans-unit id="18"> + <source>This value should be {{ limit }} or less.</source> + <target>ВредноÑÑ‚ треба да буде {{ limit }} или мање.</target> + </trans-unit> + <trans-unit id="19"> + <source>This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less.</source> + <target>ВредноÑÑ‚ је предугачка. Треба да има {{ limit }} карактер или мање.|ВредноÑÑ‚ је предугачка. Треба да има {{ limit }} карактера или мање.|ВредноÑÑ‚ је предугачка. Треба да има {{ limit }} карактера или мање.</target> + </trans-unit> + <trans-unit id="20"> + <source>This value should be {{ limit }} or more.</source> + <target>ВредноÑÑ‚ треба да буде {{ limit }} или више.</target> + </trans-unit> + <trans-unit id="21"> + <source>This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more.</source> + <target>ВредноÑÑ‚ је прекратка. Треба да има {{ limit }} карактер или више.|ВредноÑÑ‚ је прекратка. Треба да има {{ limit }} карактера или више.|ВредноÑÑ‚ је прекратка. Треба да има {{ limit }} карактера или више.</target> + </trans-unit> + <trans-unit id="22"> + <source>This value should not be blank.</source> + <target>ВредноÑÑ‚ не треба да буде празна.</target> + </trans-unit> + <trans-unit id="23"> + <source>This value should not be null.</source> + <target>ВредноÑÑ‚ не треба да буде null.</target> + </trans-unit> + <trans-unit id="24"> + <source>This value should be null.</source> + <target>ВредноÑÑ‚ треба да буде null.</target> + </trans-unit> + <trans-unit id="25"> + <source>This value is not valid.</source> + <target>ВредноÑÑ‚ је невалидна.</target> + </trans-unit> + <trans-unit id="26"> + <source>This value is not a valid time.</source> + <target>ВредноÑÑ‚ није валидно време.</target> + </trans-unit> + <trans-unit id="27"> + <source>This value is not a valid URL.</source> + <target>ВредноÑÑ‚ није валидан URL.</target> + </trans-unit> + <trans-unit id="31"> + <source>The two values should be equal.</source> + <target>Обе вредноÑти треба да буду једнаке.</target> + </trans-unit> + <trans-unit id="32"> + <source>The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>Датотека је превелика. Ðајвећа дозвољена величина је {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="33"> + <source>The file is too large.</source> + <target>Датотека је превелика.</target> + </trans-unit> + <trans-unit id="34"> + <source>The file could not be uploaded.</source> + <target>Датотека не може бити отпремљена.</target> + </trans-unit> + <trans-unit id="35"> + <source>This value should be a valid number.</source> + <target>ВредноÑÑ‚ треба да буде валидан број.</target> + </trans-unit> + <trans-unit id="36"> + <source>This file is not a valid image.</source> + <target>Ова датотека није валидна Ñлика.</target> + </trans-unit> + <trans-unit id="37"> + <source>This is not a valid IP address.</source> + <target>Ово није валидна ИП адреÑа.</target> + </trans-unit> + <trans-unit id="38"> + <source>This value is not a valid language.</source> + <target>ВредноÑÑ‚ није валидан језик.</target> + </trans-unit> + <trans-unit id="39"> + <source>This value is not a valid locale.</source> + <target>ВредноÑÑ‚ није валидан локал.</target> + </trans-unit> + <trans-unit id="40"> + <source>This value is not a valid country.</source> + <target>ВредноÑÑ‚ није валидна земља.</target> + </trans-unit> + <trans-unit id="41"> + <source>This value is already used.</source> + <target>ВредноÑÑ‚ је већ иÑкоришћена.</target> + </trans-unit> + <trans-unit id="42"> + <source>The size of the image could not be detected.</source> + <target>Величина Ñлике не може бити одређена.</target> + </trans-unit> + <trans-unit id="43"> + <source>The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px.</source> + <target>Ширина Ñлике је превелика ({{ width }}px). Ðајећа дозвољена ширина је {{ max_width }}px.</target> + </trans-unit> + <trans-unit id="44"> + <source>The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px.</source> + <target>Ширина Ñлике је премала ({{ width }}px). Ðајмања дозвољена ширина је {{ min_width }}px.</target> + </trans-unit> + <trans-unit id="45"> + <source>The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px.</source> + <target>ВиÑина Ñлике је превелика ({{ height }}px). Ðајећа дозвољена виÑина је {{ max_height }}px.</target> + </trans-unit> + <trans-unit id="46"> + <source>The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px.</source> + <target>ВиÑина Ñлике је премала ({{ height }}px). Ðајмања дозвољена виÑина је {{ min_height }}px.</target> + </trans-unit> + <trans-unit id="47"> + <source>This value should be the user's current password.</source> + <target>ВредноÑÑ‚ треба да буде тренутна кориÑничка лозинка.</target> + </trans-unit> + <trans-unit id="48"> + <source>This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters.</source> + <target>ВредноÑÑ‚ треба да има тачно {{ limit }} карактер.|ВредноÑÑ‚ треба да има тачно {{ limit }} карактера.|ВредноÑÑ‚ треба да има тачно {{ limit }} карактера.</target> + </trans-unit> + <trans-unit id="49"> + <source>The file was only partially uploaded.</source> + <target>Датотека је Ñамо парцијално отпремљена.</target> + </trans-unit> + <trans-unit id="50"> + <source>No file was uploaded.</source> + <target>Датотека није отпремљена.</target> + </trans-unit> + <trans-unit id="51"> + <source>No temporary folder was configured in php.ini.</source> + <target>Привремени директоријум није конфигуриÑан у php.ini.</target> + </trans-unit> + <trans-unit id="52"> + <source>Cannot write temporary file to disk.</source> + <target>Ðемогуће пиÑање привремене датотеке на диÑк.</target> + </trans-unit> + <trans-unit id="53"> + <source>A PHP extension caused the upload to fail.</source> + <target>PHP екÑтензија је проузроковала неуÑпех отпремања датотеке.</target> + </trans-unit> + <trans-unit id="54"> + <source>This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more.</source> + <target>Ова колекција треба да Ñадржи {{ limit }} или више елемената.|Ова колекција треба да Ñадржи {{ limit }} или више елемената.|Ова колекција треба да Ñадржи {{ limit }} или више елемената.</target> + </trans-unit> + <trans-unit id="55"> + <source>This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less.</source> + <target>Ова колекција треба да Ñадржи {{ limit }} или мање елемената.|Ова колекција треба да Ñадржи {{ limit }} или мање елемената.|Ова колекција треба да Ñадржи {{ limit }} или мање елемената.</target> + </trans-unit> + <trans-unit id="56"> + <source>This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements.</source> + <target>Ова колекција треба да Ñадржи тачно {{ limit }} елемент.|Ова колекција треба да Ñадржи тачно {{ limit }} елемента.|Ова колекција треба да Ñадржи тачно {{ limit }} елемената.</target> + </trans-unit> + <trans-unit id="57"> + <source>Invalid card number.</source> + <target>Ðевалидан број картице.</target> + </trans-unit> + <trans-unit id="58"> + <source>Unsupported card type or invalid card number.</source> + <target>Ðевалидан број картице или тип картице није подржан.</target> + </trans-unit> + <trans-unit id="59"> + <source>This is not a valid International Bank Account Number (IBAN).</source> + <target>Ово није валидан међународни број банковног рачуна (IBAN).</target> + </trans-unit> + <trans-unit id="60"> + <source>This value is not a valid ISBN-10.</source> + <target>Ово није валидан ISBN-10.</target> + </trans-unit> + <trans-unit id="61"> + <source>This value is not a valid ISBN-13.</source> + <target>Ово није валидан ISBN-13.</target> + </trans-unit> + <trans-unit id="62"> + <source>This value is neither a valid ISBN-10 nor a valid ISBN-13.</source> + <target>Ово није валидан ISBN-10 или ISBN-13.</target> + </trans-unit> + <trans-unit id="63"> + <source>This value is not a valid ISSN.</source> + <target>Ово није валидан ISSN.</target> + </trans-unit> + <trans-unit id="64"> + <source>This value is not a valid currency.</source> + <target>Ово није валидна валута.</target> + </trans-unit> + <trans-unit id="65"> + <source>This value should be equal to {{ compared_value }}.</source> + <target>Ова вредноÑÑ‚ треба да буде {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="66"> + <source>This value should be greater than {{ compared_value }}.</source> + <target>Ова вредноÑÑ‚ треба да буде већа од {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="67"> + <source>This value should be greater than or equal to {{ compared_value }}.</source> + <target>Ова вредноÑÑ‚ треба да буде већа или једнака {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="68"> + <source>This value should be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>Ова вредноÑÑ‚ треба да буде идентична Ñа {{ compared_value_type }} {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="69"> + <source>This value should be less than {{ compared_value }}.</source> + <target>Ова вредноÑÑ‚ треба да буде мања од {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="70"> + <source>This value should be less than or equal to {{ compared_value }}.</source> + <target>Ова вредноÑÑ‚ треба да буде мања или једнака {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="71"> + <source>This value should not be equal to {{ compared_value }}.</source> + <target>Ова вредноÑÑ‚ не треба да буде једнака {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="72"> + <source>This value should not be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>Ова вредноÑÑ‚ не треба да буде идентична Ñа {{ compared_value_type }} {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="73"> + <source>The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}.</source> + <target>Размера ове Ñлике је превелика ({{ ratio }}). МакÑимална дозвољена размера је {{ max_ratio }}.</target> + </trans-unit> + <trans-unit id="74"> + <source>The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}.</source> + <target>Размера ове Ñлике је премала ({{ ratio }}). Минимална очекивана размера је {{ min_ratio }}.</target> + </trans-unit> + <trans-unit id="75"> + <source>The image is square ({{ width }}x{{ height }}px). Square images are not allowed.</source> + <target>Слика је квадратна ({{ width }}x{{ height }}px). Квадратне Ñлике ниÑу дозвољене.</target> + </trans-unit> + <trans-unit id="76"> + <source>The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed.</source> + <target>Слика је оријентације пејзажа ({{ width }}x{{ height }}px). Пејзажна оријентација Ñлика није дозвољена.</target> + </trans-unit> + <trans-unit id="77"> + <source>The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed.</source> + <target>Слика је оријантације портрета ({{ width }}x{{ height }}px). Портретна оријентација Ñлика није дозвољена.</target> + </trans-unit> + </body> + </file> +</xliff> diff --git a/core/vendor/symfony/validator/Resources/translations/validators.sr_Latn.xlf b/core/vendor/symfony/validator/Resources/translations/validators.sr_Latn.xlf new file mode 100644 index 0000000000000000000000000000000000000000..60c093aebf7950d2ff23913f53b0526a15047855 --- /dev/null +++ b/core/vendor/symfony/validator/Resources/translations/validators.sr_Latn.xlf @@ -0,0 +1,303 @@ +<?xml version="1.0"?> +<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2"> + <file source-language="en" datatype="plaintext" original="file.ext"> + <body> + <trans-unit id="1"> + <source>This value should be false.</source> + <target>Vrednost treba da bude netaÄna.</target> + </trans-unit> + <trans-unit id="2"> + <source>This value should be true.</source> + <target>Vrednost treba da bude taÄna.</target> + </trans-unit> + <trans-unit id="3"> + <source>This value should be of type {{ type }}.</source> + <target>Vrednost treba da bude tipa {{ type }}.</target> + </trans-unit> + <trans-unit id="4"> + <source>This value should be blank.</source> + <target>Vrednost treba da bude prazna.</target> + </trans-unit> + <trans-unit id="5"> + <source>The value you selected is not a valid choice.</source> + <target>Vrednost treba da bude jedna od ponuÄ‘enih.</target> + </trans-unit> + <trans-unit id="6"> + <source>You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices.</source> + <target>Izaberite bar {{ limit }} mogućnost.|Izaberite bar {{ limit }} mogućnosti.|Izaberite bar {{ limit }} mogućnosti.</target> + </trans-unit> + <trans-unit id="7"> + <source>You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices.</source> + <target>Izaberite najviÅ¡e {{ limit }} mogućnost.|Izaberite najviÅ¡e {{ limit }} mogućnosti.|Izaberite najviÅ¡e {{ limit }} mogućnosti.</target> + </trans-unit> + <trans-unit id="8"> + <source>One or more of the given values is invalid.</source> + <target>Jedna ili viÅ¡e vrednosti je nevalidna.</target> + </trans-unit> + <trans-unit id="9"> + <source>This field was not expected.</source> + <target>Ovo polje ne oÄekuje.</target> + </trans-unit> + <trans-unit id="10"> + <source>This field is missing.</source> + <target>Ovo polje nedostaje.</target> + </trans-unit> + <trans-unit id="11"> + <source>This value is not a valid date.</source> + <target>Vrednost nije validan datum.</target> + </trans-unit> + <trans-unit id="12"> + <source>This value is not a valid datetime.</source> + <target>Vrednost nije validan datum-vreme.</target> + </trans-unit> + <trans-unit id="13"> + <source>This value is not a valid email address.</source> + <target>Vrednost nije validna adresa elektronske poÅ¡te.</target> + </trans-unit> + <trans-unit id="14"> + <source>The file could not be found.</source> + <target>Datoteka ne može biti pronaÄ‘ena.</target> + </trans-unit> + <trans-unit id="15"> + <source>The file is not readable.</source> + <target>Datoteka nije Äitljiva.</target> + </trans-unit> + <trans-unit id="16"> + <source>The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>Datoteka je prevelika ({{ size }} {{ suffix }}). Najveća dozvoljena veliÄina je {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="17"> + <source>The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}.</source> + <target>Mime tip datoteke nije validan ({{ type }}). Dozvoljeni mime tipovi su {{ types }}.</target> + </trans-unit> + <trans-unit id="18"> + <source>This value should be {{ limit }} or less.</source> + <target>Vrednost treba da bude {{ limit }} ili manje.</target> + </trans-unit> + <trans-unit id="19"> + <source>This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less.</source> + <target>Vrednost je predugaÄka. Treba da ima {{ limit }} karakter ili manje.|Vrednost je predugaÄka. Treba da ima {{ limit }} karaktera ili manje.|Vrednost je predugaÄka. Treba da ima {{ limit }} karaktera ili manje.</target> + </trans-unit> + <trans-unit id="20"> + <source>This value should be {{ limit }} or more.</source> + <target>Vrednost treba da bude {{ limit }} ili viÅ¡e.</target> + </trans-unit> + <trans-unit id="21"> + <source>This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more.</source> + <target>Vrednost je prekratka. Treba da ima {{ limit }} karakter ili viÅ¡e.|Vrednost je prekratka. Treba da ima {{ limit }} karaktera ili viÅ¡e.|Vrednost je prekratka. Treba da ima {{ limit }} karaktera ili viÅ¡e.</target> + </trans-unit> + <trans-unit id="22"> + <source>This value should not be blank.</source> + <target>Vrednost ne treba da bude prazna.</target> + </trans-unit> + <trans-unit id="23"> + <source>This value should not be null.</source> + <target>Vrednost ne treba da bude null.</target> + </trans-unit> + <trans-unit id="24"> + <source>This value should be null.</source> + <target>Vrednost treba da bude null.</target> + </trans-unit> + <trans-unit id="25"> + <source>This value is not valid.</source> + <target>Vrednost je nevalidna.</target> + </trans-unit> + <trans-unit id="26"> + <source>This value is not a valid time.</source> + <target>Vrednost nije validno vreme.</target> + </trans-unit> + <trans-unit id="27"> + <source>This value is not a valid URL.</source> + <target>Vrednost nije validan URL.</target> + </trans-unit> + <trans-unit id="31"> + <source>The two values should be equal.</source> + <target>Obe vrednosti treba da budu jednake.</target> + </trans-unit> + <trans-unit id="32"> + <source>The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>Datoteka je prevelika. Najveća dozvoljena veliÄina je {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="33"> + <source>The file is too large.</source> + <target>Datoteka je prevelika.</target> + </trans-unit> + <trans-unit id="34"> + <source>The file could not be uploaded.</source> + <target>Datoteka ne može biti otpremljena.</target> + </trans-unit> + <trans-unit id="35"> + <source>This value should be a valid number.</source> + <target>Vrednost treba da bude validan broj.</target> + </trans-unit> + <trans-unit id="36"> + <source>This file is not a valid image.</source> + <target>Ova datoteka nije validna slika.</target> + </trans-unit> + <trans-unit id="37"> + <source>This is not a valid IP address.</source> + <target>Ovo nije validna IP adresa.</target> + </trans-unit> + <trans-unit id="38"> + <source>This value is not a valid language.</source> + <target>Vrednost nije validan jezik.</target> + </trans-unit> + <trans-unit id="39"> + <source>This value is not a valid locale.</source> + <target>Vrednost nije validan lokal.</target> + </trans-unit> + <trans-unit id="40"> + <source>This value is not a valid country.</source> + <target>Vrednost nije validna zemlja.</target> + </trans-unit> + <trans-unit id="41"> + <source>This value is already used.</source> + <target>Vrednost je već iskorišćena.</target> + </trans-unit> + <trans-unit id="42"> + <source>The size of the image could not be detected.</source> + <target>VeliÄina slike ne može biti odreÄ‘ena.</target> + </trans-unit> + <trans-unit id="43"> + <source>The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px.</source> + <target>Å irina slike je prevelika ({{ width }}px). Najeća dozvoljena Å¡irina je {{ max_width }}px.</target> + </trans-unit> + <trans-unit id="44"> + <source>The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px.</source> + <target>Å irina slike je premala ({{ width }}px). Najmanja dozvoljena Å¡irina je {{ min_width }}px.</target> + </trans-unit> + <trans-unit id="45"> + <source>The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px.</source> + <target>Visina slike je prevelika ({{ height }}px). Najeća dozvoljena visina je {{ max_height }}px.</target> + </trans-unit> + <trans-unit id="46"> + <source>The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px.</source> + <target>Visina slike je premala ({{ height }}px). Najmanja dozvoljena visina je {{ min_height }}px.</target> + </trans-unit> + <trans-unit id="47"> + <source>This value should be the user's current password.</source> + <target>Vrednost treba da bude trenutna korisniÄka lozinka.</target> + </trans-unit> + <trans-unit id="48"> + <source>This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters.</source> + <target>Vrednost treba da ima taÄno {{ limit }} karakter.|Vrednost treba da ima taÄno {{ limit }} karaktera.|Vrednost treba da ima taÄno {{ limit }} karaktera.</target> + </trans-unit> + <trans-unit id="49"> + <source>The file was only partially uploaded.</source> + <target>Datoteka je samo parcijalno otpremljena.</target> + </trans-unit> + <trans-unit id="50"> + <source>No file was uploaded.</source> + <target>Datoteka nije otpremljena.</target> + </trans-unit> + <trans-unit id="51"> + <source>No temporary folder was configured in php.ini.</source> + <target>Privremeni direktorijum nije konfigurisan u php.ini.</target> + </trans-unit> + <trans-unit id="52"> + <source>Cannot write temporary file to disk.</source> + <target>Nemoguće pisanje privremene datoteke na disk.</target> + </trans-unit> + <trans-unit id="53"> + <source>A PHP extension caused the upload to fail.</source> + <target>PHP ekstenzija je prouzrokovala neuspeh otpremanja datoteke.</target> + </trans-unit> + <trans-unit id="54"> + <source>This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more.</source> + <target>Ova kolekcija treba da sadrži {{ limit }} ili viÅ¡e elemenata.|Ova kolekcija treba da sadrži {{ limit }} ili viÅ¡e elemenata.|Ova kolekcija treba da sadrži {{ limit }} ili viÅ¡e elemenata.</target> + </trans-unit> + <trans-unit id="55"> + <source>This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less.</source> + <target>Ova kolekcija treba da sadrži {{ limit }} ili manje elemenata.|Ova kolekcija treba da sadrži {{ limit }} ili manje elemenata.|Ova kolekcija treba da sadrži {{ limit }} ili manje elemenata.</target> + </trans-unit> + <trans-unit id="56"> + <source>This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements.</source> + <target>Ova kolekcija treba da sadrži taÄno {{ limit }} element.|Ova kolekcija treba da sadrži taÄno {{ limit }} elementa.|Ova kolekcija treba da sadrži taÄno {{ limit }} elemenata.</target> + </trans-unit> + <trans-unit id="57"> + <source>Invalid card number.</source> + <target>Nevalidan broj kartice.</target> + </trans-unit> + <trans-unit id="58"> + <source>Unsupported card type or invalid card number.</source> + <target>Nevalidan broj kartice ili tip kartice nije podržan.</target> + </trans-unit> + <trans-unit id="59"> + <source>This is not a valid International Bank Account Number (IBAN).</source> + <target>Ovo nije validan meÄ‘unarodni broj bankovnog raÄuna (IBAN).</target> + </trans-unit> + <trans-unit id="60"> + <source>This value is not a valid ISBN-10.</source> + <target>Ovo nije validan ISBN-10.</target> + </trans-unit> + <trans-unit id="61"> + <source>This value is not a valid ISBN-13.</source> + <target>Ovo nije validan ISBN-13.</target> + </trans-unit> + <trans-unit id="62"> + <source>This value is neither a valid ISBN-10 nor a valid ISBN-13.</source> + <target>Ovo nije validan ISBN-10 ili ISBN-13.</target> + </trans-unit> + <trans-unit id="63"> + <source>This value is not a valid ISSN.</source> + <target>Ovo nije validan ISSN.</target> + </trans-unit> + <trans-unit id="64"> + <source>This value is not a valid currency.</source> + <target>Ovo nije validna valuta.</target> + </trans-unit> + <trans-unit id="65"> + <source>This value should be equal to {{ compared_value }}.</source> + <target>Ova vrednost treba da bude {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="66"> + <source>This value should be greater than {{ compared_value }}.</source> + <target>Ova vrednost treba da bude veća od {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="67"> + <source>This value should be greater than or equal to {{ compared_value }}.</source> + <target>Ova vrednost treba da bude veća ili jednaka {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="68"> + <source>This value should be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>Ova vrednost treba da bude identiÄna sa {{ compared_value_type }} {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="69"> + <source>This value should be less than {{ compared_value }}.</source> + <target>Ova vrednost treba da bude manja od {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="70"> + <source>This value should be less than or equal to {{ compared_value }}.</source> + <target>Ova vrednost treba da bude manja ili jednaka {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="71"> + <source>This value should not be equal to {{ compared_value }}.</source> + <target>Ova vrednost ne treba da bude jednaka {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="72"> + <source>This value should not be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>Ova vrednost ne treba da bude identiÄna sa {{ compared_value_type }} {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="73"> + <source>The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}.</source> + <target>Razmera ove slike je prevelika ({{ ratio }}). Maksimalna dozvoljena razmera je {{ max_ratio }}.</target> + </trans-unit> + <trans-unit id="74"> + <source>The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}.</source> + <target>Razmera ove slike je premala ({{ ratio }}). Minimalna oÄekivana razmera je {{ min_ratio }}.</target> + </trans-unit> + <trans-unit id="75"> + <source>The image is square ({{ width }}x{{ height }}px). Square images are not allowed.</source> + <target>Slika je kvadratna ({{ width }}x{{ height }}px). Kvadratne slike nisu dozvoljene.</target> + </trans-unit> + <trans-unit id="76"> + <source>The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed.</source> + <target>Slika je orijentacije pejzaža ({{ width }}x{{ height }}px). Pejzažna orijentacija slika nije dozvoljena.</target> + </trans-unit> + <trans-unit id="77"> + <source>The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed.</source> + <target>Slika je orijantacije portreta ({{ width }}x{{ height }}px). Portretna orijentacija slika nije dozvoljena.</target> + </trans-unit> + </body> + </file> +</xliff> diff --git a/core/vendor/symfony/validator/Resources/translations/validators.sv.xlf b/core/vendor/symfony/validator/Resources/translations/validators.sv.xlf new file mode 100644 index 0000000000000000000000000000000000000000..fbcb5f2b99f22baf58096b24f633857cd4a66763 --- /dev/null +++ b/core/vendor/symfony/validator/Resources/translations/validators.sv.xlf @@ -0,0 +1,307 @@ +<?xml version="1.0"?> +<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2"> + <file source-language="en" datatype="plaintext" original="file.ext"> + <body> + <trans-unit id="1"> + <source>This value should be false.</source> + <target>Värdet ska vara falskt.</target> + </trans-unit> + <trans-unit id="2"> + <source>This value should be true.</source> + <target>Värdet ska vara sant.</target> + </trans-unit> + <trans-unit id="3"> + <source>This value should be of type {{ type }}.</source> + <target>Värdet ska vara av typen {{ type }}.</target> + </trans-unit> + <trans-unit id="4"> + <source>This value should be blank.</source> + <target>Värdet ska vara tomt.</target> + </trans-unit> + <trans-unit id="5"> + <source>The value you selected is not a valid choice.</source> + <target>Värdet ska vara ett av de givna valen.</target> + </trans-unit> + <trans-unit id="6"> + <source>You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices.</source> + <target>Du mÃ¥ste välja minst {{ limit }} val.|Du mÃ¥ste välja minst {{ limit }} val.</target> + </trans-unit> + <trans-unit id="7"> + <source>You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices.</source> + <target>Du kan som mest välja {{ limit }} val.|Du kan som mest välja {{ limit }} val.</target> + </trans-unit> + <trans-unit id="8"> + <source>One or more of the given values is invalid.</source> + <target>Ett eller fler av de angivna värdena är ogiltigt.</target> + </trans-unit> + <trans-unit id="9"> + <source>This field was not expected.</source> + <target>Det här fältet förväntades inte.</target> + </trans-unit> + <trans-unit id="10"> + <source>This field is missing.</source> + <target>Det här fältet saknas.</target> + </trans-unit> + <trans-unit id="11"> + <source>This value is not a valid date.</source> + <target>Värdet är inte ett giltigt datum.</target> + </trans-unit> + <trans-unit id="12"> + <source>This value is not a valid datetime.</source> + <target>Värdet är inte ett giltigt datum med tid.</target> + </trans-unit> + <trans-unit id="13"> + <source>This value is not a valid email address.</source> + <target>Värdet är inte en giltig epost-adress.</target> + </trans-unit> + <trans-unit id="14"> + <source>The file could not be found.</source> + <target>Filen kunde inte hittas.</target> + </trans-unit> + <trans-unit id="15"> + <source>The file is not readable.</source> + <target>Filen är inte läsbar.</target> + </trans-unit> + <trans-unit id="16"> + <source>The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>Filen är för stor ({{ size }} {{ suffix }}). Största tillÃ¥tna storlek är {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="17"> + <source>The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}.</source> + <target>Filens MIME-typ ({{ type }}) är ogiltig. De tillÃ¥tna typerna är {{ types }}.</target> + </trans-unit> + <trans-unit id="18"> + <source>This value should be {{ limit }} or less.</source> + <target>Värdet ska vara {{ limit }} eller mindre.</target> + </trans-unit> + <trans-unit id="19"> + <source>This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less.</source> + <target>Värdet är för lÃ¥ngt. Det ska ha {{ limit }} tecken eller färre.|Värdet är för lÃ¥ngt. Det ska ha {{ limit }} tecken eller färre.</target> + </trans-unit> + <trans-unit id="20"> + <source>This value should be {{ limit }} or more.</source> + <target>Värdet ska vara {{ limit }} eller mer.</target> + </trans-unit> + <trans-unit id="21"> + <source>This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more.</source> + <target>Värdet är för kort. Det ska ha {{ limit }} tecken eller mer.|Värdet är för kort. Det ska ha {{ limit }} tecken eller mer.</target> + </trans-unit> + <trans-unit id="22"> + <source>This value should not be blank.</source> + <target>Värdet kan inte vara tomt.</target> + </trans-unit> + <trans-unit id="23"> + <source>This value should not be null.</source> + <target>Värdet kan inte vara null.</target> + </trans-unit> + <trans-unit id="24"> + <source>This value should be null.</source> + <target>Värdet ska vara null.</target> + </trans-unit> + <trans-unit id="25"> + <source>This value is not valid.</source> + <target>Värdet är inte giltigt.</target> + </trans-unit> + <trans-unit id="26"> + <source>This value is not a valid time.</source> + <target>Värdet är inte en giltig tid.</target> + </trans-unit> + <trans-unit id="27"> + <source>This value is not a valid URL.</source> + <target>Värdet är inte en giltig URL.</target> + </trans-unit> + <trans-unit id="31"> + <source>The two values should be equal.</source> + <target>De tvÃ¥ värdena mÃ¥ste vara lika.</target> + </trans-unit> + <trans-unit id="32"> + <source>The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>Filen är för stor. TillÃ¥ten maximal storlek är {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="33"> + <source>The file is too large.</source> + <target>Filen är för stor.</target> + </trans-unit> + <trans-unit id="34"> + <source>The file could not be uploaded.</source> + <target>Filen kunde inte laddas upp.</target> + </trans-unit> + <trans-unit id="35"> + <source>This value should be a valid number.</source> + <target>Värdet ska vara ett giltigt nummer.</target> + </trans-unit> + <trans-unit id="36"> + <source>This file is not a valid image.</source> + <target>Filen är ingen giltig bild.</target> + </trans-unit> + <trans-unit id="37"> + <source>This is not a valid IP address.</source> + <target>Det här är inte en giltig IP-adress.</target> + </trans-unit> + <trans-unit id="38"> + <source>This value is not a valid language.</source> + <target>Värdet är inte ett giltigt sprÃ¥k.</target> + </trans-unit> + <trans-unit id="39"> + <source>This value is not a valid locale.</source> + <target>Värdet är inte en giltig plats.</target> + </trans-unit> + <trans-unit id="40"> + <source>This value is not a valid country.</source> + <target>Värdet är inte ett giltigt land.</target> + </trans-unit> + <trans-unit id="41"> + <source>This value is already used.</source> + <target>Värdet används redan.</target> + </trans-unit> + <trans-unit id="42"> + <source>The size of the image could not be detected.</source> + <target>Det gick inte att fastställa storleken pÃ¥ bilden.</target> + </trans-unit> + <trans-unit id="43"> + <source>The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px.</source> + <target>Bildens bredd är för stor ({{ width }}px). TillÃ¥ten maximal bredd är {{ max_width }}px.</target> + </trans-unit> + <trans-unit id="44"> + <source>The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px.</source> + <target>Bildens bredd är för liten ({{ width }}px). Minsta förväntade bredd är {{ min_width }}px.</target> + </trans-unit> + <trans-unit id="45"> + <source>The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px.</source> + <target>Bildens höjd är för stor ({{ height }}px). TillÃ¥ten maximal bredd är {{ max_height }}px.</target> + </trans-unit> + <trans-unit id="46"> + <source>The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px.</source> + <target>Bildens höjd är för liten ({{ height }}px). Minsta förväntade höjd är {{ min_height }}px.</target> + </trans-unit> + <trans-unit id="47"> + <source>This value should be the user's current password.</source> + <target>Värdet ska vara användarens nuvarande lösenord.</target> + </trans-unit> + <trans-unit id="48"> + <source>This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters.</source> + <target>Värdet ska ha exakt {{ limit }} tecken.|Värdet ska ha exakt {{ limit }} tecken.</target> + </trans-unit> + <trans-unit id="49"> + <source>The file was only partially uploaded.</source> + <target>Filen laddades bara upp delvis.</target> + </trans-unit> + <trans-unit id="50"> + <source>No file was uploaded.</source> + <target>Ingen fil laddades upp.</target> + </trans-unit> + <trans-unit id="51"> + <source>No temporary folder was configured in php.ini.</source> + <target>Det finns ingen temporär mapp konfigurerad i php.ini.</target> + </trans-unit> + <trans-unit id="52"> + <source>Cannot write temporary file to disk.</source> + <target>Kan inte skriva temporär fil till disken.</target> + </trans-unit> + <trans-unit id="53"> + <source>A PHP extension caused the upload to fail.</source> + <target>En PHP extension gjorde att uppladdningen misslyckades.</target> + </trans-unit> + <trans-unit id="54"> + <source>This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more.</source> + <target>Den här samlingen ska innehÃ¥lla {{ limit }} element eller mer.|Den här samlingen ska innehÃ¥lla {{ limit }} element eller mer.</target> + </trans-unit> + <trans-unit id="55"> + <source>This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less.</source> + <target>Den här samlingen ska innehÃ¥lla {{ limit }} element eller mindre.|Den här samlingen ska innehÃ¥lla {{ limit }} element eller mindre.</target> + </trans-unit> + <trans-unit id="56"> + <source>This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements.</source> + <target>Den här samlingen ska innehÃ¥lla exakt {{ limit }} element.|Den här samlingen ska innehÃ¥lla exakt {{ limit }} element.</target> + </trans-unit> + <trans-unit id="57"> + <source>Invalid card number.</source> + <target>Ogiltigt kortnummer.</target> + </trans-unit> + <trans-unit id="58"> + <source>Unsupported card type or invalid card number.</source> + <target>Okänd korttyp eller ogiltigt kortnummer.</target> + </trans-unit> + <trans-unit id="59"> + <source>This is not a valid International Bank Account Number (IBAN).</source> + <target>Det här är inte en giltig International Bank Account Number (IBANK).</target> + </trans-unit> + <trans-unit id="60"> + <source>This value is not a valid ISBN-10.</source> + <target>Värdet är inte en giltig ISBN-10.</target> + </trans-unit> + <trans-unit id="61"> + <source>This value is not a valid ISBN-13.</source> + <target>Värdet är inte en giltig ISBN-13.</target> + </trans-unit> + <trans-unit id="62"> + <source>This value is neither a valid ISBN-10 nor a valid ISBN-13.</source> + <target>Värdet är varken en giltig ISBN-10 eller en giltig ISBN-13.</target> + </trans-unit> + <trans-unit id="63"> + <source>This value is not a valid ISSN.</source> + <target>Värdet är inte en giltig ISSN.</target> + </trans-unit> + <trans-unit id="64"> + <source>This value is not a valid currency.</source> + <target>Värdet är inte en giltig valuta.</target> + </trans-unit> + <trans-unit id="65"> + <source>This value should be equal to {{ compared_value }}.</source> + <target>Värdet ska vara detsamma som {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="66"> + <source>This value should be greater than {{ compared_value }}.</source> + <target>Värdet ska vara större än {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="67"> + <source>This value should be greater than or equal to {{ compared_value }}.</source> + <target>Värdet ska bara större än eller detsamma som {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="68"> + <source>This value should be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>Värdet ska vara identiskt till {{ compared_value_type }} {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="69"> + <source>This value should be less than {{ compared_value }}.</source> + <target>Värdet ska vara mindre än {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="70"> + <source>This value should be less than or equal to {{ compared_value }}.</source> + <target>Värdet ska vara mindre än eller detsamma som {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="71"> + <source>This value should not be equal to {{ compared_value }}.</source> + <target>Värdet ska inte vara detsamma som {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="72"> + <source>This value should not be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>Värdet ska inte vara identiskt med {{ compared_value_type }} {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="73"> + <source>The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}.</source> + <target>FörhÃ¥llandet mellan bildens bredd och höjd är för stort ({{ ratio }}). Högsta tillÃ¥tna förhÃ¥llande är {{ max_ratio }}.</target> + </trans-unit> + <trans-unit id="74"> + <source>The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}.</source> + <target>FörhÃ¥llandet mellan bildens bredd och höjd är för litet ({{ ratio }}). Minsta tillÃ¥tna förhÃ¥llande är {{ min_ratio }}.</target> + </trans-unit> + <trans-unit id="75"> + <source>The image is square ({{ width }}x{{ height }}px). Square images are not allowed.</source> + <target>Bilden är kvadratisk ({{ width }}x{{ height }}px). Kvadratiska bilder tillÃ¥ts inte.</target> + </trans-unit> + <trans-unit id="76"> + <source>The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed.</source> + <target>Bilden är landskapsorienterad ({{ width }}x{{ height }}px). Landskapsorienterade bilder tillÃ¥ts inte.</target> + </trans-unit> + <trans-unit id="77"> + <source>The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed.</source> + <target>Bilden är porträttsorienterad ({{ width }}x{{ height }}px). Porträttsorienterade bilder tillÃ¥ts inte.</target> + </trans-unit> + <trans-unit id="78"> + <source>An empty file is not allowed.</source> + <target>En tom fil är inte tillÃ¥ten.</target> + </trans-unit> + </body> + </file> +</xliff> diff --git a/core/vendor/symfony/validator/Resources/translations/validators.th.xlf b/core/vendor/symfony/validator/Resources/translations/validators.th.xlf new file mode 100644 index 0000000000000000000000000000000000000000..0237a308acd5fbdf890fca625364e87e81edbc68 --- /dev/null +++ b/core/vendor/symfony/validator/Resources/translations/validators.th.xlf @@ -0,0 +1,303 @@ +<?xml version="1.0"?> +<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2"> + <file source-language="en" datatype="plaintext" original="file.ext"> + <body> + <trans-unit id="1"> + <source>This value should be false.</source> + <target>ค่านี้ควรจะเป็น false</target> + </trans-unit> + <trans-unit id="2"> + <source>This value should be true.</source> + <target>ค่านี้ควรจะเป็น true</target> + </trans-unit> + <trans-unit id="3"> + <source>This value should be of type {{ type }}.</source> + <target>ค่านี้ควรจะเป็นชนิด {{ type }}</target> + </trans-unit> + <trans-unit id="4"> + <source>This value should be blank.</source> + <target>ควรจะเป็นค่าว่าง</target> + </trans-unit> + <trans-unit id="5"> + <source>The value you selected is not a valid choice.</source> + <target>คุณเลืà¸à¸à¸„่าที่ไม่ตรงà¸à¸±à¸šà¸•à¸±à¸§à¹€à¸¥à¸·à¸à¸</target> + </trans-unit> + <trans-unit id="6"> + <source>You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices.</source> + <target>คุณต้à¸à¸‡à¹€à¸¥à¸·à¸à¸à¸à¸¢à¹ˆà¸²à¸‡à¸™à¹‰à¸à¸¢ {{ limit }} ตัวเลืà¸à¸</target> + </trans-unit> + <trans-unit id="7"> + <source>You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices.</source> + <target>คุณเลืà¸à¸à¹„ด้มาà¸à¸—ี่สุด {{ limit }} ตัวเลืà¸à¸</target> + </trans-unit> + <trans-unit id="8"> + <source>One or more of the given values is invalid.</source> + <target>มีบางค่าที่ส่งมาไม่ถูà¸à¸•à¹‰à¸à¸‡</target> + </trans-unit> + <trans-unit id="9"> + <source>This field was not expected.</source> + <target>ฟิลด์นี้ที่ไม่ได้คาดหวัง</target> + </trans-unit> + <trans-unit id="10"> + <source>This field is missing.</source> + <target>ฟิลด์นี้จะหายไป</target> + </trans-unit> + <trans-unit id="11"> + <source>This value is not a valid date.</source> + <target>ค่าขà¸à¸‡à¸§à¸±à¸™à¸—ี่ไม่ถูà¸à¸•à¹‰à¸à¸‡</target> + </trans-unit> + <trans-unit id="12"> + <source>This value is not a valid datetime.</source> + <target>ค่าขà¸à¸‡à¸§à¸±à¸™à¸—ี่à¹à¸¥à¸°à¹€à¸§à¸¥à¸²à¹„ม่ถูà¸à¸•à¹‰à¸à¸‡</target> + </trans-unit> + <trans-unit id="13"> + <source>This value is not a valid email address.</source> + <target>ค่าขà¸à¸‡à¸à¸µà¹€à¸¡à¸¥à¹Œà¹„ม่ถูà¸à¸•à¹‰à¸à¸‡</target> + </trans-unit> + <trans-unit id="14"> + <source>The file could not be found.</source> + <target>ไม่พบไฟล์</target> + </trans-unit> + <trans-unit id="15"> + <source>The file is not readable.</source> + <target>ไฟล์ไม่à¸à¸¢à¸¹à¹ˆà¹ƒà¸™à¸ªà¸–านะที่สามารถà¸à¹ˆà¸²à¸™à¹„ด้</target> + </trans-unit> + <trans-unit id="16"> + <source>The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>ไฟล์ใหà¸à¹ˆà¹€à¸à¸´à¸™ ({{ size }} {{ suffix }}) à¸à¸™à¸¸à¸à¸²à¸•à¹ƒà¸«à¹‰à¹ƒà¸«à¸à¹ˆà¸—ี่สุดได้ไม่เà¸à¸´à¸™ {{ limit }} {{ suffix }}</target> + </trans-unit> + <trans-unit id="17"> + <source>The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}.</source> + <target>Mime type ขà¸à¸‡à¹„ฟล์ไม่ถูà¸à¸•à¹‰à¸à¸‡ ({{ type }}) Mime types ที่à¸à¸™à¸¸à¸à¸²à¸•à¸„ืภ{{ types }}</target> + </trans-unit> + <trans-unit id="18"> + <source>This value should be {{ limit }} or less.</source> + <target>ค่านี้ควรจะเป็น {{ limit }} หรืà¸à¸™à¹‰à¸à¸¢à¸à¸§à¹ˆà¸²à¸™à¸±à¹‰à¸™</target> + </trans-unit> + <trans-unit id="19"> + <source>This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less.</source> + <target>ค่านี้ยาวเà¸à¸´à¸™à¹„ป ควรจะมีà¹à¸„่ {{ limit }} ตัวà¸à¸±à¸à¸©à¸£à¸«à¸£à¸·à¸à¸™à¹‰à¸à¸¢à¸à¸§à¹ˆà¸²à¸™à¸±à¹‰à¸™</target> + </trans-unit> + <trans-unit id="20"> + <source>This value should be {{ limit }} or more.</source> + <target>ค่านี้ควรจะมี {{ limit }} หรืà¸à¸¡à¸²à¸à¸à¸§à¹ˆà¸²à¸™à¸±à¹‰à¸™</target> + </trans-unit> + <trans-unit id="21"> + <source>This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more.</source> + <target>ค่านี้สั้นเà¸à¸´à¸™à¹„ป ควรจะมี {{ limit }} ตัวà¸à¸±à¸à¸©à¸£à¸«à¸£à¸·à¸à¸¡à¸²à¸à¸à¸§à¹ˆà¸²à¸™à¸±à¹‰à¸™</target> + </trans-unit> + <trans-unit id="22"> + <source>This value should not be blank.</source> + <target>ค่านี้ไม่ควรเป็นค่าว่าง</target> + </trans-unit> + <trans-unit id="23"> + <source>This value should not be null.</source> + <target>ค่านี้ไม่ควรเป็นค่า null</target> + </trans-unit> + <trans-unit id="24"> + <source>This value should be null.</source> + <target>ค่านี้ควรเป็นค่า null</target> + </trans-unit> + <trans-unit id="25"> + <source>This value is not valid.</source> + <target>ค่านี้ไม่ถูà¸à¸•à¹‰à¸à¸‡</target> + </trans-unit> + <trans-unit id="26"> + <source>This value is not a valid time.</source> + <target>ค่าขà¸à¸‡à¹€à¸§à¸¥à¸²à¹„ม่ถูà¸à¸•à¹‰à¸à¸‡</target> + </trans-unit> + <trans-unit id="27"> + <source>This value is not a valid URL.</source> + <target>ค่าขà¸à¸‡ URL ไม่ถูà¸à¸•à¹‰à¸à¸‡</target> + </trans-unit> + <trans-unit id="31"> + <source>The two values should be equal.</source> + <target>ค่าทั้งสà¸à¸‡à¸„่าควรจะเหมืà¸à¸™à¸à¸±à¸™</target> + </trans-unit> + <trans-unit id="32"> + <source>The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>ขนาดไฟล์ใหà¸à¹ˆà¹€à¸à¸´à¸™à¹„ป à¸à¸™à¸¸à¸à¸²à¸•à¹ƒà¸«à¹‰à¹„ฟล์ขนาดใหà¸à¹ˆà¹„ด้ไม่เà¸à¸´à¸™ {{ limit }} {{ suffix }}</target> + </trans-unit> + <trans-unit id="33"> + <source>The file is too large.</source> + <target>ขนาดไฟล์ใหà¸à¹ˆà¹€à¸à¸´à¸™à¹„ป</target> + </trans-unit> + <trans-unit id="34"> + <source>The file could not be uploaded.</source> + <target>ไม่สามารถà¸à¸±à¸›à¹‚หลดไฟล์ได้</target> + </trans-unit> + <trans-unit id="35"> + <source>This value should be a valid number.</source> + <target>ค่าขà¸à¸‡à¸•à¸±à¸§à¹€à¸¥à¸‚ไม่ถูà¸à¸•à¹‰à¸à¸‡</target> + </trans-unit> + <trans-unit id="36"> + <source>This file is not a valid image.</source> + <target>ไฟล์นี้ไม่ใช่ไฟล์รูปภาพ</target> + </trans-unit> + <trans-unit id="37"> + <source>This is not a valid IP address.</source> + <target>ค่าขà¸à¸‡ IP ไม่ถูà¸à¸•à¹‰à¸à¸‡</target> + </trans-unit> + <trans-unit id="38"> + <source>This value is not a valid language.</source> + <target>ค่าขà¸à¸‡à¸ าษาไม่ถูà¸à¸•à¹‰à¸à¸‡</target> + </trans-unit> + <trans-unit id="39"> + <source>This value is not a valid locale.</source> + <target>ค่าขà¸à¸‡à¸ ูมิภาค (Locale) ไม่ถูà¸à¸•à¹‰à¸à¸‡</target> + </trans-unit> + <trans-unit id="40"> + <source>This value is not a valid country.</source> + <target>ค่าขà¸à¸‡à¸›à¸£à¸°à¹€à¸—ศไม่ถูà¸à¸•à¹‰à¸à¸‡</target> + </trans-unit> + <trans-unit id="41"> + <source>This value is already used.</source> + <target>Tค่านี้ถูà¸à¹ƒà¸Šà¹‰à¸‡à¸²à¸™à¹„ปà¹à¸¥à¹‰à¸§</target> + </trans-unit> + <trans-unit id="42"> + <source>The size of the image could not be detected.</source> + <target>ไม่สามารถตรวจสà¸à¸šà¸‚นาดไฟล์ขà¸à¸‡à¸ าพได้</target> + </trans-unit> + <trans-unit id="43"> + <source>The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px.</source> + <target>ความà¸à¸§à¹‰à¸²à¸‡à¸‚à¸à¸‡à¸ าพเà¸à¸´à¸™à¸‚นาด ({{ width }}px) à¸à¸™à¸¸à¸à¸²à¸•à¹ƒà¸«à¹‰à¸à¸§à¹‰à¸²à¸‡à¹„ด้มาà¸à¸—ี่สุด {{ max_width }}px</target> + </trans-unit> + <trans-unit id="44"> + <source>The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px.</source> + <target>ความà¸à¸§à¹‰à¸²à¸‡à¸‚à¸à¸‡à¸ าพไม่ได้ขนาด ({{ width }}px) à¸à¸™à¸¸à¸à¸²à¸•à¹ƒà¸«à¹‰à¸ªà¸±à¹‰à¸™à¸—ี่สุด {{ min_width }}px</target> + </trans-unit> + <trans-unit id="45"> + <source>The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px.</source> + <target>ความสูงขà¸à¸‡à¸ าพเà¸à¸´à¸™à¸‚นาด ({{ height }}px) à¸à¸™à¸¸à¸à¸²à¸•à¹ƒà¸«à¹‰à¸ªà¸¹à¸‡à¹„ด้มาà¸à¸—ี่สุด {{ max_height }}px</target> + </trans-unit> + <trans-unit id="46"> + <source>The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px.</source> + <target>ความสูงขà¸à¸‡à¸ าพไม่ได้ขนาด ({{ height }}px) à¸à¸™à¸¸à¸à¸²à¸•à¹ƒà¸«à¹‰à¸ªà¸¹à¸‡à¸à¸¢à¹ˆà¸²à¸‡à¸™à¹‰à¸à¸¢à¸—ี่สุด {{ min_height }}px</target> + </trans-unit> + <trans-unit id="47"> + <source>This value should be the user current password.</source> + <target>ค่านี้ควรจะเป็นรหัสผ่านปัจจุบันขà¸à¸‡à¸œà¸¹à¹‰à¹ƒà¸Šà¹‰</target> + </trans-unit> + <trans-unit id="48"> + <source>This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters.</source> + <target>ค่านี้ควรจะมีความยาว {{ limit }} ตัวà¸à¸±à¸à¸©à¸£</target> + </trans-unit> + <trans-unit id="49"> + <source>The file was only partially uploaded.</source> + <target>à¸à¸±à¸›à¹‚หลดไฟล์ได้เพียงบางส่วนเท่านั้น</target> + </trans-unit> + <trans-unit id="50"> + <source>No file was uploaded.</source> + <target>ไม่มีไฟล์ใดถูà¸à¸à¸±à¸›à¹‚หลด</target> + </trans-unit> + <trans-unit id="51"> + <source>No temporary folder was configured in php.ini.</source> + <target>ไม่พบไฟล์ temp ควรจะà¸à¸³à¸«à¸™à¸”ใน php.ini</target> + </trans-unit> + <trans-unit id="52"> + <source>Cannot write temporary file to disk.</source> + <target>ไม่สามารถเขียน temp ไฟล์ลงดิสà¸à¹Œà¹„ด้</target> + </trans-unit> + <trans-unit id="53"> + <source>A PHP extension caused the upload to fail.</source> + <target>PHP extension เà¸à¸µà¹ˆà¸¢à¸§à¸à¸±à¸šà¸à¸²à¸£à¸à¸±à¸›à¹‚หลดมีปัà¸à¸«à¸²</target> + </trans-unit> + <trans-unit id="54"> + <source>This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more.</source> + <target>คà¸à¹€à¸¥à¹‡à¸à¸Šà¸±à¹ˆà¸™à¸™à¸µà¹‰à¸„วรจะประà¸à¸à¸šà¹„ปด้วยà¸à¹ˆà¸²à¸‡à¸™à¹‰à¸à¸¢ {{ limit }} สมาชิà¸</target> + </trans-unit> + <trans-unit id="55"> + <source>This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less.</source> + <target>คà¸à¹€à¸¥à¹‡à¸à¸Šà¸±à¹ˆà¸™à¸™à¸µà¹‰à¹„ม่ควรมีสมาชิà¸à¹€à¸à¸´à¸™ {{ limit }}</target> + </trans-unit> + <trans-unit id="56"> + <source>This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements.</source> + <target>คà¸à¹€à¸¥à¹‡à¸à¸Šà¸±à¹ˆà¸™à¸™à¸µà¹‰à¸„วรจะมีสมาชิภ{{ limit }} เท่านั้น</target> + </trans-unit> + <trans-unit id="57"> + <source>Invalid card number.</source> + <target>หมายเลขบัตรไม่ถูà¸à¸•à¹‰à¸à¸‡</target> + </trans-unit> + <trans-unit id="58"> + <source>Unsupported card type or invalid card number.</source> + <target>ไม่รู้จัà¸à¸›à¸£à¸°à¹€à¸ ทขà¸à¸‡à¸šà¸±à¸•à¸£ หรืà¸à¸«à¸¡à¸²à¸¢à¹€à¸¥à¸‚บัตรไม่ถูà¸à¸•à¹‰à¸à¸‡</target> + </trans-unit> + <trans-unit id="59"> + <source>This is not a valid International Bank Account Number (IBAN).</source> + <target>นี่ไม่ถูà¸à¸•à¹‰à¸à¸‡à¸•à¸²à¸¡ International Bank Account Number (IBAN)</target> + </trans-unit> + <trans-unit id="60"> + <source>This value is not a valid ISBN-10.</source> + <target>ค่านี้ไม่ถูà¸à¸•à¹‰à¸à¸‡à¸•à¸²à¸¡ ISBN-10</target> + </trans-unit> + <trans-unit id="61"> + <source>This value is not a valid ISBN-13.</source> + <target>ค่านี้ไม่ถูà¸à¸•à¹‰à¸à¸‡à¸•à¸²à¸¡ ISBN-13</target> + </trans-unit> + <trans-unit id="62"> + <source>This value is neither a valid ISBN-10 nor a valid ISBN-13.</source> + <target>ค่านี้ไม่ถูà¸à¸•à¹‰à¸à¸‡à¸•à¸²à¸¡à¸—ั้ง ISBN-10 à¹à¸¥à¸° ISBN-13</target> + </trans-unit> + <trans-unit id="63"> + <source>This value is not a valid ISSN.</source> + <target>ค่านี้ไม่ถุà¸à¸•à¹‰à¸à¸‡à¸•à¸²à¸¡ ISSN</target> + </trans-unit> + <trans-unit id="64"> + <source>This value is not a valid currency.</source> + <target>ค่านี้ไม่ถูà¸à¸•à¹‰à¸à¸‡à¸•à¸²à¸¡à¸ªà¸à¸¸à¸¥à¹€à¸‡à¸´à¸™</target> + </trans-unit> + <trans-unit id="65"> + <source>This value should be equal to {{ compared_value }}.</source> + <target>ค่านี้ไม่ตรงà¸à¸±à¸š {{ compared_value }}</target> + </trans-unit> + <trans-unit id="66"> + <source>This value should be greater than {{ compared_value }}.</source> + <target>ค่านี้ควรจะมาà¸à¸à¸§à¹ˆà¸² {{ compared_value }}</target> + </trans-unit> + <trans-unit id="67"> + <source>This value should be greater than or equal to {{ compared_value }}.</source> + <target>ค่านี้ควรจะมาà¸à¸à¸§à¹ˆà¸²à¸«à¸£à¸·à¸à¸•à¸£à¸‡à¸à¸±à¸š {{ compared_value }}</target> + </trans-unit> + <trans-unit id="68"> + <source>This value should be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>ค่านี้ควรจะเหมืà¸à¸™à¸à¸±à¸™à¸à¸±à¸š {{ compared_value_type }} {{ compared_value }}</target> + </trans-unit> + <trans-unit id="69"> + <source>This value should be less than {{ compared_value }}.</source> + <target>ค่านี้ควรจะน้à¸à¸¢à¸à¸§à¹ˆà¸² {{ compared_value }}</target> + </trans-unit> + <trans-unit id="70"> + <source>This value should be less than or equal to {{ compared_value }}.</source> + <target>ค่านี้ควรจะน้à¸à¸¢à¸à¸§à¹ˆà¸²à¸«à¸£à¸·à¸à¹€à¸—่าà¸à¸±à¸š {{ compared_value }}</target> + </trans-unit> + <trans-unit id="71"> + <source>This value should not be equal to {{ compared_value }}.</source> + <target>ค่านี้ไม่ควรเท่าà¸à¸±à¸™à¸à¸±à¸š {{ compared_value }}</target> + </trans-unit> + <trans-unit id="72"> + <source>This value should not be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>ค่านี้ไม่ควรเหมืà¸à¸™à¸à¸±à¸™à¸à¸±à¸š {{ compared_value_type }} {{ compared_value }}</target> + </trans-unit> + <trans-unit id="73"> + <source>The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}.</source> + <target>สัดส่วนขà¸à¸‡à¸ าพใหà¸à¹ˆà¹€à¸à¸´à¸™ ({{ ratio }}) สามารถมีขนาดใหà¸à¹ˆà¸—ี่สุดได้ {{ max_ratio }}</target> + </trans-unit> + <trans-unit id="74"> + <source>The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}.</source> + <target>สัดส่วนขà¸à¸‡à¸ าพเล็à¸à¹€à¸à¸´à¸™ ({{ ratio }}) สามารถมีขนาดเล็à¸à¸—ี่สุดได้ {{ min_ratio }}</target> + </trans-unit> + <trans-unit id="75"> + <source>The image is square ({{ width }}x{{ height }}px). Square images are not allowed.</source> + <target>รูปภาพเป็นจุตรัส ({{ width }}x{{ height }}px) ไม่à¸à¸™à¸¸à¸à¸²à¸•à¸ าพที่เป็นสี่เหลี่ยมจตุรัส</target> + </trans-unit> + <trans-unit id="76"> + <source>The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed.</source> + <target>ภาพนี้เป็นà¹à¸™à¸§à¸™à¸à¸™ ({{ width }}x{{ height }}px) ไม่à¸à¸™à¸¸à¸à¸²à¸•à¸ าพที่เป็นà¹à¸™à¸§à¸™à¸à¸™</target> + </trans-unit> + <trans-unit id="77"> + <source>The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed.</source> + <target>ภาพนี้เป็นà¹à¸™à¸§à¸•à¸±à¹‰à¸‡ ({{ width }}x{{ height }}px) ไม่à¸à¸™à¸¸à¸à¸²à¸•à¸ าพที่เป็นà¹à¸™à¸§à¸•à¸±à¹‰à¸‡</target> + </trans-unit> + </body> + </file> +</xliff> diff --git a/core/vendor/symfony/validator/Resources/translations/validators.tr.xlf b/core/vendor/symfony/validator/Resources/translations/validators.tr.xlf new file mode 100644 index 0000000000000000000000000000000000000000..a7906eaae25af8bcf6970ffa43993190d44de7d1 --- /dev/null +++ b/core/vendor/symfony/validator/Resources/translations/validators.tr.xlf @@ -0,0 +1,227 @@ +<?xml version="1.0"?> +<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2"> + <file source-language="en" datatype="plaintext" original="file.ext"> + <body> + <trans-unit id="1"> + <source>This value should be false.</source> + <target>Bu deÄŸer olumsuz olmalıdır.</target> + </trans-unit> + <trans-unit id="2"> + <source>This value should be true.</source> + <target>Bu deÄŸer olumlu olmalıdır.</target> + </trans-unit> + <trans-unit id="3"> + <source>This value should be of type {{ type }}.</source> + <target>Bu deÄŸerin tipi {{ type }} olmalıdır.</target> + </trans-unit> + <trans-unit id="4"> + <source>This value should be blank.</source> + <target>Bu deÄŸer boÅŸ olmalıdır.</target> + </trans-unit> + <trans-unit id="5"> + <source>The value you selected is not a valid choice.</source> + <target>SeçtiÄŸiniz deÄŸer geçerli bir seçenek deÄŸil.</target> + </trans-unit> + <trans-unit id="6"> + <source>You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices.</source> + <target>En az {{ limit }} seçenek belirtmelisiniz.</target> + </trans-unit> + <trans-unit id="7"> + <source>You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices.</source> + <target>En çok {{ limit }} seçenek belirtmelisiniz.</target> + </trans-unit> + <trans-unit id="8"> + <source>One or more of the given values is invalid.</source> + <target>Verilen deÄŸerlerden bir veya daha fazlası geçersiz.</target> + </trans-unit> + <trans-unit id="9"> + <source>This field was not expected.</source> + <target>Bu alan beklenen olmadı.</target> + </trans-unit> + <trans-unit id="10"> + <source>This field is missing.</source> + <target>Bu alan, eksik</target> + </trans-unit> + <trans-unit id="11"> + <source>This value is not a valid date.</source> + <target>Bu deÄŸer doÄŸru bir tarih biçimi deÄŸildir.</target> + </trans-unit> + <trans-unit id="12"> + <source>This value is not a valid datetime.</source> + <target>Bu deÄŸer doÄŸru bir tarihsaat biçimi deÄŸildir.</target> + </trans-unit> + <trans-unit id="13"> + <source>This value is not a valid email address.</source> + <target>Bu deÄŸer doÄŸru bir e-mail adresi deÄŸildir.</target> + </trans-unit> + <trans-unit id="14"> + <source>The file could not be found.</source> + <target>Dosya bulunamadı.</target> + </trans-unit> + <trans-unit id="15"> + <source>The file is not readable.</source> + <target>Dosya okunabilir deÄŸil.</target> + </trans-unit> + <trans-unit id="16"> + <source>The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>Dosya çok büyük ({{ size }} {{ suffix }}). Ä°zin verilen en büyük dosya boyutu {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="17"> + <source>The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}.</source> + <target>Dosyanın mime tipi geçersiz ({{ type }}). Ä°zin verilen mime tipleri {{ types }}.</target> + </trans-unit> + <trans-unit id="18"> + <source>This value should be {{ limit }} or less.</source> + <target>Bu deÄŸer {{ limit }} ve altında olmalıdır.</target> + </trans-unit> + <trans-unit id="19"> + <source>This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less.</source> + <target>Bu deÄŸer çok uzun. {{ limit }} karakter veya daha az olmalıdır.</target> + </trans-unit> + <trans-unit id="20"> + <source>This value should be {{ limit }} or more.</source> + <target>Bu deÄŸer {{ limit }} veya daha fazla olmalıdır.</target> + </trans-unit> + <trans-unit id="21"> + <source>This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more.</source> + <target>Bu deÄŸer çok kısa. {{ limit }} karakter veya daha fazla olmaldır.</target> + </trans-unit> + <trans-unit id="22"> + <source>This value should not be blank.</source> + <target>Bu deÄŸer boÅŸ bırakılmamalıdır.</target> + </trans-unit> + <trans-unit id="23"> + <source>This value should not be null.</source> + <target>Bu deÄŸer boÅŸ bırakılmamalıdır.</target> + </trans-unit> + <trans-unit id="24"> + <source>This value should be null.</source> + <target>Bu deÄŸer boÅŸ bırakılmalıdır.</target> + </trans-unit> + <trans-unit id="25"> + <source>This value is not valid.</source> + <target>Bu deÄŸer geçerli deÄŸil.</target> + </trans-unit> + <trans-unit id="26"> + <source>This value is not a valid time.</source> + <target>Bu deÄŸer doÄŸru bir saat deÄŸil.</target> + </trans-unit> + <trans-unit id="27"> + <source>This value is not a valid URL.</source> + <target>Bu deÄŸer doÄŸru bir URL deÄŸil.</target> + </trans-unit> + <trans-unit id="31"> + <source>The two values should be equal.</source> + <target>Ä°ki deÄŸer eÅŸit olmalıdır.</target> + </trans-unit> + <trans-unit id="32"> + <source>The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>Dosya çok büyük. Ä°zin verilen en büyük dosya boyutu {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="33"> + <source>The file is too large.</source> + <target>Dosya çok büyük.</target> + </trans-unit> + <trans-unit id="34"> + <source>The file could not be uploaded.</source> + <target>Dosya yüklenemiyor.</target> + </trans-unit> + <trans-unit id="35"> + <source>This value should be a valid number.</source> + <target>Bu deÄŸer geçerli bir rakam olmalıdır.</target> + </trans-unit> + <trans-unit id="36"> + <source>This file is not a valid image.</source> + <target>Bu dosya geçerli bir resim deÄŸildir.</target> + </trans-unit> + <trans-unit id="37"> + <source>This is not a valid IP address.</source> + <target>Bu geçerli bir IP adresi deÄŸildir.</target> + </trans-unit> + <trans-unit id="38"> + <source>This value is not a valid language.</source> + <target>Bu deÄŸer geçerli bir lisan deÄŸil.</target> + </trans-unit> + <trans-unit id="39"> + <source>This value is not a valid locale.</source> + <target>Bu deÄŸer geçerli bir yer deÄŸildir.</target> + </trans-unit> + <trans-unit id="40"> + <source>This value is not a valid country.</source> + <target>Bu deÄŸer geçerli bir ülke deÄŸildir.</target> + </trans-unit> + <trans-unit id="41"> + <source>This value is already used.</source> + <target>Bu deÄŸer ÅŸu anda kullanımda.</target> + </trans-unit> + <trans-unit id="42"> + <source>The size of the image could not be detected.</source> + <target>Resmin boyutu saptanamıyor.</target> + </trans-unit> + <trans-unit id="43"> + <source>The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px.</source> + <target>Resmin geniÅŸliÄŸi çok büyük ({{ width }}px). Ä°zin verilen en büyük geniÅŸlik {{ max_width }}px.</target> + </trans-unit> + <trans-unit id="44"> + <source>The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px.</source> + <target>Resmin geniÅŸliÄŸi çok küçük ({{ width }}px). En az {{ min_width }}px olmalıdır.</target> + </trans-unit> + <trans-unit id="45"> + <source>The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px.</source> + <target>Resmin yüksekliÄŸi çok büyük ({{ height }}px). Ä°zin verilen en büyük yükseklik {{ max_height }}px.</target> + </trans-unit> + <trans-unit id="46"> + <source>The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px.</source> + <target>Resmin yüksekliÄŸi çok küçük ({{ height }}px). En az {{ min_height }}px olmalıdır.</target> + </trans-unit> + <trans-unit id="47"> + <source>This value should be the user's current password.</source> + <target>Bu deÄŸer kullanıcının ÅŸu anki ÅŸifresi olmalıdır.</target> + </trans-unit> + <trans-unit id="48"> + <source>This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters.</source> + <target>Bu deÄŸer tam olarak {{ limit }} karakter olmaldır.</target> + </trans-unit> + <trans-unit id="49"> + <source>The file was only partially uploaded.</source> + <target>Dosya sadece kısmen yüklendi.</target> + </trans-unit> + <trans-unit id="50"> + <source>No file was uploaded.</source> + <target>Hiçbir dosya yüklenmedi.</target> + </trans-unit> + <trans-unit id="51"> + <source>No temporary folder was configured in php.ini.</source> + <target>php.ini içerisinde geçici dizin tanımlanmadı.</target> + </trans-unit> + <trans-unit id="52"> + <source>Cannot write temporary file to disk.</source> + <target>Geçici dosya diske yazılamıyor.</target> + </trans-unit> + <trans-unit id="53"> + <source>A PHP extension caused the upload to fail.</source> + <target>Bir PHP eklentisi dosyanın yüklemesini baÅŸarısız kıldı.</target> + </trans-unit> + <trans-unit id="54"> + <source>This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more.</source> + <target>Bu derlem {{ limit }} veya daha çok eleman içermelidir.</target> + </trans-unit> + <trans-unit id="55"> + <source>This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less.</source> + <target>Bu derlem {{ limit }} veya daha az eleman içermelidir.</target> + </trans-unit> + <trans-unit id="56"> + <source>This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements.</source> + <target>Bu derlem {{ limit }} eleman içermelidir.</target> + </trans-unit> + <trans-unit id="57"> + <source>Invalid card number.</source> + <target>Geçersiz kart numarası.</target> + </trans-unit> + <trans-unit id="58"> + <source>Unsupported card type or invalid card number.</source> + <target>Desteklenmeyen kart tipi veya geçersiz kart numarası.</target> + </trans-unit> + </body> + </file> +</xliff> diff --git a/core/vendor/symfony/validator/Resources/translations/validators.uk.xlf b/core/vendor/symfony/validator/Resources/translations/validators.uk.xlf new file mode 100644 index 0000000000000000000000000000000000000000..02ecd5a687c9383ec8e30b5b0c52e74014957cd3 --- /dev/null +++ b/core/vendor/symfony/validator/Resources/translations/validators.uk.xlf @@ -0,0 +1,283 @@ +<?xml version="1.0"?> +<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2"> + <file source-language="en" datatype="plaintext" original="file.ext"> + <body> + <trans-unit id="1"> + <source>This value should be false.</source> + <target>Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ð²Ð¸Ð½Ð½Ð¾ бути ÐÑ–.</target> + </trans-unit> + <trans-unit id="2"> + <source>This value should be true.</source> + <target>Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ð²Ð¸Ð½Ð½Ð¾ бути Так.</target> + </trans-unit> + <trans-unit id="3"> + <source>This value should be of type {{ type }}.</source> + <target>Тип Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ð²Ð¸Ð½ÐµÐ½ бути {{ type }}.</target> + </trans-unit> + <trans-unit id="4"> + <source>This value should be blank.</source> + <target>Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ð²Ð¸Ð½Ð½Ð¾ бути пуÑтим.</target> + </trans-unit> + <trans-unit id="5"> + <source>The value you selected is not a valid choice.</source> + <target>Обране вами Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð½ÐµÐ´Ð¾Ð¿ÑƒÑтиме.</target> + </trans-unit> + <trans-unit id="6"> + <source>You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices.</source> + <target>Ви повинні обрати хоча б {{ limit }} варіант.|Ви повинні обрати хоча б {{ limit }} варіанти.|Ви повинні обрати хоча б {{ limit }} варіантів.</target> + </trans-unit> + <trans-unit id="7"> + <source>You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices.</source> + <target>Ви повинні обрати не більше ніж {{ limit }} варіантів.</target> + </trans-unit> + <trans-unit id="8"> + <source>One or more of the given values is invalid.</source> + <target>Одне або кілька заданих значень Ñ” недопуÑтимі.</target> + </trans-unit> + <trans-unit id="9"> + <source>This field was not expected.</source> + <target>Це поле не очікуєтьÑÑ.</target> + </trans-unit> + <trans-unit id="10"> + <source>This field is missing.</source> + <target>Це поле не виÑтачає.</target> + </trans-unit> + <trans-unit id="11"> + <source>This value is not a valid date.</source> + <target>Дане Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð½Ðµ Ñ” вірною датою.</target> + </trans-unit> + <trans-unit id="12"> + <source>This value is not a valid datetime.</source> + <target>Дане Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´Ð°Ñ‚Ð¸ та чаÑу недопуÑтиме.</target> + </trans-unit> + <trans-unit id="13"> + <source>This value is not a valid email address.</source> + <target>Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð°Ð´Ñ€ÐµÑи Ñлектронної пошти недопуÑтиме.</target> + </trans-unit> + <trans-unit id="14"> + <source>The file could not be found.</source> + <target>Файл не знайдено.</target> + </trans-unit> + <trans-unit id="15"> + <source>The file is not readable.</source> + <target>Файл не читаєтьÑÑ.</target> + </trans-unit> + <trans-unit id="16"> + <source>The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>Файл занадто великий ({{ size }} {{ suffix }}). Дозволений макÑимальний розмір {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="17"> + <source>The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}.</source> + <target>MIME-тип файлу недопуÑтимий ({{ type }}). ДопуÑтимі MIME-типи файлів {{ types }}.</target> + </trans-unit> + <trans-unit id="18"> + <source>This value should be {{ limit }} or less.</source> + <target>Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ð²Ð¸Ð½Ð½Ð¾ бути {{ limit }} або менше.</target> + </trans-unit> + <trans-unit id="19"> + <source>This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less.</source> + <target>Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð·Ð°Ð½Ð°Ð´Ñ‚Ð¾ довге. Повинно бути рівне {{ limit }} Ñимволу або менше.|Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð·Ð°Ð½Ð°Ð´Ñ‚Ð¾ довге. Повинно бути рівне {{ limit }} Ñимволам або менше.|Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð·Ð°Ð½Ð°Ð´Ñ‚Ð¾ довге. Повинно бути рівне {{ limit }} Ñимволам або менше.</target> + </trans-unit> + <trans-unit id="20"> + <source>This value should be {{ limit }} or more.</source> + <target>Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ð²Ð¸Ð½Ð½Ð¾ бути {{ limit }} або більше.</target> + </trans-unit> + <trans-unit id="21"> + <source>This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more.</source> + <target>Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð·Ð°Ð½Ð°Ð´Ñ‚Ð¾ коротке. Повинно бути рівне {{ limit }} Ñимволу або більше.|Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð·Ð°Ð½Ð°Ð´Ñ‚Ð¾ коротке. Повинно бути рівне {{ limit }} Ñимволам або більше.|Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð·Ð°Ð½Ð°Ð´Ñ‚Ð¾ коротке. Повинно бути рівне {{ limit }} Ñимволам або більше.</target> + </trans-unit> + <trans-unit id="22"> + <source>This value should not be blank.</source> + <target>Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð½Ðµ повинно бути пуÑтим.</target> + </trans-unit> + <trans-unit id="23"> + <source>This value should not be null.</source> + <target>Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð½Ðµ повинно бути null.</target> + </trans-unit> + <trans-unit id="24"> + <source>This value should be null.</source> + <target>Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ð²Ð¸Ð½Ð½Ð¾ бути null.</target> + </trans-unit> + <trans-unit id="25"> + <source>This value is not valid.</source> + <target>Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð½ÐµÐ´Ð¾Ð¿ÑƒÑтиме.</target> + </trans-unit> + <trans-unit id="26"> + <source>This value is not a valid time.</source> + <target>Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ‡Ð°Ñу недопуÑтиме.</target> + </trans-unit> + <trans-unit id="27"> + <source>This value is not a valid URL.</source> + <target>Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ URL недопуÑтиме.</target> + </trans-unit> + <trans-unit id="31"> + <source>The two values should be equal.</source> + <target>Обидва Ð·Ð°Ð½Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ð²Ð¸Ð½Ð½Ñ– бути одинаковими.</target> + </trans-unit> + <trans-unit id="32"> + <source>The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>Файл занадто великий. МакÑимальний допуÑтимий розмір {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="33"> + <source>The file is too large.</source> + <target>Файл занадто великий.</target> + </trans-unit> + <trans-unit id="34"> + <source>The file could not be uploaded.</source> + <target>Файл не можливо завантажити.</target> + </trans-unit> + <trans-unit id="35"> + <source>This value should be a valid number.</source> + <target>Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¼Ð°Ñ” бути допуÑтимим чиÑлом.</target> + </trans-unit> + <trans-unit id="36"> + <source>This file is not a valid image.</source> + <target>Цей файл не Ñ” допуÑтимим форматом зображеннÑ.</target> + </trans-unit> + <trans-unit id="37"> + <source>This is not a valid IP address.</source> + <target>Це некоректна IP адреÑа.</target> + </trans-unit> + <trans-unit id="38"> + <source>This value is not a valid language.</source> + <target>Це некоректна мова.</target> + </trans-unit> + <trans-unit id="39"> + <source>This value is not a valid locale.</source> + <target>Це некоректна локалізаціÑ.</target> + </trans-unit> + <trans-unit id="40"> + <source>This value is not a valid country.</source> + <target>Це некоректна країна.</target> + </trans-unit> + <trans-unit id="41"> + <source>This value is already used.</source> + <target>Це Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð²Ð¶Ðµ викориÑтовуєтьÑÑ.</target> + </trans-unit> + <trans-unit id="42"> + <source>The size of the image could not be detected.</source> + <target>Ðе вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ розмір зображеннÑ.</target> + </trans-unit> + <trans-unit id="43"> + <source>The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px.</source> + <target>Ширина Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð·Ð°Ð½Ð°Ð´Ñ‚Ð¾ велика ({{ width }}px). МакÑимально допуÑтима ширина {{ max_width }}px.</target> + </trans-unit> + <trans-unit id="44"> + <source>The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px.</source> + <target>Ширина Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð·Ð°Ð½Ð°Ð´Ñ‚Ð¾ мала ({{ width }}px). Мінімально допуÑтима ширина {{ min_width }}px.</target> + </trans-unit> + <trans-unit id="45"> + <source>The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px.</source> + <target>ВиÑота Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð·Ð°Ð½Ð°Ð´Ñ‚Ð¾ велика ({{ height }}px). МакÑимально допуÑтима виÑота {{ max_height }}px.</target> + </trans-unit> + <trans-unit id="46"> + <source>The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px.</source> + <target>ВиÑота Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð·Ð°Ð½Ð°Ð´Ñ‚Ð¾ мала ({{ height }}px). Мінімально допуÑтима виÑота {{ min_height }}px.</target> + </trans-unit> + <trans-unit id="47"> + <source>This value should be the user's current password.</source> + <target>Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¼Ð°Ñ” бути поточним паролем кориÑтувача.</target> + </trans-unit> + <trans-unit id="48"> + <source>This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters.</source> + <target>Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ð²Ð¸Ð¸Ð½Ð¾ бути рівним {{ limit }} Ñимволу.|Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ð²Ð¸Ð¸Ð½Ð¾ бути рівним {{ limit }} Ñимволам.|Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ð²Ð¸Ð¸Ð½Ð¾ бути рівним {{ limit }} Ñимволам.</target> + </trans-unit> + <trans-unit id="49"> + <source>The file was only partially uploaded.</source> + <target>Файл був завантажений лише чаÑтково.</target> + </trans-unit> + <trans-unit id="50"> + <source>No file was uploaded.</source> + <target>Файл не був завантажений.</target> + </trans-unit> + <trans-unit id="51"> + <source>No temporary folder was configured in php.ini.</source> + <target>Ðе налаштована тимчаÑова Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ñ–Ñ Ð² php.ini.</target> + </trans-unit> + <trans-unit id="52"> + <source>Cannot write temporary file to disk.</source> + <target>Ðеможливо запиÑати тимчаÑовий файл на диÑк.</target> + </trans-unit> + <trans-unit id="53"> + <source>A PHP extension caused the upload to fail.</source> + <target>Ð Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð½Ñ PHP викликало помилку при завантаженні.</target> + </trans-unit> + <trans-unit id="54"> + <source>This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more.</source> + <target>Ð¦Ñ ÐºÐ¾Ð»ÐµÐºÑ†Ñ–Ñ Ð¿Ð¾Ð²Ð¸Ð½Ð½Ð° міÑтити {{ limit }} елемент чи більше.|Ð¦Ñ ÐºÐ¾Ð»ÐµÐºÑ†Ñ–Ñ Ð¿Ð¾Ð²Ð¸Ð½Ð½Ð° міÑтити {{ limit }} елемента чи більше.|Ð¦Ñ ÐºÐ¾Ð»ÐµÐºÑ†Ñ–Ñ Ð¿Ð¾Ð²Ð¸Ð½Ð½Ð° міÑтити {{ limit }} елементів чи більше.</target> + </trans-unit> + <trans-unit id="55"> + <source>This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less.</source> + <target>Ð¦Ñ ÐºÐ¾Ð»ÐµÐºÑ†Ñ–Ñ Ð¿Ð¾Ð²Ð¸Ð½Ð½Ð° міÑтити {{ limit }} елемент чи менше.|Ð¦Ñ ÐºÐ¾Ð»ÐµÐºÑ†Ñ–Ñ Ð¿Ð¾Ð²Ð¸Ð½Ð½Ð° міÑтити {{ limit }} елемента чи менше.|Ð¦Ñ ÐºÐ¾Ð»ÐµÐºÑ†Ñ–Ñ Ð¿Ð¾Ð²Ð¸Ð½Ð½Ð° міÑтити {{ limit }} елементов чи менше.</target> + </trans-unit> + <trans-unit id="56"> + <source>This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements.</source> + <target>Ð¦Ñ ÐºÐ¾Ð»ÐµÐºÑ†Ñ–Ñ Ð¿Ð¾Ð²Ð¸Ð½Ð½Ð° міÑтити рівно {{ limit }} елемент.|Ð¦Ñ ÐºÐ¾Ð»ÐµÐºÑ†Ñ–Ñ Ð¿Ð¾Ð²Ð¸Ð½Ð½Ð° міÑтити рівно {{ limit }} елемента.|Ð¦Ñ ÐºÐ¾Ð»ÐµÐºÑ†Ñ–Ñ Ð¿Ð¾Ð²Ð¸Ð½Ð½Ð° міÑтити рівно {{ limit }} елементів.</target> + </trans-unit> + <trans-unit id="57"> + <source>Invalid card number.</source> + <target>Ðевірний номер карти.</target> + </trans-unit> + <trans-unit id="58"> + <source>Unsupported card type or invalid card number.</source> + <target>Ðепідтримуваний тип карти або невірний номер карти.</target> + </trans-unit> + <trans-unit id="59"> + <source>This is not a valid International Bank Account Number (IBAN).</source> + <target>Це не дійÑний міжнародний номер банківÑького рахунку (IBAN).</target> + </trans-unit> + <trans-unit id="60"> + <source>This value is not a valid ISBN-10.</source> + <target>Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð½Ðµ у форматі ISBN-10.</target> + </trans-unit> + <trans-unit id="61"> + <source>This value is not a valid ISBN-13.</source> + <target>Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð½Ðµ у форматі ISBN-13.</target> + </trans-unit> + <trans-unit id="62"> + <source>This value is neither a valid ISBN-10 nor a valid ISBN-13.</source> + <target>Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð½Ðµ відповідає форматам ISBN-10 та ISBN-13.</target> + </trans-unit> + <trans-unit id="63"> + <source>This value is not a valid ISSN.</source> + <target>Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¼Ð°Ñ” невірний формат ISSN.</target> + </trans-unit> + <trans-unit id="64"> + <source>This value is not a valid currency.</source> + <target>Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¼Ð°Ñ” невірний формат валюти.</target> + </trans-unit> + <trans-unit id="65"> + <source>This value should be equal to {{ compared_value }}.</source> + <target>Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ð²Ð¸Ð½Ð½Ð¾ дорівнювати {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="66"> + <source>This value should be greater than {{ compared_value }}.</source> + <target>Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¼Ð°Ñ” бути більше ніж {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="67"> + <source>This value should be greater than or equal to {{ compared_value }}.</source> + <target>Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¼Ð°Ñ” бути більше або дорівнювати {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="68"> + <source>This value should be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¼Ð°Ñ” бути ідентичним {{ compared_value_type }} {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="69"> + <source>This value should be less than {{ compared_value }}.</source> + <target>Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ð²Ð¸Ð½Ð½Ð¾ бути менше ніж {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="70"> + <source>This value should be less than or equal to {{ compared_value }}.</source> + <target>Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ð²Ð¸Ð½Ð½Ð¾ бути менше або дорівнювати {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="71"> + <source>This value should not be equal to {{ compared_value }}.</source> + <target>Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð½Ðµ повинно дорівнювати {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="72"> + <source>This value should not be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð½Ðµ повинно бути ідентичним {{ compared_value_type }} {{ compared_value }}.</target> + </trans-unit> + </body> + </file> +</xliff> diff --git a/core/vendor/symfony/validator/Resources/translations/validators.vi.xlf b/core/vendor/symfony/validator/Resources/translations/validators.vi.xlf new file mode 100644 index 0000000000000000000000000000000000000000..e1833c79cb470a20f7df7d68802b5824da9d2932 --- /dev/null +++ b/core/vendor/symfony/validator/Resources/translations/validators.vi.xlf @@ -0,0 +1,283 @@ +<?xml version="1.0"?> +<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2"> + <file source-language="en" datatype="plaintext" original="file.ext"> + <body> + <trans-unit id="1"> + <source>This value should be false.</source> + <target>Giá trị nà y phải là sai.</target> + </trans-unit> + <trans-unit id="2"> + <source>This value should be true.</source> + <target>Giá trị nà y phải là đúng.</target> + </trans-unit> + <trans-unit id="3"> + <source>This value should be of type {{ type }}.</source> + <target>Giá trị nà y phải là kiểu {{ type }}.</target> + </trans-unit> + <trans-unit id="4"> + <source>This value should be blank.</source> + <target>Giá trị nà y phải rá»—ng.</target> + </trans-unit> + <trans-unit id="5"> + <source>The value you selected is not a valid choice.</source> + <target>Giá trị bạn vừa chá»n không hợp lệ.</target> + </trans-unit> + <trans-unit id="6"> + <source>You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices.</source> + <target>Bạn phải chá»n Ãt nhất {{ limit }} lá»±a chá»n.|Bạn phải chá»n Ãt nhất {{ limit }} lá»±a chá»n.</target> + </trans-unit> + <trans-unit id="7"> + <source>You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices.</source> + <target>Bạn phải chá»n nhiá»u nhất {{ limit }} lá»±a chá»n.|Bạn phải chá»n nhiá»u nhất {{ limit }} lá»±a chá»n.</target> + </trans-unit> + <trans-unit id="8"> + <source>One or more of the given values is invalid.</source> + <target>Má»™t hoặc nhiá»u giá trị được chá»n không hợp lệ.</target> + </trans-unit> + <trans-unit id="9"> + <source>This field was not expected.</source> + <target>LÄ©nh vá»±c nà y không được dá»± kiến.</target> + </trans-unit> + <trans-unit id="10"> + <source>This field is missing.</source> + <target>LÄ©nh vá»±c nà y là mất tÃch.</target> + </trans-unit> + <trans-unit id="11"> + <source>This value is not a valid date.</source> + <target>Giá trị không phải là ngà y hợp lệ.</target> + </trans-unit> + <trans-unit id="12"> + <source>This value is not a valid datetime.</source> + <target>Giá trị không phải là ngà y tháng hợp lệ.</target> + </trans-unit> + <trans-unit id="13"> + <source>This value is not a valid email address.</source> + <target>Giá trị nà y không phải là email hợp lệ.</target> + </trans-unit> + <trans-unit id="14"> + <source>The file could not be found.</source> + <target>Táºp tin không tìm thấy.</target> + </trans-unit> + <trans-unit id="15"> + <source>The file is not readable.</source> + <target>Táºp tin không thể Ä‘á»c được.</target> + </trans-unit> + <trans-unit id="16"> + <source>The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>Táºp tin quá lá»›n ({{ size }} {{ suffix }}). KÃch thÆ°á»›c tối Ä‘a cho phép {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="17"> + <source>The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}.</source> + <target>Kiểu mime của táºp tin không hợp lệ ({{ type }}). Kiểu hợp lệ là {{ types }}.</target> + </trans-unit> + <trans-unit id="18"> + <source>This value should be {{ limit }} or less.</source> + <target>Giá trị phải bằng hoặc nhá» hÆ¡n {{ limit }}.</target> + </trans-unit> + <trans-unit id="19"> + <source>This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less.</source> + <target>Giá trị quá dà i. Phải bằng hoặc Ãt hÆ¡n {{ limit }} kà tá»±.|Giá trị quá dà i. Phải bằng hoặc Ãt hÆ¡n {{ limit }} kà tá»±.</target> + </trans-unit> + <trans-unit id="20"> + <source>This value should be {{ limit }} or more.</source> + <target>Giá trị phải lá»›n hÆ¡n hoặc bằng {{ limit }}.</target> + </trans-unit> + <trans-unit id="21"> + <source>This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more.</source> + <target>Giá trị quá ngắn. Phải hÆ¡n hoặc bằng {{ limit }} kà tá»±.|Giá trị quá ngắn. Phải hÆ¡n hoặc bằng {{ limit }} kà tá»±.</target> + </trans-unit> + <trans-unit id="22"> + <source>This value should not be blank.</source> + <target>Giá trị không được phép để trống.</target> + </trans-unit> + <trans-unit id="23"> + <source>This value should not be null.</source> + <target>Giá trị không được phép rá»—ng.</target> + </trans-unit> + <trans-unit id="24"> + <source>This value should be null.</source> + <target>Giá trị phải rá»—ng.</target> + </trans-unit> + <trans-unit id="25"> + <source>This value is not valid.</source> + <target>Giá trị không hợp lệ.</target> + </trans-unit> + <trans-unit id="26"> + <source>This value is not a valid time.</source> + <target>Giá trị không phải là thá»i gian hợp lệ.</target> + </trans-unit> + <trans-unit id="27"> + <source>This value is not a valid URL.</source> + <target>Giá trị không phải là địa chỉ URL hợp lệ.</target> + </trans-unit> + <trans-unit id="31"> + <source>The two values should be equal.</source> + <target>Hai giá trị phải bằng nhau.</target> + </trans-unit> + <trans-unit id="32"> + <source>The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>Táºp tin quá lá»›n. KÃch thÆ°á»›c tối Ä‘a cho phép là {{ limit }} {{ suffix }}.</target> + </trans-unit> + <trans-unit id="33"> + <source>The file is too large.</source> + <target>Táºp tin quá lá»›n.</target> + </trans-unit> + <trans-unit id="34"> + <source>The file could not be uploaded.</source> + <target>Táºp tin không thể tải lên.</target> + </trans-unit> + <trans-unit id="35"> + <source>This value should be a valid number.</source> + <target>Giá trị phải là con số.</target> + </trans-unit> + <trans-unit id="36"> + <source>This file is not a valid image.</source> + <target>Táºp tin không phải là hình ảnh.</target> + </trans-unit> + <trans-unit id="37"> + <source>This is not a valid IP address.</source> + <target>Äịa chỉ IP không hợp lệ.</target> + </trans-unit> + <trans-unit id="38"> + <source>This value is not a valid language.</source> + <target>Giá trị không phải là ngôn ngữ hợp lệ.</target> + </trans-unit> + <trans-unit id="39"> + <source>This value is not a valid locale.</source> + <target>Giá trị không phải là má»™t bản địa địa phÆ°Æ¡ng hợp lệ.</target> + </trans-unit> + <trans-unit id="40"> + <source>This value is not a valid country.</source> + <target>Giá trị không phải là nÆ°á»›c hợp lệ.</target> + </trans-unit> + <trans-unit id="41"> + <source>This value is already used.</source> + <target>Giá trị đã được sá» dụng.</target> + </trans-unit> + <trans-unit id="42"> + <source>The size of the image could not be detected.</source> + <target>KÃch thÆ°á»›c của hình ảnh không thể xác định.</target> + </trans-unit> + <trans-unit id="43"> + <source>The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px.</source> + <target>Chiá»u rá»™ng của hình quá lá»›n ({{ width }}px). Chiá»u rá»™ng tối Ä‘a phải là {{ max_width }}px.</target> + </trans-unit> + <trans-unit id="44"> + <source>The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px.</source> + <target>Chiá»u rá»™ng của hình quá thấp ({{ width }}px). Chiá»u rá»™ng tối thiểu phải là {{ min_width }}px.</target> + </trans-unit> + <trans-unit id="45"> + <source>The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px.</source> + <target>Chiá»u cao của hình quá cao ({{ height }}px). Chiá»u cao tối Ä‘a phải là {{ max_height }}px.</target> + </trans-unit> + <trans-unit id="46"> + <source>The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px.</source> + <target>Chiá»u cao của hình quá thấp ({{ height }}px). Chiá»u cao tối thiểu phải là {{ min_height }}px.</target> + </trans-unit> + <trans-unit id="47"> + <source>This value should be the user's current password.</source> + <target>Giá trị nà y phải là máºt khẩu hiện tại của ngÆ°á»i dùng.</target> + </trans-unit> + <trans-unit id="48"> + <source>This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters.</source> + <target>Giá trị phải có chÃnh xác {{ limit }} kà tá»±.|Giá trị phải có chÃnh xác {{ limit }} kà tá»±.</target> + </trans-unit> + <trans-unit id="49"> + <source>The file was only partially uploaded.</source> + <target>Táºp tin chỉ được tải lên má»™t phần.</target> + </trans-unit> + <trans-unit id="50"> + <source>No file was uploaded.</source> + <target>Táºp tin không được tải lên.</target> + </trans-unit> + <trans-unit id="51"> + <source>No temporary folder was configured in php.ini.</source> + <target>ThÆ° mục tạm không được định nghÄ©a trong php.ini.</target> + </trans-unit> + <trans-unit id="52"> + <source>Cannot write temporary file to disk.</source> + <target>Không thể ghi táºp tin tạm ra Ä‘Ä©a.</target> + </trans-unit> + <trans-unit id="53"> + <source>A PHP extension caused the upload to fail.</source> + <target>Má»™t PHP extension đã phá há»ng quá trình tải lên của táºp tin.</target> + </trans-unit> + <trans-unit id="54"> + <source>This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more.</source> + <target>Danh sách phải chứa {{ limit }} hoặc nhiá»u hÆ¡n thà nh phần.|Danh sách phải chứa {{ limit }} hoặc nhiá»u hÆ¡n thà nh phần.</target> + </trans-unit> + <trans-unit id="55"> + <source>This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less.</source> + <target>Danh sách phải chứa {{ limit }} hoặc Ãt hÆ¡n thà nh phần.|Danh sách phải chứa {{ limit }} hoặc Ãt hÆ¡n thà nh phần.</target> + </trans-unit> + <trans-unit id="56"> + <source>This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements.</source> + <target>Danh sách phải chứa chÃnh xác {{ limit }} thà nh phần.|Danh sách phải chứa chÃnh xác {{ limit }} thà nh phần.</target> + </trans-unit> + <trans-unit id="57"> + <source>Invalid card number.</source> + <target>Số thẻ không hợp lệ.</target> + </trans-unit> + <trans-unit id="58"> + <source>Unsupported card type or invalid card number.</source> + <target>Thẻ không được há»— trợ hoặc số thẻ không hợp lệ.</target> + </trans-unit> + <trans-unit id="59"> + <source>This is not a valid International Bank Account Number (IBAN).</source> + <target>Giá trị không phải là International Bank Account Number (IBAN) hợp lệ.</target> + </trans-unit> + <trans-unit id="60"> + <source>This value is not a valid ISBN-10.</source> + <target>Giá trị không phải là ISBN-10 hợp lệ.</target> + </trans-unit> + <trans-unit id="61"> + <source>This value is not a valid ISBN-13.</source> + <target>Giá trị không phải là ISBN-13 hợp lệ.</target> + </trans-unit> + <trans-unit id="62"> + <source>This value is neither a valid ISBN-10 nor a valid ISBN-13.</source> + <target>Giá trị không phải là ISBN-10 hoặc ISBN-13 hợp lệ.</target> + </trans-unit> + <trans-unit id="63"> + <source>This value is not a valid ISSN.</source> + <target>Giá trị không là ISSN hợp lệ.</target> + </trans-unit> + <trans-unit id="64"> + <source>This value is not a valid currency.</source> + <target>Giá trị không phải là đơn vi tiá»n tệ hợp lệ.</target> + </trans-unit> + <trans-unit id="65"> + <source>This value should be equal to {{ compared_value }}.</source> + <target>Giá trị phải bằng {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="66"> + <source>This value should be greater than {{ compared_value }}.</source> + <target>Giá trị phải lá»›n hÆ¡n {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="67"> + <source>This value should be greater than or equal to {{ compared_value }}.</source> + <target>Giá trị phải lá»›n hÆ¡n hoặc bằng {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="68"> + <source>This value should be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>Giá trị phải giống {{ compared_value_type }} {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="69"> + <source>This value should be less than {{ compared_value }}.</source> + <target>Giá trị phải bé hÆ¡n {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="70"> + <source>This value should be less than or equal to {{ compared_value }}.</source> + <target>Giá trị không được phép nhá» hÆ¡n hoặc bằng {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="71"> + <source>This value should not be equal to {{ compared_value }}.</source> + <target>Giá trị không được phép bằng {{ compared_value }}.</target> + </trans-unit> + <trans-unit id="72"> + <source>This value should not be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>Giá trị không được phép giống nhÆ° {{ compared_value_type }} {{ compared_value }}.</target> + </trans-unit> + </body> + </file> +</xliff> diff --git a/core/vendor/symfony/validator/Resources/translations/validators.zh_CN.xlf b/core/vendor/symfony/validator/Resources/translations/validators.zh_CN.xlf new file mode 100644 index 0000000000000000000000000000000000000000..6c95ef1a20ddaa28f33135bfc51c89614571bc66 --- /dev/null +++ b/core/vendor/symfony/validator/Resources/translations/validators.zh_CN.xlf @@ -0,0 +1,315 @@ +<?xml version="1.0"?> +<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2"> + <file source-language="en" datatype="plaintext" original="file.ext"> + <body> + <trans-unit id="1"> + <source>This value should be false.</source> + <target>该å˜é‡çš„值应为 false 。</target> + </trans-unit> + <trans-unit id="2"> + <source>This value should be true.</source> + <target>该å˜é‡çš„值应为 true 。</target> + </trans-unit> + <trans-unit id="3"> + <source>This value should be of type {{ type }}.</source> + <target>该å˜é‡çš„类型应为 {{ type }} 。</target> + </trans-unit> + <trans-unit id="4"> + <source>This value should be blank.</source> + <target>该å˜é‡å€¼åº”为空。</target> + </trans-unit> + <trans-unit id="5"> + <source>The value you selected is not a valid choice.</source> + <target>选定å˜é‡çš„值ä¸æ˜¯æœ‰æ•ˆçš„选项。</target> + </trans-unit> + <trans-unit id="6"> + <source>You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices.</source> + <target>您至少è¦é€‰æ‹© {{ limit }} 个选项。</target> + </trans-unit> + <trans-unit id="7"> + <source>You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices.</source> + <target>您最多能选择 {{ limit }} 个选项。</target> + </trans-unit> + <trans-unit id="8"> + <source>One or more of the given values is invalid.</source> + <target>ä¸€ä¸ªæˆ–è€…å¤šä¸ªç»™å®šçš„å€¼æ— æ•ˆã€‚</target> + </trans-unit> + <trans-unit id="9"> + <source>This field was not expected.</source> + <target>æ¤å—段是多余的。</target> + </trans-unit> + <trans-unit id="10"> + <source>This field is missing.</source> + <target>æ¤å—段缺失。</target> + </trans-unit> + <trans-unit id="11"> + <source>This value is not a valid date.</source> + <target>该值ä¸æ˜¯ä¸€ä¸ªæœ‰æ•ˆçš„日期(date)。</target> + </trans-unit> + <trans-unit id="12"> + <source>This value is not a valid datetime.</source> + <target>该值ä¸æ˜¯ä¸€ä¸ªæœ‰æ•ˆçš„日期时间(datetime)。</target> + </trans-unit> + <trans-unit id="13"> + <source>This value is not a valid email address.</source> + <target>该值ä¸æ˜¯ä¸€ä¸ªæœ‰æ•ˆçš„邮件地å€ã€‚</target> + </trans-unit> + <trans-unit id="14"> + <source>The file could not be found.</source> + <target>文件未找到。</target> + </trans-unit> + <trans-unit id="15"> + <source>The file is not readable.</source> + <target>文件ä¸å¯è¯»ã€‚</target> + </trans-unit> + <trans-unit id="16"> + <source>The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>文件太大 ({{ size }} {{ suffix }})。文件大å°ä¸å¯ä»¥è¶…过 {{ limit }} {{ suffix }} 。</target> + </trans-unit> + <trans-unit id="17"> + <source>The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}.</source> + <target>æ— æ•ˆçš„æ–‡ä»¶ç±»åž‹ ({{ type }}) 。å…许的文件类型有 {{ types }} 。</target> + </trans-unit> + <trans-unit id="18"> + <source>This value should be {{ limit }} or less.</source> + <target>这个å˜é‡çš„值应该å°äºŽæˆ–ç‰äºŽ {{ limit }}。</target> + </trans-unit> + <trans-unit id="19"> + <source>This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less.</source> + <target>å—符串太长,长度ä¸å¯è¶…过 {{ limit }} 个å—符。</target> + </trans-unit> + <trans-unit id="20"> + <source>This value should be {{ limit }} or more.</source> + <target>该å˜é‡çš„值应该大于或ç‰äºŽ {{ limit }}。</target> + </trans-unit> + <trans-unit id="21"> + <source>This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more.</source> + <target>å—符串太çŸï¼Œé•¿åº¦ä¸å¯å°‘于 {{ limit }} 个å—符。</target> + </trans-unit> + <trans-unit id="22"> + <source>This value should not be blank.</source> + <target>该å˜é‡ä¸åº”为空。</target> + </trans-unit> + <trans-unit id="23"> + <source>This value should not be null.</source> + <target>该å˜é‡ä¸åº”为 null 。</target> + </trans-unit> + <trans-unit id="24"> + <source>This value should be null.</source> + <target>该å˜é‡åº”为空 null 。</target> + </trans-unit> + <trans-unit id="25"> + <source>This value is not valid.</source> + <target>该å˜é‡å€¼æ— 效 。</target> + </trans-unit> + <trans-unit id="26"> + <source>This value is not a valid time.</source> + <target>该值ä¸æ˜¯ä¸€ä¸ªæœ‰æ•ˆçš„时间。</target> + </trans-unit> + <trans-unit id="27"> + <source>This value is not a valid URL.</source> + <target>该值ä¸æ˜¯ä¸€ä¸ªæœ‰æ•ˆçš„ URL 。</target> + </trans-unit> + <trans-unit id="31"> + <source>The two values should be equal.</source> + <target>这两个å˜é‡çš„值应该相ç‰ã€‚</target> + </trans-unit> + <trans-unit id="32"> + <source>The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>文件太大,文件大å°ä¸å¯ä»¥è¶…过 {{ limit }} {{ suffix }}。 </target> + </trans-unit> + <trans-unit id="33"> + <source>The file is too large.</source> + <target>文件太大。</target> + </trans-unit> + <trans-unit id="34"> + <source>The file could not be uploaded.</source> + <target>æ— æ³•ä¸Šä¼ æ¤æ–‡ä»¶ã€‚</target> + </trans-unit> + <trans-unit id="35"> + <source>This value should be a valid number.</source> + <target>该值应该为有效的数å—。</target> + </trans-unit> + <trans-unit id="36"> + <source>This value is not a valid country.</source> + <target>该值ä¸æ˜¯æœ‰æ•ˆçš„国家å。</target> + </trans-unit> + <trans-unit id="37"> + <source>This file is not a valid image.</source> + <target>该文件ä¸æ˜¯æœ‰æ•ˆçš„图片。</target> + </trans-unit> + <trans-unit id="38"> + <source>This is not a valid IP address.</source> + <target>该值ä¸æ˜¯æœ‰æ•ˆçš„IP地å€ã€‚</target> + </trans-unit> + <trans-unit id="39"> + <source>This value is not a valid language.</source> + <target>该值ä¸æ˜¯æœ‰æ•ˆçš„è¯è¨€å。</target> + </trans-unit> + <trans-unit id="40"> + <source>This value is not a valid locale.</source> + <target>该值ä¸æ˜¯æœ‰æ•ˆçš„区域值(locale)。</target> + </trans-unit> + <trans-unit id="41"> + <source>This value is already used.</source> + <target>该值已ç»è¢«ä½¿ç”¨ã€‚</target> + </trans-unit> + <trans-unit id="42"> + <source>The size of the image could not be detected.</source> + <target>ä¸èƒ½è§£æžå›¾ç‰‡å¤§å°ã€‚</target> + </trans-unit> + <trans-unit id="43"> + <source>The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px.</source> + <target>图片太宽 ({{ width }}px),最大宽度为 {{ max_width }}px 。</target> + </trans-unit> + <trans-unit id="44"> + <source>The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px.</source> + <target>图片宽度ä¸å¤Ÿ ({{ width }}px),最å°å®½åº¦ä¸º {{ min_width }}px 。</target> + </trans-unit> + <trans-unit id="45"> + <source>The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px.</source> + <target>图片太高 ({{ height }}px),最大高度为 {{ max_height }}px 。</target> + </trans-unit> + <trans-unit id="46"> + <source>The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px.</source> + <target>图片高度ä¸å¤Ÿ ({{ height }}px),最å°é«˜åº¦ä¸º {{ min_height }}px 。</target> + </trans-unit> + <trans-unit id="47"> + <source>This value should be the user's current password.</source> + <target>该å˜é‡çš„值应为用户当å‰çš„密ç 。</target> + </trans-unit> + <trans-unit id="48"> + <source>This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters.</source> + <target>该å˜é‡åº”为 {{ limit }} 个å—符。</target> + </trans-unit> + <trans-unit id="49"> + <source>The file was only partially uploaded.</source> + <target>è¯¥æ–‡ä»¶çš„ä¸Šä¼ ä¸å®Œæ•´ã€‚</target> + </trans-unit> + <trans-unit id="50"> + <source>No file was uploaded.</source> + <target>æ²¡æœ‰ä¸Šä¼ ä»»ä½•æ–‡ä»¶ã€‚</target> + </trans-unit> + <trans-unit id="51"> + <source>No temporary folder was configured in php.ini.</source> + <target>php.ini 里没有é…置临时文件目录。</target> + </trans-unit> + <trans-unit id="52"> + <source>Cannot write temporary file to disk.</source> + <target>临时文件写入ç£ç›˜å¤±è´¥ã€‚</target> + </trans-unit> + <trans-unit id="53"> + <source>A PHP extension caused the upload to fail.</source> + <target>æŸä¸ª PHP æ‰©å±•é€ æˆä¸Šä¼ 失败。</target> + </trans-unit> + <trans-unit id="54"> + <source>This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more.</source> + <target>该集åˆæœ€å°‘åº”åŒ…å« {{ limit }} ä¸ªå…ƒç´ ã€‚</target> + </trans-unit> + <trans-unit id="55"> + <source>This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less.</source> + <target>该集åˆæœ€å¤šåŒ…å« {{ limit }} ä¸ªå…ƒç´ ã€‚</target> + </trans-unit> + <trans-unit id="56"> + <source>This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements.</source> + <target>该集åˆåº”åŒ…å« {{ limit }} ä¸ªå…ƒç´ element 。</target> + </trans-unit> + <trans-unit id="57"> + <source>Invalid card number.</source> + <target>æ— æ•ˆçš„ä¿¡ç”¨å¡å·ã€‚</target> + </trans-unit> + <trans-unit id="58"> + <source>Unsupported card type or invalid card number.</source> + <target>ä¸æ”¯æŒçš„信用å¡ç±»åž‹æˆ–æ— æ•ˆçš„ä¿¡ç”¨å¡å·ã€‚</target> + </trans-unit> + <trans-unit id="59"> + <source>This is not a valid International Bank Account Number (IBAN).</source> + <target>该值ä¸æ˜¯æœ‰æ•ˆçš„国际银行å¸å·ï¼ˆIBAN)。</target> + </trans-unit> + <trans-unit id="60"> + <source>This value is not a valid ISBN-10.</source> + <target>该值ä¸æ˜¯æœ‰æ•ˆçš„10ä½å›½é™…æ ‡å‡†ä¹¦å·ï¼ˆISBN-10)。</target> + </trans-unit> + <trans-unit id="61"> + <source>This value is not a valid ISBN-13.</source> + <target>该值ä¸æ˜¯æœ‰æ•ˆçš„13ä½å›½é™…æ ‡å‡†ä¹¦å·ï¼ˆISBN-13)。</target> + </trans-unit> + <trans-unit id="62"> + <source>This value is neither a valid ISBN-10 nor a valid ISBN-13.</source> + <target>该值ä¸æ˜¯æœ‰æ•ˆçš„å›½é™…æ ‡å‡†ä¹¦å·ï¼ˆISBN-10 或 ISBN-13)。</target> + </trans-unit> + <trans-unit id="63"> + <source>This value is not a valid ISSN.</source> + <target>该值ä¸æ˜¯æœ‰æ•ˆçš„å›½é™…æ ‡å‡†æœŸåˆŠå·ï¼ˆISSN)。</target> + </trans-unit> + <trans-unit id="64"> + <source>This value is not a valid currency.</source> + <target>该值ä¸æ˜¯æœ‰æ•ˆçš„è´§å¸å(currency)。</target> + </trans-unit> + <trans-unit id="65"> + <source>This value should be equal to {{ compared_value }}.</source> + <target>该值应ç‰äºŽ {{ compared_value }} 。</target> + </trans-unit> + <trans-unit id="66"> + <source>This value should be greater than {{ compared_value }}.</source> + <target>该值应大于 {{ compared_value }} 。</target> + </trans-unit> + <trans-unit id="67"> + <source>This value should be greater than or equal to {{ compared_value }}.</source> + <target>该值应大于或ç‰äºŽ {{ compared_value }} 。</target> + </trans-unit> + <trans-unit id="68"> + <source>This value should be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>该值应与 {{ compared_value_type }} {{ compared_value }} 相åŒã€‚</target> + </trans-unit> + <trans-unit id="69"> + <source>This value should be less than {{ compared_value }}.</source> + <target>该值应å°äºŽ {{ compared_value }} 。</target> + </trans-unit> + <trans-unit id="70"> + <source>This value should be less than or equal to {{ compared_value }}.</source> + <target>该值应å°äºŽæˆ–ç‰äºŽ {{ compared_value }} 。</target> + </trans-unit> + <trans-unit id="71"> + <source>This value should not be equal to {{ compared_value }}.</source> + <target>该值ä¸åº”å…ˆç‰äºŽ {{ compared_value }} 。</target> + </trans-unit> + <trans-unit id="72"> + <source>This value should not be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>该值ä¸åº”与 {{ compared_value_type }} {{ compared_value }} 相åŒã€‚</target> + </trans-unit> + <trans-unit id="73"> + <source>The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}.</source> + <target>图片宽高比太大 ({{ ratio }})。å…许的最大宽高比为 {{ max_ratio }}。</target> + </trans-unit> + <trans-unit id="74"> + <source>The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}.</source> + <target>å›¾ç‰‡å®½é«˜æ¯”å¤ªå° ({{ ratio }})。å…许的最大宽高比为 {{ min_ratio }}。</target> + </trans-unit> + <trans-unit id="75"> + <source>The image is square ({{ width }}x{{ height }}px). Square images are not allowed.</source> + <target>图片是方形的 ({{ width }}x{{ height }}px)。ä¸å…许使用方形的图片。</target> + </trans-unit> + <trans-unit id="76"> + <source>The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed.</source> + <target>图片是横å‘çš„ ({{ width }}x{{ height }}px)。ä¸å…许使用横å‘的图片。</target> + </trans-unit> + <trans-unit id="77"> + <source>The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed.</source> + <target>图片是纵å‘çš„ ({{ width }}x{{ height }}px)。ä¸å…许使用纵å‘的图片。</target> + </trans-unit> + <trans-unit id="78"> + <source>An empty file is not allowed.</source> + <target>ä¸å…许使用空文件。</target> + </trans-unit> + <trans-unit id="79"> + <source>The host could not be resolved.</source> + <target>主机åæ— æ³•è§£æžã€‚</target> + </trans-unit> + <trans-unit id="80"> + <source>This value does not match the expected {{ charset }} charset.</source> + <target>该值ä¸ç¬¦åˆ {{ charset }} ç¼–ç 。</target> + </trans-unit> + </body> + </file> +</xliff> diff --git a/core/vendor/symfony/validator/Resources/translations/validators.zh_TW.xlf b/core/vendor/symfony/validator/Resources/translations/validators.zh_TW.xlf new file mode 100644 index 0000000000000000000000000000000000000000..d9d5f2f622b43fc5c155e0a08e781807f30e58e8 --- /dev/null +++ b/core/vendor/symfony/validator/Resources/translations/validators.zh_TW.xlf @@ -0,0 +1,283 @@ +<?xml version="1.0"?> +<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2"> + <file source-language="en" datatype="plaintext" original="file.ext"> + <body> + <trans-unit id="1"> + <source>This value should be false.</source> + <target>該變數的值應為 false 。</target> + </trans-unit> + <trans-unit id="2"> + <source>This value should be true.</source> + <target>該變數的值應為 true 。</target> + </trans-unit> + <trans-unit id="3"> + <source>This value should be of type {{ type }}.</source> + <target>該變數的類型應為 {{ type }} 。</target> + </trans-unit> + <trans-unit id="4"> + <source>This value should be blank.</source> + <target>該變數應為空。</target> + </trans-unit> + <trans-unit id="5"> + <source>The value you selected is not a valid choice.</source> + <target>é¸å®šè®Šæ•¸çš„值ä¸æ˜¯æœ‰æ•ˆçš„é¸é …。</target> + </trans-unit> + <trans-unit id="6"> + <source>You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices.</source> + <target>您至少è¦é¸æ“‡ {{ limit }} 個é¸é …。</target> + </trans-unit> + <trans-unit id="7"> + <source>You must select at most {{ limit }} choice.|You must select at most {{ limit }} choices.</source> + <target>您最多能é¸æ“‡ {{ limit }} 個é¸é …。</target> + </trans-unit> + <trans-unit id="8"> + <source>One or more of the given values is invalid.</source> + <target>一個或者多個給定的值無效。</target> + </trans-unit> + <trans-unit id="9"> + <source>This field was not expected.</source> + <target>æ¤å—段是沒有é 料到。</target> + </trans-unit> + <trans-unit id="10"> + <source>This field is missing.</source> + <target>æ¤å—段缺失。</target> + </trans-unit> + <trans-unit id="11"> + <source>This value is not a valid date.</source> + <target>該值ä¸æ˜¯ä¸€å€‹æœ‰æ•ˆçš„日期(date)。</target> + </trans-unit> + <trans-unit id="12"> + <source>This value is not a valid datetime.</source> + <target>該值ä¸æ˜¯ä¸€å€‹æœ‰æ•ˆçš„日期時間(datetime)。</target> + </trans-unit> + <trans-unit id="13"> + <source>This value is not a valid email address.</source> + <target>該值ä¸æ˜¯ä¸€å€‹æœ‰æ•ˆçš„郵件地å€ã€‚</target> + </trans-unit> + <trans-unit id="14"> + <source>The file could not be found.</source> + <target>找ä¸åˆ°æª”案。</target> + </trans-unit> + <trans-unit id="15"> + <source>The file is not readable.</source> + <target>無法讀å–檔案。</target> + </trans-unit> + <trans-unit id="16"> + <source>The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>檔案太大 ({{ size }} {{ suffix }})。檔案大å°ä¸å¯ä»¥è¶…éŽ {{ limit }} {{ suffix }} 。</target> + </trans-unit> + <trans-unit id="17"> + <source>The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}.</source> + <target>無效的檔案類型 ({{ type }}) 。å…許的檔案類型有 {{ types }} 。</target> + </trans-unit> + <trans-unit id="18"> + <source>This value should be {{ limit }} or less.</source> + <target>這個變數的值應該å°æ–¼æˆ–ç‰æ–¼ {{ limit }}。</target> + </trans-unit> + <trans-unit id="19"> + <source>This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less.</source> + <target>å—串太長,長度ä¸å¯è¶…éŽ {{ limit }} 個å—元。</target> + </trans-unit> + <trans-unit id="20"> + <source>This value should be {{ limit }} or more.</source> + <target>該變數的值應該大於或ç‰æ–¼ {{ limit }}。</target> + </trans-unit> + <trans-unit id="21"> + <source>This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more.</source> + <target>å—串太çŸï¼Œé•·åº¦ä¸å¯å°‘æ–¼ {{ limit }} 個å—元。</target> + </trans-unit> + <trans-unit id="22"> + <source>This value should not be blank.</source> + <target>該變數ä¸æ‡‰ç‚ºç©ºç™½ã€‚</target> + </trans-unit> + <trans-unit id="23"> + <source>This value should not be null.</source> + <target>該值ä¸æ‡‰ç‚º null 。</target> + </trans-unit> + <trans-unit id="24"> + <source>This value should be null.</source> + <target>該值應為 null 。</target> + </trans-unit> + <trans-unit id="25"> + <source>This value is not valid.</source> + <target>無效的數值 。</target> + </trans-unit> + <trans-unit id="26"> + <source>This value is not a valid time.</source> + <target>該值ä¸æ˜¯ä¸€å€‹æœ‰æ•ˆçš„時間。</target> + </trans-unit> + <trans-unit id="27"> + <source>This value is not a valid URL.</source> + <target>該值ä¸æ˜¯ä¸€å€‹æœ‰æ•ˆçš„ URL 。</target> + </trans-unit> + <trans-unit id="31"> + <source>The two values should be equal.</source> + <target>這兩個變數的值應該相ç‰ã€‚</target> + </trans-unit> + <trans-unit id="32"> + <source>The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}.</source> + <target>檔案太大,檔案大å°ä¸å¯ä»¥è¶…éŽ {{ limit }} {{ suffix }}。 </target> + </trans-unit> + <trans-unit id="33"> + <source>The file is too large.</source> + <target>檔案太大。</target> + </trans-unit> + <trans-unit id="34"> + <source>The file could not be uploaded.</source> + <target>無法上傳æ¤æª”案。</target> + </trans-unit> + <trans-unit id="35"> + <source>This value should be a valid number.</source> + <target>該值應該為有效的數å—。</target> + </trans-unit> + <trans-unit id="36"> + <source>This value is not a valid country.</source> + <target>該值ä¸æ˜¯æœ‰æ•ˆçš„國家å。</target> + </trans-unit> + <trans-unit id="37"> + <source>This file is not a valid image.</source> + <target>該檔案ä¸æ˜¯æœ‰æ•ˆçš„圖片。</target> + </trans-unit> + <trans-unit id="38"> + <source>This is not a valid IP address.</source> + <target>該值ä¸æ˜¯æœ‰æ•ˆçš„IP地å€ã€‚</target> + </trans-unit> + <trans-unit id="39"> + <source>This value is not a valid language.</source> + <target>該值ä¸æ˜¯æœ‰æ•ˆçš„語言å。</target> + </trans-unit> + <trans-unit id="40"> + <source>This value is not a valid locale.</source> + <target>該值ä¸æ˜¯æœ‰æ•ˆçš„å€åŸŸå€¼ï¼ˆlocale)。</target> + </trans-unit> + <trans-unit id="41"> + <source>This value is already used.</source> + <target>該值已經被使用。</target> + </trans-unit> + <trans-unit id="42"> + <source>The size of the image could not be detected.</source> + <target>ä¸èƒ½è§£æžåœ–片大å°ã€‚</target> + </trans-unit> + <trans-unit id="43"> + <source>The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px.</source> + <target>圖片太寬 ({{ width }}px),最大寬度為 {{ max_width }}px 。</target> + </trans-unit> + <trans-unit id="44"> + <source>The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px.</source> + <target>圖片寬度ä¸å¤ ({{ width }}px),最å°å¯¬åº¦ç‚º {{ min_width }}px 。</target> + </trans-unit> + <trans-unit id="45"> + <source>The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px.</source> + <target>圖片太高 ({{ height }}px),最大高度為 {{ max_height }}px 。</target> + </trans-unit> + <trans-unit id="46"> + <source>The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px.</source> + <target>圖片高度ä¸å¤ ({{ height }}px),最å°é«˜åº¦ç‚º {{ min_height }}px 。</target> + </trans-unit> + <trans-unit id="47"> + <source>This value should be the user's current password.</source> + <target>該變數的值應為用戶目å‰çš„密碼。</target> + </trans-unit> + <trans-unit id="48"> + <source>This value should have exactly {{ limit }} character.|This value should have exactly {{ limit }} characters.</source> + <target>該變數應為 {{ limit }} 個å—元。</target> + </trans-unit> + <trans-unit id="49"> + <source>The file was only partially uploaded.</source> + <target>該檔案的上傳ä¸å®Œæ•´ã€‚</target> + </trans-unit> + <trans-unit id="50"> + <source>No file was uploaded.</source> + <target>沒有上傳任何檔案。</target> + </trans-unit> + <trans-unit id="51"> + <source>No temporary folder was configured in php.ini.</source> + <target>php.ini 裡沒有é…置臨時目錄。</target> + </trans-unit> + <trans-unit id="52"> + <source>Cannot write temporary file to disk.</source> + <target>æš«å˜æª”寫入ç£ç¢Ÿå¤±æ•—。</target> + </trans-unit> + <trans-unit id="53"> + <source>A PHP extension caused the upload to fail.</source> + <target>æŸå€‹ PHP æ“´å±•é€ æˆä¸Šå‚³å¤±æ•—。</target> + </trans-unit> + <trans-unit id="54"> + <source>This collection should contain {{ limit }} element or more.|This collection should contain {{ limit }} elements or more.</source> + <target>該集åˆæœ€å°‘æ‡‰åŒ…å« {{ limit }} å€‹å…ƒç´ ã€‚</target> + </trans-unit> + <trans-unit id="55"> + <source>This collection should contain {{ limit }} element or less.|This collection should contain {{ limit }} elements or less.</source> + <target>該集åˆæœ€å¤šåŒ…å« {{ limit }} å€‹å…ƒç´ ã€‚</target> + </trans-unit> + <trans-unit id="56"> + <source>This collection should contain exactly {{ limit }} element.|This collection should contain exactly {{ limit }} elements.</source> + <target>該集åˆæ‡‰åŒ…å« {{ limit }} å€‹å…ƒç´ element 。</target> + </trans-unit> + <trans-unit id="57"> + <source>Invalid card number.</source> + <target>無效的信用å¡è™Ÿã€‚</target> + </trans-unit> + <trans-unit id="58"> + <source>Unsupported card type or invalid card number.</source> + <target>ä¸æ”¯æ´çš„信用å¡é¡žåž‹æˆ–無效的信用å¡è™Ÿã€‚</target> + </trans-unit> + <trans-unit id="59"> + <source>This is not a valid International Bank Account Number (IBAN).</source> + <target>該值ä¸æ˜¯æœ‰æ•ˆçš„國際銀行帳號(IBAN)。</target> + </trans-unit> + <trans-unit id="60"> + <source>This value is not a valid ISBN-10.</source> + <target>該值ä¸æ˜¯æœ‰æ•ˆçš„10ä½åœ‹éš›æ¨™æº–書號(ISBN-10)。</target> + </trans-unit> + <trans-unit id="61"> + <source>This value is not a valid ISBN-13.</source> + <target>該值ä¸æ˜¯æœ‰æ•ˆçš„13ä½åœ‹éš›æ¨™æº–書號(ISBN-13)。</target> + </trans-unit> + <trans-unit id="62"> + <source>This value is neither a valid ISBN-10 nor a valid ISBN-13.</source> + <target>該值ä¸æ˜¯æœ‰æ•ˆçš„國際標準書號(ISBN-10 或 ISBN-13)。</target> + </trans-unit> + <trans-unit id="63"> + <source>This value is not a valid ISSN.</source> + <target>該值ä¸æ˜¯æœ‰æ•ˆçš„國際標準期刊號(ISSN)。</target> + </trans-unit> + <trans-unit id="64"> + <source>This value is not a valid currency.</source> + <target>該值ä¸æ˜¯æœ‰æ•ˆçš„貨幣å(currency)。</target> + </trans-unit> + <trans-unit id="65"> + <source>This value should be equal to {{ compared_value }}.</source> + <target>該值應ç‰æ–¼ {{ compared_value }} 。</target> + </trans-unit> + <trans-unit id="66"> + <source>This value should be greater than {{ compared_value }}.</source> + <target>該值應大於 {{ compared_value }} 。</target> + </trans-unit> + <trans-unit id="67"> + <source>This value should be greater than or equal to {{ compared_value }}.</source> + <target>該值應大於或ç‰æ–¼ {{ compared_value }} 。</target> + </trans-unit> + <trans-unit id="68"> + <source>This value should be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>該值應與 {{ compared_value_type }} {{ compared_value }} 相åŒã€‚</target> + </trans-unit> + <trans-unit id="69"> + <source>This value should be less than {{ compared_value }}.</source> + <target>該值應å°æ–¼ {{ compared_value }} 。</target> + </trans-unit> + <trans-unit id="70"> + <source>This value should be less than or equal to {{ compared_value }}.</source> + <target>該值應å°æ–¼æˆ–ç‰æ–¼ {{ compared_value }} 。</target> + </trans-unit> + <trans-unit id="71"> + <source>This value should not be equal to {{ compared_value }}.</source> + <target>該值應ä¸ç‰æ–¼ {{ compared_value }} 。</target> + </trans-unit> + <trans-unit id="72"> + <source>This value should not be identical to {{ compared_value_type }} {{ compared_value }}.</source> + <target>該值ä¸æ‡‰èˆ‡ {{ compared_value_type }} {{ compared_value }} 相åŒã€‚</target> + </trans-unit> + </body> + </file> +</xliff> diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/.gitignore b/core/vendor/symfony/validator/Symfony/Component/Validator/.gitignore deleted file mode 100644 index c49a5d8df5c6548379f00c77fe572a7217bce218..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -vendor/ -composer.lock -phpunit.xml diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/ChoiceValidator.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/ChoiceValidator.php deleted file mode 100644 index 51fb46738428f2a0687f98214663f9ec3c8187ef..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/ChoiceValidator.php +++ /dev/null @@ -1,103 +0,0 @@ -<?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\Validator\Constraints; - -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\ConstraintDefinitionException; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; - -/** - * ChoiceValidator validates that the value is one of the expected values. - * - * @author Fabien Potencier <fabien@symfony.com> - * @author Florian Eckerstorfer <florian@eckerstorfer.org> - * @author Bernhard Schussek <bschussek@gmail.com> - * - * @api - */ -class ChoiceValidator extends ConstraintValidator -{ - /** - * {@inheritdoc} - */ - public function validate($value, Constraint $constraint) - { - if (!$constraint instanceof Choice) { - throw new UnexpectedTypeException($constraint, __NAMESPACE__.'\Choice'); - } - - if (!is_array($constraint->choices) && !$constraint->callback) { - throw new ConstraintDefinitionException('Either "choices" or "callback" must be specified on constraint Choice'); - } - - if (null === $value) { - return; - } - - if ($constraint->multiple && !is_array($value)) { - throw new UnexpectedTypeException($value, 'array'); - } - - if ($constraint->callback) { - if (!is_callable($choices = array($this->context->getClassName(), $constraint->callback)) - && !is_callable($choices = $constraint->callback) - ) { - throw new ConstraintDefinitionException('The Choice constraint expects a valid callback'); - } - $choices = call_user_func($choices); - } else { - $choices = $constraint->choices; - } - - if ($constraint->multiple) { - foreach ($value as $_value) { - if (!in_array($_value, $choices, $constraint->strict)) { - $this->buildViolation($constraint->multipleMessage) - ->setParameter('{{ value }}', $this->formatValue($_value)) - ->setCode(Choice::NO_SUCH_CHOICE_ERROR) - ->setInvalidValue($_value) - ->addViolation(); - - return; - } - } - - $count = count($value); - - if ($constraint->min !== null && $count < $constraint->min) { - $this->buildViolation($constraint->minMessage) - ->setParameter('{{ limit }}', $constraint->min) - ->setPlural((int) $constraint->min) - ->setCode(Choice::TOO_FEW_ERROR) - ->addViolation(); - - return; - } - - if ($constraint->max !== null && $count > $constraint->max) { - $this->buildViolation($constraint->maxMessage) - ->setParameter('{{ limit }}', $constraint->max) - ->setPlural((int) $constraint->max) - ->setCode(Choice::TOO_MANY_ERROR) - ->addViolation(); - - return; - } - } elseif (!in_array($value, $choices, $constraint->strict)) { - $this->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Choice::NO_SUCH_CHOICE_ERROR) - ->addViolation(); - } - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/CountValidator.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/CountValidator.php deleted file mode 100644 index d44f537071a3b77824c83059e29083ee0b1a1e3f..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/CountValidator.php +++ /dev/null @@ -1,60 +0,0 @@ -<?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\Validator\Constraints; - -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; - -/** - * @author Bernhard Schussek <bschussek@gmail.com> - */ -class CountValidator extends ConstraintValidator -{ - /** - * {@inheritdoc} - */ - public function validate($value, Constraint $constraint) - { - if (null === $value) { - return; - } - - if (!is_array($value) && !$value instanceof \Countable) { - throw new UnexpectedTypeException($value, 'array or \Countable'); - } - - $count = count($value); - - if (null !== $constraint->max && $count > $constraint->max) { - $this->buildViolation($constraint->min == $constraint->max ? $constraint->exactMessage : $constraint->maxMessage) - ->setParameter('{{ count }}', $count) - ->setParameter('{{ limit }}', $constraint->max) - ->setInvalidValue($value) - ->setPlural((int) $constraint->max) - ->setCode(Count::TOO_MANY_ERROR) - ->addViolation(); - - return; - } - - if (null !== $constraint->min && $count < $constraint->min) { - $this->buildViolation($constraint->min == $constraint->max ? $constraint->exactMessage : $constraint->minMessage) - ->setParameter('{{ count }}', $count) - ->setParameter('{{ limit }}', $constraint->min) - ->setInvalidValue($value) - ->setPlural((int) $constraint->min) - ->setCode(Count::TOO_FEW_ERROR) - ->addViolation(); - } - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/DateTimeValidator.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/DateTimeValidator.php deleted file mode 100644 index b459c7873f7cbf6f5a575383add8abd9ddf5b917..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/DateTimeValidator.php +++ /dev/null @@ -1,68 +0,0 @@ -<?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\Validator\Constraints; - -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; - -/** - * @author Bernhard Schussek <bschussek@gmail.com> - * - * @api - */ -class DateTimeValidator extends DateValidator -{ - const PATTERN = '/^(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})$/'; - - /** - * {@inheritdoc} - */ - public function validate($value, Constraint $constraint) - { - if (!$constraint instanceof DateTime) { - throw new UnexpectedTypeException($constraint, __NAMESPACE__.'\DateTime'); - } - - if (null === $value || '' === $value || $value instanceof \DateTime) { - return; - } - - if (!is_scalar($value) && !(is_object($value) && method_exists($value, '__toString'))) { - throw new UnexpectedTypeException($value, 'string'); - } - - $value = (string) $value; - - if (!preg_match(static::PATTERN, $value, $matches)) { - $this->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(DateTime::INVALID_FORMAT_ERROR) - ->addViolation(); - - return; - } - - if (!DateValidator::checkDate($matches[1], $matches[2], $matches[3])) { - $this->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(DateTime::INVALID_DATE_ERROR) - ->addViolation(); - } - - if (!TimeValidator::checkTime($matches[4], $matches[5], $matches[6])) { - $this->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(DateTime::INVALID_TIME_ERROR) - ->addViolation(); - } - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/FalseValidator.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/FalseValidator.php deleted file mode 100644 index 206780cefc73c1dbb24be1cb15c3c2a29adea29b..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/FalseValidator.php +++ /dev/null @@ -1,42 +0,0 @@ -<?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\Validator\Constraints; - -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; - -/** - * @author Bernhard Schussek <bschussek@gmail.com> - * - * @api - */ -class FalseValidator extends ConstraintValidator -{ - /** - * {@inheritdoc} - */ - public function validate($value, Constraint $constraint) - { - if (!$constraint instanceof False) { - throw new UnexpectedTypeException($constraint, __NAMESPACE__.'\False'); - } - - if (null === $value || false === $value || 0 === $value || '0' === $value) { - return; - } - - $this->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->addViolation(); - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/FileValidator.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/FileValidator.php deleted file mode 100644 index 9d225a9bbdebbdeabe003f43fc7c9bf40a8046de..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/FileValidator.php +++ /dev/null @@ -1,240 +0,0 @@ -<?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\Validator\Constraints; - -use Symfony\Component\HttpFoundation\File\File as FileObject; -use Symfony\Component\HttpFoundation\File\UploadedFile; -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; - -/** - * @author Bernhard Schussek <bschussek@gmail.com> - * - * @api - */ -class FileValidator extends ConstraintValidator -{ - const KB_BYTES = 1000; - const MB_BYTES = 1000000; - const KIB_BYTES = 1024; - const MIB_BYTES = 1048576; - - private static $suffices = array( - 1 => 'bytes', - self::KB_BYTES => 'kB', - self::MB_BYTES => 'MB', - self::KIB_BYTES => 'KiB', - self::MIB_BYTES => 'MiB', - ); - - /** - * {@inheritdoc} - */ - public function validate($value, Constraint $constraint) - { - if (!$constraint instanceof File) { - throw new UnexpectedTypeException($constraint, __NAMESPACE__.'\File'); - } - - if (null === $value || '' === $value) { - return; - } - - if ($value instanceof UploadedFile && !$value->isValid()) { - switch ($value->getError()) { - case UPLOAD_ERR_INI_SIZE: - $iniLimitSize = UploadedFile::getMaxFilesize(); - if ($constraint->maxSize && $constraint->maxSize < $iniLimitSize) { - $limitInBytes = $constraint->maxSize; - $binaryFormat = $constraint->binaryFormat; - } else { - $limitInBytes = $iniLimitSize; - $binaryFormat = true; - } - - list($sizeAsString, $limitAsString, $suffix) = $this->factorizeSizes(0, $limitInBytes, $binaryFormat); - $this->buildViolation($constraint->uploadIniSizeErrorMessage) - ->setParameter('{{ limit }}', $limitAsString) - ->setParameter('{{ suffix }}', $suffix) - ->setCode(UPLOAD_ERR_INI_SIZE) - ->addViolation(); - - return; - case UPLOAD_ERR_FORM_SIZE: - $this->buildViolation($constraint->uploadFormSizeErrorMessage) - ->setCode(UPLOAD_ERR_FORM_SIZE) - ->addViolation(); - - return; - case UPLOAD_ERR_PARTIAL: - $this->buildViolation($constraint->uploadPartialErrorMessage) - ->setCode(UPLOAD_ERR_PARTIAL) - ->addViolation(); - - return; - case UPLOAD_ERR_NO_FILE: - $this->buildViolation($constraint->uploadNoFileErrorMessage) - ->setCode(UPLOAD_ERR_NO_FILE) - ->addViolation(); - - return; - case UPLOAD_ERR_NO_TMP_DIR: - $this->buildViolation($constraint->uploadNoTmpDirErrorMessage) - ->setCode(UPLOAD_ERR_NO_TMP_DIR) - ->addViolation(); - - return; - case UPLOAD_ERR_CANT_WRITE: - $this->buildViolation($constraint->uploadCantWriteErrorMessage) - ->setCode(UPLOAD_ERR_CANT_WRITE) - ->addViolation(); - - return; - case UPLOAD_ERR_EXTENSION: - $this->buildViolation($constraint->uploadExtensionErrorMessage) - ->setCode(UPLOAD_ERR_EXTENSION) - ->addViolation(); - - return; - default: - $this->buildViolation($constraint->uploadErrorMessage) - ->setCode($value->getError()) - ->addViolation(); - - return; - } - } - - if (!is_scalar($value) && !$value instanceof FileObject && !(is_object($value) && method_exists($value, '__toString'))) { - throw new UnexpectedTypeException($value, 'string'); - } - - $path = $value instanceof FileObject ? $value->getPathname() : (string) $value; - - if (!is_file($path)) { - $this->buildViolation($constraint->notFoundMessage) - ->setParameter('{{ file }}', $this->formatValue($path)) - ->setCode(File::NOT_FOUND_ERROR) - ->addViolation(); - - return; - } - - if (!is_readable($path)) { - $this->buildViolation($constraint->notReadableMessage) - ->setParameter('{{ file }}', $this->formatValue($path)) - ->setCode(File::NOT_READABLE_ERROR) - ->addViolation(); - - return; - } - - $sizeInBytes = filesize($path); - - if (0 === $sizeInBytes) { - $this->buildViolation($constraint->disallowEmptyMessage) - ->setParameter('{{ file }}', $this->formatValue($path)) - ->setCode(File::EMPTY_ERROR) - ->addViolation(); - - return; - } - - if ($constraint->maxSize) { - $limitInBytes = $constraint->maxSize; - - if ($sizeInBytes > $limitInBytes) { - list($sizeAsString, $limitAsString, $suffix) = $this->factorizeSizes($sizeInBytes, $limitInBytes, $constraint->binaryFormat); - $this->buildViolation($constraint->maxSizeMessage) - ->setParameter('{{ file }}', $this->formatValue($path)) - ->setParameter('{{ size }}', $sizeAsString) - ->setParameter('{{ limit }}', $limitAsString) - ->setParameter('{{ suffix }}', $suffix) - ->setCode(File::TOO_LARGE_ERROR) - ->addViolation(); - - return; - } - } - - if ($constraint->mimeTypes) { - if (!$value instanceof FileObject) { - $value = new FileObject($value); - } - - $mimeTypes = (array) $constraint->mimeTypes; - $mime = $value->getMimeType(); - - foreach ($mimeTypes as $mimeType) { - if ($mimeType === $mime) { - return; - } - - if ($discrete = strstr($mimeType, '/*', true)) { - if (strstr($mime, '/', true) === $discrete) { - return; - } - } - } - - $this->buildViolation($constraint->mimeTypesMessage) - ->setParameter('{{ file }}', $this->formatValue($path)) - ->setParameter('{{ type }}', $this->formatValue($mime)) - ->setParameter('{{ types }}', $this->formatValues($mimeTypes)) - ->setCode(File::INVALID_MIME_TYPE_ERROR) - ->addViolation(); - } - } - - private static function moreDecimalsThan($double, $numberOfDecimals) - { - return strlen((string) $double) > strlen(round($double, $numberOfDecimals)); - } - - /** - * Convert the limit to the smallest possible number - * (i.e. try "MB", then "kB", then "bytes") - */ - private function factorizeSizes($size, $limit, $binaryFormat) - { - if ($binaryFormat) { - $coef = self::MIB_BYTES; - $coefFactor = self::KIB_BYTES; - } else { - $coef = self::MB_BYTES; - $coefFactor = self::KB_BYTES; - } - - $limitAsString = (string) ($limit / $coef); - - // Restrict the limit to 2 decimals (without rounding! we - // need the precise value) - while (self::moreDecimalsThan($limitAsString, 2)) { - $coef /= $coefFactor; - $limitAsString = (string) ($limit / $coef); - } - - // Convert size to the same measure, but round to 2 decimals - $sizeAsString = (string) round($size / $coef, 2); - - // If the size and limit produce the same string output - // (due to rounding), reduce the coefficient - while ($sizeAsString === $limitAsString) { - $coef /= $coefFactor; - $limitAsString = (string) ($limit / $coef); - $sizeAsString = (string) round($size / $coef, 2); - } - - return array($sizeAsString, $limitAsString, self::$suffices[$coef]); - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/ImageValidator.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/ImageValidator.php deleted file mode 100644 index e183e27d446e459071f9069fddc9587a960f8500..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/ImageValidator.php +++ /dev/null @@ -1,182 +0,0 @@ -<?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\Validator\Constraints; - -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\Exception\ConstraintDefinitionException; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; - -/** - * Validates whether a value is a valid image file and is valid - * against minWidth, maxWidth, minHeight and maxHeight constraints. - * - * @author Benjamin Dulau <benjamin.dulau@gmail.com> - * @author Bernhard Schussek <bschussek@gmail.com> - */ -class ImageValidator extends FileValidator -{ - /** - * {@inheritdoc} - */ - public function validate($value, Constraint $constraint) - { - if (!$constraint instanceof Image) { - throw new UnexpectedTypeException($constraint, __NAMESPACE__.'\Image'); - } - - $violations = count($this->context->getViolations()); - - parent::validate($value, $constraint); - - $failed = count($this->context->getViolations()) !== $violations; - - if ($failed || null === $value || '' === $value) { - return; - } - - if (null === $constraint->minWidth && null === $constraint->maxWidth - && null === $constraint->minHeight && null === $constraint->maxHeight - && null === $constraint->minRatio && null === $constraint->maxRatio - && $constraint->allowSquare && $constraint->allowLandscape && $constraint->allowPortrait) { - return; - } - - $size = @getimagesize($value); - - if (empty($size) || ($size[0] === 0) || ($size[1] === 0)) { - $this->buildViolation($constraint->sizeNotDetectedMessage) - ->setCode(Image::SIZE_NOT_DETECTED_ERROR) - ->addViolation(); - - return; - } - - $width = $size[0]; - $height = $size[1]; - - if ($constraint->minWidth) { - if (!ctype_digit((string) $constraint->minWidth)) { - throw new ConstraintDefinitionException(sprintf('"%s" is not a valid minimum width', $constraint->minWidth)); - } - - if ($width < $constraint->minWidth) { - $this->buildViolation($constraint->minWidthMessage) - ->setParameter('{{ width }}', $width) - ->setParameter('{{ min_width }}', $constraint->minWidth) - ->setCode(Image::TOO_NARROW_ERROR) - ->addViolation(); - - return; - } - } - - if ($constraint->maxWidth) { - if (!ctype_digit((string) $constraint->maxWidth)) { - throw new ConstraintDefinitionException(sprintf('"%s" is not a valid maximum width', $constraint->maxWidth)); - } - - if ($width > $constraint->maxWidth) { - $this->buildViolation($constraint->maxWidthMessage) - ->setParameter('{{ width }}', $width) - ->setParameter('{{ max_width }}', $constraint->maxWidth) - ->setCode(Image::TOO_WIDE_ERROR) - ->addViolation(); - - return; - } - } - - if ($constraint->minHeight) { - if (!ctype_digit((string) $constraint->minHeight)) { - throw new ConstraintDefinitionException(sprintf('"%s" is not a valid minimum height', $constraint->minHeight)); - } - - if ($height < $constraint->minHeight) { - $this->buildViolation($constraint->minHeightMessage) - ->setParameter('{{ height }}', $height) - ->setParameter('{{ min_height }}', $constraint->minHeight) - ->setCode(Image::TOO_LOW_ERROR) - ->addViolation(); - - return; - } - } - - if ($constraint->maxHeight) { - if (!ctype_digit((string) $constraint->maxHeight)) { - throw new ConstraintDefinitionException(sprintf('"%s" is not a valid maximum height', $constraint->maxHeight)); - } - - if ($height > $constraint->maxHeight) { - $this->buildViolation($constraint->maxHeightMessage) - ->setParameter('{{ height }}', $height) - ->setParameter('{{ max_height }}', $constraint->maxHeight) - ->setCode(Image::TOO_HIGH_ERROR) - ->addViolation(); - } - } - - $ratio = round($width / $height, 2); - - if (null !== $constraint->minRatio) { - if (!is_numeric((string) $constraint->minRatio)) { - throw new ConstraintDefinitionException(sprintf('"%s" is not a valid minimum ratio', $constraint->minRatio)); - } - - if ($ratio < $constraint->minRatio) { - $this->buildViolation($constraint->minRatioMessage) - ->setParameter('{{ ratio }}', $ratio) - ->setParameter('{{ min_ratio }}', $constraint->minRatio) - ->setCode(Image::RATIO_TOO_SMALL_ERROR) - ->addViolation(); - } - } - - if (null !== $constraint->maxRatio) { - if (!is_numeric((string) $constraint->maxRatio)) { - throw new ConstraintDefinitionException(sprintf('"%s" is not a valid maximum ratio', $constraint->maxRatio)); - } - - if ($ratio > $constraint->maxRatio) { - $this->buildViolation($constraint->maxRatioMessage) - ->setParameter('{{ ratio }}', $ratio) - ->setParameter('{{ max_ratio }}', $constraint->maxRatio) - ->setCode(Image::RATIO_TOO_BIG_ERROR) - ->addViolation(); - } - } - - if (!$constraint->allowSquare && $width == $height) { - $this->buildViolation($constraint->allowSquareMessage) - ->setParameter('{{ width }}', $width) - ->setParameter('{{ height }}', $height) - ->setCode(Image::SQUARE_NOT_ALLOWED_ERROR) - ->addViolation(); - } - - if (!$constraint->allowLandscape && $width > $height) { - $this->buildViolation($constraint->allowLandscapeMessage) - ->setParameter('{{ width }}', $width) - ->setParameter('{{ height }}', $height) - ->setCode(Image::LANDSCAPE_NOT_ALLOWED_ERROR) - ->addViolation(); - } - - if (!$constraint->allowPortrait && $width < $height) { - $this->buildViolation($constraint->allowPortraitMessage) - ->setParameter('{{ width }}', $width) - ->setParameter('{{ height }}', $height) - ->setCode(Image::PORTRAIT_NOT_ALLOWED_ERROR) - ->addViolation(); - } - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/IssnValidator.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/IssnValidator.php deleted file mode 100644 index 1f17c38efe3b02ce16f6b8eb180c78fbcb47b33a..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/IssnValidator.php +++ /dev/null @@ -1,132 +0,0 @@ -<?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\Validator\Constraints; - -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; - -/** - * Validates whether the value is a valid ISSN. - * - * @author Antonio J. GarcÃa Lagar <aj@garcialagar.es> - * @author Bernhard Schussek <bschussek@gmail.com> - * - * @see https://en.wikipedia.org/wiki/Issn - */ -class IssnValidator extends ConstraintValidator -{ - /** - * {@inheritdoc} - */ - public function validate($value, Constraint $constraint) - { - if (!$constraint instanceof Issn) { - throw new UnexpectedTypeException($constraint, __NAMESPACE__.'\Issn'); - } - - if (null === $value || '' === $value) { - return; - } - - if (!is_scalar($value) && !(is_object($value) && method_exists($value, '__toString'))) { - throw new UnexpectedTypeException($value, 'string'); - } - - $value = (string) $value; - $canonical = $value; - - // 1234-567X - // ^ - if (isset($canonical{4}) && '-' === $canonical{4}) { - // remove hyphen - $canonical = substr($canonical, 0, 4).substr($canonical, 5); - } elseif ($constraint->requireHyphen) { - $this->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Issn::MISSING_HYPHEN_ERROR) - ->addViolation(); - - return; - } - - $length = strlen($canonical); - - if ($length < 8) { - $this->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Issn::TOO_SHORT_ERROR) - ->addViolation(); - - return; - } - - if ($length > 8) { - $this->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Issn::TOO_LONG_ERROR) - ->addViolation(); - - return; - } - - // 1234567X - // ^^^^^^^ digits only - if (!ctype_digit(substr($canonical, 0, 7))) { - $this->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Issn::INVALID_CHARACTERS_ERROR) - ->addViolation(); - - return; - } - - // 1234567X - // ^ digit, x or X - if (!ctype_digit($canonical{7}) && 'x' !== $canonical{7} && 'X' !== $canonical{7}) { - $this->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Issn::INVALID_CHARACTERS_ERROR) - ->addViolation(); - - return; - } - - // 1234567X - // ^ case-sensitive? - if ($constraint->caseSensitive && 'x' === $canonical{7}) { - $this->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Issn::INVALID_CASE_ERROR) - ->addViolation(); - - return; - } - - // Calculate a checksum. "X" equals 10. - $checkSum = 'X' === $canonical{7} || 'x' === $canonical{7} - ? 10 - : $canonical{7}; - - for ($i = 0; $i < 7; ++$i) { - // Multiply the first digit by 8, the second by 7, etc. - $checkSum += (8 - $i) * $canonical{$i}; - } - - if (0 !== $checkSum % 11) { - $this->buildViolation($constraint->message) - ->setParameter('{{ value }}', $this->formatValue($value)) - ->setCode(Issn::CHECKSUM_FAILED_ERROR) - ->addViolation(); - } - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/LengthValidator.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/LengthValidator.php deleted file mode 100644 index f82204779c7554a4c8ffaf6ab8cdd7e1344125c8..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/LengthValidator.php +++ /dev/null @@ -1,98 +0,0 @@ -<?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\Validator\Constraints; - -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; - -/** - * @author Bernhard Schussek <bschussek@gmail.com> - */ -class LengthValidator extends ConstraintValidator -{ - /** - * {@inheritdoc} - */ - public function validate($value, Constraint $constraint) - { - if (!$constraint instanceof Length) { - throw new UnexpectedTypeException($constraint, __NAMESPACE__.'\Length'); - } - - if (null === $value || '' === $value) { - return; - } - - if (!is_scalar($value) && !(is_object($value) && method_exists($value, '__toString'))) { - throw new UnexpectedTypeException($value, 'string'); - } - - $stringValue = (string) $value; - $invalidCharset = false; - - if ('UTF8' === $charset = strtoupper($constraint->charset)) { - $charset = 'UTF-8'; - } - - if (function_exists('iconv_strlen')) { - $length = @iconv_strlen($stringValue, $constraint->charset); - $invalidCharset = false === $length; - } elseif (function_exists('mb_strlen')) { - if (mb_check_encoding($stringValue, $constraint->charset)) { - $length = mb_strlen($stringValue, $constraint->charset); - } else { - $invalidCharset = true; - } - } elseif ('UTF-8' !== $charset) { - $length = strlen($stringValue); - } elseif (!preg_match('//u', $stringValue)) { - $invalidCharset = true; - } elseif (function_exists('utf8_decode')) { - $length = strlen(utf8_decode($stringValue)); - } else { - preg_replace('/./u', '', $stringValue, -1, $length); - } - - if ($invalidCharset) { - $this->buildViolation($constraint->charsetMessage) - ->setParameter('{{ value }}', $this->formatValue($stringValue)) - ->setParameter('{{ charset }}', $constraint->charset) - ->setInvalidValue($value) - ->addViolation(); - - return; - } - - if (null !== $constraint->max && $length > $constraint->max) { - $this->buildViolation($constraint->min == $constraint->max ? $constraint->exactMessage : $constraint->maxMessage) - ->setParameter('{{ value }}', $this->formatValue($stringValue)) - ->setParameter('{{ limit }}', $constraint->max) - ->setInvalidValue($value) - ->setPlural((int) $constraint->max) - ->setCode(Length::TOO_LONG_ERROR) - ->addViolation(); - - return; - } - - if (null !== $constraint->min && $length < $constraint->min) { - $this->buildViolation($constraint->min == $constraint->max ? $constraint->exactMessage : $constraint->minMessage) - ->setParameter('{{ value }}', $this->formatValue($stringValue)) - ->setParameter('{{ limit }}', $constraint->min) - ->setInvalidValue($value) - ->setPlural((int) $constraint->min) - ->setCode(Length::TOO_SHORT_ERROR) - ->addViolation(); - } - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/RangeValidator.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/RangeValidator.php deleted file mode 100644 index ebae112a3a6089bc5d87d9eab97bd3ae850d264d..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Constraints/RangeValidator.php +++ /dev/null @@ -1,80 +0,0 @@ -<?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\Validator\Constraints; - -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\ConstraintValidator; -use Symfony\Component\Validator\Exception\UnexpectedTypeException; - -/** - * @author Bernhard Schussek <bschussek@gmail.com> - */ -class RangeValidator extends ConstraintValidator -{ - /** - * {@inheritdoc} - */ - public function validate($value, Constraint $constraint) - { - if (!$constraint instanceof Range) { - throw new UnexpectedTypeException($constraint, __NAMESPACE__.'\Range'); - } - - if (null === $value) { - return; - } - - if (!is_numeric($value) && !$value instanceof \DateTime && !$value instanceof \DateTimeInterface) { - $this->buildViolation($constraint->invalidMessage) - ->setParameter('{{ value }}', $this->formatValue($value, self::PRETTY_DATE)) - ->setCode(Range::INVALID_VALUE_ERROR) - ->addViolation(); - - return; - } - - $min = $constraint->min; - $max = $constraint->max; - - // Convert strings to DateTimes if comparing another DateTime - // This allows to compare with any date/time value supported by - // the DateTime constructor: - // http://php.net/manual/en/datetime.formats.php - if ($value instanceof \DateTime || $value instanceof \DateTimeInterface) { - if (is_string($min)) { - $min = new \DateTime($min); - } - - if (is_string($max)) { - $max = new \DateTime($max); - } - } - - if (null !== $constraint->max && $value > $max) { - $this->buildViolation($constraint->maxMessage) - ->setParameter('{{ value }}', $this->formatValue($value, self::PRETTY_DATE)) - ->setParameter('{{ limit }}', $this->formatValue($max, self::PRETTY_DATE)) - ->setCode(Range::BEYOND_RANGE_ERROR) - ->addViolation(); - - return; - } - - if (null !== $constraint->min && $value < $min) { - $this->buildViolation($constraint->minMessage) - ->setParameter('{{ value }}', $this->formatValue($value, self::PRETTY_DATE)) - ->setParameter('{{ limit }}', $this->formatValue($min, self::PRETTY_DATE)) - ->setCode(Range::BELOW_RANGE_ERROR) - ->addViolation(); - } - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Context/LegacyExecutionContext.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Context/LegacyExecutionContext.php deleted file mode 100644 index de34b1fc2cae6d542e3e6ce24d247d6981dcacb1..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Context/LegacyExecutionContext.php +++ /dev/null @@ -1,156 +0,0 @@ -<?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\Validator\Context; - -use Symfony\Component\Translation\TranslatorInterface; -use Symfony\Component\Validator\Constraints\Valid; -use Symfony\Component\Validator\MetadataFactoryInterface; -use Symfony\Component\Validator\Validator\ValidatorInterface; - -/** - * An execution context that is compatible with the legacy API (< 2.5). - * - * @since 2.5 - * @author Bernhard Schussek <bschussek@gmail.com> - * - * @deprecated Implemented for backwards compatibility with Symfony < 2.5. - * To be removed in Symfony 3.0. - */ -class LegacyExecutionContext extends ExecutionContext -{ - /** - * @var MetadataFactoryInterface - */ - private $metadataFactory; - - /** - * Creates a new context. - * - * @see ExecutionContext::__construct() - * - * @internal Called by {@link LegacyExecutionContextFactory}. Should not be used - * in user code. - */ - public function __construct(ValidatorInterface $validator, $root, MetadataFactoryInterface $metadataFactory, TranslatorInterface $translator, $translationDomain = null) - { - parent::__construct( - $validator, - $root, - $translator, - $translationDomain - ); - - $this->metadataFactory = $metadataFactory; - } - - /** - * {@inheritdoc} - */ - public function addViolation($message, array $parameters = array(), $invalidValue = null, $plural = null, $code = null) - { - if (func_num_args() > 2) { - $this - ->buildViolation($message, $parameters) - ->setInvalidValue($invalidValue) - ->setPlural($plural) - ->setCode($code) - ->addViolation() - ; - - return; - } - - parent::addViolation($message, $parameters); - } - - /** - * {@inheritdoc} - */ - public function addViolationAt($subPath, $message, array $parameters = array(), $invalidValue = null, $plural = null, $code = null) - { - if (func_num_args() > 2) { - $this - ->buildViolation($message, $parameters) - ->atPath($subPath) - ->setInvalidValue($invalidValue) - ->setPlural($plural) - ->setCode($code) - ->addViolation() - ; - - return; - } - - $this - ->buildViolation($message, $parameters) - ->atPath($subPath) - ->addViolation() - ; - } - - /** - * {@inheritdoc} - */ - public function validate($value, $subPath = '', $groups = null, $traverse = false, $deep = false) - { - if (is_array($value)) { - // The $traverse flag is ignored for arrays - $constraint = new Valid(array('traverse' => true, 'deep' => $deep)); - - return $this - ->getValidator() - ->inContext($this) - ->atPath($subPath) - ->validate($value, $constraint, $groups) - ; - } - - if ($traverse && $value instanceof \Traversable) { - $constraint = new Valid(array('traverse' => true, 'deep' => $deep)); - - return $this - ->getValidator() - ->inContext($this) - ->atPath($subPath) - ->validate($value, $constraint, $groups) - ; - } - - return $this - ->getValidator() - ->inContext($this) - ->atPath($subPath) - ->validate($value, null, $groups) - ; - } - - /** - * {@inheritdoc} - */ - public function validateValue($value, $constraints, $subPath = '', $groups = null) - { - return $this - ->getValidator() - ->inContext($this) - ->atPath($subPath) - ->validate($value, $constraints, $groups) - ; - } - - /** - * {@inheritdoc} - */ - public function getMetadataFactory() - { - return $this->metadataFactory; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/BlackholeMetadataFactory.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/BlackholeMetadataFactory.php deleted file mode 100644 index 7913e156254992224e5e05205966d5f0d099a66e..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Mapping/BlackholeMetadataFactory.php +++ /dev/null @@ -1,24 +0,0 @@ -<?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\Validator\Mapping; - -/** - * Alias of {@link Factory\BlackHoleMetadataFactory}. - * - * @author Fabien Potencier <fabien@symfony.com> - * - * @deprecated Deprecated since version 2.5, to be removed in Symfony 3.0. - * Use {@link Factory\BlackHoleMetadataFactory} instead. - */ -class BlackholeMetadataFactory extends \Symfony\Component\Validator\Mapping\Factory\BlackHoleMetadataFactory -{ -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyAllValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyAllValidator2Dot4ApiTest.php deleted file mode 100644 index d5a41fb0e5875599ce25c80a771ee4ff7cacc283..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyAllValidator2Dot4ApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyAllValidator2Dot4ApiTest extends AllValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_4; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyAllValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyAllValidatorLegacyApiTest.php deleted file mode 100644 index 649bfe1c72e7e4459c792fdc135793e3213b1651..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyAllValidatorLegacyApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyAllValidatorLegacyApiTest extends AllValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_5_BC; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyBlankValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyBlankValidator2Dot4ApiTest.php deleted file mode 100644 index 0cfb1aaa5fdcc67e2275c21e649cf364a7ea2704..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyBlankValidator2Dot4ApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyBlankValidator2Dot4ApiTest extends BlankValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_4; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyBlankValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyBlankValidatorLegacyApiTest.php deleted file mode 100644 index 00b8a7ae6d1ad500f0728ca2f5ccc1f9d29c5539..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyBlankValidatorLegacyApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyBlankValidatorLegacyApiTest extends BlankValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_5_BC; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCallbackValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCallbackValidator2Dot4ApiTest.php deleted file mode 100644 index efcb5ec56050c759354b95e1ac77d529458182e2..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCallbackValidator2Dot4ApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyCallbackValidator2Dot4ApiTest extends CallbackValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_4; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCallbackValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCallbackValidatorLegacyApiTest.php deleted file mode 100644 index 8f3ea2b87cc64f7d604e12afc499e72530c55315..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCallbackValidatorLegacyApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyCallbackValidatorLegacyApiTest extends CallbackValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_5_BC; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCardSchemeValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCardSchemeValidator2Dot4ApiTest.php deleted file mode 100644 index 0f467dda49d581455f7f0de96fa515c9c70140d7..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCardSchemeValidator2Dot4ApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyCardSchemeValidator2Dot4ApiTest extends CardSchemeValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_4; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCardSchemeValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCardSchemeValidatorLegacyApiTest.php deleted file mode 100644 index e4b41846dda4965de24f09440db521016943ed54..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCardSchemeValidatorLegacyApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyCardSchemeValidatorLegacyApiTest extends CardSchemeValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_5_BC; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyChoiceValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyChoiceValidator2Dot4ApiTest.php deleted file mode 100644 index 71277f7bf39360ea2bd6a9f8b66bd1722b12964e..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyChoiceValidator2Dot4ApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyChoiceValidator2Dot4ApiTest extends ChoiceValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_4; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyChoiceValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyChoiceValidatorLegacyApiTest.php deleted file mode 100644 index 9237df55138ff80d2da8dcb9f285e38a7da32c28..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyChoiceValidatorLegacyApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyChoiceValidatorLegacyApiTest extends ChoiceValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_5_BC; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCollectionValidatorArray2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCollectionValidatorArray2Dot4ApiTest.php deleted file mode 100644 index 38269148e37f299930ea363c1a14c2e1b55bc9c9..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCollectionValidatorArray2Dot4ApiTest.php +++ /dev/null @@ -1,25 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @group legacy - */ -class LegacyCollectionValidatorArray2Dot4ApiTest extends CollectionValidatorArrayTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_4; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCollectionValidatorArrayLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCollectionValidatorArrayLegacyApiTest.php deleted file mode 100644 index 45ca1df3855526c8419578ae9d686f429db1c4b7..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCollectionValidatorArrayLegacyApiTest.php +++ /dev/null @@ -1,25 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @group legacy - */ -class LegacyCollectionValidatorArrayLegacyApiTest extends CollectionValidatorArrayTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_5_BC; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCollectionValidatorArrayObject2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCollectionValidatorArrayObject2Dot4ApiTest.php deleted file mode 100644 index 22dbe46a666aefc46a4a2893a37722b09e3aa1f8..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCollectionValidatorArrayObject2Dot4ApiTest.php +++ /dev/null @@ -1,25 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @group legacy - */ -class LegacyCollectionValidatorArrayObject2Dot4ApiTest extends CollectionValidatorArrayObjectTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_4; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCollectionValidatorArrayObjectLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCollectionValidatorArrayObjectLegacyApiTest.php deleted file mode 100644 index f28aed3b1247dc3a9dcc2e45b48afadf94a9fe95..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCollectionValidatorArrayObjectLegacyApiTest.php +++ /dev/null @@ -1,25 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @group legacy - */ -class LegacyCollectionValidatorArrayObjectLegacyApiTest extends CollectionValidatorArrayObjectTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_5_BC; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCollectionValidatorCustomArrayObject2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCollectionValidatorCustomArrayObject2Dot4ApiTest.php deleted file mode 100644 index 29ce241f98f5fec691f347f618344486afd7ba57..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCollectionValidatorCustomArrayObject2Dot4ApiTest.php +++ /dev/null @@ -1,25 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @group legacy - */ -class LegacyCollectionValidatorCustomArrayObject2Dot4ApiTest extends CollectionValidatorCustomArrayObjectTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_4; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCollectionValidatorCustomArrayObjectLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCollectionValidatorCustomArrayObjectLegacyApiTest.php deleted file mode 100644 index b04053f24682d41b3179948fe01954d77d46ae31..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCollectionValidatorCustomArrayObjectLegacyApiTest.php +++ /dev/null @@ -1,25 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @group legacy - */ -class LegacyCollectionValidatorCustomArrayObjectLegacyApiTest extends CollectionValidatorCustomArrayObjectTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_5_BC; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCountValidatorArray2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCountValidatorArray2Dot4ApiTest.php deleted file mode 100644 index 2ab8b199da3ebf966cebdb2581fe1a8055f45a6a..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCountValidatorArray2Dot4ApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyCountValidatorArray2Dot4ApiTest extends CountValidatorArrayTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_4; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCountValidatorArrayLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCountValidatorArrayLegacyApiTest.php deleted file mode 100644 index d36298811c85a3794777cb22abf717046822016e..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCountValidatorArrayLegacyApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyCountValidatorArrayLegacyApiTest extends CountValidatorArrayTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_5_BC; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCountValidatorCountable2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCountValidatorCountable2Dot4ApiTest.php deleted file mode 100644 index d0239bb3d978a12da86d582b28784fafeca23c4d..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCountValidatorCountable2Dot4ApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyCountValidatorCountable2Dot4ApiTest extends CountValidatorCountableTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_4; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCountValidatorCountableLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCountValidatorCountableLegacyApiTest.php deleted file mode 100644 index 33b87957bff26bb4d69d162e9a0e206268f2b2c7..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCountValidatorCountableLegacyApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyCountValidatorCountableLegacyApiTest extends CountValidatorCountableTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_5_BC; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCurrencyValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCurrencyValidator2Dot4ApiTest.php deleted file mode 100644 index 30685d442fd203722c936a2f5c1ea33bc8e881a5..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCurrencyValidator2Dot4ApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyCurrencyValidator2Dot4ApiTest extends CurrencyValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_4; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCurrencyValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCurrencyValidatorLegacyApiTest.php deleted file mode 100644 index 85cd5d0a6aaae7172ebcb600db74fb5d5fdc542d..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyCurrencyValidatorLegacyApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyCurrencyValidatorLegacyApiTest extends CurrencyValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_5_BC; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyDateTimeValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyDateTimeValidator2Dot4ApiTest.php deleted file mode 100644 index 6c2f6a50c4654ac81fe3410c203bbff61646b2c0..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyDateTimeValidator2Dot4ApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyDateTimeValidator2Dot4ApiTest extends DateTimeValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_4; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyDateTimeValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyDateTimeValidatorLegacyApiTest.php deleted file mode 100644 index be19302fcf358e5a0eab8ef81c967b9eb226ac68..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyDateTimeValidatorLegacyApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyDateTimeValidatorLegacyApiTest extends DateTimeValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_5_BC; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyDateValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyDateValidator2Dot4ApiTest.php deleted file mode 100644 index aab7d431c53a5beefb360038734af38b40fd78d3..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyDateValidator2Dot4ApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyDateValidator2Dot4ApiTest extends DateValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_4; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyDateValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyDateValidatorLegacyApiTest.php deleted file mode 100644 index 3235f42312e447351af6443a5df967e76a67aff7..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyDateValidatorLegacyApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyDateValidatorLegacyApiTest extends DateValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_5_BC; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyEmailValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyEmailValidator2Dot4ApiTest.php deleted file mode 100644 index 12ccb5e0fe829dd4386f32b7e57896ccdf3a6362..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyEmailValidator2Dot4ApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyEmailValidator2Dot4ApiTest extends EmailValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_4; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyEmailValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyEmailValidatorLegacyApiTest.php deleted file mode 100644 index e5f101961ee9ac550d3c90f1ee04b14c5ed94160..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyEmailValidatorLegacyApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyEmailValidatorLegacyApiTest extends EmailValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_5_BC; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyEqualToValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyEqualToValidator2Dot4ApiTest.php deleted file mode 100644 index 1c7008a59c295ce2135ef91dfbce8c59e5e0aa2f..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyEqualToValidator2Dot4ApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyEqualToValidator2Dot4ApiTest extends EqualToValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_4; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyEqualToValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyEqualToValidatorLegacyApiTest.php deleted file mode 100644 index 3a72cfbf5030f1c89c9c2f5d4693c4c30ad5eef1..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyEqualToValidatorLegacyApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyEqualToValidatorLegacyApiTest extends EqualToValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_5_BC; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyExpressionValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyExpressionValidator2Dot4ApiTest.php deleted file mode 100644 index 914e580137f5708204c280b602fede3f4f92d828..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyExpressionValidator2Dot4ApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyExpressionValidator2Dot4ApiTest extends ExpressionValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_4; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyExpressionValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyExpressionValidatorLegacyApiTest.php deleted file mode 100644 index 374bba085071ce401418d0be08ce3ccc0c6bd7f7..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyExpressionValidatorLegacyApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyExpressionValidatorLegacyApiTest extends ExpressionValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_5_BC; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyFalseValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyFalseValidator2Dot4ApiTest.php deleted file mode 100644 index 3d65f4e1793e0f02aea518324832a40f4cfe4224..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyFalseValidator2Dot4ApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyFalseValidator2Dot4ApiTest extends FalseValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_4; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyFalseValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyFalseValidatorLegacyApiTest.php deleted file mode 100644 index 5f7cb12bdb15dc4fb0977df3ae54170a75b7f249..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyFalseValidatorLegacyApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyFalseValidatorLegacyApiTest extends FalseValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_5_BC; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyFileValidatorObject2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyFileValidatorObject2Dot4ApiTest.php deleted file mode 100644 index 3035e4135e30f11a71434d8edbb7b1ffd3a28418..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyFileValidatorObject2Dot4ApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyFileValidatorObject2Dot4ApiTest extends FileValidatorObjectTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_4; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyFileValidatorObjectLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyFileValidatorObjectLegacyApiTest.php deleted file mode 100644 index 97d5f5969003b88ecbef25c9424843c726976478..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyFileValidatorObjectLegacyApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyFileValidatorObjectLegacyApiTest extends FileValidatorObjectTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_5_BC; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyFileValidatorPath2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyFileValidatorPath2Dot4ApiTest.php deleted file mode 100644 index a1541444cad4da544394756f44d16096fb9de210..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyFileValidatorPath2Dot4ApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyFileValidatorPath2Dot4ApiTest extends FileValidatorPathTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_4; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyFileValidatorPathLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyFileValidatorPathLegacyApiTest.php deleted file mode 100644 index 2c298dffcfe080bf53a51fd3683c90e6ee0de2e4..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyFileValidatorPathLegacyApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyFileValidatorPathLegacyApiTest extends FileValidatorPathTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_5_BC; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyGreaterThanOrEqualValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyGreaterThanOrEqualValidator2Dot4ApiTest.php deleted file mode 100644 index 5f4a17edb5f4ec2f2c361b4c121155aa1c1f8e6f..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyGreaterThanOrEqualValidator2Dot4ApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyGreaterThanOrEqualValidator2Dot4ApiTest extends GreaterThanOrEqualValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_4; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyGreaterThanOrEqualValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyGreaterThanOrEqualValidatorLegacyApiTest.php deleted file mode 100644 index 08822a53bdeaddec5fd0122e6133928df73cab33..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyGreaterThanOrEqualValidatorLegacyApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyGreaterThanOrEqualValidatorLegacyApiTest extends GreaterThanOrEqualValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_5_BC; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyGreaterThanValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyGreaterThanValidator2Dot4ApiTest.php deleted file mode 100644 index 799e5d821061b5c9d6c78ae51befe2c47070678b..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyGreaterThanValidator2Dot4ApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyGreaterThanValidator2Dot4ApiTest extends GreaterThanValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_4; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyGreaterThanValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyGreaterThanValidatorLegacyApiTest.php deleted file mode 100644 index 0808e9bd15a628ef2c91aab3391b2c790f23cace..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyGreaterThanValidatorLegacyApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyGreaterThanValidatorLegacyApiTest extends GreaterThanValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_5_BC; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyIbanValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyIbanValidator2Dot4ApiTest.php deleted file mode 100644 index 6dac309c171a73507198639df7b483b45ccd32f5..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyIbanValidator2Dot4ApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyIbanValidator2Dot4ApiTest extends IbanValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_4; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyIbanValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyIbanValidatorLegacyApiTest.php deleted file mode 100644 index 0ffc4b150658bad93a37892821080b574bc393af..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyIbanValidatorLegacyApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyIbanValidatorLegacyApiTest extends IbanValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_5_BC; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyIdenticalToValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyIdenticalToValidator2Dot4ApiTest.php deleted file mode 100644 index 99cd9862cd53912f24981e92548754117236495b..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyIdenticalToValidator2Dot4ApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyIdenticalToValidator2Dot4ApiTest extends IdenticalToValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_4; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyIdenticalToValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyIdenticalToValidatorLegacyApiTest.php deleted file mode 100644 index aade84f65c2296abd99f4b7472b846cdfca49ae5..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyIdenticalToValidatorLegacyApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyIdenticalToValidatorLegacyApiTest extends IdenticalToValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_5_BC; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyImageValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyImageValidator2Dot4ApiTest.php deleted file mode 100644 index 1fee081eaccc1f26d13dbbea3314540af3a72546..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyImageValidator2Dot4ApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyImageValidator2Dot4ApiTest extends ImageValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_4; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyImageValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyImageValidatorLegacyApiTest.php deleted file mode 100644 index d36c1752f3e864ec2c3a9d74b5d47209e40a6944..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyImageValidatorLegacyApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyImageValidatorLegacyApiTest extends ImageValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_5_BC; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyIpValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyIpValidator2Dot4ApiTest.php deleted file mode 100644 index 99933cf0c00752c6961c4d5f7130fa6fe39dc37b..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyIpValidator2Dot4ApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyIpValidator2Dot4ApiTest extends IpValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_4; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyIpValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyIpValidatorLegacyApiTest.php deleted file mode 100644 index 315f2f9ccf819b27a10e85adcdc659c7a0dd7409..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyIpValidatorLegacyApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyIpValidatorLegacyApiTest extends IpValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_5_BC; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyIsbnValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyIsbnValidator2Dot4ApiTest.php deleted file mode 100644 index 29455bdf70c0aeef5fa9f96a518af529edb06d16..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyIsbnValidator2Dot4ApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyIsbnValidator2Dot4ApiTest extends IsbnValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_4; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyIsbnValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyIsbnValidatorLegacyApiTest.php deleted file mode 100644 index 156827090bc0b3494e83da62fd2b664b1e8507fd..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyIsbnValidatorLegacyApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyIsbnValidatorLegacyApiTest extends IsbnValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_5_BC; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyIssnValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyIssnValidator2Dot4ApiTest.php deleted file mode 100644 index 3713fb0d673b5f5eb5d61520b3ba37df0d410ed7..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyIssnValidator2Dot4ApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyIssnValidator2Dot4ApiTest extends IssnValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_4; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyIssnValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyIssnValidatorLegacyApiTest.php deleted file mode 100644 index 2ff310416d2a785ca1546288d7edc3f6627048e9..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyIssnValidatorLegacyApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyIssnValidatorLegacyApiTest extends IssnValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_5_BC; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLanguageValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLanguageValidator2Dot4ApiTest.php deleted file mode 100644 index f7120751fb33f0f543f3cbc6afb36aa6027680a8..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLanguageValidator2Dot4ApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyLanguageValidator2Dot4ApiTest extends LanguageValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_4; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLanguageValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLanguageValidatorLegacyApiTest.php deleted file mode 100644 index a6471b3d3bdc3cc80af32b38f4ff0eb979e86b7d..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLanguageValidatorLegacyApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyLanguageValidatorLegacyApiTest extends LanguageValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_5_BC; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLengthValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLengthValidator2Dot4ApiTest.php deleted file mode 100644 index 686d376d9d53d0bbf17ef3ef24d2c37809ee4c64..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLengthValidator2Dot4ApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyLengthValidator2Dot4ApiTest extends LengthValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_4; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLengthValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLengthValidatorLegacyApiTest.php deleted file mode 100644 index 655f3d6adb303e3c5f38b5e3234caed6f76734ec..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLengthValidatorLegacyApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyLengthValidatorLegacyApiTest extends LengthValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_5_BC; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLessThanOrEqualValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLessThanOrEqualValidator2Dot4ApiTest.php deleted file mode 100644 index f345ec362295eeb02fc4e986769744d204a4b5d6..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLessThanOrEqualValidator2Dot4ApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyLessThanOrEqualValidator2Dot4ApiTest extends LessThanOrEqualValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_4; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLessThanOrEqualValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLessThanOrEqualValidatorLegacyApiTest.php deleted file mode 100644 index 2e07ab02cac0bae996c9f1611bd7b246371ce6f0..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLessThanOrEqualValidatorLegacyApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyLessThanOrEqualValidatorLegacyApiTest extends LessThanOrEqualValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_5_BC; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLessThanValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLessThanValidator2Dot4ApiTest.php deleted file mode 100644 index 074450d4193b06a106466263024528a0b47b40c3..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLessThanValidator2Dot4ApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyLessThanValidator2Dot4ApiTest extends LessThanValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_4; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLessThanValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLessThanValidatorLegacyApiTest.php deleted file mode 100644 index 27592b0afc0b8ceea1a67a57345b3b3de6fcab4d..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLessThanValidatorLegacyApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyLessThanValidatorLegacyApiTest extends LessThanValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_5_BC; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLocaleValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLocaleValidator2Dot4ApiTest.php deleted file mode 100644 index 4d119bb9182e0b20afba366c1623b019d020829e..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLocaleValidator2Dot4ApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyLocaleValidator2Dot4ApiTest extends LocaleValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_4; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLocaleValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLocaleValidatorLegacyApiTest.php deleted file mode 100644 index f55d42205fc281bc855390ebaebf74552e748856..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLocaleValidatorLegacyApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyLocaleValidatorLegacyApiTest extends LocaleValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_5_BC; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLuhnValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLuhnValidator2Dot4ApiTest.php deleted file mode 100644 index 8207ca009c0aacfb2c5c32fc906c13a27f5b2ea4..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLuhnValidator2Dot4ApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyLuhnValidator2Dot4ApiTest extends LuhnValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_4; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLuhnValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLuhnValidatorLegacyApiTest.php deleted file mode 100644 index 58555266e9eb9f790a870f4cc99763f90dc003a0..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyLuhnValidatorLegacyApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyLuhnValidatorLegacyApiTest extends LuhnValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_5_BC; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyNotBlankValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyNotBlankValidator2Dot4ApiTest.php deleted file mode 100644 index a6d0faa784c11a44798b751058e61e94364d14be..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyNotBlankValidator2Dot4ApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyNotBlankValidator2Dot4ApiTest extends NotBlankValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_4; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyNotBlankValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyNotBlankValidatorLegacyApiTest.php deleted file mode 100644 index 0aaaa77c442ebca8ef241b5c8c0caea2e9afc4e9..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyNotBlankValidatorLegacyApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyNotBlankValidatorLegacyApiTest extends NotBlankValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_5_BC; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyNotEqualToValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyNotEqualToValidator2Dot4ApiTest.php deleted file mode 100644 index e48450e52d8f75260a70b0690f0034073579cccf..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyNotEqualToValidator2Dot4ApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyNotEqualToValidator2Dot4ApiTest extends NotEqualToValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_4; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyNotEqualToValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyNotEqualToValidatorLegacyApiTest.php deleted file mode 100644 index df88f96b540550f892f929bdd45fb93d512d7610..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyNotEqualToValidatorLegacyApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyNotEqualToValidatorLegacyApiTest extends NotEqualToValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_5_BC; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyNotIdenticalToValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyNotIdenticalToValidator2Dot4ApiTest.php deleted file mode 100644 index 2c00cf5d3ad01fab77d887a6fddfb9117f27fbb1..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyNotIdenticalToValidator2Dot4ApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyNotIdenticalToValidator2Dot4ApiTest extends NotIdenticalToValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_4; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyNotIdenticalToValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyNotIdenticalToValidatorLegacyApiTest.php deleted file mode 100644 index 25819a622fcb0504eb623279efedbfb9a04cd4de..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyNotIdenticalToValidatorLegacyApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyNotIdenticalToValidatorLegacyApiTest extends NotIdenticalToValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_5_BC; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyNotNullValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyNotNullValidator2Dot4ApiTest.php deleted file mode 100644 index 39b0038750e0d4197bc38603018ae3c2c370bc09..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyNotNullValidator2Dot4ApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyNotNullValidator2Dot4ApiTest extends NotNullValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_4; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyNotNullValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyNotNullValidatorLegacyApiTest.php deleted file mode 100644 index 41a9e5407c00c3ab01a386f7e1210d86b5227966..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyNotNullValidatorLegacyApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyNotNullValidatorLegacyApiTest extends NotNullValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_5_BC; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyNullValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyNullValidator2Dot4ApiTest.php deleted file mode 100644 index 958e446aa78ac695efee9add6d64cd3285ec6f67..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyNullValidator2Dot4ApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyNullValidator2Dot4ApiTest extends NullValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_4; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyNullValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyNullValidatorLegacyApiTest.php deleted file mode 100644 index 79536ced6ba122510425d14b34c17cf461f30fc2..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyNullValidatorLegacyApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyNullValidatorLegacyApiTest extends NullValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_5_BC; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyRangeValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyRangeValidator2Dot4ApiTest.php deleted file mode 100644 index fe23ce8a6c363977e8c1fd3dbcc459ab527941ec..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyRangeValidator2Dot4ApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyRangeValidator2Dot4ApiTest extends RangeValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_4; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyRangeValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyRangeValidatorLegacyApiTest.php deleted file mode 100644 index 866a59adfeb05ce8dd4cbf67b487ed4421323cc3..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyRangeValidatorLegacyApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyRangeValidatorLegacyApiTest extends RangeValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_5_BC; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyRegexValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyRegexValidator2Dot4ApiTest.php deleted file mode 100644 index dbae24ee0c404d8e23985e91293cc186bae67bdf..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyRegexValidator2Dot4ApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyRegexValidator2Dot4ApiTest extends RegexValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_4; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyRegexValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyRegexValidatorLegacyApiTest.php deleted file mode 100644 index ed1a4648c21d979f99384b1a0ec94386d99710c4..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyRegexValidatorLegacyApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyRegexValidatorLegacyApiTest extends RegexValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_5_BC; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyTimeValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyTimeValidator2Dot4ApiTest.php deleted file mode 100644 index d4a0678c99e9498dd97b8d6adba27b0961c9870c..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyTimeValidator2Dot4ApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyTimeValidator2Dot4ApiTest extends TimeValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_4; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyTimeValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyTimeValidatorLegacyApiTest.php deleted file mode 100644 index 2458d873ac800353aec615234ec013c7306d6faa..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyTimeValidatorLegacyApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyTimeValidatorLegacyApiTest extends TimeValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_5_BC; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyTrueValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyTrueValidator2Dot4ApiTest.php deleted file mode 100644 index 3d00252ebc49cc9c27b7b988ec31ff213652282a..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyTrueValidator2Dot4ApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyTrueValidator2Dot4ApiTest extends TrueValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_4; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyTrueValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyTrueValidatorLegacyApiTest.php deleted file mode 100644 index 706c08373ce198ec9a756315b9e11467d0b22333..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyTrueValidatorLegacyApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyTrueValidatorLegacyApiTest extends TrueValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_5_BC; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyTypeValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyTypeValidator2Dot4ApiTest.php deleted file mode 100644 index aed1d0a2ba74c3a1b4453b3f7682af76be0873a3..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyTypeValidator2Dot4ApiTest.php +++ /dev/null @@ -1,37 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyTypeValidator2Dot4ApiTest extends TypeValidatorTest -{ - /** - * PhpUnit calls data providers of test suites before launching the test - * suite. If this property is not replicated in every test class, only one - * file will ever be created and stored in TypeValidatorTest::$file. After - * the execution of the first TypeValidator test case, tearDownAfterClass() - * is called and closes the file. Hence the resource is not available - * anymore in the other TypeValidator test cases. - */ - protected static $file; - - protected function getApiVersion() - { - return Validation::API_VERSION_2_4; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyTypeValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyTypeValidatorLegacyApiTest.php deleted file mode 100644 index 26eb39ffb12623f68d140f96afd7a068c4f71ec7..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyTypeValidatorLegacyApiTest.php +++ /dev/null @@ -1,29 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyTypeValidatorLegacyApiTest extends TypeValidatorTest -{ - protected static $file; - - protected function getApiVersion() - { - return Validation::API_VERSION_2_5_BC; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyUrlValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyUrlValidator2Dot4ApiTest.php deleted file mode 100644 index 287d7192c8bcf48feae604fd6b4b4764efcb7b40..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyUrlValidator2Dot4ApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyUrlValidator2Dot4ApiTest extends UrlValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_4; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyUrlValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyUrlValidatorLegacyApiTest.php deleted file mode 100644 index 0830ddb40fa6fd7702c11311d07b79651f95cbc9..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyUrlValidatorLegacyApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyUrlValidatorLegacyApiTest extends UrlValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_5_BC; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyUuidValidator2Dot4ApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyUuidValidator2Dot4ApiTest.php deleted file mode 100644 index b5efc767705efe9b81e5de85802cdb613cde7ffe..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyUuidValidator2Dot4ApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyUuidValidator2Dot4ApiTest extends UrlValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_4; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyUuidValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyUuidValidatorLegacyApiTest.php deleted file mode 100644 index 4a4e36298b7b18601ffd6351c3b56fecea0136bc..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LegacyUuidValidatorLegacyApiTest.php +++ /dev/null @@ -1,27 +0,0 @@ -<?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\Validator\Tests\Constraints; - -use Symfony\Component\Validator\Validation; - -/** - * @since 2.5.3 - * @author Bernhard Schussek <bschussek@gmail.com> - * @group legacy - */ -class LegacyUuidValidatorLegacyApiTest extends UuidValidatorTest -{ - protected function getApiVersion() - { - return Validation::API_VERSION_2_5_BC; - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Validator/LegacyValidator.php b/core/vendor/symfony/validator/Symfony/Component/Validator/Validator/LegacyValidator.php deleted file mode 100644 index ce3501f216116b5d06f38869b2e7bd453e8e0dfa..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Validator/LegacyValidator.php +++ /dev/null @@ -1,79 +0,0 @@ -<?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\Validator\Validator; - -use Symfony\Component\Validator\Constraint; -use Symfony\Component\Validator\Constraints\GroupSequence; -use Symfony\Component\Validator\Constraints\Valid; -use Symfony\Component\Validator\ValidatorInterface as LegacyValidatorInterface; - -/** - * A validator that supports both the API of Symfony < 2.5 and Symfony 2.5+. - * - * This class is incompatible with PHP versions < 5.3.9, because it implements - * two different interfaces specifying the same method validate(): - * - * - {@link \Symfony\Component\Validator\ValidatorInterface} - * - {@link \Symfony\Component\Validator\Validator\ValidatorInterface} - * - * In PHP versions prior to 5.3.9, either use {@link RecursiveValidator} or the - * deprecated class {@link \Symfony\Component\Validator\Validator} instead. - * - * @since 2.5 - * @author Bernhard Schussek <bschussek@gmail.com> - * - * @see \Symfony\Component\Validator\ValidatorInterface - * @see \Symfony\Component\Validator\Validator\ValidatorInterface - * - * @deprecated Implemented for backwards compatibility with Symfony < 2.5. - * To be removed in Symfony 3.0. - */ -class LegacyValidator extends RecursiveValidator implements LegacyValidatorInterface -{ - public function validate($value, $groups = null, $traverse = false, $deep = false) - { - $numArgs = func_num_args(); - - // Use new signature if constraints are given in the second argument - if (self::testConstraints($groups) && ($numArgs < 3 || 3 === $numArgs && self::testGroups($traverse))) { - // Rename to avoid total confusion ;) - $constraints = $groups; - $groups = $traverse; - - return parent::validate($value, $constraints, $groups); - } - - $constraint = new Valid(array('traverse' => $traverse, 'deep' => $deep)); - - return parent::validate($value, $constraint, $groups); - } - - public function validateValue($value, $constraints, $groups = null) - { - return parent::validate($value, $constraints, $groups); - } - - public function getMetadataFactory() - { - return $this->metadataFactory; - } - - private static function testConstraints($constraints) - { - return null === $constraints || $constraints instanceof Constraint || (is_array($constraints) && current($constraints) instanceof Constraint); - } - - private static function testGroups($groups) - { - return null === $groups || is_string($groups) || $groups instanceof GroupSequence || (is_array($groups) && (is_string(current($groups)) || current($groups) instanceof GroupSequence)); - } -} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/ConstraintTest.php b/core/vendor/symfony/validator/Tests/ConstraintTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/ConstraintTest.php rename to core/vendor/symfony/validator/Tests/ConstraintTest.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/ConstraintViolationListTest.php b/core/vendor/symfony/validator/Tests/ConstraintViolationListTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/ConstraintViolationListTest.php rename to core/vendor/symfony/validator/Tests/ConstraintViolationListTest.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/ConstraintViolationTest.php b/core/vendor/symfony/validator/Tests/ConstraintViolationTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/ConstraintViolationTest.php rename to core/vendor/symfony/validator/Tests/ConstraintViolationTest.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/AbstractComparisonValidatorTestCase.php b/core/vendor/symfony/validator/Tests/Constraints/AbstractComparisonValidatorTestCase.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/AbstractComparisonValidatorTestCase.php rename to core/vendor/symfony/validator/Tests/Constraints/AbstractComparisonValidatorTestCase.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/AbstractConstraintValidatorTest.php b/core/vendor/symfony/validator/Tests/Constraints/AbstractConstraintValidatorTest.php similarity index 64% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/AbstractConstraintValidatorTest.php rename to core/vendor/symfony/validator/Tests/Constraints/AbstractConstraintValidatorTest.php index d55e46426814bf322fdafe3303c72e713cf1ac5d..55ddbfe9c8593a37273c6937bd6a69d43c30aa69 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/AbstractConstraintValidatorTest.php +++ b/core/vendor/symfony/validator/Tests/Constraints/AbstractConstraintValidatorTest.php @@ -21,11 +21,10 @@ use Symfony\Component\Validator\ExecutionContextInterface as LegacyExecutionContextInterface; use Symfony\Component\Validator\Mapping\ClassMetadata; use Symfony\Component\Validator\Mapping\PropertyMetadata; -use Symfony\Component\Validator\Tests\Fixtures\StubGlobalExecutionContext; use Symfony\Component\Validator\Validation; /** - * @since 2.5.3 + * @since 2.5.3 * * @author Bernhard Schussek <bschussek@gmail.com> */ @@ -42,19 +41,12 @@ abstract class AbstractConstraintValidatorTest extends \PHPUnit_Framework_TestCa protected $validator; protected $group; - protected $metadata; - protected $object; - protected $value; - protected $root; - protected $propertyPath; - protected $constraint; - protected $defaultTimezone; protected function setUp() @@ -72,11 +64,7 @@ protected function setUp() // Initialize the context with some constraint so that we can // successfully build a violation. - // The 2.4 API does not keep a reference to the current - // constraint yet. There the violation stores null. - $this->constraint = Validation::API_VERSION_2_4 === $this->getApiVersion() - ? null - : new NotNull(); + $this->constraint = new NotNull(); $this->context = $this->createContext(); $this->validator = $this->createValidator(); @@ -113,22 +101,6 @@ protected function restoreDefaultTimezone() protected function createContext() { $translator = $this->getMock('Symfony\Component\Translation\TranslatorInterface'); - - if (Validation::API_VERSION_2_4 === $this->getApiVersion()) { - return $this->getMockBuilder('Symfony\Component\Validator\ExecutionContext') - ->setConstructorArgs(array( - new StubGlobalExecutionContext($this->root), - $translator, - null, - $this->metadata, - $this->value, - $this->group, - $this->propertyPath, - )) - ->setMethods(array('validate', 'validateValue')) - ->getMock(); - } - $validator = $this->getMock('Symfony\Component\Validator\Validator\ValidatorInterface'); $contextualValidator = $this->getMock('Symfony\Component\Validator\Validator\ContextualValidatorInterface'); @@ -140,6 +112,7 @@ protected function createContext() $translator ); break; + case Validation::API_VERSION_2_4: case Validation::API_VERSION_2_5_BC: $context = new LegacyExecutionContext( $validator, @@ -174,8 +147,7 @@ protected function createContext() * * @return ConstraintViolation * - * @deprecated To be removed in Symfony 3.0. Use - * {@link buildViolation()} instead. + * @deprecated to be removed in Symfony 3.0. Use {@link buildViolation()} instead. */ protected function createViolation($message, array $parameters = array(), $propertyPath = 'property.path', $invalidValue = 'InvalidValue', $plural = null, $code = null) { @@ -195,17 +167,7 @@ protected function createViolation($message, array $parameters = array(), $prope protected function setGroup($group) { $this->group = $group; - - switch ($this->getApiVersion()) { - case Validation::API_VERSION_2_4: - $this->context = $this->createContext(); - $this->validator->initialize($this->context); - break; - case Validation::API_VERSION_2_5: - case Validation::API_VERSION_2_5_BC: - $this->context->setGroup($group); - break; - } + $this->context->setGroup($group); } protected function setObject($object) @@ -215,16 +177,7 @@ protected function setObject($object) ? new ClassMetadata(get_class($object)) : null; - switch ($this->getApiVersion()) { - case Validation::API_VERSION_2_4: - $this->context = $this->createContext(); - $this->validator->initialize($this->context); - break; - case Validation::API_VERSION_2_5: - case Validation::API_VERSION_2_5_BC: - $this->context->setNode($this->value, $this->object, $this->metadata, $this->propertyPath); - break; - } + $this->context->setNode($this->value, $this->object, $this->metadata, $this->propertyPath); } protected function setProperty($object, $property) @@ -234,32 +187,13 @@ protected function setProperty($object, $property) ? new PropertyMetadata(get_class($object), $property) : null; - switch ($this->getApiVersion()) { - case Validation::API_VERSION_2_4: - $this->context = $this->createContext(); - $this->validator->initialize($this->context); - break; - case Validation::API_VERSION_2_5: - case Validation::API_VERSION_2_5_BC: - $this->context->setNode($this->value, $this->object, $this->metadata, $this->propertyPath); - break; - } + $this->context->setNode($this->value, $this->object, $this->metadata, $this->propertyPath); } protected function setValue($value) { $this->value = $value; - - switch ($this->getApiVersion()) { - case Validation::API_VERSION_2_4: - $this->context = $this->createContext(); - $this->validator->initialize($this->context); - break; - case Validation::API_VERSION_2_5: - case Validation::API_VERSION_2_5_BC: - $this->context->setNode($this->value, $this->object, $this->metadata, $this->propertyPath); - break; - } + $this->context->setNode($this->value, $this->object, $this->metadata, $this->propertyPath); } protected function setRoot($root) @@ -272,86 +206,45 @@ protected function setRoot($root) protected function setPropertyPath($propertyPath) { $this->propertyPath = $propertyPath; - - switch ($this->getApiVersion()) { - case Validation::API_VERSION_2_4: - $this->context = $this->createContext(); - $this->validator->initialize($this->context); - break; - case Validation::API_VERSION_2_5: - case Validation::API_VERSION_2_5_BC: - $this->context->setNode($this->value, $this->object, $this->metadata, $this->propertyPath); - break; - } + $this->context->setNode($this->value, $this->object, $this->metadata, $this->propertyPath); } protected function expectNoValidate() { - switch ($this->getApiVersion()) { - case Validation::API_VERSION_2_4: - $this->context->expects($this->never()) - ->method('validate'); - $this->context->expects($this->never()) - ->method('validateValue'); - break; - case Validation::API_VERSION_2_5: - case Validation::API_VERSION_2_5_BC: - $validator = $this->context->getValidator()->inContext($this->context); - $validator->expects($this->never()) - ->method('atPath'); - $validator->expects($this->never()) - ->method('validate'); - break; - } + $validator = $this->context->getValidator()->inContext($this->context); + $validator->expects($this->never()) + ->method('atPath'); + $validator->expects($this->never()) + ->method('validate'); } protected function expectValidateAt($i, $propertyPath, $value, $group) { - switch ($this->getApiVersion()) { - case Validation::API_VERSION_2_4: - $this->context->expects($this->at($i)) - ->method('validate') - ->with($value, $propertyPath, $group); - break; - case Validation::API_VERSION_2_5: - case Validation::API_VERSION_2_5_BC: - $validator = $this->context->getValidator()->inContext($this->context); - $validator->expects($this->at(2 * $i)) - ->method('atPath') - ->with($propertyPath) - ->will($this->returnValue($validator)); - $validator->expects($this->at(2 * $i + 1)) - ->method('validate') - ->with($value, $this->logicalOr(null, array()), $group); - break; - } + $validator = $this->context->getValidator()->inContext($this->context); + $validator->expects($this->at(2 * $i)) + ->method('atPath') + ->with($propertyPath) + ->will($this->returnValue($validator)); + $validator->expects($this->at(2 * $i + 1)) + ->method('validate') + ->with($value, $this->logicalOr(null, array()), $group); } protected function expectValidateValueAt($i, $propertyPath, $value, $constraints, $group = null) { - switch ($this->getApiVersion()) { - case Validation::API_VERSION_2_4: - $this->context->expects($this->at($i)) - ->method('validateValue') - ->with($value, $constraints, $propertyPath, $group); - break; - case Validation::API_VERSION_2_5: - case Validation::API_VERSION_2_5_BC: - $contextualValidator = $this->context->getValidator()->inContext($this->context); - $contextualValidator->expects($this->at(2 * $i)) - ->method('atPath') - ->with($propertyPath) - ->will($this->returnValue($contextualValidator)); - $contextualValidator->expects($this->at(2 * $i + 1)) - ->method('validate') - ->with($value, $constraints, $group); - break; - } + $contextualValidator = $this->context->getValidator()->inContext($this->context); + $contextualValidator->expects($this->at(2 * $i)) + ->method('atPath') + ->with($propertyPath) + ->will($this->returnValue($contextualValidator)); + $contextualValidator->expects($this->at(2 * $i + 1)) + ->method('validate') + ->with($value, $constraints, $group); } protected function assertNoViolation() { - $this->assertCount(0, $this->context->getViolations()); + $this->assertSame(0, $violationsCount = count($this->context->getViolations()), sprintf('0 violation expected. Got %u.', $violationsCount)); } /** @@ -367,6 +260,8 @@ protected function assertNoViolation() */ protected function assertViolation($message, array $parameters = array(), $propertyPath = 'property.path', $invalidValue = 'InvalidValue', $plural = null, $code = null) { + trigger_error('The '.__METHOD__.' method is deprecated since version 2.3 and will be removed in 3.0. Use the buildViolation() method instead.', E_USER_DEPRECATED); + $this->buildViolation($message) ->setParameters($parameters) ->atPath($propertyPath) @@ -384,6 +279,8 @@ protected function assertViolation($message, array $parameters = array(), $prope */ protected function assertViolations(array $expected) { + trigger_error('The '.__METHOD__.' method is deprecated since version 2.3 and will be removed in 3.0. Use the buildViolation() method instead.', E_USER_DEPRECATED); + $violations = $this->context->getViolations(); $this->assertCount(count($expected), $violations); @@ -405,7 +302,10 @@ protected function buildViolation($message) return new ConstraintViolationAssertion($this->context, $message, $this->constraint); } - abstract protected function getApiVersion(); + protected function getApiVersion() + { + return Validation::API_VERSION_2_5; + } abstract protected function createValidator(); } @@ -517,7 +417,7 @@ public function assertRaised() $violations = iterator_to_array($this->context->getViolations()); - \PHPUnit_Framework_Assert::assertCount(count($expected), $violations); + \PHPUnit_Framework_Assert::assertSame($expectedCount = count($expected), $violationsCount = count($violations), sprintf('%u violation(s) expected. Got %u.', $expectedCount, $violationsCount)); reset($violations); diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/AllTest.php b/core/vendor/symfony/validator/Tests/Constraints/AllTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/AllTest.php rename to core/vendor/symfony/validator/Tests/Constraints/AllTest.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/AllValidatorTest.php b/core/vendor/symfony/validator/Tests/Constraints/AllValidatorTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/AllValidatorTest.php rename to core/vendor/symfony/validator/Tests/Constraints/AllValidatorTest.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/BlankValidatorTest.php b/core/vendor/symfony/validator/Tests/Constraints/BlankValidatorTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/BlankValidatorTest.php rename to core/vendor/symfony/validator/Tests/Constraints/BlankValidatorTest.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/CallbackValidatorTest.php b/core/vendor/symfony/validator/Tests/Constraints/CallbackValidatorTest.php similarity index 88% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/CallbackValidatorTest.php rename to core/vendor/symfony/validator/Tests/Constraints/CallbackValidatorTest.php index 9bb12a25361b66416652fee10de5f89b21b9953e..b53f6c6995cc10bee902c1ee854129a77604538e 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/CallbackValidatorTest.php +++ b/core/vendor/symfony/validator/Tests/Constraints/CallbackValidatorTest.php @@ -58,7 +58,7 @@ protected function createValidator() public function testNullIsValid() { - $this->validator->validate(null, new Callback(array('foo'))); + $this->validator->validate(null, new Callback()); $this->assertNoViolation(); } @@ -186,8 +186,13 @@ public function testArrayCallableExplicitName() } // BC with Symfony < 2.4 - public function testSingleMethodBc() + /** + * @group legacy + */ + public function testLegacySingleMethodBc() { + $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED); + $object = new CallbackValidatorTest_Object(); $constraint = new Callback(array('validate')); @@ -199,8 +204,13 @@ public function testSingleMethodBc() } // BC with Symfony < 2.4 - public function testSingleMethodBcExplicitName() + /** + * @group legacy + */ + public function testLegacySingleMethodBcExplicitName() { + $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED); + $object = new CallbackValidatorTest_Object(); $constraint = new Callback(array('methods' => array('validate'))); @@ -212,8 +222,13 @@ public function testSingleMethodBcExplicitName() } // BC with Symfony < 2.4 - public function testMultipleMethodsBc() + /** + * @group legacy + */ + public function testLegacyMultipleMethodsBc() { + $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED); + $object = new CallbackValidatorTest_Object(); $constraint = new Callback(array('validate', 'validateStatic')); @@ -227,8 +242,13 @@ public function testMultipleMethodsBc() } // BC with Symfony < 2.4 - public function testMultipleMethodsBcExplicitName() + /** + * @group legacy + */ + public function testLegacyMultipleMethodsBcExplicitName() { + $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED); + $object = new CallbackValidatorTest_Object(); $constraint = new Callback(array( 'methods' => array('validate', 'validateStatic'), @@ -244,8 +264,13 @@ public function testMultipleMethodsBcExplicitName() } // BC with Symfony < 2.4 - public function testSingleStaticMethodBc() + /** + * @group legacy + */ + public function testLegacySingleStaticMethodBc() { + $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED); + $object = new CallbackValidatorTest_Object(); $constraint = new Callback(array( array(__CLASS__.'_Class', 'validateCallback'), @@ -259,8 +284,13 @@ public function testSingleStaticMethodBc() } // BC with Symfony < 2.4 - public function testSingleStaticMethodBcExplicitName() + /** + * @group legacy + */ + public function testLegacySingleStaticMethodBcExplicitName() { + $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED); + $object = new CallbackValidatorTest_Object(); $constraint = new Callback(array( 'methods' => array(array(__CLASS__.'_Class', 'validateCallback')), @@ -295,9 +325,12 @@ public function testExpectValidCallbacks() /** * @expectedException \Symfony\Component\Validator\Exception\ConstraintDefinitionException + * @group legacy */ - public function testExpectEitherCallbackOrMethods() + public function testLegacyExpectEitherCallbackOrMethods() { + $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED); + $object = new CallbackValidatorTest_Object(); $this->validator->validate($object, new Callback(array( @@ -308,7 +341,7 @@ public function testExpectEitherCallbackOrMethods() public function testConstraintGetTargets() { - $constraint = new Callback(array('foo')); + $constraint = new Callback(array()); $targets = array(Constraint::CLASS_CONSTRAINT, Constraint::PROPERTY_CONSTRAINT); $this->assertEquals($targets, $constraint->getTargets()); diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/CardSchemeValidatorTest.php b/core/vendor/symfony/validator/Tests/Constraints/CardSchemeValidatorTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/CardSchemeValidatorTest.php rename to core/vendor/symfony/validator/Tests/Constraints/CardSchemeValidatorTest.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/ChoiceValidatorTest.php b/core/vendor/symfony/validator/Tests/Constraints/ChoiceValidatorTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/ChoiceValidatorTest.php rename to core/vendor/symfony/validator/Tests/Constraints/ChoiceValidatorTest.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/CollectionTest.php b/core/vendor/symfony/validator/Tests/Constraints/CollectionTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/CollectionTest.php rename to core/vendor/symfony/validator/Tests/Constraints/CollectionTest.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/CollectionValidatorArrayObjectTest.php b/core/vendor/symfony/validator/Tests/Constraints/CollectionValidatorArrayObjectTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/CollectionValidatorArrayObjectTest.php rename to core/vendor/symfony/validator/Tests/Constraints/CollectionValidatorArrayObjectTest.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/CollectionValidatorArrayTest.php b/core/vendor/symfony/validator/Tests/Constraints/CollectionValidatorArrayTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/CollectionValidatorArrayTest.php rename to core/vendor/symfony/validator/Tests/Constraints/CollectionValidatorArrayTest.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/CollectionValidatorCustomArrayObjectTest.php b/core/vendor/symfony/validator/Tests/Constraints/CollectionValidatorCustomArrayObjectTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/CollectionValidatorCustomArrayObjectTest.php rename to core/vendor/symfony/validator/Tests/Constraints/CollectionValidatorCustomArrayObjectTest.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/CollectionValidatorTest.php b/core/vendor/symfony/validator/Tests/Constraints/CollectionValidatorTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/CollectionValidatorTest.php rename to core/vendor/symfony/validator/Tests/Constraints/CollectionValidatorTest.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/CompositeTest.php b/core/vendor/symfony/validator/Tests/Constraints/CompositeTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/CompositeTest.php rename to core/vendor/symfony/validator/Tests/Constraints/CompositeTest.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/CountValidatorArrayTest.php b/core/vendor/symfony/validator/Tests/Constraints/CountValidatorArrayTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/CountValidatorArrayTest.php rename to core/vendor/symfony/validator/Tests/Constraints/CountValidatorArrayTest.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/CountValidatorCountableTest.php b/core/vendor/symfony/validator/Tests/Constraints/CountValidatorCountableTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/CountValidatorCountableTest.php rename to core/vendor/symfony/validator/Tests/Constraints/CountValidatorCountableTest.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/CountValidatorTest.php b/core/vendor/symfony/validator/Tests/Constraints/CountValidatorTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/CountValidatorTest.php rename to core/vendor/symfony/validator/Tests/Constraints/CountValidatorTest.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/CountryValidatorTest.php b/core/vendor/symfony/validator/Tests/Constraints/CountryValidatorTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/CountryValidatorTest.php rename to core/vendor/symfony/validator/Tests/Constraints/CountryValidatorTest.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/CurrencyValidatorTest.php b/core/vendor/symfony/validator/Tests/Constraints/CurrencyValidatorTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/CurrencyValidatorTest.php rename to core/vendor/symfony/validator/Tests/Constraints/CurrencyValidatorTest.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/DateTimeValidatorTest.php b/core/vendor/symfony/validator/Tests/Constraints/DateTimeValidatorTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/DateTimeValidatorTest.php rename to core/vendor/symfony/validator/Tests/Constraints/DateTimeValidatorTest.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/DateValidatorTest.php b/core/vendor/symfony/validator/Tests/Constraints/DateValidatorTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/DateValidatorTest.php rename to core/vendor/symfony/validator/Tests/Constraints/DateValidatorTest.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/EmailValidatorTest.php b/core/vendor/symfony/validator/Tests/Constraints/EmailValidatorTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/EmailValidatorTest.php rename to core/vendor/symfony/validator/Tests/Constraints/EmailValidatorTest.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/EqualToValidatorTest.php b/core/vendor/symfony/validator/Tests/Constraints/EqualToValidatorTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/EqualToValidatorTest.php rename to core/vendor/symfony/validator/Tests/Constraints/EqualToValidatorTest.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/ExpressionValidatorTest.php b/core/vendor/symfony/validator/Tests/Constraints/ExpressionValidatorTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/ExpressionValidatorTest.php rename to core/vendor/symfony/validator/Tests/Constraints/ExpressionValidatorTest.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/FileTest.php b/core/vendor/symfony/validator/Tests/Constraints/FileTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/FileTest.php rename to core/vendor/symfony/validator/Tests/Constraints/FileTest.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/FileValidatorObjectTest.php b/core/vendor/symfony/validator/Tests/Constraints/FileValidatorObjectTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/FileValidatorObjectTest.php rename to core/vendor/symfony/validator/Tests/Constraints/FileValidatorObjectTest.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/FileValidatorPathTest.php b/core/vendor/symfony/validator/Tests/Constraints/FileValidatorPathTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/FileValidatorPathTest.php rename to core/vendor/symfony/validator/Tests/Constraints/FileValidatorPathTest.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/FileValidatorTest.php b/core/vendor/symfony/validator/Tests/Constraints/FileValidatorTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/FileValidatorTest.php rename to core/vendor/symfony/validator/Tests/Constraints/FileValidatorTest.php diff --git a/core/vendor/symfony/validator/Tests/Constraints/Fixtures/foo b/core/vendor/symfony/validator/Tests/Constraints/Fixtures/foo new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/Fixtures/test.gif b/core/vendor/symfony/validator/Tests/Constraints/Fixtures/test.gif similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/Fixtures/test.gif rename to core/vendor/symfony/validator/Tests/Constraints/Fixtures/test.gif diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/Fixtures/test_4by3.gif b/core/vendor/symfony/validator/Tests/Constraints/Fixtures/test_4by3.gif similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/Fixtures/test_4by3.gif rename to core/vendor/symfony/validator/Tests/Constraints/Fixtures/test_4by3.gif diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/Fixtures/test_landscape.gif b/core/vendor/symfony/validator/Tests/Constraints/Fixtures/test_landscape.gif similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/Fixtures/test_landscape.gif rename to core/vendor/symfony/validator/Tests/Constraints/Fixtures/test_landscape.gif diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/Fixtures/test_portrait.gif b/core/vendor/symfony/validator/Tests/Constraints/Fixtures/test_portrait.gif similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/Fixtures/test_portrait.gif rename to core/vendor/symfony/validator/Tests/Constraints/Fixtures/test_portrait.gif diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/GreaterThanOrEqualValidatorTest.php b/core/vendor/symfony/validator/Tests/Constraints/GreaterThanOrEqualValidatorTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/GreaterThanOrEqualValidatorTest.php rename to core/vendor/symfony/validator/Tests/Constraints/GreaterThanOrEqualValidatorTest.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/GreaterThanValidatorTest.php b/core/vendor/symfony/validator/Tests/Constraints/GreaterThanValidatorTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/GreaterThanValidatorTest.php rename to core/vendor/symfony/validator/Tests/Constraints/GreaterThanValidatorTest.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/GroupSequenceTest.php b/core/vendor/symfony/validator/Tests/Constraints/GroupSequenceTest.php similarity index 74% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/GroupSequenceTest.php rename to core/vendor/symfony/validator/Tests/Constraints/GroupSequenceTest.php index 85b60b5eee3d5ad252159cb1a91502115f123086..30f024537289a3e509886e5101254b8ef0972f24 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/GroupSequenceTest.php +++ b/core/vendor/symfony/validator/Tests/Constraints/GroupSequenceTest.php @@ -32,22 +32,37 @@ public function testCreateDoctrineStyle() $this->assertSame(array('Group 1', 'Group 2'), $sequence->groups); } - public function testIterate() + /** + * @group legacy + */ + public function testLegacyIterate() { + $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED); + $sequence = new GroupSequence(array('Group 1', 'Group 2')); $this->assertSame(array('Group 1', 'Group 2'), iterator_to_array($sequence)); } - public function testCount() + /** + * @group legacy + */ + public function testLegacyCount() { + $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED); + $sequence = new GroupSequence(array('Group 1', 'Group 2')); $this->assertCount(2, $sequence); } - public function testArrayAccess() + /** + * @group legacy + */ + public function testLegacyArrayAccess() { + $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED); + $sequence = new GroupSequence(array('Group 1', 'Group 2')); $this->assertSame('Group 1', $sequence[0]); @@ -66,16 +81,24 @@ public function testArrayAccess() /** * @expectedException \Symfony\Component\Validator\Exception\OutOfBoundsException + * @group legacy */ - public function testGetExpectsExistingKey() + public function testLegacyGetExpectsExistingKey() { + $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED); + $sequence = new GroupSequence(array('Group 1', 'Group 2')); $sequence[2]; } - public function testUnsetIgnoresNonExistingKeys() + /** + * @group legacy + */ + public function testLegacyUnsetIgnoresNonExistingKeys() { + $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED); + $sequence = new GroupSequence(array('Group 1', 'Group 2')); // should not fail diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/IbanValidatorTest.php b/core/vendor/symfony/validator/Tests/Constraints/IbanValidatorTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/IbanValidatorTest.php rename to core/vendor/symfony/validator/Tests/Constraints/IbanValidatorTest.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/IdenticalToValidatorTest.php b/core/vendor/symfony/validator/Tests/Constraints/IdenticalToValidatorTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/IdenticalToValidatorTest.php rename to core/vendor/symfony/validator/Tests/Constraints/IdenticalToValidatorTest.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/ImageValidatorTest.php b/core/vendor/symfony/validator/Tests/Constraints/ImageValidatorTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/ImageValidatorTest.php rename to core/vendor/symfony/validator/Tests/Constraints/ImageValidatorTest.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/IpValidatorTest.php b/core/vendor/symfony/validator/Tests/Constraints/IpValidatorTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/IpValidatorTest.php rename to core/vendor/symfony/validator/Tests/Constraints/IpValidatorTest.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/FalseValidatorTest.php b/core/vendor/symfony/validator/Tests/Constraints/IsFalseValidatorTest.php similarity index 71% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/FalseValidatorTest.php rename to core/vendor/symfony/validator/Tests/Constraints/IsFalseValidatorTest.php index 479888e53b200f5f03afed0729629e2eeaf75fcb..a63d8466ad81436e4573cf05a4ddb3c1ed22c0bc 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/FalseValidatorTest.php +++ b/core/vendor/symfony/validator/Tests/Constraints/IsFalseValidatorTest.php @@ -11,11 +11,11 @@ namespace Symfony\Component\Validator\Tests\Constraints; -use Symfony\Component\Validator\Constraints\False; -use Symfony\Component\Validator\Constraints\FalseValidator; +use Symfony\Component\Validator\Constraints\IsFalse; +use Symfony\Component\Validator\Constraints\IsFalseValidator; use Symfony\Component\Validator\Validation; -class FalseValidatorTest extends AbstractConstraintValidatorTest +class IsFalseValidatorTest extends AbstractConstraintValidatorTest { protected function getApiVersion() { @@ -24,26 +24,26 @@ protected function getApiVersion() protected function createValidator() { - return new FalseValidator(); + return new IsFalseValidator(); } public function testNullIsValid() { - $this->validator->validate(null, new False()); + $this->validator->validate(null, new IsFalse()); $this->assertNoViolation(); } public function testFalseIsValid() { - $this->validator->validate(false, new False()); + $this->validator->validate(false, new IsFalse()); $this->assertNoViolation(); } public function testTrueIsInvalid() { - $constraint = new False(array( + $constraint = new IsFalse(array( 'message' => 'myMessage', )); diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/NullValidatorTest.php b/core/vendor/symfony/validator/Tests/Constraints/IsNullValidatorTest.php similarity index 80% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/NullValidatorTest.php rename to core/vendor/symfony/validator/Tests/Constraints/IsNullValidatorTest.php index 85df90a8ae09ce11d997ecd328d46caf9c0eda2d..885048b9bd6031fca7b0a4c935f3edba05567921 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/NullValidatorTest.php +++ b/core/vendor/symfony/validator/Tests/Constraints/IsNullValidatorTest.php @@ -11,11 +11,11 @@ namespace Symfony\Component\Validator\Tests\Constraints; -use Symfony\Component\Validator\Constraints\Null; -use Symfony\Component\Validator\Constraints\NullValidator; +use Symfony\Component\Validator\Constraints\IsNull; +use Symfony\Component\Validator\Constraints\IsNullValidator; use Symfony\Component\Validator\Validation; -class NullValidatorTest extends AbstractConstraintValidatorTest +class IsNullValidatorTest extends AbstractConstraintValidatorTest { protected function getApiVersion() { @@ -24,12 +24,12 @@ protected function getApiVersion() protected function createValidator() { - return new NullValidator(); + return new IsNullValidator(); } public function testNullIsValid() { - $this->validator->validate(null, new Null()); + $this->validator->validate(null, new IsNull()); $this->assertNoViolation(); } @@ -39,7 +39,7 @@ public function testNullIsValid() */ public function testInvalidValues($value, $valueAsString) { - $constraint = new Null(array( + $constraint = new IsNull(array( 'message' => 'myMessage', )); diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/TrueValidatorTest.php b/core/vendor/symfony/validator/Tests/Constraints/IsTrueValidatorTest.php similarity index 72% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/TrueValidatorTest.php rename to core/vendor/symfony/validator/Tests/Constraints/IsTrueValidatorTest.php index 2cdc703183d013e5ea3bfed21290b3d3f8976dae..a4f0a4aaeba430d003535666b7cd7bca2eebf727 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/TrueValidatorTest.php +++ b/core/vendor/symfony/validator/Tests/Constraints/IsTrueValidatorTest.php @@ -11,11 +11,11 @@ namespace Symfony\Component\Validator\Tests\Constraints; -use Symfony\Component\Validator\Constraints\True; -use Symfony\Component\Validator\Constraints\TrueValidator; +use Symfony\Component\Validator\Constraints\IsTrue; +use Symfony\Component\Validator\Constraints\IsTrueValidator; use Symfony\Component\Validator\Validation; -class TrueValidatorTest extends AbstractConstraintValidatorTest +class IsTrueValidatorTest extends AbstractConstraintValidatorTest { protected function getApiVersion() { @@ -24,26 +24,26 @@ protected function getApiVersion() protected function createValidator() { - return new TrueValidator(); + return new IsTrueValidator(); } public function testNullIsValid() { - $this->validator->validate(null, new True()); + $this->validator->validate(null, new IsTrue()); $this->assertNoViolation(); } public function testTrueIsValid() { - $this->validator->validate(true, new True()); + $this->validator->validate(true, new IsTrue()); $this->assertNoViolation(); } public function testFalseIsInvalid() { - $constraint = new True(array( + $constraint = new IsTrue(array( 'message' => 'myMessage', )); diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/IsbnValidatorTest.php b/core/vendor/symfony/validator/Tests/Constraints/IsbnValidatorTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/IsbnValidatorTest.php rename to core/vendor/symfony/validator/Tests/Constraints/IsbnValidatorTest.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/IssnValidatorTest.php b/core/vendor/symfony/validator/Tests/Constraints/IssnValidatorTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/IssnValidatorTest.php rename to core/vendor/symfony/validator/Tests/Constraints/IssnValidatorTest.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LanguageValidatorTest.php b/core/vendor/symfony/validator/Tests/Constraints/LanguageValidatorTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LanguageValidatorTest.php rename to core/vendor/symfony/validator/Tests/Constraints/LanguageValidatorTest.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LengthValidatorTest.php b/core/vendor/symfony/validator/Tests/Constraints/LengthValidatorTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LengthValidatorTest.php rename to core/vendor/symfony/validator/Tests/Constraints/LengthValidatorTest.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LessThanOrEqualValidatorTest.php b/core/vendor/symfony/validator/Tests/Constraints/LessThanOrEqualValidatorTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LessThanOrEqualValidatorTest.php rename to core/vendor/symfony/validator/Tests/Constraints/LessThanOrEqualValidatorTest.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LessThanValidatorTest.php b/core/vendor/symfony/validator/Tests/Constraints/LessThanValidatorTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LessThanValidatorTest.php rename to core/vendor/symfony/validator/Tests/Constraints/LessThanValidatorTest.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LocaleValidatorTest.php b/core/vendor/symfony/validator/Tests/Constraints/LocaleValidatorTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LocaleValidatorTest.php rename to core/vendor/symfony/validator/Tests/Constraints/LocaleValidatorTest.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LuhnValidatorTest.php b/core/vendor/symfony/validator/Tests/Constraints/LuhnValidatorTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/LuhnValidatorTest.php rename to core/vendor/symfony/validator/Tests/Constraints/LuhnValidatorTest.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/NotBlankValidatorTest.php b/core/vendor/symfony/validator/Tests/Constraints/NotBlankValidatorTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/NotBlankValidatorTest.php rename to core/vendor/symfony/validator/Tests/Constraints/NotBlankValidatorTest.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/NotEqualToValidatorTest.php b/core/vendor/symfony/validator/Tests/Constraints/NotEqualToValidatorTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/NotEqualToValidatorTest.php rename to core/vendor/symfony/validator/Tests/Constraints/NotEqualToValidatorTest.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/NotIdenticalToValidatorTest.php b/core/vendor/symfony/validator/Tests/Constraints/NotIdenticalToValidatorTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/NotIdenticalToValidatorTest.php rename to core/vendor/symfony/validator/Tests/Constraints/NotIdenticalToValidatorTest.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/NotNullValidatorTest.php b/core/vendor/symfony/validator/Tests/Constraints/NotNullValidatorTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/NotNullValidatorTest.php rename to core/vendor/symfony/validator/Tests/Constraints/NotNullValidatorTest.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/RangeValidatorTest.php b/core/vendor/symfony/validator/Tests/Constraints/RangeValidatorTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/RangeValidatorTest.php rename to core/vendor/symfony/validator/Tests/Constraints/RangeValidatorTest.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/RegexTest.php b/core/vendor/symfony/validator/Tests/Constraints/RegexTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/RegexTest.php rename to core/vendor/symfony/validator/Tests/Constraints/RegexTest.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/RegexValidatorTest.php b/core/vendor/symfony/validator/Tests/Constraints/RegexValidatorTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/RegexValidatorTest.php rename to core/vendor/symfony/validator/Tests/Constraints/RegexValidatorTest.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/TimeValidatorTest.php b/core/vendor/symfony/validator/Tests/Constraints/TimeValidatorTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/TimeValidatorTest.php rename to core/vendor/symfony/validator/Tests/Constraints/TimeValidatorTest.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/TypeValidatorTest.php b/core/vendor/symfony/validator/Tests/Constraints/TypeValidatorTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/TypeValidatorTest.php rename to core/vendor/symfony/validator/Tests/Constraints/TypeValidatorTest.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/UrlValidatorTest.php b/core/vendor/symfony/validator/Tests/Constraints/UrlValidatorTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/UrlValidatorTest.php rename to core/vendor/symfony/validator/Tests/Constraints/UrlValidatorTest.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/UuidValidatorTest.php b/core/vendor/symfony/validator/Tests/Constraints/UuidValidatorTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/UuidValidatorTest.php rename to core/vendor/symfony/validator/Tests/Constraints/UuidValidatorTest.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/ValidTest.php b/core/vendor/symfony/validator/Tests/Constraints/ValidTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Constraints/ValidTest.php rename to core/vendor/symfony/validator/Tests/Constraints/ValidTest.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/CallbackClass.php b/core/vendor/symfony/validator/Tests/Fixtures/CallbackClass.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/CallbackClass.php rename to core/vendor/symfony/validator/Tests/Fixtures/CallbackClass.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/ClassConstraint.php b/core/vendor/symfony/validator/Tests/Fixtures/ClassConstraint.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/ClassConstraint.php rename to core/vendor/symfony/validator/Tests/Fixtures/ClassConstraint.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/ConstraintA.php b/core/vendor/symfony/validator/Tests/Fixtures/ConstraintA.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/ConstraintA.php rename to core/vendor/symfony/validator/Tests/Fixtures/ConstraintA.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/ConstraintAValidator.php b/core/vendor/symfony/validator/Tests/Fixtures/ConstraintAValidator.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/ConstraintAValidator.php rename to core/vendor/symfony/validator/Tests/Fixtures/ConstraintAValidator.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/ConstraintB.php b/core/vendor/symfony/validator/Tests/Fixtures/ConstraintB.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/ConstraintB.php rename to core/vendor/symfony/validator/Tests/Fixtures/ConstraintB.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/ConstraintC.php b/core/vendor/symfony/validator/Tests/Fixtures/ConstraintC.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/ConstraintC.php rename to core/vendor/symfony/validator/Tests/Fixtures/ConstraintC.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/ConstraintWithValue.php b/core/vendor/symfony/validator/Tests/Fixtures/ConstraintWithValue.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/ConstraintWithValue.php rename to core/vendor/symfony/validator/Tests/Fixtures/ConstraintWithValue.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/ConstraintWithValueAsDefault.php b/core/vendor/symfony/validator/Tests/Fixtures/ConstraintWithValueAsDefault.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/ConstraintWithValueAsDefault.php rename to core/vendor/symfony/validator/Tests/Fixtures/ConstraintWithValueAsDefault.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/Countable.php b/core/vendor/symfony/validator/Tests/Fixtures/Countable.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/Countable.php rename to core/vendor/symfony/validator/Tests/Fixtures/Countable.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/CustomArrayObject.php b/core/vendor/symfony/validator/Tests/Fixtures/CustomArrayObject.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/CustomArrayObject.php rename to core/vendor/symfony/validator/Tests/Fixtures/CustomArrayObject.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/Entity.php b/core/vendor/symfony/validator/Tests/Fixtures/Entity.php similarity index 98% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/Entity.php rename to core/vendor/symfony/validator/Tests/Fixtures/Entity.php index 2230d304244752c4e30fdfec46396d0978c01f85..526ecc5f5c63524c1fbcdd3892ac29d4cfe34131 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/Entity.php +++ b/core/vendor/symfony/validator/Tests/Fixtures/Entity.php @@ -64,7 +64,7 @@ public function getLastName() } /** - * @Assert\True + * @Assert\IsTrue */ public function isValid() { @@ -72,7 +72,7 @@ public function isValid() } /** - * @Assert\True + * @Assert\IsTrue */ public function hasPermissions() { diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/EntityInterface.php b/core/vendor/symfony/validator/Tests/Fixtures/EntityInterface.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/EntityInterface.php rename to core/vendor/symfony/validator/Tests/Fixtures/EntityInterface.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/EntityParent.php b/core/vendor/symfony/validator/Tests/Fixtures/EntityParent.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/EntityParent.php rename to core/vendor/symfony/validator/Tests/Fixtures/EntityParent.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/FailingConstraint.php b/core/vendor/symfony/validator/Tests/Fixtures/FailingConstraint.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/FailingConstraint.php rename to core/vendor/symfony/validator/Tests/Fixtures/FailingConstraint.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/FailingConstraintValidator.php b/core/vendor/symfony/validator/Tests/Fixtures/FailingConstraintValidator.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/FailingConstraintValidator.php rename to core/vendor/symfony/validator/Tests/Fixtures/FailingConstraintValidator.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/FakeClassMetadata.php b/core/vendor/symfony/validator/Tests/Fixtures/FakeClassMetadata.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/FakeClassMetadata.php rename to core/vendor/symfony/validator/Tests/Fixtures/FakeClassMetadata.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/FakeMetadataFactory.php b/core/vendor/symfony/validator/Tests/Fixtures/FakeMetadataFactory.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/FakeMetadataFactory.php rename to core/vendor/symfony/validator/Tests/Fixtures/FakeMetadataFactory.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/FilesLoader.php b/core/vendor/symfony/validator/Tests/Fixtures/FilesLoader.php similarity index 96% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/FilesLoader.php rename to core/vendor/symfony/validator/Tests/Fixtures/FilesLoader.php index 59d8ee8b3973a9bd0127e88b3b3c8b5af60be341..a4d6a6ab474a8c44c149bcd6fca0ac823a707fbe 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/FilesLoader.php +++ b/core/vendor/symfony/validator/Tests/Fixtures/FilesLoader.php @@ -27,7 +27,7 @@ public function __construct(array $paths, LoaderInterface $loader) protected function getFileLoaderInstance($file) { - $this->timesCalled++; + ++$this->timesCalled; return $this->loader; } diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/GroupSequenceProviderEntity.php b/core/vendor/symfony/validator/Tests/Fixtures/GroupSequenceProviderEntity.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/GroupSequenceProviderEntity.php rename to core/vendor/symfony/validator/Tests/Fixtures/GroupSequenceProviderEntity.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/InvalidConstraint.php b/core/vendor/symfony/validator/Tests/Fixtures/InvalidConstraint.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/InvalidConstraint.php rename to core/vendor/symfony/validator/Tests/Fixtures/InvalidConstraint.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/InvalidConstraintValidator.php b/core/vendor/symfony/validator/Tests/Fixtures/InvalidConstraintValidator.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/InvalidConstraintValidator.php rename to core/vendor/symfony/validator/Tests/Fixtures/InvalidConstraintValidator.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/LegacyClassMetadata.php b/core/vendor/symfony/validator/Tests/Fixtures/LegacyClassMetadata.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/LegacyClassMetadata.php rename to core/vendor/symfony/validator/Tests/Fixtures/LegacyClassMetadata.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/PropertyConstraint.php b/core/vendor/symfony/validator/Tests/Fixtures/PropertyConstraint.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/PropertyConstraint.php rename to core/vendor/symfony/validator/Tests/Fixtures/PropertyConstraint.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/Reference.php b/core/vendor/symfony/validator/Tests/Fixtures/Reference.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/Reference.php rename to core/vendor/symfony/validator/Tests/Fixtures/Reference.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/StubGlobalExecutionContext.php b/core/vendor/symfony/validator/Tests/Fixtures/StubGlobalExecutionContext.php similarity index 96% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/StubGlobalExecutionContext.php rename to core/vendor/symfony/validator/Tests/Fixtures/StubGlobalExecutionContext.php index 6ae3663f04f524cade261d7c2ee191164a890239..84c5a80bf2d1693c7a63154a64ae8ed63b4080e1 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Fixtures/StubGlobalExecutionContext.php +++ b/core/vendor/symfony/validator/Tests/Fixtures/StubGlobalExecutionContext.php @@ -20,14 +20,12 @@ * * @author Bernhard Schussek <bschussek@gmail.com> * - * @deprecated + * @deprecated since version 2.5, to be removed in 3.0 */ class StubGlobalExecutionContext implements GlobalExecutionContextInterface { private $violations; - private $root; - private $visitor; public function __construct($root = null, ValidationVisitorInterface $visitor = null) diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/LegacyExecutionContextTest.php b/core/vendor/symfony/validator/Tests/LegacyExecutionContextTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/LegacyExecutionContextTest.php rename to core/vendor/symfony/validator/Tests/LegacyExecutionContextTest.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/ValidatorTest.php b/core/vendor/symfony/validator/Tests/LegacyValidatorTest.php similarity index 78% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/ValidatorTest.php rename to core/vendor/symfony/validator/Tests/LegacyValidatorTest.php index 3cc36f5e23ad793b8485b9cef766a7f58ed44a1c..a38f1abb9bbc747f88049bd8a79dac25d87e952b 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/ValidatorTest.php +++ b/core/vendor/symfony/validator/Tests/LegacyValidatorTest.php @@ -11,19 +11,25 @@ namespace Symfony\Component\Validator\Tests; +use Symfony\Component\Translation\IdentityTranslator; use Symfony\Component\Validator\Constraints\Valid; use Symfony\Component\Validator\ConstraintValidatorFactory; -use Symfony\Component\Validator\DefaultTranslator; use Symfony\Component\Validator\MetadataFactoryInterface; use Symfony\Component\Validator\Tests\Fixtures\Entity; use Symfony\Component\Validator\Tests\Validator\AbstractLegacyApiTest; use Symfony\Component\Validator\Validator as LegacyValidator; -class ValidatorTest extends AbstractLegacyApiTest +/** + * @group legacy + */ +class LegacyValidatorTest extends AbstractLegacyApiTest { protected function createValidator(MetadataFactoryInterface $metadataFactory, array $objectInitializers = array()) { - return new LegacyValidator($metadataFactory, new ConstraintValidatorFactory(), new DefaultTranslator(), 'validators', $objectInitializers); + $translator = new IdentityTranslator(); + $translator->setLocale('en'); + + return new LegacyValidator($metadataFactory, new ConstraintValidatorFactory(), $translator, 'validators', $objectInitializers); } /** diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Cache/DoctrineCacheTest.php b/core/vendor/symfony/validator/Tests/Mapping/Cache/DoctrineCacheTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Cache/DoctrineCacheTest.php rename to core/vendor/symfony/validator/Tests/Mapping/Cache/DoctrineCacheTest.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Cache/LegacyApcCacheTest.php b/core/vendor/symfony/validator/Tests/Mapping/Cache/LegacyApcCacheTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Cache/LegacyApcCacheTest.php rename to core/vendor/symfony/validator/Tests/Mapping/Cache/LegacyApcCacheTest.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/ClassMetadataTest.php b/core/vendor/symfony/validator/Tests/Mapping/ClassMetadataTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/ClassMetadataTest.php rename to core/vendor/symfony/validator/Tests/Mapping/ClassMetadataTest.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Factory/BlackHoleMetadataFactoryTest.php b/core/vendor/symfony/validator/Tests/Mapping/Factory/BlackHoleMetadataFactoryTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Factory/BlackHoleMetadataFactoryTest.php rename to core/vendor/symfony/validator/Tests/Mapping/Factory/BlackHoleMetadataFactoryTest.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Factory/LazyLoadingMetadataFactoryTest.php b/core/vendor/symfony/validator/Tests/Mapping/Factory/LazyLoadingMetadataFactoryTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Factory/LazyLoadingMetadataFactoryTest.php rename to core/vendor/symfony/validator/Tests/Mapping/Factory/LazyLoadingMetadataFactoryTest.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/GetterMetadataTest.php b/core/vendor/symfony/validator/Tests/Mapping/GetterMetadataTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/GetterMetadataTest.php rename to core/vendor/symfony/validator/Tests/Mapping/GetterMetadataTest.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/LegacyElementMetadataTest.php b/core/vendor/symfony/validator/Tests/Mapping/LegacyElementMetadataTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/LegacyElementMetadataTest.php rename to core/vendor/symfony/validator/Tests/Mapping/LegacyElementMetadataTest.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/AbstractStaticMethodLoader.php b/core/vendor/symfony/validator/Tests/Mapping/Loader/AbstractStaticMethodLoader.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/AbstractStaticMethodLoader.php rename to core/vendor/symfony/validator/Tests/Mapping/Loader/AbstractStaticMethodLoader.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/AnnotationLoaderTest.php b/core/vendor/symfony/validator/Tests/Mapping/Loader/AnnotationLoaderTest.php similarity index 89% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/AnnotationLoaderTest.php rename to core/vendor/symfony/validator/Tests/Mapping/Loader/AnnotationLoaderTest.php index ad98aa126a5e0347ea56918fd2e5ee4f8ff5c153..5a2beff29a109524d4229e5c2ecfb1adb5f10961 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/AnnotationLoaderTest.php +++ b/core/vendor/symfony/validator/Tests/Mapping/Loader/AnnotationLoaderTest.php @@ -18,21 +18,11 @@ use Symfony\Component\Validator\Constraints\Collection; use Symfony\Component\Validator\Constraints\NotNull; use Symfony\Component\Validator\Constraints\Range; -use Symfony\Component\Validator\Constraints\True; +use Symfony\Component\Validator\Constraints\IsTrue; use Symfony\Component\Validator\Mapping\ClassMetadata; use Symfony\Component\Validator\Mapping\Loader\AnnotationLoader; use Symfony\Component\Validator\Tests\Fixtures\ConstraintA; -require_once __DIR__.'/../../../Constraints/All.php'; -require_once __DIR__.'/../../../Constraints/Callback.php'; -require_once __DIR__.'/../../../Constraints/Choice.php'; -require_once __DIR__.'/../../../Constraints/Collection.php'; -require_once __DIR__.'/../../../Constraints/GroupSequence.php'; -require_once __DIR__.'/../../../Constraints/GroupSequenceProvider.php'; -require_once __DIR__.'/../../../Constraints/NotNull.php'; -require_once __DIR__.'/../../../Constraints/Range.php'; -require_once __DIR__.'/../../Fixtures/ConstraintA.php'; - class AnnotationLoaderTest extends \PHPUnit_Framework_TestCase { public function testLoadClassMetadataReturnsTrueIfSuccessful() @@ -78,8 +68,8 @@ public function testLoadClassMetadata() 'choices' => array('A', 'B'), ))); $expected->addGetterConstraint('lastName', new NotNull()); - $expected->addGetterConstraint('valid', new True()); - $expected->addGetterConstraint('permissions', new True()); + $expected->addGetterConstraint('valid', new IsTrue()); + $expected->addGetterConstraint('permissions', new IsTrue()); // load reflection class so that the comparison passes $expected->getReflectionClass(); @@ -147,8 +137,8 @@ public function testLoadClassMetadataAndMerge() 'choices' => array('A', 'B'), ))); $expected->addGetterConstraint('lastName', new NotNull()); - $expected->addGetterConstraint('valid', new True()); - $expected->addGetterConstraint('permissions', new True()); + $expected->addGetterConstraint('valid', new IsTrue()); + $expected->addGetterConstraint('permissions', new IsTrue()); // load reflection class so that the comparison passes $expected->getReflectionClass(); diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/FilesLoaderTest.php b/core/vendor/symfony/validator/Tests/Mapping/Loader/FilesLoaderTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/FilesLoaderTest.php rename to core/vendor/symfony/validator/Tests/Mapping/Loader/FilesLoaderTest.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/LoaderChainTest.php b/core/vendor/symfony/validator/Tests/Mapping/Loader/LoaderChainTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/LoaderChainTest.php rename to core/vendor/symfony/validator/Tests/Mapping/Loader/LoaderChainTest.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/StaticMethodLoaderTest.php b/core/vendor/symfony/validator/Tests/Mapping/Loader/StaticMethodLoaderTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/StaticMethodLoaderTest.php rename to core/vendor/symfony/validator/Tests/Mapping/Loader/StaticMethodLoaderTest.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/XmlFileLoaderTest.php b/core/vendor/symfony/validator/Tests/Mapping/Loader/XmlFileLoaderTest.php similarity index 96% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/XmlFileLoaderTest.php rename to core/vendor/symfony/validator/Tests/Mapping/Loader/XmlFileLoaderTest.php index 8ab2065ae5fa2e6deef59729b100e9eca468dda3..e6326b9a3154ddf3aea271c395161f9bec106fe0 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/XmlFileLoaderTest.php +++ b/core/vendor/symfony/validator/Tests/Mapping/Loader/XmlFileLoaderTest.php @@ -18,7 +18,7 @@ use Symfony\Component\Validator\Constraints\NotNull; use Symfony\Component\Validator\Constraints\Range; use Symfony\Component\Validator\Constraints\Regex; -use Symfony\Component\Validator\Constraints\True; +use Symfony\Component\Validator\Constraints\IsTrue; use Symfony\Component\Validator\Exception\MappingException; use Symfony\Component\Validator\Mapping\ClassMetadata; use Symfony\Component\Validator\Mapping\Loader\XmlFileLoader; @@ -71,8 +71,8 @@ public function testLoadClassMetadata() 'choices' => array('A', 'B'), ))); $expected->addGetterConstraint('lastName', new NotNull()); - $expected->addGetterConstraint('valid', new True()); - $expected->addGetterConstraint('permissions', new True()); + $expected->addGetterConstraint('valid', new IsTrue()); + $expected->addGetterConstraint('permissions', new IsTrue()); $this->assertEquals($expected, $metadata); } diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/YamlFileLoaderTest.php b/core/vendor/symfony/validator/Tests/Mapping/Loader/YamlFileLoaderTest.php similarity index 96% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/YamlFileLoaderTest.php rename to core/vendor/symfony/validator/Tests/Mapping/Loader/YamlFileLoaderTest.php index 806a2b049be8cb11e92b6523f6c3bb396d95e339..407e36958e389d899578bb6985aadfd935757312 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/YamlFileLoaderTest.php +++ b/core/vendor/symfony/validator/Tests/Mapping/Loader/YamlFileLoaderTest.php @@ -17,7 +17,7 @@ use Symfony\Component\Validator\Constraints\Collection; use Symfony\Component\Validator\Constraints\NotNull; use Symfony\Component\Validator\Constraints\Range; -use Symfony\Component\Validator\Constraints\True; +use Symfony\Component\Validator\Constraints\IsTrue; use Symfony\Component\Validator\Mapping\ClassMetadata; use Symfony\Component\Validator\Mapping\Loader\YamlFileLoader; use Symfony\Component\Validator\Tests\Fixtures\ConstraintA; @@ -102,8 +102,8 @@ public function testLoadClassMetadata() 'choices' => array('A', 'B'), ))); $expected->addGetterConstraint('lastName', new NotNull()); - $expected->addGetterConstraint('valid', new True()); - $expected->addGetterConstraint('permissions', new True()); + $expected->addGetterConstraint('valid', new IsTrue()); + $expected->addGetterConstraint('permissions', new IsTrue()); $this->assertEquals($expected, $metadata); } diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/constraint-mapping-non-strings.xml b/core/vendor/symfony/validator/Tests/Mapping/Loader/constraint-mapping-non-strings.xml similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/constraint-mapping-non-strings.xml rename to core/vendor/symfony/validator/Tests/Mapping/Loader/constraint-mapping-non-strings.xml diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/constraint-mapping.xml b/core/vendor/symfony/validator/Tests/Mapping/Loader/constraint-mapping.xml similarity index 97% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/constraint-mapping.xml rename to core/vendor/symfony/validator/Tests/Mapping/Loader/constraint-mapping.xml index 9b637e9a427fabd6fd6ada0aa208a32ba63e7606..689184ecf2d814b5bde7cda1c87def0967e238c8 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/constraint-mapping.xml +++ b/core/vendor/symfony/validator/Tests/Mapping/Loader/constraint-mapping.xml @@ -103,10 +103,10 @@ <constraint name="NotNull" /> </getter> <getter property="valid"> - <constraint name="True" /> + <constraint name="IsTrue" /> </getter> <getter property="permissions"> - <constraint name="True" /> + <constraint name="IsTrue" /> </getter> </class> diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/constraint-mapping.yml b/core/vendor/symfony/validator/Tests/Mapping/Loader/constraint-mapping.yml similarity index 97% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/constraint-mapping.yml rename to core/vendor/symfony/validator/Tests/Mapping/Loader/constraint-mapping.yml index e96c5e08663a1fea2bfcb7ae6968c01f38ca68ab..c39168c96cac033ddb23b8e04f935b8f8a52cc2e 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/constraint-mapping.yml +++ b/core/vendor/symfony/validator/Tests/Mapping/Loader/constraint-mapping.yml @@ -54,9 +54,9 @@ Symfony\Component\Validator\Tests\Fixtures\Entity: lastName: - NotNull: ~ valid: - - "True": ~ + - "IsTrue": ~ permissions: - - "True": ~ + - "IsTrue": ~ Symfony\Component\Validator\Tests\Fixtures\GroupSequenceProviderEntity: group_sequence_provider: true diff --git a/core/vendor/symfony/validator/Tests/Mapping/Loader/empty-mapping.yml b/core/vendor/symfony/validator/Tests/Mapping/Loader/empty-mapping.yml new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/core/vendor/symfony/validator/Tests/Mapping/Loader/nonvalid-mapping.yml b/core/vendor/symfony/validator/Tests/Mapping/Loader/nonvalid-mapping.yml new file mode 100644 index 0000000000000000000000000000000000000000..257cc5642cb1a054f08cc83f2d943e56fd3ebe99 --- /dev/null +++ b/core/vendor/symfony/validator/Tests/Mapping/Loader/nonvalid-mapping.yml @@ -0,0 +1 @@ +foo diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/withdoctype.xml b/core/vendor/symfony/validator/Tests/Mapping/Loader/withdoctype.xml similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/Loader/withdoctype.xml rename to core/vendor/symfony/validator/Tests/Mapping/Loader/withdoctype.xml diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/MemberMetadataTest.php b/core/vendor/symfony/validator/Tests/Mapping/MemberMetadataTest.php similarity index 86% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/MemberMetadataTest.php rename to core/vendor/symfony/validator/Tests/Mapping/MemberMetadataTest.php index f91088de0b016116a060f8f9fe4621d2f6ae2a21..a4473bc68a0364b0eb578174500b5393706cc36a 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/MemberMetadataTest.php +++ b/core/vendor/symfony/validator/Tests/Mapping/MemberMetadataTest.php @@ -35,8 +35,13 @@ protected function tearDown() $this->metadata = null; } - public function testAddValidSetsMemberToCascaded() + /** + * @group legacy + */ + public function testLegacyAddValidSetsMemberToCascaded() { + $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED); + $result = $this->metadata->addConstraint(new Valid()); $this->assertEquals(array(), $this->metadata->getConstraints()); @@ -44,8 +49,13 @@ public function testAddValidSetsMemberToCascaded() $this->assertTrue($this->metadata->isCascaded()); } - public function testAddOtherConstraintDoesNotSetMemberToCascaded() + /** + * @group legacy + */ + public function testLegacyAddOtherConstraintDoesNotSetMemberToCascaded() { + $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED); + $result = $this->metadata->addConstraint($constraint = new ConstraintA()); $this->assertEquals(array($constraint), $this->metadata->getConstraints()); @@ -72,16 +82,19 @@ public function testSerialize() public function testSerializeCollectionCascaded() { - $this->metadata->addConstraint(new Valid(array('traverse' => true, 'deep' => false))); + $this->metadata->addConstraint(new Valid(array('traverse' => true))); $metadata = unserialize(serialize($this->metadata)); $this->assertEquals($this->metadata, $metadata); } - public function testSerializeCollectionCascadedDeeply() + /** + * @group legacy + */ + public function testLegacySerializeCollectionCascadedDeeply() { - $this->metadata->addConstraint(new Valid(array('traverse' => true, 'deep' => true))); + $this->metadata->addConstraint(new Valid(array('traverse' => true))); $metadata = unserialize(serialize($this->metadata)); diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/PropertyMetadataTest.php b/core/vendor/symfony/validator/Tests/Mapping/PropertyMetadataTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Mapping/PropertyMetadataTest.php rename to core/vendor/symfony/validator/Tests/Mapping/PropertyMetadataTest.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Util/PropertyPathTest.php b/core/vendor/symfony/validator/Tests/Util/PropertyPathTest.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Util/PropertyPathTest.php rename to core/vendor/symfony/validator/Tests/Util/PropertyPathTest.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Validator/Abstract2Dot5ApiTest.php b/core/vendor/symfony/validator/Tests/Validator/Abstract2Dot5ApiTest.php similarity index 91% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Validator/Abstract2Dot5ApiTest.php rename to core/vendor/symfony/validator/Tests/Validator/Abstract2Dot5ApiTest.php index 684731feec544d91a8dc6a330f2f002d113f0a07..4a041afbff0d54dd665059d5bf4d904efcc2a7bc 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Validator/Abstract2Dot5ApiTest.php +++ b/core/vendor/symfony/validator/Tests/Validator/Abstract2Dot5ApiTest.php @@ -155,12 +155,12 @@ public function testValidateInSeparateContext() $test->assertCount(1, $violations); $test->assertSame('Message value', $violations[0]->getMessage()); $test->assertSame('Message %param%', $violations[0]->getMessageTemplate()); - $test->assertSame(array('%param%' => 'value'), $violations[0]->getMessageParameters()); + $test->assertSame(array('%param%' => 'value'), $violations[0]->getParameters()); $test->assertSame('', $violations[0]->getPropertyPath()); // The root is different as we're in a new context $test->assertSame($entity->reference, $violations[0]->getRoot()); $test->assertSame($entity->reference, $violations[0]->getInvalidValue()); - $test->assertNull($violations[0]->getMessagePluralization()); + $test->assertNull($violations[0]->getPlural()); $test->assertNull($violations[0]->getCode()); // Verify that this method is called @@ -252,11 +252,11 @@ public function testValidateInContext() $this->assertCount(1, $violations); $this->assertSame('Message value', $violations[0]->getMessage()); $this->assertSame('Message %param%', $violations[0]->getMessageTemplate()); - $this->assertSame(array('%param%' => 'value'), $violations[0]->getMessageParameters()); + $this->assertSame(array('%param%' => 'value'), $violations[0]->getParameters()); $this->assertSame('subpath', $violations[0]->getPropertyPath()); $this->assertSame($entity, $violations[0]->getRoot()); $this->assertSame($entity->reference, $violations[0]->getInvalidValue()); - $this->assertNull($violations[0]->getMessagePluralization()); + $this->assertNull($violations[0]->getPlural()); $this->assertNull($violations[0]->getCode()); } @@ -316,11 +316,11 @@ public function testValidateArrayInContext() $this->assertCount(1, $violations); $this->assertSame('Message value', $violations[0]->getMessage()); $this->assertSame('Message %param%', $violations[0]->getMessageTemplate()); - $this->assertSame(array('%param%' => 'value'), $violations[0]->getMessageParameters()); + $this->assertSame(array('%param%' => 'value'), $violations[0]->getParameters()); $this->assertSame('subpath[key]', $violations[0]->getPropertyPath()); $this->assertSame($entity, $violations[0]->getRoot()); $this->assertSame($entity->reference, $violations[0]->getInvalidValue()); - $this->assertNull($violations[0]->getMessagePluralization()); + $this->assertNull($violations[0]->getPlural()); $this->assertNull($violations[0]->getCode()); } @@ -355,11 +355,11 @@ public function testTraverseTraversableByDefault() $this->assertCount(1, $violations); $this->assertSame('Message value', $violations[0]->getMessage()); $this->assertSame('Message %param%', $violations[0]->getMessageTemplate()); - $this->assertSame(array('%param%' => 'value'), $violations[0]->getMessageParameters()); + $this->assertSame(array('%param%' => 'value'), $violations[0]->getParameters()); $this->assertSame('[key]', $violations[0]->getPropertyPath()); $this->assertSame($traversable, $violations[0]->getRoot()); $this->assertSame($entity, $violations[0]->getInvalidValue()); - $this->assertNull($violations[0]->getMessagePluralization()); + $this->assertNull($violations[0]->getPlural()); $this->assertNull($violations[0]->getCode()); } @@ -506,65 +506,6 @@ public function testReferenceTraversalDisabledOnReferenceEnabledOnClass() $this->assertCount(0, $violations); } - public function testReferenceTraversalRecursionEnabledOnReferenceTraversalEnabledOnClass() - { - $entity = new Entity(); - $entity->reference = new \ArrayIterator(array( - 2 => new \ArrayIterator(array('key' => new Reference())), - )); - - $callback = function ($value, ExecutionContextInterface $context) { - $context->addViolation('Message'); - }; - - $traversableMetadata = new ClassMetadata('ArrayIterator'); - $traversableMetadata->addConstraint(new Traverse(true)); - - $this->metadataFactory->addMetadata($traversableMetadata); - $this->referenceMetadata->addConstraint(new Callback(array( - 'callback' => $callback, - 'groups' => 'Group', - ))); - $this->metadata->addPropertyConstraint('reference', new Valid(array( - 'deep' => true, - ))); - - $violations = $this->validate($entity, new Valid(), 'Group'); - - /** @var ConstraintViolationInterface[] $violations */ - $this->assertCount(1, $violations); - } - - public function testReferenceTraversalRecursionDisabledOnReferenceTraversalEnabledOnClass() - { - $test = $this; - $entity = new Entity(); - $entity->reference = new \ArrayIterator(array( - 2 => new \ArrayIterator(array('key' => new Reference())), - )); - - $callback = function ($value, ExecutionContextInterface $context) use ($test) { - $test->fail('Should not be called'); - }; - - $traversableMetadata = new ClassMetadata('ArrayIterator'); - $traversableMetadata->addConstraint(new Traverse(true)); - - $this->metadataFactory->addMetadata($traversableMetadata); - $this->referenceMetadata->addConstraint(new Callback(array( - 'callback' => $callback, - 'groups' => 'Group', - ))); - $this->metadata->addPropertyConstraint('reference', new Valid(array( - 'deep' => false, - ))); - - $violations = $this->validate($entity, new Valid(), 'Group'); - - /** @var ConstraintViolationInterface[] $violations */ - $this->assertCount(0, $violations); - } - public function testAddCustomizedViolation() { $entity = new Entity(); @@ -586,11 +527,11 @@ public function testAddCustomizedViolation() $this->assertCount(1, $violations); $this->assertSame('Message value', $violations[0]->getMessage()); $this->assertSame('Message %param%', $violations[0]->getMessageTemplate()); - $this->assertSame(array('%param%' => 'value'), $violations[0]->getMessageParameters()); + $this->assertSame(array('%param%' => 'value'), $violations[0]->getParameters()); $this->assertSame('', $violations[0]->getPropertyPath()); $this->assertSame($entity, $violations[0]->getRoot()); $this->assertSame('Invalid value', $violations[0]->getInvalidValue()); - $this->assertSame(2, $violations[0]->getMessagePluralization()); + $this->assertSame(2, $violations[0]->getPlural()); $this->assertSame(42, $violations[0]->getCode()); } diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Validator/AbstractLegacyApiTest.php b/core/vendor/symfony/validator/Tests/Validator/AbstractLegacyApiTest.php similarity index 97% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Validator/AbstractLegacyApiTest.php rename to core/vendor/symfony/validator/Tests/Validator/AbstractLegacyApiTest.php index a4c1fe815075913f42e5760da77a37b37814c120..77ec10212a37f2be2b12d47aaad6fdcb8b2c20ea 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Validator/AbstractLegacyApiTest.php +++ b/core/vendor/symfony/validator/Tests/Validator/AbstractLegacyApiTest.php @@ -166,11 +166,11 @@ public function testValidateInContext() $this->assertCount(1, $violations); $this->assertSame('Message value', $violations[0]->getMessage()); $this->assertSame('Message %param%', $violations[0]->getMessageTemplate()); - $this->assertSame(array('%param%' => 'value'), $violations[0]->getMessageParameters()); + $this->assertSame(array('%param%' => 'value'), $violations[0]->getParameters()); $this->assertSame('subpath', $violations[0]->getPropertyPath()); $this->assertSame($entity, $violations[0]->getRoot()); $this->assertSame($entity->reference, $violations[0]->getInvalidValue()); - $this->assertNull($violations[0]->getMessagePluralization()); + $this->assertNull($violations[0]->getPlural()); $this->assertNull($violations[0]->getCode()); } @@ -224,11 +224,11 @@ public function testValidateArrayInContext() $this->assertCount(1, $violations); $this->assertSame('Message value', $violations[0]->getMessage()); $this->assertSame('Message %param%', $violations[0]->getMessageTemplate()); - $this->assertSame(array('%param%' => 'value'), $violations[0]->getMessageParameters()); + $this->assertSame(array('%param%' => 'value'), $violations[0]->getParameters()); $this->assertSame('subpath[key]', $violations[0]->getPropertyPath()); $this->assertSame($entity, $violations[0]->getRoot()); $this->assertSame($entity->reference, $violations[0]->getInvalidValue()); - $this->assertNull($violations[0]->getMessagePluralization()); + $this->assertNull($violations[0]->getPlural()); $this->assertNull($violations[0]->getCode()); } @@ -254,11 +254,11 @@ public function testAddCustomizedViolation() $this->assertCount(1, $violations); $this->assertSame('Message value', $violations[0]->getMessage()); $this->assertSame('Message %param%', $violations[0]->getMessageTemplate()); - $this->assertSame(array('%param%' => 'value'), $violations[0]->getMessageParameters()); + $this->assertSame(array('%param%' => 'value'), $violations[0]->getParameters()); $this->assertSame('', $violations[0]->getPropertyPath()); $this->assertSame($entity, $violations[0]->getRoot()); $this->assertSame('Invalid value', $violations[0]->getInvalidValue()); - $this->assertSame(2, $violations[0]->getMessagePluralization()); + $this->assertSame(2, $violations[0]->getPlural()); $this->assertSame('Code', $violations[0]->getCode()); } diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Validator/AbstractValidatorTest.php b/core/vendor/symfony/validator/Tests/Validator/AbstractValidatorTest.php similarity index 96% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Validator/AbstractValidatorTest.php rename to core/vendor/symfony/validator/Tests/Validator/AbstractValidatorTest.php index b1c4edba43a5c8f08ebab688df49e530e0b1ecdf..d8833dedcfb4eb1fdb5fa2765a0fb473cef0062a 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Validator/AbstractValidatorTest.php +++ b/core/vendor/symfony/validator/Tests/Validator/AbstractValidatorTest.php @@ -96,11 +96,11 @@ public function testValidate() $this->assertCount(1, $violations); $this->assertSame('Message value', $violations[0]->getMessage()); $this->assertSame('Message %param%', $violations[0]->getMessageTemplate()); - $this->assertSame(array('%param%' => 'value'), $violations[0]->getMessageParameters()); + $this->assertSame(array('%param%' => 'value'), $violations[0]->getParameters()); $this->assertSame('', $violations[0]->getPropertyPath()); $this->assertSame('Bernhard', $violations[0]->getRoot()); $this->assertSame('Bernhard', $violations[0]->getInvalidValue()); - $this->assertNull($violations[0]->getMessagePluralization()); + $this->assertNull($violations[0]->getPlural()); $this->assertNull($violations[0]->getCode()); } @@ -133,11 +133,11 @@ public function testClassConstraint() $this->assertCount(1, $violations); $this->assertSame('Message value', $violations[0]->getMessage()); $this->assertSame('Message %param%', $violations[0]->getMessageTemplate()); - $this->assertSame(array('%param%' => 'value'), $violations[0]->getMessageParameters()); + $this->assertSame(array('%param%' => 'value'), $violations[0]->getParameters()); $this->assertSame('', $violations[0]->getPropertyPath()); $this->assertSame($entity, $violations[0]->getRoot()); $this->assertSame($entity, $violations[0]->getInvalidValue()); - $this->assertNull($violations[0]->getMessagePluralization()); + $this->assertNull($violations[0]->getPlural()); $this->assertNull($violations[0]->getCode()); } @@ -173,11 +173,11 @@ public function testPropertyConstraint() $this->assertCount(1, $violations); $this->assertSame('Message value', $violations[0]->getMessage()); $this->assertSame('Message %param%', $violations[0]->getMessageTemplate()); - $this->assertSame(array('%param%' => 'value'), $violations[0]->getMessageParameters()); + $this->assertSame(array('%param%' => 'value'), $violations[0]->getParameters()); $this->assertSame('firstName', $violations[0]->getPropertyPath()); $this->assertSame($entity, $violations[0]->getRoot()); $this->assertSame('Bernhard', $violations[0]->getInvalidValue()); - $this->assertNull($violations[0]->getMessagePluralization()); + $this->assertNull($violations[0]->getPlural()); $this->assertNull($violations[0]->getCode()); } @@ -213,11 +213,11 @@ public function testGetterConstraint() $this->assertCount(1, $violations); $this->assertSame('Message value', $violations[0]->getMessage()); $this->assertSame('Message %param%', $violations[0]->getMessageTemplate()); - $this->assertSame(array('%param%' => 'value'), $violations[0]->getMessageParameters()); + $this->assertSame(array('%param%' => 'value'), $violations[0]->getParameters()); $this->assertSame('lastName', $violations[0]->getPropertyPath()); $this->assertSame($entity, $violations[0]->getRoot()); $this->assertSame('Schussek', $violations[0]->getInvalidValue()); - $this->assertNull($violations[0]->getMessagePluralization()); + $this->assertNull($violations[0]->getPlural()); $this->assertNull($violations[0]->getCode()); } @@ -251,11 +251,11 @@ public function testArray() $this->assertCount(1, $violations); $this->assertSame('Message value', $violations[0]->getMessage()); $this->assertSame('Message %param%', $violations[0]->getMessageTemplate()); - $this->assertSame(array('%param%' => 'value'), $violations[0]->getMessageParameters()); + $this->assertSame(array('%param%' => 'value'), $violations[0]->getParameters()); $this->assertSame('[key]', $violations[0]->getPropertyPath()); $this->assertSame($array, $violations[0]->getRoot()); $this->assertSame($entity, $violations[0]->getInvalidValue()); - $this->assertNull($violations[0]->getMessagePluralization()); + $this->assertNull($violations[0]->getPlural()); $this->assertNull($violations[0]->getCode()); } @@ -289,11 +289,11 @@ public function testRecursiveArray() $this->assertCount(1, $violations); $this->assertSame('Message value', $violations[0]->getMessage()); $this->assertSame('Message %param%', $violations[0]->getMessageTemplate()); - $this->assertSame(array('%param%' => 'value'), $violations[0]->getMessageParameters()); + $this->assertSame(array('%param%' => 'value'), $violations[0]->getParameters()); $this->assertSame('[2][key]', $violations[0]->getPropertyPath()); $this->assertSame($array, $violations[0]->getRoot()); $this->assertSame($entity, $violations[0]->getInvalidValue()); - $this->assertNull($violations[0]->getMessagePluralization()); + $this->assertNull($violations[0]->getPlural()); $this->assertNull($violations[0]->getCode()); } @@ -327,11 +327,11 @@ public function testTraversable() $this->assertCount(1, $violations); $this->assertSame('Message value', $violations[0]->getMessage()); $this->assertSame('Message %param%', $violations[0]->getMessageTemplate()); - $this->assertSame(array('%param%' => 'value'), $violations[0]->getMessageParameters()); + $this->assertSame(array('%param%' => 'value'), $violations[0]->getParameters()); $this->assertSame('[key]', $violations[0]->getPropertyPath()); $this->assertSame($traversable, $violations[0]->getRoot()); $this->assertSame($entity, $violations[0]->getInvalidValue()); - $this->assertNull($violations[0]->getMessagePluralization()); + $this->assertNull($violations[0]->getPlural()); $this->assertNull($violations[0]->getCode()); } @@ -367,11 +367,11 @@ public function testRecursiveTraversable() $this->assertCount(1, $violations); $this->assertSame('Message value', $violations[0]->getMessage()); $this->assertSame('Message %param%', $violations[0]->getMessageTemplate()); - $this->assertSame(array('%param%' => 'value'), $violations[0]->getMessageParameters()); + $this->assertSame(array('%param%' => 'value'), $violations[0]->getParameters()); $this->assertSame('[2][key]', $violations[0]->getPropertyPath()); $this->assertSame($traversable, $violations[0]->getRoot()); $this->assertSame($entity, $violations[0]->getInvalidValue()); - $this->assertNull($violations[0]->getMessagePluralization()); + $this->assertNull($violations[0]->getPlural()); $this->assertNull($violations[0]->getCode()); } @@ -406,11 +406,11 @@ public function testReferenceClassConstraint() $this->assertCount(1, $violations); $this->assertSame('Message value', $violations[0]->getMessage()); $this->assertSame('Message %param%', $violations[0]->getMessageTemplate()); - $this->assertSame(array('%param%' => 'value'), $violations[0]->getMessageParameters()); + $this->assertSame(array('%param%' => 'value'), $violations[0]->getParameters()); $this->assertSame('reference', $violations[0]->getPropertyPath()); $this->assertSame($entity, $violations[0]->getRoot()); $this->assertSame($entity->reference, $violations[0]->getInvalidValue()); - $this->assertNull($violations[0]->getMessagePluralization()); + $this->assertNull($violations[0]->getPlural()); $this->assertNull($violations[0]->getCode()); } @@ -448,11 +448,11 @@ public function testReferencePropertyConstraint() $this->assertCount(1, $violations); $this->assertSame('Message value', $violations[0]->getMessage()); $this->assertSame('Message %param%', $violations[0]->getMessageTemplate()); - $this->assertSame(array('%param%' => 'value'), $violations[0]->getMessageParameters()); + $this->assertSame(array('%param%' => 'value'), $violations[0]->getParameters()); $this->assertSame('reference.value', $violations[0]->getPropertyPath()); $this->assertSame($entity, $violations[0]->getRoot()); $this->assertSame('Foobar', $violations[0]->getInvalidValue()); - $this->assertNull($violations[0]->getMessagePluralization()); + $this->assertNull($violations[0]->getPlural()); $this->assertNull($violations[0]->getCode()); } @@ -490,11 +490,11 @@ public function testReferenceGetterConstraint() $this->assertCount(1, $violations); $this->assertSame('Message value', $violations[0]->getMessage()); $this->assertSame('Message %param%', $violations[0]->getMessageTemplate()); - $this->assertSame(array('%param%' => 'value'), $violations[0]->getMessageParameters()); + $this->assertSame(array('%param%' => 'value'), $violations[0]->getParameters()); $this->assertSame('reference.privateValue', $violations[0]->getPropertyPath()); $this->assertSame($entity, $violations[0]->getRoot()); $this->assertSame('Bamboo', $violations[0]->getInvalidValue()); - $this->assertNull($violations[0]->getMessagePluralization()); + $this->assertNull($violations[0]->getPlural()); $this->assertNull($violations[0]->getCode()); } @@ -555,11 +555,11 @@ public function testArrayReference() $this->assertCount(1, $violations); $this->assertSame('Message value', $violations[0]->getMessage()); $this->assertSame('Message %param%', $violations[0]->getMessageTemplate()); - $this->assertSame(array('%param%' => 'value'), $violations[0]->getMessageParameters()); + $this->assertSame(array('%param%' => 'value'), $violations[0]->getParameters()); $this->assertSame('reference[key]', $violations[0]->getPropertyPath()); $this->assertSame($entity, $violations[0]->getRoot()); $this->assertSame($entity->reference['key'], $violations[0]->getInvalidValue()); - $this->assertNull($violations[0]->getMessagePluralization()); + $this->assertNull($violations[0]->getPlural()); $this->assertNull($violations[0]->getCode()); } @@ -595,11 +595,11 @@ public function testRecursiveArrayReference() $this->assertCount(1, $violations); $this->assertSame('Message value', $violations[0]->getMessage()); $this->assertSame('Message %param%', $violations[0]->getMessageTemplate()); - $this->assertSame(array('%param%' => 'value'), $violations[0]->getMessageParameters()); + $this->assertSame(array('%param%' => 'value'), $violations[0]->getParameters()); $this->assertSame('reference[2][key]', $violations[0]->getPropertyPath()); $this->assertSame($entity, $violations[0]->getRoot()); $this->assertSame($entity->reference[2]['key'], $violations[0]->getInvalidValue()); - $this->assertNull($violations[0]->getMessagePluralization()); + $this->assertNull($violations[0]->getPlural()); $this->assertNull($violations[0]->getCode()); } @@ -700,11 +700,11 @@ public function testTraversableReference() $this->assertCount(1, $violations); $this->assertSame('Message value', $violations[0]->getMessage()); $this->assertSame('Message %param%', $violations[0]->getMessageTemplate()); - $this->assertSame(array('%param%' => 'value'), $violations[0]->getMessageParameters()); + $this->assertSame(array('%param%' => 'value'), $violations[0]->getParameters()); $this->assertSame('reference[key]', $violations[0]->getPropertyPath()); $this->assertSame($entity, $violations[0]->getRoot()); $this->assertSame($entity->reference['key'], $violations[0]->getInvalidValue()); - $this->assertNull($violations[0]->getMessagePluralization()); + $this->assertNull($violations[0]->getPlural()); $this->assertNull($violations[0]->getCode()); } @@ -766,7 +766,7 @@ public function testEnableRecursiveTraversableTraversal() }; $this->metadata->addPropertyConstraint('reference', new Valid(array( - 'deep' => true, + 'traverse' => true, ))); $this->referenceMetadata->addConstraint(new Callback(array( 'callback' => $callback, @@ -779,11 +779,11 @@ public function testEnableRecursiveTraversableTraversal() $this->assertCount(1, $violations); $this->assertSame('Message value', $violations[0]->getMessage()); $this->assertSame('Message %param%', $violations[0]->getMessageTemplate()); - $this->assertSame(array('%param%' => 'value'), $violations[0]->getMessageParameters()); + $this->assertSame(array('%param%' => 'value'), $violations[0]->getParameters()); $this->assertSame('reference[2][key]', $violations[0]->getPropertyPath()); $this->assertSame($entity, $violations[0]->getRoot()); $this->assertSame($entity->reference[2]['key'], $violations[0]->getInvalidValue()); - $this->assertNull($violations[0]->getMessagePluralization()); + $this->assertNull($violations[0]->getPlural()); $this->assertNull($violations[0]->getCode()); } @@ -828,11 +828,11 @@ public function testValidateProperty() $this->assertCount(1, $violations); $this->assertSame('Message value', $violations[0]->getMessage()); $this->assertSame('Message %param%', $violations[0]->getMessageTemplate()); - $this->assertSame(array('%param%' => 'value'), $violations[0]->getMessageParameters()); + $this->assertSame(array('%param%' => 'value'), $violations[0]->getParameters()); $this->assertSame('firstName', $violations[0]->getPropertyPath()); $this->assertSame($entity, $violations[0]->getRoot()); $this->assertSame('Bernhard', $violations[0]->getInvalidValue()); - $this->assertNull($violations[0]->getMessagePluralization()); + $this->assertNull($violations[0]->getPlural()); $this->assertNull($violations[0]->getCode()); } @@ -910,11 +910,11 @@ public function testValidatePropertyValue() $this->assertCount(1, $violations); $this->assertSame('Message value', $violations[0]->getMessage()); $this->assertSame('Message %param%', $violations[0]->getMessageTemplate()); - $this->assertSame(array('%param%' => 'value'), $violations[0]->getMessageParameters()); + $this->assertSame(array('%param%' => 'value'), $violations[0]->getParameters()); $this->assertSame('firstName', $violations[0]->getPropertyPath()); $this->assertSame($entity, $violations[0]->getRoot()); $this->assertSame('Bernhard', $violations[0]->getInvalidValue()); - $this->assertNull($violations[0]->getMessagePluralization()); + $this->assertNull($violations[0]->getPlural()); $this->assertNull($violations[0]->getCode()); } @@ -961,11 +961,11 @@ public function testValidatePropertyValueWithClassName() $this->assertCount(1, $violations); $this->assertSame('Message value', $violations[0]->getMessage()); $this->assertSame('Message %param%', $violations[0]->getMessageTemplate()); - $this->assertSame(array('%param%' => 'value'), $violations[0]->getMessageParameters()); + $this->assertSame(array('%param%' => 'value'), $violations[0]->getParameters()); $this->assertSame('', $violations[0]->getPropertyPath()); $this->assertSame('Bernhard', $violations[0]->getRoot()); $this->assertSame('Bernhard', $violations[0]->getInvalidValue()); - $this->assertNull($violations[0]->getMessagePluralization()); + $this->assertNull($violations[0]->getPlural()); $this->assertNull($violations[0]->getCode()); } diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Validator/LegacyValidator2Dot5ApiTest.php b/core/vendor/symfony/validator/Tests/Validator/LegacyValidator2Dot5ApiTest.php similarity index 78% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Validator/LegacyValidator2Dot5ApiTest.php rename to core/vendor/symfony/validator/Tests/Validator/LegacyValidator2Dot5ApiTest.php index 624abd4ae1dfd712d00a0407c1d0931bd28e239a..fd1287fe71822b90eeb8da9c6db74a2856904c10 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Validator/LegacyValidator2Dot5ApiTest.php +++ b/core/vendor/symfony/validator/Tests/Validator/LegacyValidator2Dot5ApiTest.php @@ -11,9 +11,9 @@ namespace Symfony\Component\Validator\Tests\Validator; +use Symfony\Component\Translation\IdentityTranslator; use Symfony\Component\Validator\ConstraintValidatorFactory; use Symfony\Component\Validator\Context\LegacyExecutionContextFactory; -use Symfony\Component\Validator\DefaultTranslator; use Symfony\Component\Validator\MetadataFactoryInterface; use Symfony\Component\Validator\Validator\LegacyValidator; @@ -22,18 +22,12 @@ */ class LegacyValidator2Dot5ApiTest extends Abstract2Dot5ApiTest { - protected function setUp() - { - if (PHP_VERSION_ID < 50309) { - $this->markTestSkipped('Not supported prior to PHP 5.3.9'); - } - - parent::setUp(); - } - protected function createValidator(MetadataFactoryInterface $metadataFactory, array $objectInitializers = array()) { - $contextFactory = new LegacyExecutionContextFactory($metadataFactory, new DefaultTranslator()); + $translator = new IdentityTranslator(); + $translator->setLocale('en'); + + $contextFactory = new LegacyExecutionContextFactory($metadataFactory, $translator); $validatorFactory = new ConstraintValidatorFactory(); return new LegacyValidator($contextFactory, $metadataFactory, $validatorFactory, $objectInitializers); diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Validator/LegacyValidatorLegacyApiTest.php b/core/vendor/symfony/validator/Tests/Validator/LegacyValidatorLegacyApiTest.php similarity index 78% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Validator/LegacyValidatorLegacyApiTest.php rename to core/vendor/symfony/validator/Tests/Validator/LegacyValidatorLegacyApiTest.php index 965a769f9426a171f72b00bc2fdd5e9db010b221..0b51a1146e6cb3e521f237f76731a2862e13f7b7 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Validator/LegacyValidatorLegacyApiTest.php +++ b/core/vendor/symfony/validator/Tests/Validator/LegacyValidatorLegacyApiTest.php @@ -11,9 +11,9 @@ namespace Symfony\Component\Validator\Tests\Validator; +use Symfony\Component\Translation\IdentityTranslator; use Symfony\Component\Validator\ConstraintValidatorFactory; use Symfony\Component\Validator\Context\LegacyExecutionContextFactory; -use Symfony\Component\Validator\DefaultTranslator; use Symfony\Component\Validator\MetadataFactoryInterface; use Symfony\Component\Validator\Validator\LegacyValidator; @@ -22,18 +22,12 @@ */ class LegacyValidatorLegacyApiTest extends AbstractLegacyApiTest { - protected function setUp() - { - if (PHP_VERSION_ID < 50309) { - $this->markTestSkipped('Not supported prior to PHP 5.3.9'); - } - - parent::setUp(); - } - protected function createValidator(MetadataFactoryInterface $metadataFactory, array $objectInitializers = array()) { - $contextFactory = new LegacyExecutionContextFactory($metadataFactory, new DefaultTranslator()); + $translator = new IdentityTranslator(); + $translator->setLocale('en'); + + $contextFactory = new LegacyExecutionContextFactory($metadataFactory, $translator); $validatorFactory = new ConstraintValidatorFactory(); return new LegacyValidator($contextFactory, $metadataFactory, $validatorFactory, $objectInitializers); diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Validator/RecursiveValidator2Dot5ApiTest.php b/core/vendor/symfony/validator/Tests/Validator/RecursiveValidator2Dot5ApiTest.php similarity index 81% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Validator/RecursiveValidator2Dot5ApiTest.php rename to core/vendor/symfony/validator/Tests/Validator/RecursiveValidator2Dot5ApiTest.php index 6235fda9022fc606beed77e1ff8b33649997837c..05961269a5552969f27e132309c2f35dea63b1b8 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/Validator/RecursiveValidator2Dot5ApiTest.php +++ b/core/vendor/symfony/validator/Tests/Validator/RecursiveValidator2Dot5ApiTest.php @@ -11,9 +11,9 @@ namespace Symfony\Component\Validator\Tests\Validator; +use Symfony\Component\Translation\IdentityTranslator; use Symfony\Component\Validator\ConstraintValidatorFactory; use Symfony\Component\Validator\Context\ExecutionContextFactory; -use Symfony\Component\Validator\DefaultTranslator; use Symfony\Component\Validator\MetadataFactoryInterface; use Symfony\Component\Validator\Validator\RecursiveValidator; @@ -21,7 +21,10 @@ class RecursiveValidator2Dot5ApiTest extends Abstract2Dot5ApiTest { protected function createValidator(MetadataFactoryInterface $metadataFactory, array $objectInitializers = array()) { - $contextFactory = new ExecutionContextFactory(new DefaultTranslator()); + $translator = new IdentityTranslator(); + $translator->setLocale('en'); + + $contextFactory = new ExecutionContextFactory($translator); $validatorFactory = new ConstraintValidatorFactory(); return new RecursiveValidator($contextFactory, $metadataFactory, $validatorFactory, $objectInitializers); diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/ValidatorBuilderTest.php b/core/vendor/symfony/validator/Tests/ValidatorBuilderTest.php similarity index 67% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Tests/ValidatorBuilderTest.php rename to core/vendor/symfony/validator/Tests/ValidatorBuilderTest.php index e2585d79900daf771886fa063d539f9379fd84ee..88e8b3b82689df86ff0dffe2b841b7185f83408e 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Tests/ValidatorBuilderTest.php +++ b/core/vendor/symfony/validator/Tests/ValidatorBuilderTest.php @@ -110,51 +110,8 @@ public function testSetTranslationDomain() $this->assertSame($this->builder, $this->builder->setTranslationDomain('TRANS_DOMAIN')); } - /** - * @group legacy - */ - public function testLegacyDefaultApiVersion() - { - $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED); - - if (PHP_VERSION_ID < 50309) { - // Old implementation on PHP < 5.3.9 - $this->assertInstanceOf('Symfony\Component\Validator\Validator', $this->builder->getValidator()); - } else { - // Legacy compatible implementation on PHP >= 5.3.9 - $this->assertInstanceOf('Symfony\Component\Validator\Validator\LegacyValidator', $this->builder->getValidator()); - } - } - - /** - * @group legacy - */ - public function testLegacySetApiVersion24() + public function testGetValidator() { - $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED); - - $this->assertSame($this->builder, $this->builder->setApiVersion(Validation::API_VERSION_2_4)); - $this->assertInstanceOf('Symfony\Component\Validator\Validator', $this->builder->getValidator()); - } - - public function testSetApiVersion25() - { - $this->assertSame($this->builder, $this->builder->setApiVersion(Validation::API_VERSION_2_5)); $this->assertInstanceOf('Symfony\Component\Validator\Validator\RecursiveValidator', $this->builder->getValidator()); } - - /** - * @group legacy - */ - public function testLegacySetApiVersion24And25() - { - $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED); - - if (PHP_VERSION_ID < 50309) { - $this->markTestSkipped('Not supported prior to PHP 5.3.9'); - } - - $this->assertSame($this->builder, $this->builder->setApiVersion(Validation::API_VERSION_2_5_BC)); - $this->assertInstanceOf('Symfony\Component\Validator\Validator\LegacyValidator', $this->builder->getValidator()); - } } diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Util/PropertyPath.php b/core/vendor/symfony/validator/Util/PropertyPath.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Util/PropertyPath.php rename to core/vendor/symfony/validator/Util/PropertyPath.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Validation.php b/core/vendor/symfony/validator/Validation.php similarity index 96% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Validation.php rename to core/vendor/symfony/validator/Validation.php index b304dbb935bb9b97cb39092009b8602590529581..a03d21584bc9d8b63ae29b51c7acedee55dd79da 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Validation.php +++ b/core/vendor/symfony/validator/Validation.php @@ -20,6 +20,7 @@ final class Validation { /** * The Validator API provided by Symfony 2.4 and older. + * @deprecated use API_VERSION_2_5_BC instead. */ const API_VERSION_2_4 = 1; diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/ValidationVisitor.php b/core/vendor/symfony/validator/ValidationVisitor.php similarity index 97% rename from core/vendor/symfony/validator/Symfony/Component/Validator/ValidationVisitor.php rename to core/vendor/symfony/validator/ValidationVisitor.php index 3af82496a1c07c8f4ede1605c23d9e08dc0dfbdf..c7e06554b8cb5ac82df9d71f857fb74963b87385 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/ValidationVisitor.php +++ b/core/vendor/symfony/validator/ValidationVisitor.php @@ -11,6 +11,8 @@ namespace Symfony\Component\Validator; +trigger_error('The '.__NAMESPACE__.'\ValidationVisitor class is deprecated since version 2.5 and will be removed in 3.0.', E_USER_DEPRECATED); + use Symfony\Component\Translation\TranslatorInterface; use Symfony\Component\Validator\Exception\NoSuchMetadataException; use Symfony\Component\Validator\Exception\UnexpectedTypeException; @@ -21,7 +23,7 @@ * * @author Bernhard Schussek <bschussek@gmail.com> * - * @deprecated Deprecated since version 2.5, to be removed in Symfony 3.0. + * @deprecated since version 2.5, to be removed in 3.0. */ class ValidationVisitor implements ValidationVisitorInterface, GlobalExecutionContextInterface { diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/ValidationVisitorInterface.php b/core/vendor/symfony/validator/ValidationVisitorInterface.php similarity index 93% rename from core/vendor/symfony/validator/Symfony/Component/Validator/ValidationVisitorInterface.php rename to core/vendor/symfony/validator/ValidationVisitorInterface.php index 483a1b5960ddd2eb2459429ae9369c3a0bc1c8d2..0ab7b7366776c39a1c67b2a59cc51b5473289845 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/ValidationVisitorInterface.php +++ b/core/vendor/symfony/validator/ValidationVisitorInterface.php @@ -34,7 +34,7 @@ * * @author Bernhard Schussek <bschussek@gmail.com> * - * @deprecated Deprecated since version 2.5, to be removed in Symfony 3.0. + * @deprecated since version 2.5, to be removed in 3.0. */ interface ValidationVisitorInterface { @@ -64,8 +64,6 @@ interface ValidationVisitorInterface * * @throws Exception\NoSuchMetadataException If no metadata can be found for * the given value. - * - * @deprecated Deprecated since version 2.5, to be removed in Symfony 3.0. */ public function validate($value, $group, $propertyPath, $traverse = false, $deep = false); @@ -79,8 +77,6 @@ public function validate($value, $group, $propertyPath, $traverse = false, $deep * @param mixed $value The value to validate. * @param string $group The validation group to validate. * @param string $propertyPath The current property path in the validation graph. - * - * @deprecated Deprecated since version 2.5, to be removed in Symfony 3.0. */ public function visit(MetadataInterface $metadata, $value, $group, $propertyPath); } diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Validator.php b/core/vendor/symfony/validator/Validator.php similarity index 96% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Validator.php rename to core/vendor/symfony/validator/Validator.php index 6edbb7ac566a5937b5de2d40d9f2bcd110c1e37a..8243f17acbf6bcce45a95802ddd8930abbd963f5 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Validator.php +++ b/core/vendor/symfony/validator/Validator.php @@ -11,6 +11,8 @@ namespace Symfony\Component\Validator; +trigger_error('The '.__NAMESPACE__.'\Validator class is deprecated since version 2.5 and will be removed in 3.0. Use the Symfony\Component\Validator\Validator\RecursiveValidator class instead.', E_USER_DEPRECATED); + use Symfony\Component\Translation\TranslatorInterface; use Symfony\Component\Validator\Constraints\Valid; use Symfony\Component\Validator\Exception\ValidatorException; @@ -21,7 +23,7 @@ * @author Fabien Potencier <fabien@symfony.com> * @author Bernhard Schussek <bschussek@gmail.com> * - * @deprecated Deprecated since version 2.5, to be removed in Symfony 3.0. + * @deprecated since version 2.5, to be removed in 3.0. * Use {@link Validator\RecursiveValidator} instead. */ class Validator implements ValidatorInterface, Mapping\Factory\MetadataFactoryInterface diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Validator/ContextualValidatorInterface.php b/core/vendor/symfony/validator/Validator/ContextualValidatorInterface.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Validator/ContextualValidatorInterface.php rename to core/vendor/symfony/validator/Validator/ContextualValidatorInterface.php diff --git a/core/vendor/symfony/validator/Validator/LegacyValidator.php b/core/vendor/symfony/validator/Validator/LegacyValidator.php new file mode 100644 index 0000000000000000000000000000000000000000..6c5a10c355591d7dbb589e0fcce2bf7b58568bf2 --- /dev/null +++ b/core/vendor/symfony/validator/Validator/LegacyValidator.php @@ -0,0 +1,29 @@ +<?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\Validator\Validator; + +trigger_error('The '.__NAMESPACE__.'\LegacyValidator class is deprecated since version 2.5 and will be removed in 3.0.', E_USER_DEPRECATED); + +/** + * A validator that supports both the API of Symfony < 2.5 and Symfony 2.5+. + * + * @since 2.5 + * @author Bernhard Schussek <bschussek@gmail.com> + * + * @see \Symfony\Component\Validator\ValidatorInterface + * @see \Symfony\Component\Validator\Validator\ValidatorInterface + * + * @deprecated since version 2.5, to be removed in 3.0. + */ +class LegacyValidator extends RecursiveValidator +{ +} diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Validator/RecursiveContextualValidator.php b/core/vendor/symfony/validator/Validator/RecursiveContextualValidator.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Validator/RecursiveContextualValidator.php rename to core/vendor/symfony/validator/Validator/RecursiveContextualValidator.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Validator/RecursiveValidator.php b/core/vendor/symfony/validator/Validator/RecursiveValidator.php similarity index 62% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Validator/RecursiveValidator.php rename to core/vendor/symfony/validator/Validator/RecursiveValidator.php index ddf0850c1cf2a449a85f4d6f260445544f02c344..c825bfa6f48b8f5cbda33e82f067af0765eb357c 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Validator/RecursiveValidator.php +++ b/core/vendor/symfony/validator/Validator/RecursiveValidator.php @@ -11,11 +11,15 @@ namespace Symfony\Component\Validator\Validator; +use Symfony\Component\Validator\Constraint; +use Symfony\Component\Validator\Constraints\GroupSequence; +use Symfony\Component\Validator\Constraints\Valid; use Symfony\Component\Validator\ConstraintValidatorFactoryInterface; use Symfony\Component\Validator\Context\ExecutionContextFactoryInterface; use Symfony\Component\Validator\Context\ExecutionContextInterface; use Symfony\Component\Validator\MetadataFactoryInterface; use Symfony\Component\Validator\ObjectInitializerInterface; +use Symfony\Component\Validator\ValidatorInterface as LegacyValidatorInterface; /** * Recursive implementation of {@link ValidatorInterface}. @@ -23,7 +27,7 @@ * @since 2.5 * @author Bernhard Schussek <bschussek@gmail.com> */ -class RecursiveValidator implements ValidatorInterface +class RecursiveValidator implements ValidatorInterface, LegacyValidatorInterface { /** * @var ExecutionContextFactoryInterface @@ -110,8 +114,21 @@ public function hasMetadataFor($object) /** * {@inheritdoc} */ - public function validate($value, $constraints = null, $groups = null) + public function validate($value, $groups = null, $traverse = false, $deep = false) { + $numArgs = func_num_args(); + + // Use new signature if constraints are given in the second argument + if (self::testConstraints($groups) && ($numArgs < 3 || 3 === $numArgs && self::testGroups($traverse))) { + // Rename to avoid total confusion ;) + $constraints = $groups; + $groups = $traverse; + } else { + trigger_error('The Symfony\Component\Validator\ValidatorInterface::validate method is deprecated in version 2.5 and will be removed in version 3.0. Use the Symfony\Component\Validator\Validator\ValidatorInterface::validate method instead.', E_USER_DEPRECATED); + + $constraints = new Valid(array('traverse' => $traverse, 'deep' => $deep)); + } + return $this->startContext($value) ->validate($value, $constraints, $groups) ->getViolations(); @@ -137,4 +154,34 @@ public function validatePropertyValue($objectOrClass, $propertyName, $value, $gr ->validatePropertyValue($objectOrClass, $propertyName, $value, $groups) ->getViolations(); } + + /** + * {@inheritdoc} + */ + public function validateValue($value, $constraints, $groups = null) + { + trigger_error('The '.__METHOD__.' method is deprecated in version 2.5 and will be removed in version 3.0. Use the Symfony\Component\Validator\Validator\ValidatorInterface::validate method instead.', E_USER_DEPRECATED); + + return $this->validate($value, $constraints, $groups); + } + + /** + * {@inheritdoc} + */ + public function getMetadataFactory() + { + trigger_error('The '.__METHOD__.' method is deprecated in version 2.5 and will be removed in version 3.0. Use the Symfony\Component\Validator\Validator\ValidatorInterface::getMetadataFor or Symfony\Component\Validator\Validator\ValidatorInterface::hasMetadataFor method instead.', E_USER_DEPRECATED); + + return $this->metadataFactory; + } + + private static function testConstraints($constraints) + { + return null === $constraints || $constraints instanceof Constraint || (is_array($constraints) && current($constraints) instanceof Constraint); + } + + private static function testGroups($groups) + { + return null === $groups || is_string($groups) || $groups instanceof GroupSequence || (is_array($groups) && (is_string(current($groups)) || current($groups) instanceof GroupSequence)); + } } diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Validator/ValidatorInterface.php b/core/vendor/symfony/validator/Validator/ValidatorInterface.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Validator/ValidatorInterface.php rename to core/vendor/symfony/validator/Validator/ValidatorInterface.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/ValidatorBuilder.php b/core/vendor/symfony/validator/ValidatorBuilder.php similarity index 82% rename from core/vendor/symfony/validator/Symfony/Component/Validator/ValidatorBuilder.php rename to core/vendor/symfony/validator/ValidatorBuilder.php index 1d65478e20812d86433389e2a3b1316f4722812a..dd772cf3832547ca644d2e3a913dac965afcf9ad 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/ValidatorBuilder.php +++ b/core/vendor/symfony/validator/ValidatorBuilder.php @@ -16,13 +16,12 @@ use Doctrine\Common\Annotations\Reader; use Doctrine\Common\Cache\ArrayCache; use Symfony\Component\PropertyAccess\PropertyAccessorInterface; +use Symfony\Component\Translation\IdentityTranslator; use Symfony\Component\Translation\TranslatorInterface; use Symfony\Component\Validator\Context\ExecutionContextFactory; -use Symfony\Component\Validator\Context\LegacyExecutionContextFactory; use Symfony\Component\Validator\Exception\InvalidArgumentException; use Symfony\Component\Validator\Exception\ValidatorException; use Symfony\Component\Validator\Mapping\Cache\CacheInterface; -use Symfony\Component\Validator\Mapping\ClassMetadataFactory; use Symfony\Component\Validator\Mapping\Factory\LazyLoadingMetadataFactory; use Symfony\Component\Validator\Mapping\Loader\AnnotationLoader; use Symfony\Component\Validator\Mapping\Loader\LoaderChain; @@ -31,9 +30,7 @@ use Symfony\Component\Validator\Mapping\Loader\XmlFilesLoader; use Symfony\Component\Validator\Mapping\Loader\YamlFileLoader; use Symfony\Component\Validator\Mapping\Loader\YamlFilesLoader; -use Symfony\Component\Validator\Validator\LegacyValidator; use Symfony\Component\Validator\Validator\RecursiveValidator; -use Symfony\Component\Validator\Validator as ValidatorV24; /** * The default implementation of {@link ValidatorBuilderInterface}. @@ -97,11 +94,6 @@ class ValidatorBuilder implements ValidatorBuilderInterface */ private $propertyAccessor; - /** - * @var int|null - */ - private $apiVersion; - /** * {@inheritdoc} */ @@ -302,9 +294,14 @@ public function setTranslationDomain($translationDomain) /** * {@inheritdoc} + * + * @deprecated since version 2.5, to be removed in 3.0. + * The validator will function without a property accessor. */ public function setPropertyAccessor(PropertyAccessorInterface $propertyAccessor) { + trigger_error('The '.__METHOD__.' method is deprecated since version 2.5 and will be removed in 3.0. The validator will function without a property accessor.', E_USER_DEPRECATED); + if (null !== $this->validatorFactory) { throw new ValidatorException('You cannot set a property accessor after setting a custom validator factory. Configure your validator factory instead.'); } @@ -316,27 +313,17 @@ public function setPropertyAccessor(PropertyAccessorInterface $propertyAccessor) /** * {@inheritdoc} + * + * @deprecated since version 2.7, to be removed in 3.0. */ public function setApiVersion($apiVersion) { - if (!in_array($apiVersion, array(Validation::API_VERSION_2_4, Validation::API_VERSION_2_5, Validation::API_VERSION_2_5_BC))) { - throw new InvalidArgumentException(sprintf( - 'The requested API version is invalid: "%s"', - $apiVersion - )); - } + trigger_error('The '.__METHOD__.' method is deprecated in version 2.7 and will be removed in version 3.0.', E_USER_DEPRECATED); - if (PHP_VERSION_ID < 50309 && $apiVersion === Validation::API_VERSION_2_5_BC) { - throw new InvalidArgumentException(sprintf( - 'The Validator API that is compatible with both Symfony 2.4 '. - 'and Symfony 2.5 can only be used on PHP 5.3.9 and higher. '. - 'Your current PHP version is %s.', - PHP_VERSION - )); + if (!in_array($apiVersion, array(Validation::API_VERSION_2_4, Validation::API_VERSION_2_5, Validation::API_VERSION_2_5_BC))) { + throw new InvalidArgumentException(sprintf('The requested API version is invalid: "%s"', $apiVersion)); } - $this->apiVersion = $apiVersion; - return $this; } @@ -346,13 +333,6 @@ public function setApiVersion($apiVersion) public function getValidator() { $metadataFactory = $this->metadataFactory; - $apiVersion = $this->apiVersion; - - if (null === $apiVersion) { - $apiVersion = PHP_VERSION_ID < 50309 - ? Validation::API_VERSION_2_4 - : Validation::API_VERSION_2_5_BC; - } if (!$metadataFactory) { $loaders = array(); @@ -385,28 +365,23 @@ public function getValidator() $loader = $loaders[0]; } - if (Validation::API_VERSION_2_5 === $apiVersion) { - $metadataFactory = new LazyLoadingMetadataFactory($loader, $this->metadataCache); - } else { - $metadataFactory = new ClassMetadataFactory($loader, $this->metadataCache); - } + $metadataFactory = new LazyLoadingMetadataFactory($loader, $this->metadataCache); } $validatorFactory = $this->validatorFactory ?: new ConstraintValidatorFactory($this->propertyAccessor); - $translator = $this->translator ?: new DefaultTranslator(); - - if (Validation::API_VERSION_2_4 === $apiVersion) { - return new ValidatorV24($metadataFactory, $validatorFactory, $translator, $this->translationDomain, $this->initializers); - } - - if (Validation::API_VERSION_2_5 === $apiVersion) { - $contextFactory = new ExecutionContextFactory($translator, $this->translationDomain); - - return new RecursiveValidator($contextFactory, $metadataFactory, $validatorFactory, $this->initializers); + $translator = $this->translator; + + if (null === $translator) { + $translator = new IdentityTranslator(); + // Force the locale to be 'en' when no translator is provided rather than relying on the Intl default locale + // This avoids depending on Intl or the stub implementation being available. It also ensures that Symfony + // validation messages are pluralized properly even when the default locale gets changed because they are in + // English. + $translator->setLocale('en'); } - $contextFactory = new LegacyExecutionContextFactory($metadataFactory, $translator, $this->translationDomain); + $contextFactory = new ExecutionContextFactory($translator, $this->translationDomain); - return new LegacyValidator($contextFactory, $metadataFactory, $validatorFactory, $this->initializers); + return new RecursiveValidator($contextFactory, $metadataFactory, $validatorFactory, $this->initializers); } } diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/ValidatorBuilderInterface.php b/core/vendor/symfony/validator/ValidatorBuilderInterface.php similarity index 97% rename from core/vendor/symfony/validator/Symfony/Component/Validator/ValidatorBuilderInterface.php rename to core/vendor/symfony/validator/ValidatorBuilderInterface.php index 2fd0f9c58bf94e7338abbab8a89fb39414b6e036..cc0007770578b1ea544de4d65b708c782088734e 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/ValidatorBuilderInterface.php +++ b/core/vendor/symfony/validator/ValidatorBuilderInterface.php @@ -167,7 +167,7 @@ public function setTranslationDomain($translationDomain); * * @return ValidatorBuilderInterface The builder object * - * @deprecated Deprecated since version 2.5, to be removed in Symfony 3.0. + * @deprecated since version 2.5, to be removed in 3.0. */ public function setPropertyAccessor(PropertyAccessorInterface $propertyAccessor); @@ -178,9 +178,10 @@ public function setPropertyAccessor(PropertyAccessorInterface $propertyAccessor) * * @return ValidatorBuilderInterface The builder object * - * @see Validation::API_VERSION_2_4 * @see Validation::API_VERSION_2_5 * @see Validation::API_VERSION_2_5_BC + * + * @deprecated since version 2.7, to be removed in 3.0. */ public function setApiVersion($apiVersion); diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/ValidatorInterface.php b/core/vendor/symfony/validator/ValidatorInterface.php similarity index 93% rename from core/vendor/symfony/validator/Symfony/Component/Validator/ValidatorInterface.php rename to core/vendor/symfony/validator/ValidatorInterface.php index 0d7733295874ddb8debe5373a791ecfebacb039f..3682b15be6116a8daf9f7380d8062a538682defb 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/ValidatorInterface.php +++ b/core/vendor/symfony/validator/ValidatorInterface.php @@ -18,7 +18,7 @@ * * @api * - * @deprecated Deprecated since version 2.5, to be removed in Symfony 3.0. + * @deprecated since version 2.5, to be removed in 3.0. * Use {@link \Symfony\Component\Validator\Validator\ValidatorInterface} instead. */ interface ValidatorInterface @@ -93,8 +93,9 @@ public function validatePropertyValue($containingValue, $property, $value, $grou * * @api * - * @deprecated Renamed to {@link Validator\ValidatorInterface::validate()} - * in Symfony 2.5. Will be removed in Symfony 3.0. + * @deprecated since version 2.5, to be removed in 3.0. + * Renamed to {@link Validator\ValidatorInterface::validate()} + * in Symfony 2.5. */ public function validateValue($value, $constraints, $groups = null); @@ -105,7 +106,7 @@ public function validateValue($value, $constraints, $groups = null); * * @api * - * @deprecated Deprecated since version 2.5, to be removed in Symfony 3.0. + * @deprecated since version 2.5, to be removed in 3.0. * Use {@link Validator\ValidatorInterface::getMetadataFor()} or * {@link Validator\ValidatorInterface::hasMetadataFor()} * instead. diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Violation/ConstraintViolationBuilder.php b/core/vendor/symfony/validator/Violation/ConstraintViolationBuilder.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Violation/ConstraintViolationBuilder.php rename to core/vendor/symfony/validator/Violation/ConstraintViolationBuilder.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Violation/ConstraintViolationBuilderInterface.php b/core/vendor/symfony/validator/Violation/ConstraintViolationBuilderInterface.php similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Violation/ConstraintViolationBuilderInterface.php rename to core/vendor/symfony/validator/Violation/ConstraintViolationBuilderInterface.php diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/Violation/LegacyConstraintViolationBuilder.php b/core/vendor/symfony/validator/Violation/LegacyConstraintViolationBuilder.php similarity index 93% rename from core/vendor/symfony/validator/Symfony/Component/Validator/Violation/LegacyConstraintViolationBuilder.php rename to core/vendor/symfony/validator/Violation/LegacyConstraintViolationBuilder.php index 5519f42de9ecddb1b7a250ed3239f593bac3bcb9..0ce6da90608e3fc2a7f8063617efe8caef0ff3a9 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/Violation/LegacyConstraintViolationBuilder.php +++ b/core/vendor/symfony/validator/Violation/LegacyConstraintViolationBuilder.php @@ -11,6 +11,8 @@ namespace Symfony\Component\Validator\Violation; +trigger_error('The '.__NAMESPACE__.'\LegacyConstraintViolationBuilder class is deprecated since version 2.5 and will be removed in 3.0.', E_USER_DEPRECATED); + use Symfony\Component\Validator\ExecutionContextInterface; /** @@ -21,7 +23,7 @@ * @internal You should not instantiate or use this class. Code against * {@link ConstraintViolationBuilderInterface} instead. * - * @deprecated This class will be removed in Symfony 3.0. + * @deprecated since version 2.5.5, to be removed in 3.0. */ class LegacyConstraintViolationBuilder implements ConstraintViolationBuilderInterface { diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/composer.json b/core/vendor/symfony/validator/composer.json similarity index 86% rename from core/vendor/symfony/validator/Symfony/Component/Validator/composer.json rename to core/vendor/symfony/validator/composer.json index ac8c81279f221c163a54b88f8de85e6e80c6d377..b89fe1b134515c17d274841f2a195fdc540b11cf 100644 --- a/core/vendor/symfony/validator/Symfony/Component/Validator/composer.json +++ b/core/vendor/symfony/validator/composer.json @@ -16,12 +16,11 @@ } ], "require": { - "php": ">=5.3.3", - "symfony/translation": "~2.0,>=2.0.5" + "php": ">=5.3.9", + "symfony/translation": "~2.4" }, "require-dev": { "symfony/phpunit-bridge": "~2.7", - "doctrine/common": "~2.3", "symfony/http-foundation": "~2.1", "symfony/intl": "~2.3", "symfony/yaml": "~2.0,>=2.0.5", @@ -44,13 +43,12 @@ "symfony/expression-language": "For using the 2.4 Expression validator" }, "autoload": { - "psr-0": { "Symfony\\Component\\Validator\\": "" } + "psr-4": { "Symfony\\Component\\Validator\\": "" } }, - "target-dir": "Symfony/Component/Validator", "minimum-stability": "dev", "extra": { "branch-alias": { - "dev-master": "2.6-dev" + "dev-master": "2.7-dev" } } } diff --git a/core/vendor/symfony/validator/Symfony/Component/Validator/phpunit.xml.dist b/core/vendor/symfony/validator/phpunit.xml.dist similarity index 100% rename from core/vendor/symfony/validator/Symfony/Component/Validator/phpunit.xml.dist rename to core/vendor/symfony/validator/phpunit.xml.dist diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/CHANGELOG.md b/core/vendor/symfony/yaml/CHANGELOG.md similarity index 100% rename from core/vendor/symfony/yaml/Symfony/Component/Yaml/CHANGELOG.md rename to core/vendor/symfony/yaml/CHANGELOG.md diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Dumper.php b/core/vendor/symfony/yaml/Dumper.php similarity index 100% rename from core/vendor/symfony/yaml/Symfony/Component/Yaml/Dumper.php rename to core/vendor/symfony/yaml/Dumper.php diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Escaper.php b/core/vendor/symfony/yaml/Escaper.php similarity index 87% rename from core/vendor/symfony/yaml/Symfony/Component/Yaml/Escaper.php rename to core/vendor/symfony/yaml/Escaper.php index f4987652aa5d656eb879d4c66fd6d62291dde4cc..ac325a2c2f259b5ae23ddee69b36707ace88f2aa 100644 --- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Escaper.php +++ b/core/vendor/symfony/yaml/Escaper.php @@ -33,11 +33,11 @@ class Escaper "\x18", "\x19", "\x1a", "\x1b", "\x1c", "\x1d", "\x1e", "\x1f", "\xc2\x85", "\xc2\xa0", "\xe2\x80\xa8", "\xe2\x80\xa9",); private static $escaped = array('\\\\', '\\"', '\\\\', '\\"', - "\\0", "\\x01", "\\x02", "\\x03", "\\x04", "\\x05", "\\x06", "\\a", - "\\b", "\\t", "\\n", "\\v", "\\f", "\\r", "\\x0e", "\\x0f", - "\\x10", "\\x11", "\\x12", "\\x13", "\\x14", "\\x15", "\\x16", "\\x17", - "\\x18", "\\x19", "\\x1a", "\\e", "\\x1c", "\\x1d", "\\x1e", "\\x1f", - "\\N", "\\_", "\\L", "\\P",); + '\\0', '\\x01', '\\x02', '\\x03', '\\x04', '\\x05', '\\x06', '\\a', + '\\b', '\\t', '\\n', '\\v', '\\f', '\\r', '\\x0e', '\\x0f', + '\\x10', '\\x11', '\\x12', '\\x13', '\\x14', '\\x15', '\\x16', '\\x17', + '\\x18', '\\x19', '\\x1a', '\\e', '\\x1c', '\\x1d', '\\x1e', '\\x1f', + '\\N', '\\_', '\\L', '\\P',); /** * Determines if a PHP value would require double quoting in YAML. diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Exception/DumpException.php b/core/vendor/symfony/yaml/Exception/DumpException.php similarity index 100% rename from core/vendor/symfony/yaml/Symfony/Component/Yaml/Exception/DumpException.php rename to core/vendor/symfony/yaml/Exception/DumpException.php diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Exception/ExceptionInterface.php b/core/vendor/symfony/yaml/Exception/ExceptionInterface.php similarity index 100% rename from core/vendor/symfony/yaml/Symfony/Component/Yaml/Exception/ExceptionInterface.php rename to core/vendor/symfony/yaml/Exception/ExceptionInterface.php diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Exception/ParseException.php b/core/vendor/symfony/yaml/Exception/ParseException.php similarity index 100% rename from core/vendor/symfony/yaml/Symfony/Component/Yaml/Exception/ParseException.php rename to core/vendor/symfony/yaml/Exception/ParseException.php diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Exception/RuntimeException.php b/core/vendor/symfony/yaml/Exception/RuntimeException.php similarity index 100% rename from core/vendor/symfony/yaml/Symfony/Component/Yaml/Exception/RuntimeException.php rename to core/vendor/symfony/yaml/Exception/RuntimeException.php diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Inline.php b/core/vendor/symfony/yaml/Inline.php similarity index 100% rename from core/vendor/symfony/yaml/Symfony/Component/Yaml/Inline.php rename to core/vendor/symfony/yaml/Inline.php diff --git a/core/vendor/symfony/yaml/LICENSE b/core/vendor/symfony/yaml/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..43028bc600f26ec5599ab339d83cd70f70dfcdab --- /dev/null +++ b/core/vendor/symfony/yaml/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2004-2015 Fabien Potencier + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is furnished +to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Parser.php b/core/vendor/symfony/yaml/Parser.php similarity index 99% rename from core/vendor/symfony/yaml/Symfony/Component/Yaml/Parser.php rename to core/vendor/symfony/yaml/Parser.php index 065e650b4c0905928f8de6cca5cb32ca2f5352ae..d72c7639c8337ef663dfc8472e35f82ea0f3d168 100644 --- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Parser.php +++ b/core/vendor/symfony/yaml/Parser.php @@ -93,7 +93,7 @@ public function parse($value, $exceptionOnInvalidType = false, $objectSupport = // array if (!isset($values['value']) || '' == trim($values['value'], ' ') || 0 === strpos(ltrim($values['value'], ' '), '#')) { $c = $this->getRealCurrentLineNb() + 1; - $parser = new Parser($c); + $parser = new self($c); $parser->refs = &$this->refs; $data[] = $parser->parse($this->getNextEmbedBlock(null, true), $exceptionOnInvalidType, $objectSupport, $objectForMap); } else { @@ -102,7 +102,7 @@ public function parse($value, $exceptionOnInvalidType = false, $objectSupport = ) { // this is a compact notation element, add to next block and parse $c = $this->getRealCurrentLineNb(); - $parser = new Parser($c); + $parser = new self($c); $parser->refs = &$this->refs; $block = $values['value']; @@ -159,7 +159,7 @@ public function parse($value, $exceptionOnInvalidType = false, $objectSupport = $value = $this->getNextEmbedBlock(); } $c = $this->getRealCurrentLineNb() + 1; - $parser = new Parser($c); + $parser = new self($c); $parser->refs = &$this->refs; $parsed = $parser->parse($value, $exceptionOnInvalidType, $objectSupport, $objectForMap); @@ -210,7 +210,7 @@ public function parse($value, $exceptionOnInvalidType = false, $objectSupport = } } else { $c = $this->getRealCurrentLineNb() + 1; - $parser = new Parser($c); + $parser = new self($c); $parser->refs = &$this->refs; $value = $parser->parse($this->getNextEmbedBlock(), $exceptionOnInvalidType, $objectSupport, $objectForMap); // Spec: Keys MUST be unique; first one wins. diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/README.md b/core/vendor/symfony/yaml/README.md similarity index 100% rename from core/vendor/symfony/yaml/Symfony/Component/Yaml/README.md rename to core/vendor/symfony/yaml/README.md diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/.gitignore b/core/vendor/symfony/yaml/Symfony/Component/Yaml/.gitignore deleted file mode 100644 index c49a5d8df5c6548379f00c77fe572a7217bce218..0000000000000000000000000000000000000000 --- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -vendor/ -composer.lock -phpunit.xml diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/DumperTest.php b/core/vendor/symfony/yaml/Tests/DumperTest.php similarity index 100% rename from core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/DumperTest.php rename to core/vendor/symfony/yaml/Tests/DumperTest.php diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsAnchorAlias.yml b/core/vendor/symfony/yaml/Tests/Fixtures/YtsAnchorAlias.yml similarity index 100% rename from core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsAnchorAlias.yml rename to core/vendor/symfony/yaml/Tests/Fixtures/YtsAnchorAlias.yml diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsBasicTests.yml b/core/vendor/symfony/yaml/Tests/Fixtures/YtsBasicTests.yml similarity index 100% rename from core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsBasicTests.yml rename to core/vendor/symfony/yaml/Tests/Fixtures/YtsBasicTests.yml diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsBlockMapping.yml b/core/vendor/symfony/yaml/Tests/Fixtures/YtsBlockMapping.yml similarity index 100% rename from core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsBlockMapping.yml rename to core/vendor/symfony/yaml/Tests/Fixtures/YtsBlockMapping.yml diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsDocumentSeparator.yml b/core/vendor/symfony/yaml/Tests/Fixtures/YtsDocumentSeparator.yml similarity index 100% rename from core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsDocumentSeparator.yml rename to core/vendor/symfony/yaml/Tests/Fixtures/YtsDocumentSeparator.yml diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsErrorTests.yml b/core/vendor/symfony/yaml/Tests/Fixtures/YtsErrorTests.yml similarity index 100% rename from core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsErrorTests.yml rename to core/vendor/symfony/yaml/Tests/Fixtures/YtsErrorTests.yml diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsFlowCollections.yml b/core/vendor/symfony/yaml/Tests/Fixtures/YtsFlowCollections.yml similarity index 100% rename from core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsFlowCollections.yml rename to core/vendor/symfony/yaml/Tests/Fixtures/YtsFlowCollections.yml diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsFoldedScalars.yml b/core/vendor/symfony/yaml/Tests/Fixtures/YtsFoldedScalars.yml similarity index 100% rename from core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsFoldedScalars.yml rename to core/vendor/symfony/yaml/Tests/Fixtures/YtsFoldedScalars.yml diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsNullsAndEmpties.yml b/core/vendor/symfony/yaml/Tests/Fixtures/YtsNullsAndEmpties.yml similarity index 100% rename from core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsNullsAndEmpties.yml rename to core/vendor/symfony/yaml/Tests/Fixtures/YtsNullsAndEmpties.yml diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsSpecificationExamples.yml b/core/vendor/symfony/yaml/Tests/Fixtures/YtsSpecificationExamples.yml similarity index 100% rename from core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsSpecificationExamples.yml rename to core/vendor/symfony/yaml/Tests/Fixtures/YtsSpecificationExamples.yml diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsTypeTransfers.yml b/core/vendor/symfony/yaml/Tests/Fixtures/YtsTypeTransfers.yml similarity index 100% rename from core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/YtsTypeTransfers.yml rename to core/vendor/symfony/yaml/Tests/Fixtures/YtsTypeTransfers.yml diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/embededPhp.yml b/core/vendor/symfony/yaml/Tests/Fixtures/embededPhp.yml similarity index 100% rename from core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/embededPhp.yml rename to core/vendor/symfony/yaml/Tests/Fixtures/embededPhp.yml diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/escapedCharacters.yml b/core/vendor/symfony/yaml/Tests/Fixtures/escapedCharacters.yml similarity index 100% rename from core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/escapedCharacters.yml rename to core/vendor/symfony/yaml/Tests/Fixtures/escapedCharacters.yml diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/index.yml b/core/vendor/symfony/yaml/Tests/Fixtures/index.yml similarity index 100% rename from core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/index.yml rename to core/vendor/symfony/yaml/Tests/Fixtures/index.yml diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/sfComments.yml b/core/vendor/symfony/yaml/Tests/Fixtures/sfComments.yml similarity index 100% rename from core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/sfComments.yml rename to core/vendor/symfony/yaml/Tests/Fixtures/sfComments.yml diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/sfCompact.yml b/core/vendor/symfony/yaml/Tests/Fixtures/sfCompact.yml similarity index 100% rename from core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/sfCompact.yml rename to core/vendor/symfony/yaml/Tests/Fixtures/sfCompact.yml diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/sfMergeKey.yml b/core/vendor/symfony/yaml/Tests/Fixtures/sfMergeKey.yml similarity index 100% rename from core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/sfMergeKey.yml rename to core/vendor/symfony/yaml/Tests/Fixtures/sfMergeKey.yml diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/sfObjects.yml b/core/vendor/symfony/yaml/Tests/Fixtures/sfObjects.yml similarity index 100% rename from core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/sfObjects.yml rename to core/vendor/symfony/yaml/Tests/Fixtures/sfObjects.yml diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/sfQuotes.yml b/core/vendor/symfony/yaml/Tests/Fixtures/sfQuotes.yml similarity index 100% rename from core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/sfQuotes.yml rename to core/vendor/symfony/yaml/Tests/Fixtures/sfQuotes.yml diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/sfTests.yml b/core/vendor/symfony/yaml/Tests/Fixtures/sfTests.yml similarity index 100% rename from core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/sfTests.yml rename to core/vendor/symfony/yaml/Tests/Fixtures/sfTests.yml diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/unindentedCollections.yml b/core/vendor/symfony/yaml/Tests/Fixtures/unindentedCollections.yml similarity index 100% rename from core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/Fixtures/unindentedCollections.yml rename to core/vendor/symfony/yaml/Tests/Fixtures/unindentedCollections.yml diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/InlineTest.php b/core/vendor/symfony/yaml/Tests/InlineTest.php similarity index 99% rename from core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/InlineTest.php rename to core/vendor/symfony/yaml/Tests/InlineTest.php index bbff1760383ac75c3651751825848239f899ced9..320eb5072132bc349a1a70fd0edb2f88937a6f91 100644 --- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/InlineTest.php +++ b/core/vendor/symfony/yaml/Tests/InlineTest.php @@ -222,8 +222,8 @@ public function getTestsForParse() array('{ foo : bar, bar : foo, false : false, null : null, integer : 12 }', array('foo' => 'bar', 'bar' => 'foo', 'false' => false, 'null' => null, 'integer' => 12)), array('{foo: \'bar\', bar: \'foo: bar\'}', array('foo' => 'bar', 'bar' => 'foo: bar')), array('{\'foo\': \'bar\', "bar": \'foo: bar\'}', array('foo' => 'bar', 'bar' => 'foo: bar')), - array('{\'foo\'\'\': \'bar\', "bar\"": \'foo: bar\'}', array('foo\'' => 'bar', "bar\"" => 'foo: bar')), - array('{\'foo: \': \'bar\', "bar: ": \'foo: bar\'}', array('foo: ' => 'bar', "bar: " => 'foo: bar')), + array('{\'foo\'\'\': \'bar\', "bar\"": \'foo: bar\'}', array('foo\'' => 'bar', 'bar"' => 'foo: bar')), + array('{\'foo: \': \'bar\', "bar: ": \'foo: bar\'}', array('foo: ' => 'bar', 'bar: ' => 'foo: bar')), // nested sequences and mappings array('[foo, [bar, foo]]', array('foo', array('bar', 'foo'))), diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/ParseExceptionTest.php b/core/vendor/symfony/yaml/Tests/ParseExceptionTest.php similarity index 100% rename from core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/ParseExceptionTest.php rename to core/vendor/symfony/yaml/Tests/ParseExceptionTest.php diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/ParserTest.php b/core/vendor/symfony/yaml/Tests/ParserTest.php similarity index 100% rename from core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/ParserTest.php rename to core/vendor/symfony/yaml/Tests/ParserTest.php diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/YamlTest.php b/core/vendor/symfony/yaml/Tests/YamlTest.php similarity index 84% rename from core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/YamlTest.php rename to core/vendor/symfony/yaml/Tests/YamlTest.php index 633978d63bd5021ffd834e644724ec4d8896fb9a..a7261562d539c3b89e514f69c55f2d95518b8159 100644 --- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Tests/YamlTest.php +++ b/core/vendor/symfony/yaml/Tests/YamlTest.php @@ -21,6 +21,14 @@ public function testParseAndDump() $yml = Yaml::dump($data); $parsed = Yaml::parse($yml); $this->assertEquals($data, $parsed); + } + + /** + * @group legacy + */ + public function testLegacyParseFromFile() + { + $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED); $filename = __DIR__.'/Fixtures/index.yml'; $contents = file_get_contents($filename); diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Unescaper.php b/core/vendor/symfony/yaml/Unescaper.php similarity index 92% rename from core/vendor/symfony/yaml/Symfony/Component/Yaml/Unescaper.php rename to core/vendor/symfony/yaml/Unescaper.php index ffddd95c7bc77340cb778dc6ce2fb646825a0f4b..93206f923352f21470e20966bf348be1995d8753 100644 --- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Unescaper.php +++ b/core/vendor/symfony/yaml/Unescaper.php @@ -19,13 +19,18 @@ */ class Unescaper { - // Parser and Inline assume UTF-8 encoding, so escaped Unicode characters - // must be converted to that encoding. - // @deprecated since 2.5, to be removed in 3.0 + /** + * Parser and Inline assume UTF-8 encoding, so escaped Unicode characters + * must be converted to that encoding. + * + * @deprecated since version 2.5, to be removed in 3.0 + * @internal + */ const ENCODING = 'UTF-8'; - // Regex fragment that matches an escaped character in a double quoted - // string. + /** + * Regex fragment that matches an escaped character in a double quoted string. + */ const REGEX_ESCAPED_CHARACTER = "\\\\([0abt\tnvfre \\\"\\/\\\\N_LP]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})"; /** diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Yaml.php b/core/vendor/symfony/yaml/Yaml.php similarity index 83% rename from core/vendor/symfony/yaml/Symfony/Component/Yaml/Yaml.php rename to core/vendor/symfony/yaml/Yaml.php index 419226a2dd8a27d9f2049523f62a9c4912d558dc..e17698a07c74f9a64bcaa96c669b3c9d641eca09 100644 --- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Yaml.php +++ b/core/vendor/symfony/yaml/Yaml.php @@ -30,7 +30,7 @@ class Yaml * * Usage: * <code> - * $array = Yaml::parse('config.yml'); + * $array = Yaml::parse(file_get_contents('config.yml')); * print_r($array); * </code> * @@ -41,18 +41,23 @@ class Yaml * @param string $input Path to a YAML file or a string containing YAML * @param bool $exceptionOnInvalidType True if an exception must be thrown on invalid types false otherwise * @param bool $objectSupport True if object support is enabled, false otherwise + * @param bool $objectForMap True if maps should return a stdClass instead of array() * * @return array The YAML converted to a PHP array * * @throws ParseException If the YAML is not valid * + * @deprecated The ability to pass file names to the Yaml::parse method is deprecated since version 2.2 and will be removed in 3.0. Pass the YAML contents of the file instead. + * * @api */ - public static function parse($input, $exceptionOnInvalidType = false, $objectSupport = false) + public static function parse($input, $exceptionOnInvalidType = false, $objectSupport = false, $objectForMap = false) { // if input is a file, process it $file = ''; if (strpos($input, "\n") === false && is_file($input)) { + trigger_error('The ability to pass file names to the '.__METHOD__.' method is deprecated since version 2.2 and will be removed in 3.0. Pass the YAML contents of the file instead.', E_USER_DEPRECATED); + if (false === is_readable($input)) { throw new ParseException(sprintf('Unable to parse "%s" as the file is not readable.', $input)); } @@ -64,7 +69,7 @@ public static function parse($input, $exceptionOnInvalidType = false, $objectSup $yaml = new Parser(); try { - return $yaml->parse($input, $exceptionOnInvalidType, $objectSupport); + return $yaml->parse($input, $exceptionOnInvalidType, $objectSupport, $objectForMap); } catch (ParseException $e) { if ($file) { $e->setParsedFile($file); diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/composer.json b/core/vendor/symfony/yaml/composer.json similarity index 67% rename from core/vendor/symfony/yaml/Symfony/Component/Yaml/composer.json rename to core/vendor/symfony/yaml/composer.json index b38eec29e9ac2e8ce2dc292aaec5156a00050112..b07b439c96ec4ad14290816e133b8b0bc478c270 100644 --- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/composer.json +++ b/core/vendor/symfony/yaml/composer.json @@ -3,7 +3,7 @@ "type": "library", "description": "Symfony Yaml Component", "keywords": [], - "homepage": "http://symfony.com", + "homepage": "https://symfony.com", "license": "MIT", "authors": [ { @@ -12,23 +12,22 @@ }, { "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" + "homepage": "https://symfony.com/contributors" } ], "require": { - "php": ">=5.3.3" + "php": ">=5.3.9" }, "require-dev": { "symfony/phpunit-bridge": "~2.7" }, "autoload": { - "psr-0": { "Symfony\\Component\\Yaml\\": "" } + "psr-4": { "Symfony\\Component\\Yaml\\": "" } }, - "target-dir": "Symfony/Component/Yaml", "minimum-stability": "dev", "extra": { "branch-alias": { - "dev-master": "2.6-dev" + "dev-master": "2.7-dev" } } } diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/phpunit.xml.dist b/core/vendor/symfony/yaml/phpunit.xml.dist similarity index 99% rename from core/vendor/symfony/yaml/Symfony/Component/Yaml/phpunit.xml.dist rename to core/vendor/symfony/yaml/phpunit.xml.dist index 8f7741fe393e6d2ffe5940ccb0e71a88b330b7c9..418b2c6c9ad5af438aff68e0000b473b5a369189 100644 --- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/phpunit.xml.dist +++ b/core/vendor/symfony/yaml/phpunit.xml.dist @@ -9,6 +9,7 @@ <php> <ini name="error_reporting" value="-1" /> </php> + <testsuites> <testsuite name="Symfony Yaml Component Test Suite"> <directory>./Tests/</directory>