diff --git a/composer.json b/composer.json index 33d320fd..1f853375 100644 --- a/composer.json +++ b/composer.json @@ -16,6 +16,7 @@ "ext-json": "*", "ext-mbstring": "*", "ext-pdo": "*", + "ext-tokenizer": "*", "ext-xml": "*", "ext-xsl": "*", "ext-zip": "*", diff --git a/composer.lock b/composer.lock index 91ae4371..ff7adc8f 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "160646844ffbcab36f100012016ce413", + "content-hash": "dab2c3e6b313d71e0b67b7b8915ac111", "packages": [ { "name": "beberlei/doctrineextensions", @@ -353,16 +353,16 @@ }, { "name": "doctrine/collections", - "version": "1.7.3", + "version": "1.8.0", "source": { "type": "git", "url": "https://github.com/doctrine/collections.git", - "reference": "09dde3eb237756190f2de738d3c97cff10a8407b" + "reference": "2b44dd4cbca8b5744327de78bafef5945c7e7b5e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/collections/zipball/09dde3eb237756190f2de738d3c97cff10a8407b", - "reference": "09dde3eb237756190f2de738d3c97cff10a8407b", + "url": "https://api.github.com/repos/doctrine/collections/zipball/2b44dd4cbca8b5744327de78bafef5945c7e7b5e", + "reference": "2b44dd4cbca8b5744327de78bafef5945c7e7b5e", "shasum": "" }, "require": { @@ -417,22 +417,22 @@ ], "support": { "issues": "https://github.com/doctrine/collections/issues", - "source": "https://github.com/doctrine/collections/tree/1.7.3" + "source": "https://github.com/doctrine/collections/tree/1.8.0" }, - "time": "2022-09-01T19:34:23+00:00" + "time": "2022-09-01T20:12:10+00:00" }, { "name": "doctrine/common", - "version": "3.4.1", + "version": "3.4.3", "source": { "type": "git", "url": "https://github.com/doctrine/common.git", - "reference": "616d5fca274ea66b969cdebbbfd1dc33a87d461b" + "reference": "8b5e5650391f851ed58910b3e3d48a71062eeced" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/common/zipball/616d5fca274ea66b969cdebbbfd1dc33a87d461b", - "reference": "616d5fca274ea66b969cdebbbfd1dc33a87d461b", + "url": "https://api.github.com/repos/doctrine/common/zipball/8b5e5650391f851ed58910b3e3d48a71062eeced", + "reference": "8b5e5650391f851ed58910b3e3d48a71062eeced", "shasum": "" }, "require": { @@ -494,7 +494,7 @@ ], "support": { "issues": "https://github.com/doctrine/common/issues", - "source": "https://github.com/doctrine/common/tree/3.4.1" + "source": "https://github.com/doctrine/common/tree/3.4.3" }, "funding": [ { @@ -510,7 +510,7 @@ "type": "tidelift" } ], - "time": "2022-09-26T17:15:48+00:00" + "time": "2022-10-09T11:47:59+00:00" }, { "name": "doctrine/dbal", @@ -865,34 +865,35 @@ }, { "name": "doctrine/event-manager", - "version": "1.1.2", + "version": "1.2.0", "source": { "type": "git", "url": "https://github.com/doctrine/event-manager.git", - "reference": "eb2ecf80e3093e8f3c2769ac838e27d8ede8e683" + "reference": "95aa4cb529f1e96576f3fda9f5705ada4056a520" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/event-manager/zipball/eb2ecf80e3093e8f3c2769ac838e27d8ede8e683", - "reference": "eb2ecf80e3093e8f3c2769ac838e27d8ede8e683", + "url": "https://api.github.com/repos/doctrine/event-manager/zipball/95aa4cb529f1e96576f3fda9f5705ada4056a520", + "reference": "95aa4cb529f1e96576f3fda9f5705ada4056a520", "shasum": "" }, "require": { + "doctrine/deprecations": "^0.5.3 || ^1", "php": "^7.1 || ^8.0" }, "conflict": { "doctrine/common": "<2.9" }, "require-dev": { - "doctrine/coding-standard": "^9", - "phpstan/phpstan": "~1.4.10 || ^1.5.4", + "doctrine/coding-standard": "^9 || ^10", + "phpstan/phpstan": "~1.4.10 || ^1.8.8", "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", - "vimeo/psalm": "^4.22" + "vimeo/psalm": "^4.24" }, "type": "library", "autoload": { "psr-4": { - "Doctrine\\Common\\": "lib/Doctrine/Common" + "Doctrine\\Common\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -936,7 +937,7 @@ ], "support": { "issues": "https://github.com/doctrine/event-manager/issues", - "source": "https://github.com/doctrine/event-manager/tree/1.1.2" + "source": "https://github.com/doctrine/event-manager/tree/1.2.0" }, "funding": [ { @@ -952,27 +953,27 @@ "type": "tidelift" } ], - "time": "2022-07-27T22:18:11+00:00" + "time": "2022-10-12T20:51:15+00:00" }, { "name": "doctrine/inflector", - "version": "2.0.5", + "version": "2.0.6", "source": { "type": "git", "url": "https://github.com/doctrine/inflector.git", - "reference": "ade2b3bbfb776f27f0558e26eed43b5d9fe1b392" + "reference": "d9d313a36c872fd6ee06d9a6cbcf713eaa40f024" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/inflector/zipball/ade2b3bbfb776f27f0558e26eed43b5d9fe1b392", - "reference": "ade2b3bbfb776f27f0558e26eed43b5d9fe1b392", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/d9d313a36c872fd6ee06d9a6cbcf713eaa40f024", + "reference": "d9d313a36c872fd6ee06d9a6cbcf713eaa40f024", "shasum": "" }, "require": { "php": "^7.2 || ^8.0" }, "require-dev": { - "doctrine/coding-standard": "^9", + "doctrine/coding-standard": "^10", "phpstan/phpstan": "^1.8", "phpstan/phpstan-phpunit": "^1.1", "phpstan/phpstan-strict-rules": "^1.3", @@ -1027,7 +1028,7 @@ ], "support": { "issues": "https://github.com/doctrine/inflector/issues", - "source": "https://github.com/doctrine/inflector/tree/2.0.5" + "source": "https://github.com/doctrine/inflector/tree/2.0.6" }, "funding": [ { @@ -1043,7 +1044,7 @@ "type": "tidelift" } ], - "time": "2022-09-07T09:01:28+00:00" + "time": "2022-10-20T09:10:12+00:00" }, { "name": "doctrine/instantiator", @@ -1299,16 +1300,16 @@ }, { "name": "doctrine/orm", - "version": "2.13.2", + "version": "2.13.3", "source": { "type": "git", "url": "https://github.com/doctrine/orm.git", - "reference": "a8b02fd70fa777ca8278b9604fdef75c15c6a12f" + "reference": "e750360bd52b080c4cbaaee1b48b80f7dc873b36" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/orm/zipball/a8b02fd70fa777ca8278b9604fdef75c15c6a12f", - "reference": "a8b02fd70fa777ca8278b9604fdef75c15c6a12f", + "url": "https://api.github.com/repos/doctrine/orm/zipball/e750360bd52b080c4cbaaee1b48b80f7dc873b36", + "reference": "e750360bd52b080c4cbaaee1b48b80f7dc873b36", "shasum": "" }, "require": { @@ -1393,29 +1394,29 @@ ], "support": { "issues": "https://github.com/doctrine/orm/issues", - "source": "https://github.com/doctrine/orm/tree/2.13.2" + "source": "https://github.com/doctrine/orm/tree/2.13.3" }, - "time": "2022-09-22T13:36:43+00:00" + "time": "2022-10-07T06:37:17+00:00" }, { "name": "doctrine/persistence", - "version": "2.5.4", + "version": "2.5.5", "source": { "type": "git", "url": "https://github.com/doctrine/persistence.git", - "reference": "830c2ba42093e0e428eca37568ab36bd8008bc17" + "reference": "38670dd6ac8f2d997a0b5b6c98cb380ef0ba9bd3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/persistence/zipball/830c2ba42093e0e428eca37568ab36bd8008bc17", - "reference": "830c2ba42093e0e428eca37568ab36bd8008bc17", + "url": "https://api.github.com/repos/doctrine/persistence/zipball/38670dd6ac8f2d997a0b5b6c98cb380ef0ba9bd3", + "reference": "38670dd6ac8f2d997a0b5b6c98cb380ef0ba9bd3", "shasum": "" }, "require": { "doctrine/cache": "^1.11 || ^2.0", "doctrine/collections": "^1.0", "doctrine/deprecations": "^0.5.3 || ^1", - "doctrine/event-manager": "^1.0", + "doctrine/event-manager": "^1 || ^2", "php": "^7.1 || ^8.0", "psr/cache": "^1.0 || ^2.0 || ^3.0" }, @@ -1426,12 +1427,12 @@ "require-dev": { "composer/package-versions-deprecated": "^1.11", "doctrine/annotations": "^1.0", - "doctrine/coding-standard": "^9.0", + "doctrine/coding-standard": "^9 || ^10", "doctrine/common": "^3.0", - "phpstan/phpstan": "~1.4.10 || 1.5.0", + "phpstan/phpstan": "~1.4.10 || 1.8.8", "phpunit/phpunit": "^7.5.20 || ^8.5 || ^9.5", "symfony/cache": "^4.4 || ^5.4 || ^6.0", - "vimeo/psalm": "4.22.0" + "vimeo/psalm": "4.29.0" }, "type": "library", "autoload": { @@ -1481,7 +1482,7 @@ ], "support": { "issues": "https://github.com/doctrine/persistence/issues", - "source": "https://github.com/doctrine/persistence/tree/2.5.4" + "source": "https://github.com/doctrine/persistence/tree/2.5.5" }, "funding": [ { @@ -1497,7 +1498,7 @@ "type": "tidelift" } ], - "time": "2022-08-06T22:06:57+00:00" + "time": "2022-10-13T07:17:40+00:00" }, { "name": "doctrine/sql-formatter", @@ -1775,16 +1776,16 @@ }, { "name": "friendsofphp/proxy-manager-lts", - "version": "v1.0.12", + "version": "v1.0.13", "source": { "type": "git", "url": "https://github.com/FriendsOfPHP/proxy-manager-lts.git", - "reference": "8419f0158715b30d4b99a5bd37c6a39671994ad7" + "reference": "88354616f4cf4f6620910fd035e282173ba453e8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/FriendsOfPHP/proxy-manager-lts/zipball/8419f0158715b30d4b99a5bd37c6a39671994ad7", - "reference": "8419f0158715b30d4b99a5bd37c6a39671994ad7", + "url": "https://api.github.com/repos/FriendsOfPHP/proxy-manager-lts/zipball/88354616f4cf4f6620910fd035e282173ba453e8", + "reference": "88354616f4cf4f6620910fd035e282173ba453e8", "shasum": "" }, "require": { @@ -1841,7 +1842,7 @@ ], "support": { "issues": "https://github.com/FriendsOfPHP/proxy-manager-lts/issues", - "source": "https://github.com/FriendsOfPHP/proxy-manager-lts/tree/v1.0.12" + "source": "https://github.com/FriendsOfPHP/proxy-manager-lts/tree/v1.0.13" }, "funding": [ { @@ -1853,7 +1854,7 @@ "type": "tidelift" } ], - "time": "2022-05-05T09:31:05+00:00" + "time": "2022-10-17T19:48:16+00:00" }, { "name": "friendsofsymfony/rest-bundle", @@ -2906,16 +2907,16 @@ }, { "name": "lorenzo/pinky", - "version": "1.0.6", + "version": "1.0.7", "source": { "type": "git", "url": "https://github.com/lorenzo/pinky.git", - "reference": "61de35ec6a17badea8b0922e65a979472c886d01" + "reference": "60afc9f8c2b8fb6a2f77050b485ce93143dd8dcf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/lorenzo/pinky/zipball/61de35ec6a17badea8b0922e65a979472c886d01", - "reference": "61de35ec6a17badea8b0922e65a979472c886d01", + "url": "https://api.github.com/repos/lorenzo/pinky/zipball/60afc9f8c2b8fb6a2f77050b485ce93143dd8dcf", + "reference": "60afc9f8c2b8fb6a2f77050b485ce93143dd8dcf", "shasum": "" }, "require": { @@ -2953,9 +2954,9 @@ ], "support": { "issues": "https://github.com/lorenzo/pinky/issues", - "source": "https://github.com/lorenzo/pinky/tree/1.0.6" + "source": "https://github.com/lorenzo/pinky/tree/1.0.7" }, - "time": "2022-03-17T12:11:56+00:00" + "time": "2022-10-02T12:15:42+00:00" }, { "name": "maennchen/zipstream-php", @@ -4211,16 +4212,16 @@ }, { "name": "phpstan/phpdoc-parser", - "version": "1.8.0", + "version": "1.13.0", "source": { "type": "git", "url": "https://github.com/phpstan/phpdoc-parser.git", - "reference": "8dd908dd6156e974b9a0f8bb4cd5ad0707830f04" + "reference": "33aefcdab42900e36366d0feab6206e2dd68f947" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/8dd908dd6156e974b9a0f8bb4cd5ad0707830f04", - "reference": "8dd908dd6156e974b9a0f8bb4cd5ad0707830f04", + "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/33aefcdab42900e36366d0feab6206e2dd68f947", + "reference": "33aefcdab42900e36366d0feab6206e2dd68f947", "shasum": "" }, "require": { @@ -4250,9 +4251,9 @@ "description": "PHPDoc parser with support for nullable, intersection and generic types", "support": { "issues": "https://github.com/phpstan/phpdoc-parser/issues", - "source": "https://github.com/phpstan/phpdoc-parser/tree/1.8.0" + "source": "https://github.com/phpstan/phpdoc-parser/tree/1.13.0" }, - "time": "2022-09-04T18:59:06+00:00" + "time": "2022-10-21T09:57:39+00:00" }, { "name": "psr/cache", @@ -4871,16 +4872,16 @@ }, { "name": "symfony/asset", - "version": "v4.4.40", + "version": "v4.4.46", "source": { "type": "git", "url": "https://github.com/symfony/asset.git", - "reference": "4dee0d02664f2d06005c56b8e43612b7a372e47d" + "reference": "6ef0f9f352f90c469e8b363ebc038d81a7198873" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/asset/zipball/4dee0d02664f2d06005c56b8e43612b7a372e47d", - "reference": "4dee0d02664f2d06005c56b8e43612b7a372e47d", + "url": "https://api.github.com/repos/symfony/asset/zipball/6ef0f9f352f90c469e8b363ebc038d81a7198873", + "reference": "6ef0f9f352f90c469e8b363ebc038d81a7198873", "shasum": "" }, "require": { @@ -4920,7 +4921,7 @@ "description": "Manages URL generation and versioning of web assets such as CSS stylesheets, JavaScript files and image files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/asset/tree/v4.4.40" + "source": "https://github.com/symfony/asset/tree/v4.4.46" }, "funding": [ { @@ -4936,20 +4937,20 @@ "type": "tidelift" } ], - "time": "2022-03-07T18:38:28+00:00" + "time": "2022-08-30T22:05:24+00:00" }, { "name": "symfony/cache", - "version": "v4.4.44", + "version": "v4.4.46", "source": { "type": "git", "url": "https://github.com/symfony/cache.git", - "reference": "db611fb1b86e2223d406c5bf3d813536c95de7ce" + "reference": "f59de59d747fbb55c9bd148c092de4e52b2054c8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache/zipball/db611fb1b86e2223d406c5bf3d813536c95de7ce", - "reference": "db611fb1b86e2223d406c5bf3d813536c95de7ce", + "url": "https://api.github.com/repos/symfony/cache/zipball/f59de59d747fbb55c9bd148c092de4e52b2054c8", + "reference": "f59de59d747fbb55c9bd148c092de4e52b2054c8", "shasum": "" }, "require": { @@ -5008,14 +5009,14 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Provides an extended PSR-6, PSR-16 (and tags) implementation", + "description": "Provides extended PSR-6, PSR-16 (and tags) implementations", "homepage": "https://symfony.com", "keywords": [ "caching", "psr6" ], "support": { - "source": "https://github.com/symfony/cache/tree/v4.4.44" + "source": "https://github.com/symfony/cache/tree/v4.4.46" }, "funding": [ { @@ -5031,7 +5032,7 @@ "type": "tidelift" } ], - "time": "2022-07-20T09:59:04+00:00" + "time": "2022-09-06T07:28:32+00:00" }, { "name": "symfony/cache-contracts", @@ -5192,16 +5193,16 @@ }, { "name": "symfony/console", - "version": "v4.4.45", + "version": "v4.4.47", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "28b77970939500fb04180166a1f716e75a871ef8" + "reference": "4f40012db8d55c956406890b5720f686fee7f7b7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/28b77970939500fb04180166a1f716e75a871ef8", - "reference": "28b77970939500fb04180166a1f716e75a871ef8", + "url": "https://api.github.com/repos/symfony/console/zipball/4f40012db8d55c956406890b5720f686fee7f7b7", + "reference": "4f40012db8d55c956406890b5720f686fee7f7b7", "shasum": "" }, "require": { @@ -5262,7 +5263,7 @@ "description": "Eases the creation of beautiful and testable command line interfaces", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/console/tree/v4.4.45" + "source": "https://github.com/symfony/console/tree/v4.4.47" }, "funding": [ { @@ -5278,7 +5279,7 @@ "type": "tidelift" } ], - "time": "2022-08-17T14:50:19+00:00" + "time": "2022-10-04T05:58:30+00:00" }, { "name": "symfony/css-selector", @@ -5570,16 +5571,16 @@ }, { "name": "symfony/doctrine-bridge", - "version": "v4.4.44", + "version": "v4.4.46", "source": { "type": "git", "url": "https://github.com/symfony/doctrine-bridge.git", - "reference": "5d5a797a5bb03b68bdb62d6d16e7d599769f9bcb" + "reference": "49a19ea3ce2508077fb9a2bf9adfbed3485aada6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/5d5a797a5bb03b68bdb62d6d16e7d599769f9bcb", - "reference": "5d5a797a5bb03b68bdb62d6d16e7d599769f9bcb", + "url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/49a19ea3ce2508077fb9a2bf9adfbed3485aada6", + "reference": "49a19ea3ce2508077fb9a2bf9adfbed3485aada6", "shasum": "" }, "require": { @@ -5660,7 +5661,7 @@ "description": "Provides integration for Doctrine with various Symfony components", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/doctrine-bridge/tree/v4.4.44" + "source": "https://github.com/symfony/doctrine-bridge/tree/v4.4.46" }, "funding": [ { @@ -5676,7 +5677,7 @@ "type": "tidelift" } ], - "time": "2022-07-20T09:59:04+00:00" + "time": "2022-09-06T11:08:20+00:00" }, { "name": "symfony/dotenv", @@ -5980,16 +5981,16 @@ }, { "name": "symfony/expression-language", - "version": "v4.4.44", + "version": "v4.4.47", "source": { "type": "git", "url": "https://github.com/symfony/expression-language.git", - "reference": "13f0e1fd96066299eb39c87473446805fcf57c41" + "reference": "e4964c7636e19f6008660f450c09121c80c2a7b9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/expression-language/zipball/13f0e1fd96066299eb39c87473446805fcf57c41", - "reference": "13f0e1fd96066299eb39c87473446805fcf57c41", + "url": "https://api.github.com/repos/symfony/expression-language/zipball/e4964c7636e19f6008660f450c09121c80c2a7b9", + "reference": "e4964c7636e19f6008660f450c09121c80c2a7b9", "shasum": "" }, "require": { @@ -6023,7 +6024,7 @@ "description": "Provides an engine that can compile and evaluate expressions", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/expression-language/tree/v4.4.44" + "source": "https://github.com/symfony/expression-language/tree/v4.4.47" }, "funding": [ { @@ -6039,7 +6040,7 @@ "type": "tidelift" } ], - "time": "2022-07-20T09:59:04+00:00" + "time": "2022-10-03T15:15:11+00:00" }, { "name": "symfony/filesystem", @@ -6233,16 +6234,16 @@ }, { "name": "symfony/form", - "version": "v4.4.45", + "version": "v4.4.46", "source": { "type": "git", "url": "https://github.com/symfony/form.git", - "reference": "5f91e3233d03f44c3a2eee3407f38a48dcf70e0b" + "reference": "e3f321b14e46f1f92aa6571dba375f4ac3f63656" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/form/zipball/5f91e3233d03f44c3a2eee3407f38a48dcf70e0b", - "reference": "5f91e3233d03f44c3a2eee3407f38a48dcf70e0b", + "url": "https://api.github.com/repos/symfony/form/zipball/e3f321b14e46f1f92aa6571dba375f4ac3f63656", + "reference": "e3f321b14e46f1f92aa6571dba375f4ac3f63656", "shasum": "" }, "require": { @@ -6311,7 +6312,7 @@ "description": "Allows to easily create, process and reuse HTML forms", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/form/tree/v4.4.45" + "source": "https://github.com/symfony/form/tree/v4.4.46" }, "funding": [ { @@ -6327,20 +6328,20 @@ "type": "tidelift" } ], - "time": "2022-08-05T12:07:50+00:00" + "time": "2022-08-30T11:56:56+00:00" }, { "name": "symfony/framework-bundle", - "version": "v4.4.45", + "version": "v4.4.47", "source": { "type": "git", "url": "https://github.com/symfony/framework-bundle.git", - "reference": "bd7d15b5412d6414036cc5fd6c562202ceac9daf" + "reference": "5b8b76e374032b34475ccf8a90c8cef06f49441a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/bd7d15b5412d6414036cc5fd6c562202ceac9daf", - "reference": "bd7d15b5412d6414036cc5fd6c562202ceac9daf", + "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/5b8b76e374032b34475ccf8a90c8cef06f49441a", + "reference": "5b8b76e374032b34475ccf8a90c8cef06f49441a", "shasum": "" }, "require": { @@ -6457,7 +6458,7 @@ "description": "Provides a tight integration between Symfony components and the Symfony full-stack framework", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/framework-bundle/tree/v4.4.45" + "source": "https://github.com/symfony/framework-bundle/tree/v4.4.47" }, "funding": [ { @@ -6473,7 +6474,7 @@ "type": "tidelift" } ], - "time": "2022-08-26T05:59:54+00:00" + "time": "2022-10-03T15:15:11+00:00" }, { "name": "symfony/google-mailer", @@ -6539,16 +6540,16 @@ }, { "name": "symfony/http-client", - "version": "v4.4.45", + "version": "v4.4.47", "source": { "type": "git", "url": "https://github.com/symfony/http-client.git", - "reference": "9f9dd96f2ab29eec1a56ad7593c594075e5b368d" + "reference": "a3cc0a6e73a40f8ea3424a4ab528209fc4f3c272" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client/zipball/9f9dd96f2ab29eec1a56ad7593c594075e5b368d", - "reference": "9f9dd96f2ab29eec1a56ad7593c594075e5b368d", + "url": "https://api.github.com/repos/symfony/http-client/zipball/a3cc0a6e73a40f8ea3424a4ab528209fc4f3c272", + "reference": "a3cc0a6e73a40f8ea3424a4ab528209fc4f3c272", "shasum": "" }, "require": { @@ -6600,7 +6601,7 @@ "description": "Provides powerful methods to fetch HTTP resources synchronously or asynchronously", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-client/tree/v4.4.45" + "source": "https://github.com/symfony/http-client/tree/v4.4.47" }, "funding": [ { @@ -6616,7 +6617,7 @@ "type": "tidelift" } ], - "time": "2022-08-02T07:15:06+00:00" + "time": "2022-10-07T09:30:05+00:00" }, { "name": "symfony/http-client-contracts", @@ -6698,16 +6699,16 @@ }, { "name": "symfony/http-foundation", - "version": "v4.4.45", + "version": "v4.4.47", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "b2f2e3cb66349d89cb46c939cea03c62ad71cf00" + "reference": "7eea76ae186c68466e7676e62812ce2769f96811" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/b2f2e3cb66349d89cb46c939cea03c62ad71cf00", - "reference": "b2f2e3cb66349d89cb46c939cea03c62ad71cf00", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/7eea76ae186c68466e7676e62812ce2769f96811", + "reference": "7eea76ae186c68466e7676e62812ce2769f96811", "shasum": "" }, "require": { @@ -6746,7 +6747,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v4.4.45" + "source": "https://github.com/symfony/http-foundation/tree/v4.4.47" }, "funding": [ { @@ -6762,20 +6763,20 @@ "type": "tidelift" } ], - "time": "2022-08-17T15:29:03+00:00" + "time": "2022-10-01T21:39:02+00:00" }, { "name": "symfony/http-kernel", - "version": "v4.4.45", + "version": "v4.4.47", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "4f2d38e9a3c6997ea0886ede5aaf337dfd0fc938" + "reference": "91cf5dbc9ea4d902470e596246a736179acfb79d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/4f2d38e9a3c6997ea0886ede5aaf337dfd0fc938", - "reference": "4f2d38e9a3c6997ea0886ede5aaf337dfd0fc938", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/91cf5dbc9ea4d902470e596246a736179acfb79d", + "reference": "91cf5dbc9ea4d902470e596246a736179acfb79d", "shasum": "" }, "require": { @@ -6850,7 +6851,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v4.4.45" + "source": "https://github.com/symfony/http-kernel/tree/v4.4.47" }, "funding": [ { @@ -6866,7 +6867,7 @@ "type": "tidelift" } ], - "time": "2022-08-26T14:34:48+00:00" + "time": "2022-10-12T07:05:45+00:00" }, { "name": "symfony/inflector", @@ -6942,16 +6943,16 @@ }, { "name": "symfony/intl", - "version": "v4.4.44", + "version": "v4.4.47", "source": { "type": "git", "url": "https://github.com/symfony/intl.git", - "reference": "834ba2af906d8e3531afcad9c13f4c43c5935592" + "reference": "f1d0f9d91ab482d33423b788999fbb43c34a9a59" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/intl/zipball/834ba2af906d8e3531afcad9c13f4c43c5935592", - "reference": "834ba2af906d8e3531afcad9c13f4c43c5935592", + "url": "https://api.github.com/repos/symfony/intl/zipball/f1d0f9d91ab482d33423b788999fbb43c34a9a59", + "reference": "f1d0f9d91ab482d33423b788999fbb43c34a9a59", "shasum": "" }, "require": { @@ -7010,7 +7011,7 @@ "localization" ], "support": { - "source": "https://github.com/symfony/intl/tree/v4.4.44" + "source": "https://github.com/symfony/intl/tree/v4.4.47" }, "funding": [ { @@ -7026,7 +7027,7 @@ "type": "tidelift" } ], - "time": "2022-07-20T09:59:04+00:00" + "time": "2022-10-03T15:15:11+00:00" }, { "name": "symfony/mailchimp-mailer", @@ -7095,16 +7096,16 @@ }, { "name": "symfony/mailer", - "version": "v4.4.45", + "version": "v4.4.46", "source": { "type": "git", "url": "https://github.com/symfony/mailer.git", - "reference": "f1d82847aa98972aada1ed4a0a3bdb6b93c31db1" + "reference": "877cfb31a1589dcfee525ce82475f76ef20fbb30" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mailer/zipball/f1d82847aa98972aada1ed4a0a3bdb6b93c31db1", - "reference": "f1d82847aa98972aada1ed4a0a3bdb6b93c31db1", + "url": "https://api.github.com/repos/symfony/mailer/zipball/877cfb31a1589dcfee525ce82475f76ef20fbb30", + "reference": "877cfb31a1589dcfee525ce82475f76ef20fbb30", "shasum": "" }, "require": { @@ -7156,7 +7157,7 @@ "description": "Helps sending emails", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/mailer/tree/v4.4.45" + "source": "https://github.com/symfony/mailer/tree/v4.4.46" }, "funding": [ { @@ -7172,7 +7173,7 @@ "type": "tidelift" } ], - "time": "2022-08-02T17:05:58+00:00" + "time": "2022-08-27T06:29:57+00:00" }, { "name": "symfony/mailgun-mailer", @@ -7241,16 +7242,16 @@ }, { "name": "symfony/mime", - "version": "v4.4.45", + "version": "v4.4.47", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "44d515bb6add9828efe6a9e176483f6b13b17367" + "reference": "0eaf33cd6d1b3eaa50e7bc48b17f6e45789df35d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/44d515bb6add9828efe6a9e176483f6b13b17367", - "reference": "44d515bb6add9828efe6a9e176483f6b13b17367", + "url": "https://api.github.com/repos/symfony/mime/zipball/0eaf33cd6d1b3eaa50e7bc48b17f6e45789df35d", + "reference": "0eaf33cd6d1b3eaa50e7bc48b17f6e45789df35d", "shasum": "" }, "require": { @@ -7297,7 +7298,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v4.4.45" + "source": "https://github.com/symfony/mime/tree/v4.4.47" }, "funding": [ { @@ -7313,7 +7314,7 @@ "type": "tidelift" } ], - "time": "2022-08-18T21:14:46+00:00" + "time": "2022-10-03T15:15:11+00:00" }, { "name": "symfony/monolog-bridge", @@ -8434,16 +8435,16 @@ }, { "name": "symfony/property-info", - "version": "v4.4.44", + "version": "v4.4.47", "source": { "type": "git", "url": "https://github.com/symfony/property-info.git", - "reference": "442d69db54b0549ef7478a85275bea603230070f" + "reference": "71f4705b0c74d70bf043236a360e32fbdd2dd1c0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/property-info/zipball/442d69db54b0549ef7478a85275bea603230070f", - "reference": "442d69db54b0549ef7478a85275bea603230070f", + "url": "https://api.github.com/repos/symfony/property-info/zipball/71f4705b0c74d70bf043236a360e32fbdd2dd1c0", + "reference": "71f4705b0c74d70bf043236a360e32fbdd2dd1c0", "shasum": "" }, "require": { @@ -8503,7 +8504,7 @@ "validator" ], "support": { - "source": "https://github.com/symfony/property-info/tree/v4.4.44" + "source": "https://github.com/symfony/property-info/tree/v4.4.47" }, "funding": [ { @@ -8519,7 +8520,7 @@ "type": "tidelift" } ], - "time": "2022-07-18T08:30:40+00:00" + "time": "2022-10-01T22:05:32+00:00" }, { "name": "symfony/routing", @@ -8708,16 +8709,16 @@ }, { "name": "symfony/security-core", - "version": "v4.4.44", + "version": "v4.4.47", "source": { "type": "git", "url": "https://github.com/symfony/security-core.git", - "reference": "e9a969b5e391d0983d7766503e22b481cb4c7338" + "reference": "4e33dc288158230edb78f35e929221c946cf2c5b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-core/zipball/e9a969b5e391d0983d7766503e22b481cb4c7338", - "reference": "e9a969b5e391d0983d7766503e22b481cb4c7338", + "url": "https://api.github.com/repos/symfony/security-core/zipball/4e33dc288158230edb78f35e929221c946cf2c5b", + "reference": "4e33dc288158230edb78f35e929221c946cf2c5b", "shasum": "" }, "require": { @@ -8775,7 +8776,7 @@ "description": "Symfony Security Component - Core Library", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/security-core/tree/v4.4.44" + "source": "https://github.com/symfony/security-core/tree/v4.4.47" }, "funding": [ { @@ -8791,7 +8792,7 @@ "type": "tidelift" } ], - "time": "2022-07-20T09:59:04+00:00" + "time": "2022-10-01T17:13:09+00:00" }, { "name": "symfony/security-csrf", @@ -8867,16 +8868,16 @@ }, { "name": "symfony/security-guard", - "version": "v4.4.37", + "version": "v4.4.46", "source": { "type": "git", "url": "https://github.com/symfony/security-guard.git", - "reference": "cf8922b164e1659726c8852663eaaa593eef668c" + "reference": "f199eb1b19db11ce254b891580728c45a7ccacfd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-guard/zipball/cf8922b164e1659726c8852663eaaa593eef668c", - "reference": "cf8922b164e1659726c8852663eaaa593eef668c", + "url": "https://api.github.com/repos/symfony/security-guard/zipball/f199eb1b19db11ce254b891580728c45a7ccacfd", + "reference": "f199eb1b19db11ce254b891580728c45a7ccacfd", "shasum": "" }, "require": { @@ -8913,7 +8914,7 @@ "description": "Symfony Security Component - Guard", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/security-guard/tree/v4.4.37" + "source": "https://github.com/symfony/security-guard/tree/v4.4.46" }, "funding": [ { @@ -8929,7 +8930,7 @@ "type": "tidelift" } ], - "time": "2022-01-02T09:41:36+00:00" + "time": "2022-09-23T06:06:49+00:00" }, { "name": "symfony/security-http", @@ -9077,16 +9078,16 @@ }, { "name": "symfony/serializer", - "version": "v4.4.45", + "version": "v4.4.47", "source": { "type": "git", "url": "https://github.com/symfony/serializer.git", - "reference": "d19621a350491f76e2faed2afb982e0706f63252" + "reference": "6e01d63c55657930a6de03d6e36aae50af98888d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/serializer/zipball/d19621a350491f76e2faed2afb982e0706f63252", - "reference": "d19621a350491f76e2faed2afb982e0706f63252", + "url": "https://api.github.com/repos/symfony/serializer/zipball/6e01d63c55657930a6de03d6e36aae50af98888d", + "reference": "6e01d63c55657930a6de03d6e36aae50af98888d", "shasum": "" }, "require": { @@ -9151,7 +9152,7 @@ "description": "Handles serializing and deserializing data structures, including object graphs, into array structures or other formats like XML and JSON.", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/serializer/tree/v4.4.45" + "source": "https://github.com/symfony/serializer/tree/v4.4.47" }, "funding": [ { @@ -9167,7 +9168,7 @@ "type": "tidelift" } ], - "time": "2022-08-17T14:28:21+00:00" + "time": "2022-09-19T08:38:33+00:00" }, { "name": "symfony/service-contracts", @@ -9254,22 +9255,25 @@ }, { "name": "symfony/stopwatch", - "version": "v4.4.38", + "version": "v4.4.46", "source": { "type": "git", "url": "https://github.com/symfony/stopwatch.git", - "reference": "7f4f5a8122f7530d688cc9edf2f8c9261552fa2d" + "reference": "757660703fbd139eea0001b759c6c3bf5bc3ea52" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/stopwatch/zipball/7f4f5a8122f7530d688cc9edf2f8c9261552fa2d", - "reference": "7f4f5a8122f7530d688cc9edf2f8c9261552fa2d", + "url": "https://api.github.com/repos/symfony/stopwatch/zipball/757660703fbd139eea0001b759c6c3bf5bc3ea52", + "reference": "757660703fbd139eea0001b759c6c3bf5bc3ea52", "shasum": "" }, "require": { "php": ">=7.1.3", "symfony/service-contracts": "^1.0|^2" }, + "require-dev": { + "symfony/polyfill-php72": "~1.5" + }, "type": "library", "autoload": { "psr-4": { @@ -9296,7 +9300,7 @@ "description": "Provides a way to profile code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/stopwatch/tree/v4.4.38" + "source": "https://github.com/symfony/stopwatch/tree/v4.4.46" }, "funding": [ { @@ -9312,20 +9316,20 @@ "type": "tidelift" } ], - "time": "2022-02-18T15:34:20+00:00" + "time": "2022-09-28T12:53:24+00:00" }, { "name": "symfony/string", - "version": "v5.4.12", + "version": "v5.4.14", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "2fc515e512d721bf31ea76bd02fe23ada4640058" + "reference": "089e7237497fae7a9c404d0c3aeb8db3254733e4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/2fc515e512d721bf31ea76bd02fe23ada4640058", - "reference": "2fc515e512d721bf31ea76bd02fe23ada4640058", + "url": "https://api.github.com/repos/symfony/string/zipball/089e7237497fae7a9c404d0c3aeb8db3254733e4", + "reference": "089e7237497fae7a9c404d0c3aeb8db3254733e4", "shasum": "" }, "require": { @@ -9382,7 +9386,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v5.4.12" + "source": "https://github.com/symfony/string/tree/v5.4.14" }, "funding": [ { @@ -9398,20 +9402,20 @@ "type": "tidelift" } ], - "time": "2022-08-12T17:03:11+00:00" + "time": "2022-10-05T15:16:54+00:00" }, { "name": "symfony/translation", - "version": "v4.4.45", + "version": "v4.4.47", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "4e6b4c0dbeb04d6f004ed7f43eb0905ce8396def" + "reference": "45036b1d53accc48fe9bab71ccd86d57eba0dd94" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/4e6b4c0dbeb04d6f004ed7f43eb0905ce8396def", - "reference": "4e6b4c0dbeb04d6f004ed7f43eb0905ce8396def", + "url": "https://api.github.com/repos/symfony/translation/zipball/45036b1d53accc48fe9bab71ccd86d57eba0dd94", + "reference": "45036b1d53accc48fe9bab71ccd86d57eba0dd94", "shasum": "" }, "require": { @@ -9471,7 +9475,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v4.4.45" + "source": "https://github.com/symfony/translation/tree/v4.4.47" }, "funding": [ { @@ -9487,7 +9491,7 @@ "type": "tidelift" } ], - "time": "2022-08-02T12:44:49+00:00" + "time": "2022-10-03T15:15:11+00:00" }, { "name": "symfony/translation-contracts", @@ -9774,16 +9778,16 @@ }, { "name": "symfony/uid", - "version": "v5.4.11", + "version": "v5.4.13", "source": { "type": "git", "url": "https://github.com/symfony/uid.git", - "reference": "2120eba9abf35d30db43ee2f9f2b3723cf3a4479" + "reference": "7e727b75ee099d530d1e93ed0897a0d89c146d16" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/uid/zipball/2120eba9abf35d30db43ee2f9f2b3723cf3a4479", - "reference": "2120eba9abf35d30db43ee2f9f2b3723cf3a4479", + "url": "https://api.github.com/repos/symfony/uid/zipball/7e727b75ee099d530d1e93ed0897a0d89c146d16", + "reference": "7e727b75ee099d530d1e93ed0897a0d89c146d16", "shasum": "" }, "require": { @@ -9828,7 +9832,7 @@ "uuid" ], "support": { - "source": "https://github.com/symfony/uid/tree/v5.4.11" + "source": "https://github.com/symfony/uid/tree/v5.4.13" }, "funding": [ { @@ -9844,20 +9848,20 @@ "type": "tidelift" } ], - "time": "2022-07-20T13:00:38+00:00" + "time": "2022-09-09T09:04:10+00:00" }, { "name": "symfony/validator", - "version": "v4.4.45", + "version": "v4.4.47", "source": { "type": "git", "url": "https://github.com/symfony/validator.git", - "reference": "06db9bfca8fefea4dfe8e804bbcd0aa79a414d0c" + "reference": "37456082bb034cb5f2d8602471a0de6c448535b8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/validator/zipball/06db9bfca8fefea4dfe8e804bbcd0aa79a414d0c", - "reference": "06db9bfca8fefea4dfe8e804bbcd0aa79a414d0c", + "url": "https://api.github.com/repos/symfony/validator/zipball/37456082bb034cb5f2d8602471a0de6c448535b8", + "reference": "37456082bb034cb5f2d8602471a0de6c448535b8", "shasum": "" }, "require": { @@ -9934,7 +9938,7 @@ "description": "Provides tools to validate values", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/validator/tree/v4.4.45" + "source": "https://github.com/symfony/validator/tree/v4.4.47" }, "funding": [ { @@ -9950,20 +9954,20 @@ "type": "tidelift" } ], - "time": "2022-08-04T16:19:35+00:00" + "time": "2022-10-01T17:13:09+00:00" }, { "name": "symfony/var-dumper", - "version": "v4.4.44", + "version": "v4.4.47", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "f19951007dae942cc79b979c1fe26bfdfbeb54ed" + "reference": "1069c7a3fca74578022fab6f81643248d02f8e63" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/f19951007dae942cc79b979c1fe26bfdfbeb54ed", - "reference": "f19951007dae942cc79b979c1fe26bfdfbeb54ed", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/1069c7a3fca74578022fab6f81643248d02f8e63", + "reference": "1069c7a3fca74578022fab6f81643248d02f8e63", "shasum": "" }, "require": { @@ -10023,7 +10027,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v4.4.44" + "source": "https://github.com/symfony/var-dumper/tree/v4.4.47" }, "funding": [ { @@ -10039,7 +10043,7 @@ "type": "tidelift" } ], - "time": "2022-07-20T09:59:04+00:00" + "time": "2022-10-03T15:15:11+00:00" }, { "name": "symfony/var-exporter", @@ -10116,16 +10120,16 @@ }, { "name": "symfony/webpack-encore-bundle", - "version": "v1.15.1", + "version": "v1.16.0", "source": { "type": "git", "url": "https://github.com/symfony/webpack-encore-bundle.git", - "reference": "718673b1e758533614190ae74d07305a72bc66a9" + "reference": "bb399930c0299866258b616a74a27b50b94c5d45" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/webpack-encore-bundle/zipball/718673b1e758533614190ae74d07305a72bc66a9", - "reference": "718673b1e758533614190ae74d07305a72bc66a9", + "url": "https://api.github.com/repos/symfony/webpack-encore-bundle/zipball/bb399930c0299866258b616a74a27b50b94c5d45", + "reference": "bb399930c0299866258b616a74a27b50b94c5d45", "shasum": "" }, "require": { @@ -10169,7 +10173,7 @@ "description": "Integration with your Symfony app & Webpack Encore!", "support": { "issues": "https://github.com/symfony/webpack-encore-bundle/issues", - "source": "https://github.com/symfony/webpack-encore-bundle/tree/v1.15.1" + "source": "https://github.com/symfony/webpack-encore-bundle/tree/v1.16.0" }, "funding": [ { @@ -10185,7 +10189,7 @@ "type": "tidelift" } ], - "time": "2022-07-13T17:07:35+00:00" + "time": "2022-10-18T15:21:06+00:00" }, { "name": "symfony/yaml", @@ -11800,16 +11804,16 @@ }, { "name": "phpstan/phpstan", - "version": "1.8.6", + "version": "1.8.11", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "c386ab2741e64cc9e21729f891b28b2b10fe6618" + "reference": "46e223dd68a620da18855c23046ddb00940b4014" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/c386ab2741e64cc9e21729f891b28b2b10fe6618", - "reference": "c386ab2741e64cc9e21729f891b28b2b10fe6618", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/46e223dd68a620da18855c23046ddb00940b4014", + "reference": "46e223dd68a620da18855c23046ddb00940b4014", "shasum": "" }, "require": { @@ -11839,7 +11843,7 @@ ], "support": { "issues": "https://github.com/phpstan/phpstan/issues", - "source": "https://github.com/phpstan/phpstan/tree/1.8.6" + "source": "https://github.com/phpstan/phpstan/tree/1.8.11" }, "funding": [ { @@ -11855,25 +11859,25 @@ "type": "tidelift" } ], - "time": "2022-09-23T09:54:39+00:00" + "time": "2022-10-24T15:45:13+00:00" }, { "name": "phpstan/phpstan-doctrine", - "version": "1.3.14", + "version": "1.3.19", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan-doctrine.git", - "reference": "bfefffeee7ea770090c99934509f29ced1b29c3f" + "reference": "45b6fe98ec8b624ef7869683f27ec780d5cb7cf0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan-doctrine/zipball/bfefffeee7ea770090c99934509f29ced1b29c3f", - "reference": "bfefffeee7ea770090c99934509f29ced1b29c3f", + "url": "https://api.github.com/repos/phpstan/phpstan-doctrine/zipball/45b6fe98ec8b624ef7869683f27ec780d5cb7cf0", + "reference": "45b6fe98ec8b624ef7869683f27ec780d5cb7cf0", "shasum": "" }, "require": { "php": "^7.2 || ^8.0", - "phpstan/phpstan": "^1.8.3" + "phpstan/phpstan": "^1.8.11" }, "conflict": { "doctrine/collections": "<1.0", @@ -11922,27 +11926,27 @@ "description": "Doctrine extensions for PHPStan", "support": { "issues": "https://github.com/phpstan/phpstan-doctrine/issues", - "source": "https://github.com/phpstan/phpstan-doctrine/tree/1.3.14" + "source": "https://github.com/phpstan/phpstan-doctrine/tree/1.3.19" }, - "time": "2022-09-21T13:08:55+00:00" + "time": "2022-10-25T11:34:22+00:00" }, { "name": "phpstan/phpstan-phpunit", - "version": "1.1.1", + "version": "1.1.3", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan-phpunit.git", - "reference": "4a3c437c09075736285d1cabb5c75bf27ed0bc84" + "reference": "6b93db7fae6d6f3e81a5b4297f93af6fe4146785" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan-phpunit/zipball/4a3c437c09075736285d1cabb5c75bf27ed0bc84", - "reference": "4a3c437c09075736285d1cabb5c75bf27ed0bc84", + "url": "https://api.github.com/repos/phpstan/phpstan-phpunit/zipball/6b93db7fae6d6f3e81a5b4297f93af6fe4146785", + "reference": "6b93db7fae6d6f3e81a5b4297f93af6fe4146785", "shasum": "" }, "require": { "php": "^7.2 || ^8.0", - "phpstan/phpstan": "^1.5.0" + "phpstan/phpstan": "^1.8.0" }, "conflict": { "phpunit/phpunit": "<7.0" @@ -11974,22 +11978,22 @@ "description": "PHPUnit extensions and rules for PHPStan", "support": { "issues": "https://github.com/phpstan/phpstan-phpunit/issues", - "source": "https://github.com/phpstan/phpstan-phpunit/tree/1.1.1" + "source": "https://github.com/phpstan/phpstan-phpunit/tree/1.1.3" }, - "time": "2022-04-20T15:24:25+00:00" + "time": "2022-10-24T11:38:17+00:00" }, { "name": "phpstan/phpstan-symfony", - "version": "1.2.13", + "version": "1.2.14", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan-symfony.git", - "reference": "016e441a19a2af79ca0c60920ba0d61747b4e855" + "reference": "f7dd737329504115adaa987697a759a66dd2ee8a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan-symfony/zipball/016e441a19a2af79ca0c60920ba0d61747b4e855", - "reference": "016e441a19a2af79ca0c60920ba0d61747b4e855", + "url": "https://api.github.com/repos/phpstan/phpstan-symfony/zipball/f7dd737329504115adaa987697a759a66dd2ee8a", + "reference": "f7dd737329504115adaa987697a759a66dd2ee8a", "shasum": "" }, "require": { @@ -12045,9 +12049,9 @@ "description": "Symfony Framework extensions and rules for PHPStan", "support": { "issues": "https://github.com/phpstan/phpstan-symfony/issues", - "source": "https://github.com/phpstan/phpstan-symfony/tree/1.2.13" + "source": "https://github.com/phpstan/phpstan-symfony/tree/1.2.14" }, - "time": "2022-08-28T13:34:45+00:00" + "time": "2022-10-05T11:19:29+00:00" }, { "name": "phpunit/php-code-coverage", @@ -13738,16 +13742,16 @@ }, { "name": "symfony/phpunit-bridge", - "version": "v4.4.44", + "version": "v4.4.47", "source": { "type": "git", "url": "https://github.com/symfony/phpunit-bridge.git", - "reference": "03ee09e2a8d6c3a7d2502c5e47d1468b06583b95" + "reference": "75857fc94e9cb68e7ab32e7a962750f73ce40396" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/03ee09e2a8d6c3a7d2502c5e47d1468b06583b95", - "reference": "03ee09e2a8d6c3a7d2502c5e47d1468b06583b95", + "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/75857fc94e9cb68e7ab32e7a962750f73ce40396", + "reference": "75857fc94e9cb68e7ab32e7a962750f73ce40396", "shasum": "" }, "require": { @@ -13800,7 +13804,7 @@ "description": "Provides utilities for PHPUnit, especially user deprecation notices management", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/phpunit-bridge/tree/v4.4.44" + "source": "https://github.com/symfony/phpunit-bridge/tree/v4.4.47" }, "funding": [ { @@ -13816,7 +13820,7 @@ "type": "tidelift" } ], - "time": "2022-07-27T16:05:11+00:00" + "time": "2022-10-03T15:15:11+00:00" }, { "name": "symfony/process", @@ -13882,16 +13886,16 @@ }, { "name": "symfony/web-profiler-bundle", - "version": "v4.4.44", + "version": "v4.4.47", "source": { "type": "git", "url": "https://github.com/symfony/web-profiler-bundle.git", - "reference": "346128217ae50ac62d32b2d42257b90598dc9fc2" + "reference": "c173202d8ce82fde63ec0953eaffdf065018b8f4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/346128217ae50ac62d32b2d42257b90598dc9fc2", - "reference": "346128217ae50ac62d32b2d42257b90598dc9fc2", + "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/c173202d8ce82fde63ec0953eaffdf065018b8f4", + "reference": "c173202d8ce82fde63ec0953eaffdf065018b8f4", "shasum": "" }, "require": { @@ -13941,7 +13945,7 @@ "description": "Provides a development tool that gives detailed information about the execution of any request", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/web-profiler-bundle/tree/v4.4.44" + "source": "https://github.com/symfony/web-profiler-bundle/tree/v4.4.47" }, "funding": [ { @@ -13957,7 +13961,7 @@ "type": "tidelift" } ], - "time": "2022-07-20T09:59:04+00:00" + "time": "2022-09-29T14:10:52+00:00" }, { "name": "theseer/tokenizer", @@ -14022,6 +14026,7 @@ "ext-json": "*", "ext-mbstring": "*", "ext-pdo": "*", + "ext-tokenizer": "*", "ext-xml": "*", "ext-xsl": "*", "ext-zip": "*" diff --git a/src/Configuration/SystemConfiguration.php b/src/Configuration/SystemConfiguration.php index cf593780..2cdf169b 100644 --- a/src/Configuration/SystemConfiguration.php +++ b/src/Configuration/SystemConfiguration.php @@ -423,4 +423,11 @@ class SystemConfiguration implements SystemBundleConfiguration { return (bool) $this->find('theme.tags_create'); } + + // ========== Projects ========== + + public function isProjectCopyTeamsOnCreate(): bool + { + return $this->find('project.copy_teams_on_create') === true; + } } diff --git a/src/Controller/ProjectController.php b/src/Controller/ProjectController.php index b1918e3c..d816c755 100644 --- a/src/Controller/ProjectController.php +++ b/src/Controller/ProjectController.php @@ -38,6 +38,7 @@ use App\Repository\ProjectRepository; use App\Repository\Query\ActivityQuery; use App\Repository\Query\ProjectQuery; use App\Repository\TeamRepository; +use App\Utils\Context; use Pagerfanta\Pagerfanta; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Security; use Symfony\Component\EventDispatcher\EventDispatcherInterface; @@ -166,7 +167,7 @@ final class ProjectController extends AbstractController if ($editForm->isSubmitted() && $editForm->isValid()) { try { - $this->projectService->saveNewProject($project); + $this->projectService->saveNewProject($project, new Context($this->getUser())); $this->flashSuccess('action.update.success'); return $this->redirectToRoute('project_details', ['id' => $project->getId()]); diff --git a/src/Controller/SystemConfigurationController.php b/src/Controller/SystemConfigurationController.php index 900e47c5..f55e1af1 100644 --- a/src/Controller/SystemConfigurationController.php +++ b/src/Controller/SystemConfigurationController.php @@ -533,6 +533,11 @@ final class SystemConfigurationController extends AbstractController ->setName('project.choice_pattern') ->setLabel('choice_pattern') ->setType(ProjectTypePatternType::class), + (new Configuration()) + ->setName('project.copy_teams_on_create') + ->setLabel('copy_teams_on_create') + ->setType(YesNoType::class) + ->setTranslationDomain('system-configuration'), ]), (new SystemConfigurationModel('activity')) ->setConfiguration([ diff --git a/src/DependencyInjection/Configuration.php b/src/DependencyInjection/Configuration.php index 4fd842b5..e2f3b085 100644 --- a/src/DependencyInjection/Configuration.php +++ b/src/DependencyInjection/Configuration.php @@ -70,6 +70,7 @@ class Configuration implements ConfigurationInterface ->append($this->getLdapNode()) ->append($this->getSamlNode()) ->append($this->getQuickEntryNode()) + ->append($this->getProjectNode()) ->end() ->end(); @@ -100,6 +101,24 @@ class Configuration implements ConfigurationInterface return $node; } + private function getProjectNode() + { + $builder = new TreeBuilder('project'); + /** @var ArrayNodeDefinition $node */ + $node = $builder->getRootNode(); + + $node + ->addDefaultsIfNotSet() + ->children() + ->booleanNode('copy_teams_on_create') + ->defaultValue(false) + ->end() + ->end() + ; + + return $node; + } + private function getTimesheetNode(): ArrayNodeDefinition { $builder = new TreeBuilder('timesheet'); diff --git a/src/Project/ProjectService.php b/src/Project/ProjectService.php index 78a976ff..7c4d9f30 100644 --- a/src/Project/ProjectService.php +++ b/src/Project/ProjectService.php @@ -9,6 +9,7 @@ namespace App\Project; +use App\Configuration\SystemConfiguration; use App\Entity\Customer; use App\Entity\Project; use App\Event\ProjectCreateEvent; @@ -18,6 +19,7 @@ use App\Event\ProjectMetaDefinitionEvent; use App\Event\ProjectUpdatePostEvent; use App\Event\ProjectUpdatePreEvent; use App\Repository\ProjectRepository; +use App\Utils\Context; use App\Validator\ValidationFailedException; use InvalidArgumentException; use Symfony\Component\EventDispatcher\EventDispatcherInterface; @@ -28,21 +30,18 @@ use Symfony\Component\Validator\Validator\ValidatorInterface; */ class ProjectService { - /** - * @var ProjectRepository - */ + private $configuration; private $repository; - /** - * @var EventDispatcherInterface - */ private $dispatcher; - /** - * @var ValidatorInterface - */ private $validator; - public function __construct(ProjectRepository $projectRepository, EventDispatcherInterface $dispatcher, ValidatorInterface $validator) - { + public function __construct( + SystemConfiguration $configuration, + ProjectRepository $projectRepository, + EventDispatcherInterface $dispatcher, + ValidatorInterface $validator + ) { + $this->configuration = $configuration; $this->repository = $projectRepository; $this->dispatcher = $dispatcher; $this->validator = $validator; @@ -62,7 +61,7 @@ class ProjectService return $project; } - public function saveNewProject(Project $project): Project + public function saveNewProject(Project $project, ?Context $context = null): Project { if (null !== $project->getId()) { throw new InvalidArgumentException('Cannot create project, already persisted'); @@ -70,6 +69,13 @@ class ProjectService $this->validateProject($project); + if ($context !== null && $this->configuration->isProjectCopyTeamsOnCreate()) { + foreach ($context->getUser()->getTeams() as $team) { + $project->addTeam($team); + $team->addProject($project); + } + } + $this->dispatcher->dispatch(new ProjectCreatePreEvent($project)); $this->repository->saveProject($project); $this->dispatcher->dispatch(new ProjectCreatePostEvent($project)); diff --git a/src/Utils/Context.php b/src/Utils/Context.php new file mode 100644 index 00000000..d3fa30de --- /dev/null +++ b/src/Utils/Context.php @@ -0,0 +1,27 @@ +user = $user; + } + + public function getUser(): User + { + return $this->user; + } +} diff --git a/tests/DependencyInjection/ConfigurationTest.php b/tests/DependencyInjection/ConfigurationTest.php index 2b25e9a4..60c48c2f 100644 --- a/tests/DependencyInjection/ConfigurationTest.php +++ b/tests/DependencyInjection/ConfigurationTest.php @@ -469,6 +469,9 @@ class ConfigurationTest extends TestCase 'recent_activity_weeks' => null, 'minimum_rows' => 3, ], + 'project' => [ + 'copy_teams_on_create' => false, + ], ]; $this->assertConfig($this->getMinConfig(), $fullDefaultConfig); diff --git a/tests/Project/ProjectServiceTest.php b/tests/Project/ProjectServiceTest.php index 1a424cb3..866c2ca1 100644 --- a/tests/Project/ProjectServiceTest.php +++ b/tests/Project/ProjectServiceTest.php @@ -9,8 +9,11 @@ namespace App\Tests\Project; +use App\Configuration\SystemConfiguration; use App\Entity\Customer; use App\Entity\Project; +use App\Entity\Team; +use App\Entity\User; use App\Event\ProjectCreateEvent; use App\Event\ProjectCreatePostEvent; use App\Event\ProjectCreatePreEvent; @@ -19,6 +22,7 @@ use App\Event\ProjectUpdatePostEvent; use App\Event\ProjectUpdatePreEvent; use App\Project\ProjectService; use App\Repository\ProjectRepository; +use App\Utils\Context; use App\Validator\ValidationFailedException; use PHPUnit\Framework\TestCase; use Symfony\Component\EventDispatcher\EventDispatcherInterface; @@ -34,11 +38,9 @@ class ProjectServiceTest extends TestCase private function getSut( ?EventDispatcherInterface $dispatcher = null, ?ValidatorInterface $validator = null, - ?ProjectRepository $repository = null + bool $copyTeamsOnCreate = false ): ProjectService { - if ($repository === null) { - $repository = $this->createMock(ProjectRepository::class); - } + $repository = $this->createMock(ProjectRepository::class); if ($dispatcher === null) { $dispatcher = $this->createMock(EventDispatcherInterface::class); @@ -49,7 +51,10 @@ class ProjectServiceTest extends TestCase $validator->method('validate')->willReturn(new ConstraintViolationList()); } - $service = new ProjectService($repository, $dispatcher, $validator); + $configuration = $this->createMock(SystemConfiguration::class); + $configuration->method('isProjectCopyTeamsOnCreate')->willReturn($copyTeamsOnCreate); + + $service = new ProjectService($configuration, $repository, $dispatcher, $validator); return $service; } @@ -64,7 +69,7 @@ class ProjectServiceTest extends TestCase $this->expectException(\InvalidArgumentException::class); $this->expectExceptionMessage('Cannot create project, already persisted'); - $sut->saveNewProject($project); + $sut->saveNewProject($project, new Context(new User())); } public function testSaveNewProjectHasValidationError() @@ -80,7 +85,7 @@ class ProjectServiceTest extends TestCase $this->expectException(ValidationFailedException::class); $this->expectExceptionMessage('Validation Failed'); - $sut->saveNewProject(new Project()); + $sut->saveNewProject(new Project(), new Context(new User())); } public function testUpdateDispatchesEvents() @@ -141,7 +146,26 @@ class ProjectServiceTest extends TestCase $sut = $this->getSut($dispatcher); $project = new Project(); - $sut->saveNewProject($project); + $sut->saveNewProject($project, new Context(new User())); + self::assertCount(0, $project->getTeams()); + } + + public function testCreateNewProjectCopiesTeam() + { + $dispatcher = $this->createMock(EventDispatcherInterface::class); + + $sut = $this->getSut($dispatcher, null, true); + + $team1 = new Team(); + $team2 = new Team(); + + $user = new User(); + $user->addTeam($team1); + $user->addTeam($team2); + + $project = new Project(); + $sut->saveNewProject($project, new Context($user)); + self::assertCount(2, $project->getTeams()); } public function testCreateNewProjectWithoutCustomer() diff --git a/tests/Repository/Query/BaseFormTypeQueryTest.php b/tests/Repository/Query/BaseFormTypeQueryTest.php index 05e6b02f..bb9f1660 100644 --- a/tests/Repository/Query/BaseFormTypeQueryTest.php +++ b/tests/Repository/Query/BaseFormTypeQueryTest.php @@ -49,6 +49,7 @@ abstract class BaseFormTypeQueryTest extends TestCase $team = new Team(); self::assertInstanceOf(BaseFormTypeQuery::class, $sut->addTeam($team)); self::assertCount(1, $sut->getTeams()); + /* @phpstan-ignore-next-line */ self::assertSame($team, $sut->getTeams()[0]); self::assertInstanceOf(BaseFormTypeQuery::class, $sut->setTeams([])); diff --git a/tests/Repository/Query/BaseQueryTest.php b/tests/Repository/Query/BaseQueryTest.php index 81aeec26..fd492aa9 100644 --- a/tests/Repository/Query/BaseQueryTest.php +++ b/tests/Repository/Query/BaseQueryTest.php @@ -119,6 +119,7 @@ class BaseQueryTest extends TestCase $team = new Team(); self::assertInstanceOf(BaseQuery::class, $sut->setTeams([$team])); self::assertEquals(1, \count($sut->getTeams())); + /* @phpstan-ignore-next-line */ self::assertSame($team, $sut->getTeams()[0]); } diff --git a/translations/system-configuration.de.xlf b/translations/system-configuration.de.xlf index 9d5d488a..68d4ba87 100644 --- a/translations/system-configuration.de.xlf +++ b/translations/system-configuration.de.xlf @@ -318,6 +318,10 @@ label.calendar.title_pattern Darstellung der Titel von Kalendereinträgen + + label.copy_teams_on_create + Übernehme Teams beim Erstellen neuer Einträge vom angemeldeten Benutzer + diff --git a/translations/system-configuration.en.xlf b/translations/system-configuration.en.xlf index a37b200b..ae37de00 100644 --- a/translations/system-configuration.en.xlf +++ b/translations/system-configuration.en.xlf @@ -318,6 +318,10 @@ label.calendar.title_pattern Display of the titles of calendar entries + + label.copy_teams_on_create + Take over teams from the logged-in user when creating new entries +