From daa5eaaa63b6bd4ef9cf4c9381f39032e8c9703e Mon Sep 17 00:00:00 2001 From: vcarroy Date: Wed, 24 Jul 2024 16:41:22 +0200 Subject: [PATCH] =?UTF-8?q?feat=20:=20Ajout=20expression=20de=20r=C3=A9ecr?= =?UTF-8?q?iture=20du=20subject=20param=C3=A9trable?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- composer.json | 1 + composer.lock | 773 ++++++++++-------- config/sql_login_configuration/sql_login.yaml | 3 +- readme.md | 1 + src/Controller/MainController.php | 16 +- .../SQLLoginConfiguration.php | 1 + src/SQLLogin/SQLLoginRequest.php | 6 + templates/login.html.twig | 2 +- 8 files changed, 447 insertions(+), 356 deletions(-) diff --git a/composer.json b/composer.json index 0bdf577..52e5f53 100644 --- a/composer.json +++ b/composer.json @@ -15,6 +15,7 @@ "symfony/console": "5.4.*", "symfony/dependency-injection": "5.4.*", "symfony/dotenv": "5.4.*", + "symfony/expression-language": "5.4.*", "symfony/flex": "^1.17|^2", "symfony/form": "5.4.*", "symfony/framework-bundle": "5.4.*", diff --git a/composer.lock b/composer.lock index 621c53c..ec1adad 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": "7dce269ca449b7de7e1bd2e23df94eab", + "content-hash": "7d46fa52cba3dcb28f7d339d548030e9", "packages": [ { "name": "clue/stream-filter", @@ -275,16 +275,16 @@ }, { "name": "guzzlehttp/promises", - "version": "2.0.2", + "version": "2.0.3", "source": { "type": "git", "url": "https://github.com/guzzle/promises.git", - "reference": "bbff78d96034045e58e13dedd6ad91b5d1253223" + "reference": "6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/bbff78d96034045e58e13dedd6ad91b5d1253223", - "reference": "bbff78d96034045e58e13dedd6ad91b5d1253223", + "url": "https://api.github.com/repos/guzzle/promises/zipball/6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8", + "reference": "6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8", "shasum": "" }, "require": { @@ -292,7 +292,7 @@ }, "require-dev": { "bamarni/composer-bin-plugin": "^1.8.2", - "phpunit/phpunit": "^8.5.36 || ^9.6.15" + "phpunit/phpunit": "^8.5.39 || ^9.6.20" }, "type": "library", "extra": { @@ -338,7 +338,7 @@ ], "support": { "issues": "https://github.com/guzzle/promises/issues", - "source": "https://github.com/guzzle/promises/tree/2.0.2" + "source": "https://github.com/guzzle/promises/tree/2.0.3" }, "funding": [ { @@ -354,20 +354,20 @@ "type": "tidelift" } ], - "time": "2023-12-03T20:19:20+00:00" + "time": "2024-07-18T10:29:17+00:00" }, { "name": "guzzlehttp/psr7", - "version": "2.6.2", + "version": "2.7.0", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", - "reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221" + "reference": "a70f5c95fb43bc83f07c9c948baa0dc1829bf201" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/45b30f99ac27b5ca93cb4831afe16285f57b8221", - "reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/a70f5c95fb43bc83f07c9c948baa0dc1829bf201", + "reference": "a70f5c95fb43bc83f07c9c948baa0dc1829bf201", "shasum": "" }, "require": { @@ -382,8 +382,8 @@ }, "require-dev": { "bamarni/composer-bin-plugin": "^1.8.2", - "http-interop/http-factory-tests": "^0.9", - "phpunit/phpunit": "^8.5.36 || ^9.6.15" + "http-interop/http-factory-tests": "0.9.0", + "phpunit/phpunit": "^8.5.39 || ^9.6.20" }, "suggest": { "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" @@ -454,7 +454,7 @@ ], "support": { "issues": "https://github.com/guzzle/psr7/issues", - "source": "https://github.com/guzzle/psr7/tree/2.6.2" + "source": "https://github.com/guzzle/psr7/tree/2.7.0" }, "funding": [ { @@ -470,7 +470,7 @@ "type": "tidelift" } ], - "time": "2023-12-03T20:05:35+00:00" + "time": "2024-07-18T11:15:46+00:00" }, { "name": "http-interop/http-factory-guzzle", @@ -1033,20 +1033,20 @@ }, { "name": "psr/cache", - "version": "1.0.1", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/php-fig/cache.git", - "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8" + "reference": "213f9dbc5b9bfbc4f8db86d2838dc968752ce13b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8", - "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8", + "url": "https://api.github.com/repos/php-fig/cache/zipball/213f9dbc5b9bfbc4f8db86d2838dc968752ce13b", + "reference": "213f9dbc5b9bfbc4f8db86d2838dc968752ce13b", "shasum": "" }, "require": { - "php": ">=5.3.0" + "php": ">=8.0.0" }, "type": "library", "extra": { @@ -1066,7 +1066,7 @@ "authors": [ { "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "homepage": "https://www.php-fig.org/" } ], "description": "Common interface for caching libraries", @@ -1076,9 +1076,9 @@ "psr-6" ], "support": { - "source": "https://github.com/php-fig/cache/tree/master" + "source": "https://github.com/php-fig/cache/tree/2.0.0" }, - "time": "2016-08-06T20:24:11+00:00" + "time": "2021-02-03T23:23:37+00:00" }, { "name": "psr/container", @@ -1232,20 +1232,20 @@ }, { "name": "psr/http-factory", - "version": "1.0.2", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/php-fig/http-factory.git", - "reference": "e616d01114759c4c489f93b099585439f795fe35" + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-factory/zipball/e616d01114759c4c489f93b099585439f795fe35", - "reference": "e616d01114759c4c489f93b099585439f795fe35", + "url": "https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a", + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a", "shasum": "" }, "require": { - "php": ">=7.0.0", + "php": ">=7.1", "psr/http-message": "^1.0 || ^2.0" }, "type": "library", @@ -1269,7 +1269,7 @@ "homepage": "https://www.php-fig.org/" } ], - "description": "Common interfaces for PSR-7 HTTP message factories", + "description": "PSR-17: Common interfaces for PSR-7 HTTP message factories", "keywords": [ "factory", "http", @@ -1281,9 +1281,9 @@ "response" ], "support": { - "source": "https://github.com/php-fig/http-factory/tree/1.0.2" + "source": "https://github.com/php-fig/http-factory" }, - "time": "2023-04-10T20:10:41+00:00" + "time": "2024-04-15T12:06:14+00:00" }, { "name": "psr/http-message", @@ -1340,30 +1340,30 @@ }, { "name": "psr/log", - "version": "1.1.4", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/php-fig/log.git", - "reference": "d49695b909c3b7628b6289db5479a1c204601f11" + "reference": "ef29f6d262798707a9edd554e2b82517ef3a9376" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11", - "reference": "d49695b909c3b7628b6289db5479a1c204601f11", + "url": "https://api.github.com/repos/php-fig/log/zipball/ef29f6d262798707a9edd554e2b82517ef3a9376", + "reference": "ef29f6d262798707a9edd554e2b82517ef3a9376", "shasum": "" }, "require": { - "php": ">=5.3.0" + "php": ">=8.0.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.1.x-dev" + "dev-master": "2.0.x-dev" } }, "autoload": { "psr-4": { - "Psr\\Log\\": "Psr/Log/" + "Psr\\Log\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -1384,9 +1384,9 @@ "psr-3" ], "support": { - "source": "https://github.com/php-fig/log/tree/1.1.4" + "source": "https://github.com/php-fig/log/tree/2.0.0" }, - "time": "2021-05-03T11:20:27+00:00" + "time": "2021-07-14T16:41:46+00:00" }, { "name": "ralouphie/getallheaders", @@ -1731,16 +1731,16 @@ }, { "name": "symfony/asset", - "version": "v5.4.35", + "version": "v5.4.40", "source": { "type": "git", "url": "https://github.com/symfony/asset.git", - "reference": "0e98032106d18e57f57176d616e3fae80db7a845" + "reference": "e5aa241b4914257164b39c3c2678b2c41b7671e3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/asset/zipball/0e98032106d18e57f57176d616e3fae80db7a845", - "reference": "0e98032106d18e57f57176d616e3fae80db7a845", + "url": "https://api.github.com/repos/symfony/asset/zipball/e5aa241b4914257164b39c3c2678b2c41b7671e3", + "reference": "e5aa241b4914257164b39c3c2678b2c41b7671e3", "shasum": "" }, "require": { @@ -1785,7 +1785,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/v5.4.35" + "source": "https://github.com/symfony/asset/tree/v5.4.40" }, "funding": [ { @@ -1801,20 +1801,20 @@ "type": "tidelift" } ], - "time": "2024-01-23T13:51:25+00:00" + "time": "2024-05-31T14:33:22+00:00" }, { "name": "symfony/cache", - "version": "v5.4.38", + "version": "v5.4.40", "source": { "type": "git", "url": "https://github.com/symfony/cache.git", - "reference": "223c3afac82e003a76931b71d77db408636a0de8" + "reference": "89005bc368ca02ed0433c592e4d27670d0844a66" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache/zipball/223c3afac82e003a76931b71d77db408636a0de8", - "reference": "223c3afac82e003a76931b71d77db408636a0de8", + "url": "https://api.github.com/repos/symfony/cache/zipball/89005bc368ca02ed0433c592e4d27670d0844a66", + "reference": "89005bc368ca02ed0433c592e4d27670d0844a66", "shasum": "" }, "require": { @@ -1843,7 +1843,7 @@ "cache/integration-tests": "dev-master", "doctrine/cache": "^1.6|^2.0", "doctrine/dbal": "^2.13.1|^3|^4", - "predis/predis": "^1.1", + "predis/predis": "^1.1|^2.0", "psr/simple-cache": "^1.0|^2.0", "symfony/config": "^4.4|^5.0|^6.0", "symfony/dependency-injection": "^4.4|^5.0|^6.0", @@ -1882,7 +1882,7 @@ "psr6" ], "support": { - "source": "https://github.com/symfony/cache/tree/v5.4.38" + "source": "https://github.com/symfony/cache/tree/v5.4.40" }, "funding": [ { @@ -1898,7 +1898,7 @@ "type": "tidelift" } ], - "time": "2024-03-19T09:55:32+00:00" + "time": "2024-05-31T14:33:22+00:00" }, { "name": "symfony/cache-contracts", @@ -1981,16 +1981,16 @@ }, { "name": "symfony/config", - "version": "v5.4.38", + "version": "v5.4.40", "source": { "type": "git", "url": "https://github.com/symfony/config.git", - "reference": "3dcd47d4bbd9fea4d1210e7a7a0a5ca02d99df14" + "reference": "d4e1db78421163b98dd9971d247fd0df4a57ee5e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/3dcd47d4bbd9fea4d1210e7a7a0a5ca02d99df14", - "reference": "3dcd47d4bbd9fea4d1210e7a7a0a5ca02d99df14", + "url": "https://api.github.com/repos/symfony/config/zipball/d4e1db78421163b98dd9971d247fd0df4a57ee5e", + "reference": "d4e1db78421163b98dd9971d247fd0df4a57ee5e", "shasum": "" }, "require": { @@ -2040,7 +2040,7 @@ "description": "Helps you find, load, combine, autofill and validate configuration values of any kind", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/config/tree/v5.4.38" + "source": "https://github.com/symfony/config/tree/v5.4.40" }, "funding": [ { @@ -2056,20 +2056,20 @@ "type": "tidelift" } ], - "time": "2024-03-22T10:04:40+00:00" + "time": "2024-05-31T14:33:22+00:00" }, { "name": "symfony/console", - "version": "v5.4.36", + "version": "v5.4.41", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "39f75d9d73d0c11952fdcecf4877b4d0f62a8f6e" + "reference": "6473d441a913cb997123b59ff2dbe3d1cf9e11ba" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/39f75d9d73d0c11952fdcecf4877b4d0f62a8f6e", - "reference": "39f75d9d73d0c11952fdcecf4877b4d0f62a8f6e", + "url": "https://api.github.com/repos/symfony/console/zipball/6473d441a913cb997123b59ff2dbe3d1cf9e11ba", + "reference": "6473d441a913cb997123b59ff2dbe3d1cf9e11ba", "shasum": "" }, "require": { @@ -2139,7 +2139,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v5.4.36" + "source": "https://github.com/symfony/console/tree/v5.4.41" }, "funding": [ { @@ -2155,20 +2155,20 @@ "type": "tidelift" } ], - "time": "2024-02-20T16:33:57+00:00" + "time": "2024-06-28T07:48:55+00:00" }, { "name": "symfony/dependency-injection", - "version": "v5.4.38", + "version": "v5.4.40", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "0ba1fa459d284a9398c71afa1cb5d13de025de17" + "reference": "408b33326496030c201b8051b003e9e8cdb2efc9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/0ba1fa459d284a9398c71afa1cb5d13de025de17", - "reference": "0ba1fa459d284a9398c71afa1cb5d13de025de17", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/408b33326496030c201b8051b003e9e8cdb2efc9", + "reference": "408b33326496030c201b8051b003e9e8cdb2efc9", "shasum": "" }, "require": { @@ -2228,7 +2228,7 @@ "description": "Allows you to standardize and centralize the way objects are constructed in your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/dependency-injection/tree/v5.4.38" + "source": "https://github.com/symfony/dependency-injection/tree/v5.4.40" }, "funding": [ { @@ -2244,29 +2244,29 @@ "type": "tidelift" } ], - "time": "2024-03-18T16:56:51+00:00" + "time": "2024-05-31T14:33:22+00:00" }, { "name": "symfony/deprecation-contracts", - "version": "v2.5.3", + "version": "v3.5.0", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "80d075412b557d41002320b96a096ca65aa2c98d" + "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/80d075412b557d41002320b96a096ca65aa2c98d", - "reference": "80d075412b557d41002320b96a096ca65aa2c98d", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1", + "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=8.1" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "2.5-dev" + "dev-main": "3.5-dev" }, "thanks": { "name": "symfony/contracts", @@ -2295,7 +2295,7 @@ "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v2.5.3" + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.0" }, "funding": [ { @@ -2311,20 +2311,20 @@ "type": "tidelift" } ], - "time": "2023-01-24T14:02:46+00:00" + "time": "2024-04-18T09:32:20+00:00" }, { "name": "symfony/dotenv", - "version": "v5.4.35", + "version": "v5.4.40", "source": { "type": "git", "url": "https://github.com/symfony/dotenv.git", - "reference": "4de488440104b99d2e7c0717ee432e760b061e32" + "reference": "3052dbf22f71e47f6ef7a5efa6aaedfe871ba35d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dotenv/zipball/4de488440104b99d2e7c0717ee432e760b061e32", - "reference": "4de488440104b99d2e7c0717ee432e760b061e32", + "url": "https://api.github.com/repos/symfony/dotenv/zipball/3052dbf22f71e47f6ef7a5efa6aaedfe871ba35d", + "reference": "3052dbf22f71e47f6ef7a5efa6aaedfe871ba35d", "shasum": "" }, "require": { @@ -2366,7 +2366,7 @@ "environment" ], "support": { - "source": "https://github.com/symfony/dotenv/tree/v5.4.35" + "source": "https://github.com/symfony/dotenv/tree/v5.4.40" }, "funding": [ { @@ -2382,20 +2382,20 @@ "type": "tidelift" } ], - "time": "2024-01-23T13:51:25+00:00" + "time": "2024-05-31T14:33:22+00:00" }, { "name": "symfony/error-handler", - "version": "v5.4.38", + "version": "v5.4.41", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "3c1fed45a12718e7e2758eef072677d01a0c91a4" + "reference": "c25da5cc2de4e6f96b3a0a2813050355a20dd0e1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/3c1fed45a12718e7e2758eef072677d01a0c91a4", - "reference": "3c1fed45a12718e7e2758eef072677d01a0c91a4", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/c25da5cc2de4e6f96b3a0a2813050355a20dd0e1", + "reference": "c25da5cc2de4e6f96b3a0a2813050355a20dd0e1", "shasum": "" }, "require": { @@ -2437,7 +2437,7 @@ "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/error-handler/tree/v5.4.38" + "source": "https://github.com/symfony/error-handler/tree/v5.4.41" }, "funding": [ { @@ -2453,20 +2453,20 @@ "type": "tidelift" } ], - "time": "2024-03-19T10:19:25+00:00" + "time": "2024-06-09T18:59:35+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v5.4.35", + "version": "v5.4.40", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "7a69a85c7ea5bdd1e875806a99c51a87d3a74b38" + "reference": "a54e2a8a114065f31020d6a89ede83e34c3b27a4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/7a69a85c7ea5bdd1e875806a99c51a87d3a74b38", - "reference": "7a69a85c7ea5bdd1e875806a99c51a87d3a74b38", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/a54e2a8a114065f31020d6a89ede83e34c3b27a4", + "reference": "a54e2a8a114065f31020d6a89ede83e34c3b27a4", "shasum": "" }, "require": { @@ -2522,7 +2522,7 @@ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v5.4.35" + "source": "https://github.com/symfony/event-dispatcher/tree/v5.4.40" }, "funding": [ { @@ -2538,33 +2538,30 @@ "type": "tidelift" } ], - "time": "2024-01-23T13:51:25+00:00" + "time": "2024-05-31T14:33:22+00:00" }, { "name": "symfony/event-dispatcher-contracts", - "version": "v2.5.3", + "version": "v3.5.0", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "540f4c73e87fd0c71ca44a6aa305d024ac68cb73" + "reference": "8f93aec25d41b72493c6ddff14e916177c9efc50" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/540f4c73e87fd0c71ca44a6aa305d024ac68cb73", - "reference": "540f4c73e87fd0c71ca44a6aa305d024ac68cb73", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/8f93aec25d41b72493c6ddff14e916177c9efc50", + "reference": "8f93aec25d41b72493c6ddff14e916177c9efc50", "shasum": "" }, "require": { - "php": ">=7.2.5", + "php": ">=8.1", "psr/event-dispatcher": "^1" }, - "suggest": { - "symfony/event-dispatcher-implementation": "" - }, "type": "library", "extra": { "branch-alias": { - "dev-main": "2.5-dev" + "dev-main": "3.5-dev" }, "thanks": { "name": "symfony/contracts", @@ -2601,7 +2598,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v2.5.3" + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.5.0" }, "funding": [ { @@ -2617,20 +2614,83 @@ "type": "tidelift" } ], - "time": "2024-01-23T13:51:25+00:00" + "time": "2024-04-18T09:32:20+00:00" }, { - "name": "symfony/filesystem", - "version": "v5.4.38", + "name": "symfony/expression-language", + "version": "v5.4.40", "source": { "type": "git", - "url": "https://github.com/symfony/filesystem.git", - "reference": "899330a01056077271e2f614c7b28b0379a671eb" + "url": "https://github.com/symfony/expression-language.git", + "reference": "77670d1e74086dc8d941a18f97097bbf988f2840" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/899330a01056077271e2f614c7b28b0379a671eb", - "reference": "899330a01056077271e2f614c7b28b0379a671eb", + "url": "https://api.github.com/repos/symfony/expression-language/zipball/77670d1e74086dc8d941a18f97097bbf988f2840", + "reference": "77670d1e74086dc8d941a18f97097bbf988f2840", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/cache": "^4.4|^5.0|^6.0", + "symfony/service-contracts": "^1.1|^2|^3" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\ExpressionLanguage\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides an engine that can compile and evaluate expressions", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/expression-language/tree/v5.4.40" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-05-31T14:33:22+00:00" + }, + { + "name": "symfony/filesystem", + "version": "v5.4.41", + "source": { + "type": "git", + "url": "https://github.com/symfony/filesystem.git", + "reference": "6d29dd9340b372fa603f04e6df4dd76bb808591e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/6d29dd9340b372fa603f04e6df4dd76bb808591e", + "reference": "6d29dd9340b372fa603f04e6df4dd76bb808591e", "shasum": "" }, "require": { @@ -2639,6 +2699,9 @@ "symfony/polyfill-mbstring": "~1.8", "symfony/polyfill-php80": "^1.16" }, + "require-dev": { + "symfony/process": "^5.4|^6.4" + }, "type": "library", "autoload": { "psr-4": { @@ -2665,7 +2728,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v5.4.38" + "source": "https://github.com/symfony/filesystem/tree/v5.4.41" }, "funding": [ { @@ -2681,20 +2744,20 @@ "type": "tidelift" } ], - "time": "2024-03-21T08:05:07+00:00" + "time": "2024-06-28T09:36:24+00:00" }, { "name": "symfony/finder", - "version": "v5.4.35", + "version": "v5.4.40", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "abe6d6f77d9465fed3cd2d029b29d03b56b56435" + "reference": "f51cff4687547641c7d8180d74932ab40b2205ce" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/abe6d6f77d9465fed3cd2d029b29d03b56b56435", - "reference": "abe6d6f77d9465fed3cd2d029b29d03b56b56435", + "url": "https://api.github.com/repos/symfony/finder/zipball/f51cff4687547641c7d8180d74932ab40b2205ce", + "reference": "f51cff4687547641c7d8180d74932ab40b2205ce", "shasum": "" }, "require": { @@ -2728,7 +2791,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v5.4.35" + "source": "https://github.com/symfony/finder/tree/v5.4.40" }, "funding": [ { @@ -2744,32 +2807,32 @@ "type": "tidelift" } ], - "time": "2024-01-23T13:51:25+00:00" + "time": "2024-05-31T14:33:22+00:00" }, { "name": "symfony/flex", - "version": "v1.21.6", + "version": "v2.4.5", "source": { "type": "git", "url": "https://github.com/symfony/flex.git", - "reference": "06b58a5e5b4c6528fb12e0fac5fea0db3f1e7ae8" + "reference": "b0a405f40614c9f584b489d54f91091817b0e26e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/flex/zipball/06b58a5e5b4c6528fb12e0fac5fea0db3f1e7ae8", - "reference": "06b58a5e5b4c6528fb12e0fac5fea0db3f1e7ae8", + "url": "https://api.github.com/repos/symfony/flex/zipball/b0a405f40614c9f584b489d54f91091817b0e26e", + "reference": "b0a405f40614c9f584b489d54f91091817b0e26e", "shasum": "" }, "require": { - "composer-plugin-api": "^1.0|^2.0", - "php": ">=7.1" + "composer-plugin-api": "^2.1", + "php": ">=8.0" }, "require-dev": { - "composer/composer": "^1.0.2|^2.0", - "symfony/dotenv": "^4.4|^5.0|^6.0", - "symfony/filesystem": "^4.4|^5.0|^6.0", - "symfony/phpunit-bridge": "^4.4.12|^5.0|^6.0", - "symfony/process": "^4.4|^5.0|^6.0" + "composer/composer": "^2.1", + "symfony/dotenv": "^5.4|^6.0", + "symfony/filesystem": "^5.4|^6.0", + "symfony/phpunit-bridge": "^5.4|^6.0", + "symfony/process": "^5.4|^6.0" }, "type": "composer-plugin", "extra": { @@ -2793,7 +2856,7 @@ "description": "Composer plugin for Symfony", "support": { "issues": "https://github.com/symfony/flex/issues", - "source": "https://github.com/symfony/flex/tree/v1.21.6" + "source": "https://github.com/symfony/flex/tree/v2.4.5" }, "funding": [ { @@ -2809,20 +2872,20 @@ "type": "tidelift" } ], - "time": "2024-03-02T08:16:37+00:00" + "time": "2024-03-02T08:16:47+00:00" }, { "name": "symfony/form", - "version": "v5.4.38", + "version": "v5.4.40", "source": { "type": "git", "url": "https://github.com/symfony/form.git", - "reference": "a4841abdc1ad64a17df79b68482cbbafd23e01f1" + "reference": "ff45013def0a3a692e84010095e8ee5fe9a9fa43" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/form/zipball/a4841abdc1ad64a17df79b68482cbbafd23e01f1", - "reference": "a4841abdc1ad64a17df79b68482cbbafd23e01f1", + "url": "https://api.github.com/repos/symfony/form/zipball/ff45013def0a3a692e84010095e8ee5fe9a9fa43", + "reference": "ff45013def0a3a692e84010095e8ee5fe9a9fa43", "shasum": "" }, "require": { @@ -2895,7 +2958,7 @@ "description": "Allows to easily create, process and reuse HTML forms", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/form/tree/v5.4.38" + "source": "https://github.com/symfony/form/tree/v5.4.40" }, "funding": [ { @@ -2911,20 +2974,20 @@ "type": "tidelift" } ], - "time": "2024-03-19T09:55:32+00:00" + "time": "2024-05-31T14:33:22+00:00" }, { "name": "symfony/framework-bundle", - "version": "v5.4.38", + "version": "v5.4.41", "source": { "type": "git", "url": "https://github.com/symfony/framework-bundle.git", - "reference": "322b40a1235d85e93b3440cad59c67d73cdb5d9f" + "reference": "18b84194424511fe541fc7962553ae423e4553c7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/322b40a1235d85e93b3440cad59c67d73cdb5d9f", - "reference": "322b40a1235d85e93b3440cad59c67d73cdb5d9f", + "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/18b84194424511fe541fc7962553ae423e4553c7", + "reference": "18b84194424511fe541fc7962553ae423e4553c7", "shasum": "" }, "require": { @@ -3045,7 +3108,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/v5.4.38" + "source": "https://github.com/symfony/framework-bundle/tree/v5.4.41" }, "funding": [ { @@ -3061,20 +3124,20 @@ "type": "tidelift" } ], - "time": "2024-03-15T07:39:49+00:00" + "time": "2024-06-14T09:52:52+00:00" }, { "name": "symfony/http-client", - "version": "v5.4.38", + "version": "v5.4.41", "source": { "type": "git", "url": "https://github.com/symfony/http-client.git", - "reference": "2a292194f6d4cf22d2348248d1c637750f72309d" + "reference": "87ca825717928d178de8a3458f163100925fb675" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client/zipball/2a292194f6d4cf22d2348248d1c637750f72309d", - "reference": "2a292194f6d4cf22d2348248d1c637750f72309d", + "url": "https://api.github.com/repos/symfony/http-client/zipball/87ca825717928d178de8a3458f163100925fb675", + "reference": "87ca825717928d178de8a3458f163100925fb675", "shasum": "" }, "require": { @@ -3136,7 +3199,7 @@ "http" ], "support": { - "source": "https://github.com/symfony/http-client/tree/v5.4.38" + "source": "https://github.com/symfony/http-client/tree/v5.4.41" }, "funding": [ { @@ -3152,7 +3215,7 @@ "type": "tidelift" } ], - "time": "2024-04-01T18:54:44+00:00" + "time": "2024-06-28T07:25:22+00:00" }, { "name": "symfony/http-client-contracts", @@ -3234,16 +3297,16 @@ }, { "name": "symfony/http-foundation", - "version": "v5.4.38", + "version": "v5.4.40", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "d8c13d35f68c69e15595fe37fa2c225d11c10f7e" + "reference": "cf4893ca4eca3fac4ae06da1590afdbbb4217847" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/d8c13d35f68c69e15595fe37fa2c225d11c10f7e", - "reference": "d8c13d35f68c69e15595fe37fa2c225d11c10f7e", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/cf4893ca4eca3fac4ae06da1590afdbbb4217847", + "reference": "cf4893ca4eca3fac4ae06da1590afdbbb4217847", "shasum": "" }, "require": { @@ -3253,7 +3316,7 @@ "symfony/polyfill-php80": "^1.16" }, "require-dev": { - "predis/predis": "~1.0", + "predis/predis": "^1.0|^2.0", "symfony/cache": "^4.4|^5.0|^6.0", "symfony/dependency-injection": "^5.4|^6.0", "symfony/expression-language": "^4.4|^5.0|^6.0", @@ -3290,7 +3353,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v5.4.38" + "source": "https://github.com/symfony/http-foundation/tree/v5.4.40" }, "funding": [ { @@ -3306,20 +3369,20 @@ "type": "tidelift" } ], - "time": "2024-03-19T10:19:25+00:00" + "time": "2024-05-31T14:33:22+00:00" }, { "name": "symfony/http-kernel", - "version": "v5.4.38", + "version": "v5.4.41", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "21c32c7c6c32ea8d0f4b8e88a2607a2dc72799e5" + "reference": "aad4078e1210343b7cd5acb803c02f8b02f002b2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/21c32c7c6c32ea8d0f4b8e88a2607a2dc72799e5", - "reference": "21c32c7c6c32ea8d0f4b8e88a2607a2dc72799e5", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/aad4078e1210343b7cd5acb803c02f8b02f002b2", + "reference": "aad4078e1210343b7cd5acb803c02f8b02f002b2", "shasum": "" }, "require": { @@ -3368,6 +3431,7 @@ "symfony/stopwatch": "^4.4|^5.0|^6.0", "symfony/translation": "^4.4|^5.0|^6.0", "symfony/translation-contracts": "^1.1|^2|^3", + "symfony/var-dumper": "^4.4.31|^5.4", "twig/twig": "^2.13|^3.0.4" }, "suggest": { @@ -3402,7 +3466,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/v5.4.38" + "source": "https://github.com/symfony/http-kernel/tree/v5.4.41" }, "funding": [ { @@ -3418,20 +3482,20 @@ "type": "tidelift" } ], - "time": "2024-04-02T19:56:39+00:00" + "time": "2024-06-28T11:42:41+00:00" }, { "name": "symfony/lock", - "version": "v5.4.38", + "version": "v5.4.40", "source": { "type": "git", "url": "https://github.com/symfony/lock.git", - "reference": "d1a912eaac5a39e2fac19e00055d07890a1b9187" + "reference": "d96955c9919fa8609b193ba76e9f527776b70176" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/lock/zipball/d1a912eaac5a39e2fac19e00055d07890a1b9187", - "reference": "d1a912eaac5a39e2fac19e00055d07890a1b9187", + "url": "https://api.github.com/repos/symfony/lock/zipball/d96955c9919fa8609b193ba76e9f527776b70176", + "reference": "d96955c9919fa8609b193ba76e9f527776b70176", "shasum": "" }, "require": { @@ -3445,7 +3509,7 @@ }, "require-dev": { "doctrine/dbal": "^2.13|^3|^4", - "predis/predis": "~1.0" + "predis/predis": "^1.0|^2.0" }, "type": "library", "autoload": { @@ -3481,7 +3545,7 @@ "semaphore" ], "support": { - "source": "https://github.com/symfony/lock/tree/v5.4.38" + "source": "https://github.com/symfony/lock/tree/v5.4.40" }, "funding": [ { @@ -3497,20 +3561,20 @@ "type": "tidelift" } ], - "time": "2024-03-16T08:39:04+00:00" + "time": "2024-05-31T14:33:22+00:00" }, { "name": "symfony/options-resolver", - "version": "v5.4.21", + "version": "v5.4.40", "source": { "type": "git", "url": "https://github.com/symfony/options-resolver.git", - "reference": "4fe5cf6ede71096839f0e4b4444d65dd3a7c1eb9" + "reference": "bd1afbde6613a8d6b956115e0e14b196191fd0c4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/4fe5cf6ede71096839f0e4b4444d65dd3a7c1eb9", - "reference": "4fe5cf6ede71096839f0e4b4444d65dd3a7c1eb9", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/bd1afbde6613a8d6b956115e0e14b196191fd0c4", + "reference": "bd1afbde6613a8d6b956115e0e14b196191fd0c4", "shasum": "" }, "require": { @@ -3550,7 +3614,7 @@ "options" ], "support": { - "source": "https://github.com/symfony/options-resolver/tree/v5.4.21" + "source": "https://github.com/symfony/options-resolver/tree/v5.4.40" }, "funding": [ { @@ -3566,20 +3630,20 @@ "type": "tidelift" } ], - "time": "2023-02-14T08:03:56+00:00" + "time": "2024-05-31T14:33:22+00:00" }, { "name": "symfony/password-hasher", - "version": "v5.4.36", + "version": "v5.4.40", "source": { "type": "git", "url": "https://github.com/symfony/password-hasher.git", - "reference": "a0c08f9045230ef73d25617b2c0e0b56d8feb0a2" + "reference": "21b98178ab2024e6c7d8ab72cca9ba16015c6093" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/password-hasher/zipball/a0c08f9045230ef73d25617b2c0e0b56d8feb0a2", - "reference": "a0c08f9045230ef73d25617b2c0e0b56d8feb0a2", + "url": "https://api.github.com/repos/symfony/password-hasher/zipball/21b98178ab2024e6c7d8ab72cca9ba16015c6093", + "reference": "21b98178ab2024e6c7d8ab72cca9ba16015c6093", "shasum": "" }, "require": { @@ -3624,7 +3688,7 @@ "password" ], "support": { - "source": "https://github.com/symfony/password-hasher/tree/v5.4.36" + "source": "https://github.com/symfony/password-hasher/tree/v5.4.40" }, "funding": [ { @@ -3640,20 +3704,20 @@ "type": "tidelift" } ], - "time": "2024-02-10T16:59:05+00:00" + "time": "2024-05-31T14:33:22+00:00" }, { "name": "symfony/polyfill-intl-grapheme", - "version": "v1.29.0", + "version": "v1.30.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f" + "reference": "64647a7c30b2283f5d49b874d84a18fc22054b7a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/32a9da87d7b3245e09ac426c83d334ae9f06f80f", - "reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/64647a7c30b2283f5d49b874d84a18fc22054b7a", + "reference": "64647a7c30b2283f5d49b874d84a18fc22054b7a", "shasum": "" }, "require": { @@ -3702,7 +3766,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.29.0" + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.30.0" }, "funding": [ { @@ -3718,20 +3782,20 @@ "type": "tidelift" } ], - "time": "2024-01-29T20:11:03+00:00" + "time": "2024-05-31T15:07:36+00:00" }, { "name": "symfony/polyfill-intl-icu", - "version": "v1.29.0", + "version": "v1.30.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-icu.git", - "reference": "07094a28851a49107f3ab4f9120ca2975a64b6e1" + "reference": "e76343c631b453088e2260ac41dfebe21954de81" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/07094a28851a49107f3ab4f9120ca2975a64b6e1", - "reference": "07094a28851a49107f3ab4f9120ca2975a64b6e1", + "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/e76343c631b453088e2260ac41dfebe21954de81", + "reference": "e76343c631b453088e2260ac41dfebe21954de81", "shasum": "" }, "require": { @@ -3786,7 +3850,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-icu/tree/v1.29.0" + "source": "https://github.com/symfony/polyfill-intl-icu/tree/v1.30.0" }, "funding": [ { @@ -3802,20 +3866,20 @@ "type": "tidelift" } ], - "time": "2024-01-29T20:12:16+00:00" + "time": "2024-05-31T15:07:36+00:00" }, { "name": "symfony/polyfill-intl-normalizer", - "version": "v1.29.0", + "version": "v1.30.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "bc45c394692b948b4d383a08d7753968bed9a83d" + "reference": "a95281b0be0d9ab48050ebd988b967875cdb9fdb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/bc45c394692b948b4d383a08d7753968bed9a83d", - "reference": "bc45c394692b948b4d383a08d7753968bed9a83d", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/a95281b0be0d9ab48050ebd988b967875cdb9fdb", + "reference": "a95281b0be0d9ab48050ebd988b967875cdb9fdb", "shasum": "" }, "require": { @@ -3867,7 +3931,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.29.0" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.30.0" }, "funding": [ { @@ -3883,20 +3947,20 @@ "type": "tidelift" } ], - "time": "2024-01-29T20:11:03+00:00" + "time": "2024-05-31T15:07:36+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.29.0", + "version": "v1.30.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec" + "reference": "fd22ab50000ef01661e2a31d850ebaa297f8e03c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9773676c8a1bb1f8d4340a62efe641cf76eda7ec", - "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/fd22ab50000ef01661e2a31d850ebaa297f8e03c", + "reference": "fd22ab50000ef01661e2a31d850ebaa297f8e03c", "shasum": "" }, "require": { @@ -3947,7 +4011,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.29.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.30.0" }, "funding": [ { @@ -3963,20 +4027,20 @@ "type": "tidelift" } ], - "time": "2024-01-29T20:11:03+00:00" + "time": "2024-06-19T12:30:46+00:00" }, { "name": "symfony/polyfill-php73", - "version": "v1.29.0", + "version": "v1.30.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php73.git", - "reference": "21bd091060673a1177ae842c0ef8fe30893114d2" + "reference": "ec444d3f3f6505bb28d11afa41e75faadebc10a1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/21bd091060673a1177ae842c0ef8fe30893114d2", - "reference": "21bd091060673a1177ae842c0ef8fe30893114d2", + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/ec444d3f3f6505bb28d11afa41e75faadebc10a1", + "reference": "ec444d3f3f6505bb28d11afa41e75faadebc10a1", "shasum": "" }, "require": { @@ -4023,7 +4087,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php73/tree/v1.29.0" + "source": "https://github.com/symfony/polyfill-php73/tree/v1.30.0" }, "funding": [ { @@ -4039,20 +4103,20 @@ "type": "tidelift" } ], - "time": "2024-01-29T20:11:03+00:00" + "time": "2024-05-31T15:07:36+00:00" }, { "name": "symfony/polyfill-php80", - "version": "v1.29.0", + "version": "v1.30.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b" + "reference": "77fa7995ac1b21ab60769b7323d600a991a90433" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/87b68208d5c1188808dd7839ee1e6c8ec3b02f1b", - "reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/77fa7995ac1b21ab60769b7323d600a991a90433", + "reference": "77fa7995ac1b21ab60769b7323d600a991a90433", "shasum": "" }, "require": { @@ -4103,7 +4167,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.29.0" + "source": "https://github.com/symfony/polyfill-php80/tree/v1.30.0" }, "funding": [ { @@ -4119,20 +4183,20 @@ "type": "tidelift" } ], - "time": "2024-01-29T20:11:03+00:00" + "time": "2024-05-31T15:07:36+00:00" }, { "name": "symfony/polyfill-php81", - "version": "v1.29.0", + "version": "v1.30.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php81.git", - "reference": "c565ad1e63f30e7477fc40738343c62b40bc672d" + "reference": "3fb075789fb91f9ad9af537c4012d523085bd5af" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/c565ad1e63f30e7477fc40738343c62b40bc672d", - "reference": "c565ad1e63f30e7477fc40738343c62b40bc672d", + "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/3fb075789fb91f9ad9af537c4012d523085bd5af", + "reference": "3fb075789fb91f9ad9af537c4012d523085bd5af", "shasum": "" }, "require": { @@ -4179,7 +4243,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php81/tree/v1.29.0" + "source": "https://github.com/symfony/polyfill-php81/tree/v1.30.0" }, "funding": [ { @@ -4195,20 +4259,20 @@ "type": "tidelift" } ], - "time": "2024-01-29T20:11:03+00:00" + "time": "2024-06-19T12:30:46+00:00" }, { "name": "symfony/property-access", - "version": "v5.4.38", + "version": "v5.4.40", "source": { "type": "git", "url": "https://github.com/symfony/property-access.git", - "reference": "b58ea319e56b440b4daaa38201ee63ba9efa44d5" + "reference": "6e4834145c2231b34eafabe440aaac478a95b456" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/property-access/zipball/b58ea319e56b440b4daaa38201ee63ba9efa44d5", - "reference": "b58ea319e56b440b4daaa38201ee63ba9efa44d5", + "url": "https://api.github.com/repos/symfony/property-access/zipball/6e4834145c2231b34eafabe440aaac478a95b456", + "reference": "6e4834145c2231b34eafabe440aaac478a95b456", "shasum": "" }, "require": { @@ -4260,7 +4324,7 @@ "reflection" ], "support": { - "source": "https://github.com/symfony/property-access/tree/v5.4.38" + "source": "https://github.com/symfony/property-access/tree/v5.4.40" }, "funding": [ { @@ -4276,20 +4340,20 @@ "type": "tidelift" } ], - "time": "2024-03-18T16:56:51+00:00" + "time": "2024-05-31T14:33:22+00:00" }, { "name": "symfony/property-info", - "version": "v5.4.38", + "version": "v5.4.41", "source": { "type": "git", "url": "https://github.com/symfony/property-info.git", - "reference": "f3e4b84e5a33e655222167894398b671e93322d0" + "reference": "2c96c24961cab73bdc9020809bd82bdadd1a10f2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/property-info/zipball/f3e4b84e5a33e655222167894398b671e93322d0", - "reference": "f3e4b84e5a33e655222167894398b671e93322d0", + "url": "https://api.github.com/repos/symfony/property-info/zipball/2c96c24961cab73bdc9020809bd82bdadd1a10f2", + "reference": "2c96c24961cab73bdc9020809bd82bdadd1a10f2", "shasum": "" }, "require": { @@ -4351,7 +4415,7 @@ "validator" ], "support": { - "source": "https://github.com/symfony/property-info/tree/v5.4.38" + "source": "https://github.com/symfony/property-info/tree/v5.4.41" }, "funding": [ { @@ -4367,7 +4431,7 @@ "type": "tidelift" } ], - "time": "2024-03-21T07:26:31+00:00" + "time": "2024-06-09T07:25:10+00:00" }, { "name": "symfony/psr-http-message-bridge", @@ -4460,16 +4524,16 @@ }, { "name": "symfony/rate-limiter", - "version": "v5.4.35", + "version": "v5.4.40", "source": { "type": "git", "url": "https://github.com/symfony/rate-limiter.git", - "reference": "9bd24ef2e0948fff4d6741798ba4c7468b75bc8d" + "reference": "b3de902fc83923b9121169ade2453c41d0819110" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/rate-limiter/zipball/9bd24ef2e0948fff4d6741798ba4c7468b75bc8d", - "reference": "9bd24ef2e0948fff4d6741798ba4c7468b75bc8d", + "url": "https://api.github.com/repos/symfony/rate-limiter/zipball/b3de902fc83923b9121169ade2453c41d0819110", + "reference": "b3de902fc83923b9121169ade2453c41d0819110", "shasum": "" }, "require": { @@ -4510,7 +4574,7 @@ "rate-limiter" ], "support": { - "source": "https://github.com/symfony/rate-limiter/tree/v5.4.35" + "source": "https://github.com/symfony/rate-limiter/tree/v5.4.40" }, "funding": [ { @@ -4526,20 +4590,20 @@ "type": "tidelift" } ], - "time": "2024-01-23T13:51:25+00:00" + "time": "2024-05-31T14:33:22+00:00" }, { "name": "symfony/routing", - "version": "v5.4.38", + "version": "v5.4.40", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "f455f06d4ee7d354d9dcaf7d436532c1f388ee01" + "reference": "6df1dd8b306649303267a760699cf04cf39b1f7b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/f455f06d4ee7d354d9dcaf7d436532c1f388ee01", - "reference": "f455f06d4ee7d354d9dcaf7d436532c1f388ee01", + "url": "https://api.github.com/repos/symfony/routing/zipball/6df1dd8b306649303267a760699cf04cf39b1f7b", + "reference": "6df1dd8b306649303267a760699cf04cf39b1f7b", "shasum": "" }, "require": { @@ -4600,7 +4664,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v5.4.38" + "source": "https://github.com/symfony/routing/tree/v5.4.40" }, "funding": [ { @@ -4616,20 +4680,20 @@ "type": "tidelift" } ], - "time": "2024-03-18T16:56:51+00:00" + "time": "2024-05-31T14:33:22+00:00" }, { "name": "symfony/runtime", - "version": "v5.4.35", + "version": "v5.4.40", "source": { "type": "git", "url": "https://github.com/symfony/runtime.git", - "reference": "a32a623d71fc0f699a2a196377b3b85c840bd39a" + "reference": "50096d4ebebb4f9c41b87695868a6e34bdbf7cde" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/runtime/zipball/a32a623d71fc0f699a2a196377b3b85c840bd39a", - "reference": "a32a623d71fc0f699a2a196377b3b85c840bd39a", + "url": "https://api.github.com/repos/symfony/runtime/zipball/50096d4ebebb4f9c41b87695868a6e34bdbf7cde", + "reference": "50096d4ebebb4f9c41b87695868a6e34bdbf7cde", "shasum": "" }, "require": { @@ -4680,7 +4744,7 @@ "runtime" ], "support": { - "source": "https://github.com/symfony/runtime/tree/v5.4.35" + "source": "https://github.com/symfony/runtime/tree/v5.4.40" }, "funding": [ { @@ -4696,20 +4760,20 @@ "type": "tidelift" } ], - "time": "2024-01-23T13:51:25+00:00" + "time": "2024-05-31T14:33:22+00:00" }, { "name": "symfony/security-bundle", - "version": "v5.4.38", + "version": "v5.4.41", "source": { "type": "git", "url": "https://github.com/symfony/security-bundle.git", - "reference": "411190ceea7a5711fa0e0cda81a4914d2c4899b0" + "reference": "86557f237fb152412048912660895ab86aa61494" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-bundle/zipball/411190ceea7a5711fa0e0cda81a4914d2c4899b0", - "reference": "411190ceea7a5711fa0e0cda81a4914d2c4899b0", + "url": "https://api.github.com/repos/symfony/security-bundle/zipball/86557f237fb152412048912660895ab86aa61494", + "reference": "86557f237fb152412048912660895ab86aa61494", "shasum": "" }, "require": { @@ -4783,7 +4847,7 @@ "description": "Provides a tight integration of the Security component into the Symfony full-stack framework", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/security-bundle/tree/v5.4.38" + "source": "https://github.com/symfony/security-bundle/tree/v5.4.41" }, "funding": [ { @@ -4799,20 +4863,20 @@ "type": "tidelift" } ], - "time": "2024-03-14T13:06:06+00:00" + "time": "2024-06-21T13:58:36+00:00" }, { "name": "symfony/security-core", - "version": "v5.4.38", + "version": "v5.4.41", "source": { "type": "git", "url": "https://github.com/symfony/security-core.git", - "reference": "8024815e3ee09dc2235d91006ac969b060efccbb" + "reference": "98789f9a01db2168079fa973358ddc4deb6a0da8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-core/zipball/8024815e3ee09dc2235d91006ac969b060efccbb", - "reference": "8024815e3ee09dc2235d91006ac969b060efccbb", + "url": "https://api.github.com/repos/symfony/security-core/zipball/98789f9a01db2168079fa973358ddc4deb6a0da8", + "reference": "98789f9a01db2168079fa973358ddc4deb6a0da8", "shasum": "" }, "require": { @@ -4877,7 +4941,7 @@ "description": "Symfony Security Component - Core Library", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/security-core/tree/v5.4.38" + "source": "https://github.com/symfony/security-core/tree/v5.4.41" }, "funding": [ { @@ -4893,20 +4957,20 @@ "type": "tidelift" } ], - "time": "2024-03-19T10:19:25+00:00" + "time": "2024-06-28T07:24:26+00:00" }, { "name": "symfony/security-csrf", - "version": "v5.4.35", + "version": "v5.4.40", "source": { "type": "git", "url": "https://github.com/symfony/security-csrf.git", - "reference": "6728ed79d7f9aae3b86fca7ea554f1c46bae1e0b" + "reference": "9058d522c1c33d7ba13f4b3c79555cc2c4c16028" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-csrf/zipball/6728ed79d7f9aae3b86fca7ea554f1c46bae1e0b", - "reference": "6728ed79d7f9aae3b86fca7ea554f1c46bae1e0b", + "url": "https://api.github.com/repos/symfony/security-csrf/zipball/9058d522c1c33d7ba13f4b3c79555cc2c4c16028", + "reference": "9058d522c1c33d7ba13f4b3c79555cc2c4c16028", "shasum": "" }, "require": { @@ -4950,7 +5014,7 @@ "description": "Symfony Security Component - CSRF Library", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/security-csrf/tree/v5.4.35" + "source": "https://github.com/symfony/security-csrf/tree/v5.4.40" }, "funding": [ { @@ -4966,20 +5030,20 @@ "type": "tidelift" } ], - "time": "2024-01-23T13:51:25+00:00" + "time": "2024-05-31T14:33:22+00:00" }, { "name": "symfony/security-guard", - "version": "v5.4.35", + "version": "v5.4.40", "source": { "type": "git", "url": "https://github.com/symfony/security-guard.git", - "reference": "b6fb8c88f7cd544db761de2d1c3618cbc5c1b9e7" + "reference": "d930fd327c290f451c9d8dd7889169195d4484e9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-guard/zipball/b6fb8c88f7cd544db761de2d1c3618cbc5c1b9e7", - "reference": "b6fb8c88f7cd544db761de2d1c3618cbc5c1b9e7", + "url": "https://api.github.com/repos/symfony/security-guard/zipball/d930fd327c290f451c9d8dd7889169195d4484e9", + "reference": "d930fd327c290f451c9d8dd7889169195d4484e9", "shasum": "" }, "require": { @@ -5018,7 +5082,7 @@ "description": "Symfony Security Component - Guard", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/security-guard/tree/v5.4.35" + "source": "https://github.com/symfony/security-guard/tree/v5.4.40" }, "funding": [ { @@ -5034,20 +5098,20 @@ "type": "tidelift" } ], - "time": "2024-01-23T13:51:25+00:00" + "time": "2024-05-31T14:33:22+00:00" }, { "name": "symfony/security-http", - "version": "v5.4.38", + "version": "v5.4.41", "source": { "type": "git", "url": "https://github.com/symfony/security-http.git", - "reference": "a6856888064791eef77de26dee86fc33e74dfbba" + "reference": "14d271e304dce13ae77e39e6a6353c986e756b40" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-http/zipball/a6856888064791eef77de26dee86fc33e74dfbba", - "reference": "a6856888064791eef77de26dee86fc33e74dfbba", + "url": "https://api.github.com/repos/symfony/security-http/zipball/14d271e304dce13ae77e39e6a6353c986e756b40", + "reference": "14d271e304dce13ae77e39e6a6353c986e756b40", "shasum": "" }, "require": { @@ -5104,7 +5168,7 @@ "description": "Symfony Security Component - HTTP Integration", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/security-http/tree/v5.4.38" + "source": "https://github.com/symfony/security-http/tree/v5.4.41" }, "funding": [ { @@ -5120,7 +5184,7 @@ "type": "tidelift" } ], - "time": "2024-03-19T10:19:25+00:00" + "time": "2024-06-17T05:58:45+00:00" }, { "name": "symfony/service-contracts", @@ -5207,16 +5271,16 @@ }, { "name": "symfony/string", - "version": "v5.4.36", + "version": "v5.4.41", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "4e232c83622bd8cd32b794216aa29d0d266d353b" + "reference": "065a9611e0b1fd2197a867e1fb7f2238191b7096" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/4e232c83622bd8cd32b794216aa29d0d266d353b", - "reference": "4e232c83622bd8cd32b794216aa29d0d266d353b", + "url": "https://api.github.com/repos/symfony/string/zipball/065a9611e0b1fd2197a867e1fb7f2238191b7096", + "reference": "065a9611e0b1fd2197a867e1fb7f2238191b7096", "shasum": "" }, "require": { @@ -5273,7 +5337,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v5.4.36" + "source": "https://github.com/symfony/string/tree/v5.4.41" }, "funding": [ { @@ -5289,20 +5353,20 @@ "type": "tidelift" } ], - "time": "2024-02-01T08:49:30+00:00" + "time": "2024-06-28T09:20:55+00:00" }, { "name": "symfony/translation", - "version": "v5.4.35", + "version": "v5.4.40", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "77d7d1e46f52827585e65e6cd6f52a2542e59c72" + "reference": "bb51d7f183756d1ac03f50ea47dc5726518cc7e8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/77d7d1e46f52827585e65e6cd6f52a2542e59c72", - "reference": "77d7d1e46f52827585e65e6cd6f52a2542e59c72", + "url": "https://api.github.com/repos/symfony/translation/zipball/bb51d7f183756d1ac03f50ea47dc5726518cc7e8", + "reference": "bb51d7f183756d1ac03f50ea47dc5726518cc7e8", "shasum": "" }, "require": { @@ -5370,7 +5434,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v5.4.35" + "source": "https://github.com/symfony/translation/tree/v5.4.40" }, "funding": [ { @@ -5386,7 +5450,7 @@ "type": "tidelift" } ], - "time": "2024-01-23T13:51:25+00:00" + "time": "2024-05-31T14:33:22+00:00" }, { "name": "symfony/translation-contracts", @@ -5468,16 +5532,16 @@ }, { "name": "symfony/twig-bridge", - "version": "v5.4.38", + "version": "v5.4.41", "source": { "type": "git", "url": "https://github.com/symfony/twig-bridge.git", - "reference": "5984ba96a504524ebc51bd2309a66124599be6ba" + "reference": "d7b10dad12c49863c20c7f8e4cc74b9416eefbb9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/5984ba96a504524ebc51bd2309a66124599be6ba", - "reference": "5984ba96a504524ebc51bd2309a66124599be6ba", + "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/d7b10dad12c49863c20c7f8e4cc74b9416eefbb9", + "reference": "d7b10dad12c49863c20c7f8e4cc74b9416eefbb9", "shasum": "" }, "require": { @@ -5569,7 +5633,7 @@ "description": "Provides integration for Twig with various Symfony components", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/twig-bridge/tree/v5.4.38" + "source": "https://github.com/symfony/twig-bridge/tree/v5.4.41" }, "funding": [ { @@ -5585,20 +5649,20 @@ "type": "tidelift" } ], - "time": "2024-03-27T20:05:04+00:00" + "time": "2024-06-09T18:59:35+00:00" }, { "name": "symfony/twig-bundle", - "version": "v5.4.36", + "version": "v5.4.40", "source": { "type": "git", "url": "https://github.com/symfony/twig-bundle.git", - "reference": "37a338733c456fc8cd056c2e0f20bae020cbec70" + "reference": "997c002735c88b50a6325cca8ecf3d8723902666" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/twig-bundle/zipball/37a338733c456fc8cd056c2e0f20bae020cbec70", - "reference": "37a338733c456fc8cd056c2e0f20bae020cbec70", + "url": "https://api.github.com/repos/symfony/twig-bundle/zipball/997c002735c88b50a6325cca8ecf3d8723902666", + "reference": "997c002735c88b50a6325cca8ecf3d8723902666", "shasum": "" }, "require": { @@ -5659,7 +5723,7 @@ "description": "Provides a tight integration of Twig into the Symfony full-stack framework", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/twig-bundle/tree/v5.4.36" + "source": "https://github.com/symfony/twig-bundle/tree/v5.4.40" }, "funding": [ { @@ -5675,20 +5739,20 @@ "type": "tidelift" } ], - "time": "2024-02-15T11:19:14+00:00" + "time": "2024-05-31T14:33:22+00:00" }, { "name": "symfony/validator", - "version": "v5.4.38", + "version": "v5.4.41", "source": { "type": "git", "url": "https://github.com/symfony/validator.git", - "reference": "4d107c2d548111156cdc4a12d12d8561d619c3c3" + "reference": "e00b2547f712a97755933db45efc03123b2d2690" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/validator/zipball/4d107c2d548111156cdc4a12d12d8561d619c3c3", - "reference": "4d107c2d548111156cdc4a12d12d8561d619c3c3", + "url": "https://api.github.com/repos/symfony/validator/zipball/e00b2547f712a97755933db45efc03123b2d2690", + "reference": "e00b2547f712a97755933db45efc03123b2d2690", "shasum": "" }, "require": { @@ -5751,7 +5815,8 @@ "Symfony\\Component\\Validator\\": "" }, "exclude-from-classmap": [ - "/Tests/" + "/Tests/", + "/Resources/bin/" ] }, "notification-url": "https://packagist.org/downloads/", @@ -5771,7 +5836,7 @@ "description": "Provides tools to validate values", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/validator/tree/v5.4.38" + "source": "https://github.com/symfony/validator/tree/v5.4.41" }, "funding": [ { @@ -5787,20 +5852,20 @@ "type": "tidelift" } ], - "time": "2024-03-18T16:56:51+00:00" + "time": "2024-06-10T09:18:21+00:00" }, { "name": "symfony/var-dumper", - "version": "v5.4.38", + "version": "v5.4.40", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "ae1d949ccc57d3f6662e4256b47ac9fbfa9651ae" + "reference": "af8868a6e9d6082dfca11f1a1f205ae93a8b6d93" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/ae1d949ccc57d3f6662e4256b47ac9fbfa9651ae", - "reference": "ae1d949ccc57d3f6662e4256b47ac9fbfa9651ae", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/af8868a6e9d6082dfca11f1a1f205ae93a8b6d93", + "reference": "af8868a6e9d6082dfca11f1a1f205ae93a8b6d93", "shasum": "" }, "require": { @@ -5860,7 +5925,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v5.4.38" + "source": "https://github.com/symfony/var-dumper/tree/v5.4.40" }, "funding": [ { @@ -5876,28 +5941,30 @@ "type": "tidelift" } ], - "time": "2024-03-19T10:19:25+00:00" + "time": "2024-05-31T14:33:22+00:00" }, { "name": "symfony/var-exporter", - "version": "v5.4.35", + "version": "v6.4.9", "source": { "type": "git", "url": "https://github.com/symfony/var-exporter.git", - "reference": "abb0a151b62d6b07e816487e20040464af96cae7" + "reference": "f9a060622e0d93777b7f8687ec4860191e16802e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-exporter/zipball/abb0a151b62d6b07e816487e20040464af96cae7", - "reference": "abb0a151b62d6b07e816487e20040464af96cae7", + "url": "https://api.github.com/repos/symfony/var-exporter/zipball/f9a060622e0d93777b7f8687ec4860191e16802e", + "reference": "f9a060622e0d93777b7f8687ec4860191e16802e", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/polyfill-php80": "^1.16" + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3" }, "require-dev": { - "symfony/var-dumper": "^4.4.9|^5.0.9|^6.0" + "symfony/property-access": "^6.4|^7.0", + "symfony/serializer": "^6.4|^7.0", + "symfony/var-dumper": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { @@ -5930,10 +5997,12 @@ "export", "hydrate", "instantiate", + "lazy-loading", + "proxy", "serialize" ], "support": { - "source": "https://github.com/symfony/var-exporter/tree/v5.4.35" + "source": "https://github.com/symfony/var-exporter/tree/v6.4.9" }, "funding": [ { @@ -5949,20 +6018,20 @@ "type": "tidelift" } ], - "time": "2024-01-23T13:51:25+00:00" + "time": "2024-06-24T15:53:56+00:00" }, { "name": "symfony/web-profiler-bundle", - "version": "v5.4.36", + "version": "v5.4.40", "source": { "type": "git", "url": "https://github.com/symfony/web-profiler-bundle.git", - "reference": "93df9846358093676fe0b029d0c4725f7935742f" + "reference": "a29669617c4e63785f363571a190a706b9022890" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/93df9846358093676fe0b029d0c4725f7935742f", - "reference": "93df9846358093676fe0b029d0c4725f7935742f", + "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/a29669617c4e63785f363571a190a706b9022890", + "reference": "a29669617c4e63785f363571a190a706b9022890", "shasum": "" }, "require": { @@ -6013,7 +6082,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/v5.4.36" + "source": "https://github.com/symfony/web-profiler-bundle/tree/v5.4.40" }, "funding": [ { @@ -6029,7 +6098,7 @@ "type": "tidelift" } ], - "time": "2024-02-20T07:10:08+00:00" + "time": "2024-05-31T14:33:22+00:00" }, { "name": "symfony/webpack-encore-bundle", @@ -6106,16 +6175,16 @@ }, { "name": "symfony/yaml", - "version": "v5.4.35", + "version": "v5.4.40", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "e78db7f5c70a21f0417a31f414c4a95fe76c07e4" + "reference": "81cad0ceab3d61fe14fe941ff18a230ac9c80f83" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/e78db7f5c70a21f0417a31f414c4a95fe76c07e4", - "reference": "e78db7f5c70a21f0417a31f414c4a95fe76c07e4", + "url": "https://api.github.com/repos/symfony/yaml/zipball/81cad0ceab3d61fe14fe941ff18a230ac9c80f83", + "reference": "81cad0ceab3d61fe14fe941ff18a230ac9c80f83", "shasum": "" }, "require": { @@ -6161,7 +6230,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v5.4.35" + "source": "https://github.com/symfony/yaml/tree/v5.4.40" }, "funding": [ { @@ -6177,20 +6246,20 @@ "type": "tidelift" } ], - "time": "2024-01-23T13:51:25+00:00" + "time": "2024-05-31T14:33:22+00:00" }, { "name": "twig/twig", - "version": "v3.9.2", + "version": "v3.10.3", "source": { "type": "git", "url": "https://github.com/twigphp/Twig.git", - "reference": "856cb5a6cfd6f3e4dc1f6c9a8f54e259503f7cf3" + "reference": "67f29781ffafa520b0bbfbd8384674b42db04572" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/856cb5a6cfd6f3e4dc1f6c9a8f54e259503f7cf3", - "reference": "856cb5a6cfd6f3e4dc1f6c9a8f54e259503f7cf3", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/67f29781ffafa520b0bbfbd8384674b42db04572", + "reference": "67f29781ffafa520b0bbfbd8384674b42db04572", "shasum": "" }, "require": { @@ -6244,7 +6313,7 @@ ], "support": { "issues": "https://github.com/twigphp/Twig/issues", - "source": "https://github.com/twigphp/Twig/tree/v3.9.2" + "source": "https://github.com/twigphp/Twig/tree/v3.10.3" }, "funding": [ { @@ -6256,7 +6325,7 @@ "type": "tidelift" } ], - "time": "2024-04-17T14:16:25+00:00" + "time": "2024-05-16T10:04:27+00:00" } ], "packages-dev": [], diff --git a/config/sql_login_configuration/sql_login.yaml b/config/sql_login_configuration/sql_login.yaml index 2a1d5c8..5341fce 100644 --- a/config/sql_login_configuration/sql_login.yaml +++ b/config/sql_login_configuration/sql_login.yaml @@ -6,4 +6,5 @@ sql_login: data_to_fetch: - email - lastname - - firstname \ No newline at end of file + - firstname + subject_rewrite_expression: 'firstname~"."~lastname~"@exemple.com"' \ No newline at end of file diff --git a/readme.md b/readme.md index b9a3a35..1460deb 100644 --- a/readme.md +++ b/readme.md @@ -71,6 +71,7 @@ sql_login: - email - lastname - firstname + subject_rewrite_expression: 'firstname~"."~lastname~"@exemple.com"' ``` ## Environnement de développement diff --git a/src/Controller/MainController.php b/src/Controller/MainController.php index 46aef1e..157eb21 100644 --- a/src/Controller/MainController.php +++ b/src/Controller/MainController.php @@ -5,7 +5,9 @@ namespace App\Controller; use App\Entity\User; use App\Hydra\Client; use App\Hydra\HydraService; +use App\SQLLogin\SQLLoginRequest; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; +use Symfony\Component\ExpressionLanguage\ExpressionLanguage; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Annotation\Route; @@ -41,7 +43,7 @@ class MainController extends AbstractController } #[Route('/connect/login-accept', name: 'app_login_accept', methods: ['GET'])] - public function loginAccept(Request $request): RedirectResponse + public function loginAccept(Request $request, SQLLoginRequest $sqlLoginRequest): RedirectResponse { $user = $this->getUser(); @@ -52,8 +54,18 @@ class MainController extends AbstractController if (!$challenge) { return new RedirectResponse($this->getParameter('issuer_url')); } + + $subject = $user->getLogin(); + + $subjectRewriteExpression = $sqlLoginRequest->getSubjectRewriteExpression(); + if (null != $subjectRewriteExpression) { + $expressionLanguage = new ExpressionLanguage(); + + $subject = $expressionLanguage->evaluate($subjectRewriteExpression, $user->getAttributes()); + } + $loginAcceptRes = $this->client->acceptLoginRequest($challenge, [ - 'subject' => $user->getLogin(), + 'subject' => $subject, 'remember' => true, ])->toArray(); diff --git a/src/DependencyInjection/SQLLoginConfiguration.php b/src/DependencyInjection/SQLLoginConfiguration.php index 8262e2a..05cc7b0 100644 --- a/src/DependencyInjection/SQLLoginConfiguration.php +++ b/src/DependencyInjection/SQLLoginConfiguration.php @@ -19,6 +19,7 @@ class SQLLoginConfiguration implements ConfigurationInterface ->arrayNode(SQLLoginRequest::DATA_TO_FETCH) ->scalarPrototype()->end() ->end() + ->scalarNode(SQLLoginRequest::SUBJECT_REWRITE_EXPRESSION)->defaultNull()->end() ->end(); return $treeBuilder; diff --git a/src/SQLLogin/SQLLoginRequest.php b/src/SQLLogin/SQLLoginRequest.php index a71986f..45abae2 100644 --- a/src/SQLLogin/SQLLoginRequest.php +++ b/src/SQLLogin/SQLLoginRequest.php @@ -12,6 +12,7 @@ class SQLLoginRequest public const PASSWORD_COLUMN_NAME = 'password_column_name'; public const PASSWORD_NEED_UPGRADE = 'password_need_upgrade'; public const TABLE_NAME = 'table_name'; + public const SUBJECT_REWRITE_EXPRESSION = 'subject_rewrite_expression'; protected array $config; protected string $dsn; @@ -66,6 +67,11 @@ class SQLLoginRequest return $this->config[self::DATA_TO_FETCH]; } + public function getSubjectRewriteExpression(): ?string + { + return $this->config[self::SUBJECT_REWRITE_EXPRESSION]; + } + public function getRequestScope() { $scope = ''; diff --git a/templates/login.html.twig b/templates/login.html.twig index 19b220f..3bc66ef 100644 --- a/templates/login.html.twig +++ b/templates/login.html.twig @@ -12,7 +12,7 @@ {% endif %}
- {% for locale in locales|split(',') %} + {% for locale in locales %} {% endfor %}