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
+