Compare commits
48 Commits
redis-pref
...
develop
Author | SHA1 | Date |
---|---|---|
Matthieu Lamalle | 075be9b0df | |
Rudy Masson | 4e4c5d8e7b | |
Matthieu Lamalle | 7032787d8c | |
Rudy Masson | 999e708ff7 | |
Rudy Masson | cb8361e7d1 | |
Rudy Masson | e3f406a8bb | |
Rudy Masson | d6d9e81df6 | |
Matthieu Lamalle | 8e56433216 | |
Matthieu Lamalle | 19178bbe3b | |
Matthieu Lamalle | 14668150cb | |
Rudy Masson | 0903151f27 | |
Rudy Masson | f378751f7a | |
Rudy Masson | d707a91694 | |
Valentin Carroy | f39ab1626e | |
Matthieu Lamalle | fe4d683c20 | |
Rudy Masson | f36a675d22 | |
Matthieu Lamalle | 27f957124b | |
Rudy Masson | a1049a55a2 | |
Rudy Masson | 085533b299 | |
Matthieu Lamalle | 5bfd8991ee | |
Matthieu Lamalle | 18c0edbe5b | |
Valentin Carroy | fa77278c55 | |
Valentin Carroy | daa5eaaa63 | |
Matthieu Lamalle | 769e7ed59e | |
Valentin Carroy | abe212c7ad | |
Matthieu Lamalle | 890c44da0c | |
Rudy Masson | 4465d0097e | |
Matthieu Lamalle | f9d7e94420 | |
Matthieu Lamalle | e03312be7d | |
Matthieu Lamalle | 69f0a607a3 | |
Rudy Masson | 51c92a0dba | |
Rudy Masson | 0791727694 | |
Rudy Masson | 3e45119684 | |
Rudy Masson | 5aacd981b4 | |
Matthieu Lamalle | fc4cecf106 | |
Matthieu Lamalle | d26920695f | |
Valentin Carroy | fc348943c8 | |
Valentin Carroy | afd5349a7c | |
Valentin Carroy | 562c7cb7b7 | |
Rudy Masson | bcc91a17b4 | |
Rudy Masson | cd888d2080 | |
Rudy Masson | 0cdb4c3a36 | |
cmsassot | fc87b24c4e | |
cmsassot | d1847289bd | |
cmsassot | d5718e0a39 | |
cmsassot | 8cde31fc9c | |
Matthieu Lamalle | 9420354ec0 | |
Matthieu Lamalle | e320d288cc |
2
.env
2
.env
|
@ -16,7 +16,7 @@
|
||||||
###> symfony/framework-bundle ###
|
###> symfony/framework-bundle ###
|
||||||
APP_ENV=dev
|
APP_ENV=dev
|
||||||
APP_SECRET=406ccaa0c76a451fdcc2307ea146cbef
|
APP_SECRET=406ccaa0c76a451fdcc2307ea146cbef
|
||||||
###< symfony/framework-bundle ###
|
URL_LINK="http://localhost"
|
||||||
|
|
||||||
# configuration bdd
|
# configuration bdd
|
||||||
DSN_REMOTE_DATABASE="pgsql:host='postgres';port=5432;dbname=lasql"
|
DSN_REMOTE_DATABASE="pgsql:host='postgres';port=5432;dbname=lasql"
|
||||||
|
|
|
@ -21,3 +21,20 @@ composer.phar
|
||||||
/tools
|
/tools
|
||||||
/.trivy
|
/.trivy
|
||||||
.mktools/
|
.mktools/
|
||||||
|
|
||||||
|
###> symfony/framework-bundle ###
|
||||||
|
/.env.local
|
||||||
|
/.env.local.php
|
||||||
|
/.env.*.local
|
||||||
|
/config/secrets/prod/prod.decrypt.private.php
|
||||||
|
/public/bundles/
|
||||||
|
/var/
|
||||||
|
/vendor/
|
||||||
|
###< symfony/framework-bundle ###
|
||||||
|
|
||||||
|
###> symfony/webpack-encore-bundle ###
|
||||||
|
/node_modules/
|
||||||
|
/public/build/
|
||||||
|
npm-debug.log
|
||||||
|
yarn-error.log
|
||||||
|
###< symfony/webpack-encore-bundle ###
|
||||||
|
|
|
@ -15,6 +15,7 @@
|
||||||
"symfony/console": "5.4.*",
|
"symfony/console": "5.4.*",
|
||||||
"symfony/dependency-injection": "5.4.*",
|
"symfony/dependency-injection": "5.4.*",
|
||||||
"symfony/dotenv": "5.4.*",
|
"symfony/dotenv": "5.4.*",
|
||||||
|
"symfony/expression-language": "5.4.*",
|
||||||
"symfony/flex": "^1.17|^2",
|
"symfony/flex": "^1.17|^2",
|
||||||
"symfony/form": "5.4.*",
|
"symfony/form": "5.4.*",
|
||||||
"symfony/framework-bundle": "5.4.*",
|
"symfony/framework-bundle": "5.4.*",
|
||||||
|
@ -77,5 +78,8 @@
|
||||||
"allow-contrib": true,
|
"allow-contrib": true,
|
||||||
"require": "5.4.*"
|
"require": "5.4.*"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"symfony/debug-bundle": "5.4.*"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,27 +4,27 @@
|
||||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||||
"This file is @generated automatically"
|
"This file is @generated automatically"
|
||||||
],
|
],
|
||||||
"content-hash": "7dce269ca449b7de7e1bd2e23df94eab",
|
"content-hash": "203398b3a4f3ff689ff3341c02460f23",
|
||||||
"packages": [
|
"packages": [
|
||||||
{
|
{
|
||||||
"name": "clue/stream-filter",
|
"name": "clue/stream-filter",
|
||||||
"version": "v1.6.0",
|
"version": "v1.7.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/clue/stream-filter.git",
|
"url": "https://github.com/clue/stream-filter.git",
|
||||||
"reference": "d6169430c7731d8509da7aecd0af756a5747b78e"
|
"reference": "049509fef80032cb3f051595029ab75b49a3c2f7"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/clue/stream-filter/zipball/d6169430c7731d8509da7aecd0af756a5747b78e",
|
"url": "https://api.github.com/repos/clue/stream-filter/zipball/049509fef80032cb3f051595029ab75b49a3c2f7",
|
||||||
"reference": "d6169430c7731d8509da7aecd0af756a5747b78e",
|
"reference": "049509fef80032cb3f051595029ab75b49a3c2f7",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=5.3"
|
"php": ">=5.3"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"phpunit/phpunit": "^9.3 || ^5.7 || ^4.8.36"
|
"phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36"
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"autoload": {
|
"autoload": {
|
||||||
|
@ -46,7 +46,7 @@
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"description": "A simple and modern approach to stream filtering in PHP",
|
"description": "A simple and modern approach to stream filtering in PHP",
|
||||||
"homepage": "https://github.com/clue/php-stream-filter",
|
"homepage": "https://github.com/clue/stream-filter",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"bucket brigade",
|
"bucket brigade",
|
||||||
"callback",
|
"callback",
|
||||||
|
@ -58,7 +58,7 @@
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/clue/stream-filter/issues",
|
"issues": "https://github.com/clue/stream-filter/issues",
|
||||||
"source": "https://github.com/clue/stream-filter/tree/v1.6.0"
|
"source": "https://github.com/clue/stream-filter/tree/v1.7.0"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -70,20 +70,20 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2022-02-21T13:15:14+00:00"
|
"time": "2023-12-20T15:40:13+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "doctrine/annotations",
|
"name": "doctrine/annotations",
|
||||||
"version": "1.14.3",
|
"version": "1.14.4",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/doctrine/annotations.git",
|
"url": "https://github.com/doctrine/annotations.git",
|
||||||
"reference": "fb0d71a7393298a7b232cbf4c8b1f73f3ec3d5af"
|
"reference": "253dca476f70808a5aeed3a47cc2cc88c5cab915"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/doctrine/annotations/zipball/fb0d71a7393298a7b232cbf4c8b1f73f3ec3d5af",
|
"url": "https://api.github.com/repos/doctrine/annotations/zipball/253dca476f70808a5aeed3a47cc2cc88c5cab915",
|
||||||
"reference": "fb0d71a7393298a7b232cbf4c8b1f73f3ec3d5af",
|
"reference": "253dca476f70808a5aeed3a47cc2cc88c5cab915",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -94,11 +94,11 @@
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"doctrine/cache": "^1.11 || ^2.0",
|
"doctrine/cache": "^1.11 || ^2.0",
|
||||||
"doctrine/coding-standard": "^9 || ^10",
|
"doctrine/coding-standard": "^9 || ^12",
|
||||||
"phpstan/phpstan": "~1.4.10 || ^1.8.0",
|
"phpstan/phpstan": "~1.4.10 || ^1.10.28",
|
||||||
"phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
|
"phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
|
||||||
"symfony/cache": "^4.4 || ^5.4 || ^6",
|
"symfony/cache": "^4.4 || ^5.4 || ^6.4 || ^7",
|
||||||
"vimeo/psalm": "^4.10"
|
"vimeo/psalm": "^4.30 || ^5.14"
|
||||||
},
|
},
|
||||||
"suggest": {
|
"suggest": {
|
||||||
"php": "PHP 8.0 or higher comes with attributes, a native replacement for annotations"
|
"php": "PHP 8.0 or higher comes with attributes, a native replacement for annotations"
|
||||||
|
@ -144,22 +144,22 @@
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/doctrine/annotations/issues",
|
"issues": "https://github.com/doctrine/annotations/issues",
|
||||||
"source": "https://github.com/doctrine/annotations/tree/1.14.3"
|
"source": "https://github.com/doctrine/annotations/tree/1.14.4"
|
||||||
},
|
},
|
||||||
"time": "2023-02-01T09:20:38+00:00"
|
"time": "2024-09-05T10:15:52+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "doctrine/deprecations",
|
"name": "doctrine/deprecations",
|
||||||
"version": "1.1.2",
|
"version": "1.1.3",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/doctrine/deprecations.git",
|
"url": "https://github.com/doctrine/deprecations.git",
|
||||||
"reference": "4f2d4f2836e7ec4e7a8625e75c6aa916004db931"
|
"reference": "dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/doctrine/deprecations/zipball/4f2d4f2836e7ec4e7a8625e75c6aa916004db931",
|
"url": "https://api.github.com/repos/doctrine/deprecations/zipball/dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab",
|
||||||
"reference": "4f2d4f2836e7ec4e7a8625e75c6aa916004db931",
|
"reference": "dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -191,22 +191,22 @@
|
||||||
"homepage": "https://www.doctrine-project.org/",
|
"homepage": "https://www.doctrine-project.org/",
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/doctrine/deprecations/issues",
|
"issues": "https://github.com/doctrine/deprecations/issues",
|
||||||
"source": "https://github.com/doctrine/deprecations/tree/1.1.2"
|
"source": "https://github.com/doctrine/deprecations/tree/1.1.3"
|
||||||
},
|
},
|
||||||
"time": "2023-09-27T20:04:15+00:00"
|
"time": "2024-01-30T19:34:25+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "doctrine/lexer",
|
"name": "doctrine/lexer",
|
||||||
"version": "2.1.0",
|
"version": "2.1.1",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/doctrine/lexer.git",
|
"url": "https://github.com/doctrine/lexer.git",
|
||||||
"reference": "39ab8fcf5a51ce4b85ca97c7a7d033eb12831124"
|
"reference": "861c870e8b75f7c8f69c146c7f89cc1c0f1b49b6"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/doctrine/lexer/zipball/39ab8fcf5a51ce4b85ca97c7a7d033eb12831124",
|
"url": "https://api.github.com/repos/doctrine/lexer/zipball/861c870e8b75f7c8f69c146c7f89cc1c0f1b49b6",
|
||||||
"reference": "39ab8fcf5a51ce4b85ca97c7a7d033eb12831124",
|
"reference": "861c870e8b75f7c8f69c146c7f89cc1c0f1b49b6",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -214,11 +214,11 @@
|
||||||
"php": "^7.1 || ^8.0"
|
"php": "^7.1 || ^8.0"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"doctrine/coding-standard": "^9 || ^10",
|
"doctrine/coding-standard": "^9 || ^12",
|
||||||
"phpstan/phpstan": "^1.3",
|
"phpstan/phpstan": "^1.3",
|
||||||
"phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
|
"phpunit/phpunit": "^7.5 || ^8.5 || ^9.6",
|
||||||
"psalm/plugin-phpunit": "^0.18.3",
|
"psalm/plugin-phpunit": "^0.18.3",
|
||||||
"vimeo/psalm": "^4.11 || ^5.0"
|
"vimeo/psalm": "^4.11 || ^5.21"
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"autoload": {
|
"autoload": {
|
||||||
|
@ -255,7 +255,7 @@
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/doctrine/lexer/issues",
|
"issues": "https://github.com/doctrine/lexer/issues",
|
||||||
"source": "https://github.com/doctrine/lexer/tree/2.1.0"
|
"source": "https://github.com/doctrine/lexer/tree/2.1.1"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -271,20 +271,20 @@
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2022-12-14T08:49:07+00:00"
|
"time": "2024-02-05T11:35:39+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "guzzlehttp/promises",
|
"name": "guzzlehttp/promises",
|
||||||
"version": "2.0.2",
|
"version": "2.0.3",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/guzzle/promises.git",
|
"url": "https://github.com/guzzle/promises.git",
|
||||||
"reference": "bbff78d96034045e58e13dedd6ad91b5d1253223"
|
"reference": "6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/guzzle/promises/zipball/bbff78d96034045e58e13dedd6ad91b5d1253223",
|
"url": "https://api.github.com/repos/guzzle/promises/zipball/6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8",
|
||||||
"reference": "bbff78d96034045e58e13dedd6ad91b5d1253223",
|
"reference": "6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -292,7 +292,7 @@
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"bamarni/composer-bin-plugin": "^1.8.2",
|
"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",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
|
@ -338,7 +338,7 @@
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/guzzle/promises/issues",
|
"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": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -354,20 +354,20 @@
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-12-03T20:19:20+00:00"
|
"time": "2024-07-18T10:29:17+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "guzzlehttp/psr7",
|
"name": "guzzlehttp/psr7",
|
||||||
"version": "2.6.2",
|
"version": "2.7.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/guzzle/psr7.git",
|
"url": "https://github.com/guzzle/psr7.git",
|
||||||
"reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221"
|
"reference": "a70f5c95fb43bc83f07c9c948baa0dc1829bf201"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/guzzle/psr7/zipball/45b30f99ac27b5ca93cb4831afe16285f57b8221",
|
"url": "https://api.github.com/repos/guzzle/psr7/zipball/a70f5c95fb43bc83f07c9c948baa0dc1829bf201",
|
||||||
"reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221",
|
"reference": "a70f5c95fb43bc83f07c9c948baa0dc1829bf201",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -382,8 +382,8 @@
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"bamarni/composer-bin-plugin": "^1.8.2",
|
"bamarni/composer-bin-plugin": "^1.8.2",
|
||||||
"http-interop/http-factory-tests": "^0.9",
|
"http-interop/http-factory-tests": "0.9.0",
|
||||||
"phpunit/phpunit": "^8.5.36 || ^9.6.15"
|
"phpunit/phpunit": "^8.5.39 || ^9.6.20"
|
||||||
},
|
},
|
||||||
"suggest": {
|
"suggest": {
|
||||||
"laminas/laminas-httphandlerrunner": "Emit PSR-7 responses"
|
"laminas/laminas-httphandlerrunner": "Emit PSR-7 responses"
|
||||||
|
@ -454,7 +454,7 @@
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/guzzle/psr7/issues",
|
"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": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -470,7 +470,7 @@
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-12-03T20:05:35+00:00"
|
"time": "2024-07-18T11:15:46+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "http-interop/http-factory-guzzle",
|
"name": "http-interop/http-factory-guzzle",
|
||||||
|
@ -532,16 +532,16 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "jean85/pretty-package-versions",
|
"name": "jean85/pretty-package-versions",
|
||||||
"version": "2.0.5",
|
"version": "2.0.6",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/Jean85/pretty-package-versions.git",
|
"url": "https://github.com/Jean85/pretty-package-versions.git",
|
||||||
"reference": "ae547e455a3d8babd07b96966b17d7fd21d9c6af"
|
"reference": "f9fdd29ad8e6d024f52678b570e5593759b550b4"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/Jean85/pretty-package-versions/zipball/ae547e455a3d8babd07b96966b17d7fd21d9c6af",
|
"url": "https://api.github.com/repos/Jean85/pretty-package-versions/zipball/f9fdd29ad8e6d024f52678b570e5593759b550b4",
|
||||||
"reference": "ae547e455a3d8babd07b96966b17d7fd21d9c6af",
|
"reference": "f9fdd29ad8e6d024f52678b570e5593759b550b4",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -549,9 +549,9 @@
|
||||||
"php": "^7.1|^8.0"
|
"php": "^7.1|^8.0"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"friendsofphp/php-cs-fixer": "^2.17",
|
"friendsofphp/php-cs-fixer": "^3.2",
|
||||||
"jean85/composer-provided-replaced-stub-package": "^1.0",
|
"jean85/composer-provided-replaced-stub-package": "^1.0",
|
||||||
"phpstan/phpstan": "^0.12.66",
|
"phpstan/phpstan": "^1.4",
|
||||||
"phpunit/phpunit": "^7.5|^8.5|^9.4",
|
"phpunit/phpunit": "^7.5|^8.5|^9.4",
|
||||||
"vimeo/psalm": "^4.3"
|
"vimeo/psalm": "^4.3"
|
||||||
},
|
},
|
||||||
|
@ -585,22 +585,22 @@
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/Jean85/pretty-package-versions/issues",
|
"issues": "https://github.com/Jean85/pretty-package-versions/issues",
|
||||||
"source": "https://github.com/Jean85/pretty-package-versions/tree/2.0.5"
|
"source": "https://github.com/Jean85/pretty-package-versions/tree/2.0.6"
|
||||||
},
|
},
|
||||||
"time": "2021-10-08T21:21:46+00:00"
|
"time": "2024-03-08T09:58:59+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "php-http/client-common",
|
"name": "php-http/client-common",
|
||||||
"version": "2.7.1",
|
"version": "2.7.2",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/php-http/client-common.git",
|
"url": "https://github.com/php-http/client-common.git",
|
||||||
"reference": "1e19c059b0e4d5f717bf5d524d616165aeab0612"
|
"reference": "0cfe9858ab9d3b213041b947c881d5b19ceeca46"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/php-http/client-common/zipball/1e19c059b0e4d5f717bf5d524d616165aeab0612",
|
"url": "https://api.github.com/repos/php-http/client-common/zipball/0cfe9858ab9d3b213041b947c881d5b19ceeca46",
|
||||||
"reference": "1e19c059b0e4d5f717bf5d524d616165aeab0612",
|
"reference": "0cfe9858ab9d3b213041b947c881d5b19ceeca46",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -654,22 +654,22 @@
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/php-http/client-common/issues",
|
"issues": "https://github.com/php-http/client-common/issues",
|
||||||
"source": "https://github.com/php-http/client-common/tree/2.7.1"
|
"source": "https://github.com/php-http/client-common/tree/2.7.2"
|
||||||
},
|
},
|
||||||
"time": "2023-11-30T10:31:25+00:00"
|
"time": "2024-09-24T06:21:48+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "php-http/discovery",
|
"name": "php-http/discovery",
|
||||||
"version": "1.19.2",
|
"version": "1.20.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/php-http/discovery.git",
|
"url": "https://github.com/php-http/discovery.git",
|
||||||
"reference": "61e1a1eb69c92741f5896d9e05fb8e9d7e8bb0cb"
|
"reference": "82fe4c73ef3363caed49ff8dd1539ba06044910d"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/php-http/discovery/zipball/61e1a1eb69c92741f5896d9e05fb8e9d7e8bb0cb",
|
"url": "https://api.github.com/repos/php-http/discovery/zipball/82fe4c73ef3363caed49ff8dd1539ba06044910d",
|
||||||
"reference": "61e1a1eb69c92741f5896d9e05fb8e9d7e8bb0cb",
|
"reference": "82fe4c73ef3363caed49ff8dd1539ba06044910d",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -693,7 +693,8 @@
|
||||||
"php-http/httplug": "^1.0 || ^2.0",
|
"php-http/httplug": "^1.0 || ^2.0",
|
||||||
"php-http/message-factory": "^1.0",
|
"php-http/message-factory": "^1.0",
|
||||||
"phpspec/phpspec": "^5.1 || ^6.1 || ^7.3",
|
"phpspec/phpspec": "^5.1 || ^6.1 || ^7.3",
|
||||||
"symfony/phpunit-bridge": "^6.2"
|
"sebastian/comparator": "^3.0.5 || ^4.0.8",
|
||||||
|
"symfony/phpunit-bridge": "^6.4.4 || ^7.0.1"
|
||||||
},
|
},
|
||||||
"type": "composer-plugin",
|
"type": "composer-plugin",
|
||||||
"extra": {
|
"extra": {
|
||||||
|
@ -732,22 +733,22 @@
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/php-http/discovery/issues",
|
"issues": "https://github.com/php-http/discovery/issues",
|
||||||
"source": "https://github.com/php-http/discovery/tree/1.19.2"
|
"source": "https://github.com/php-http/discovery/tree/1.20.0"
|
||||||
},
|
},
|
||||||
"time": "2023-11-30T16:49:05+00:00"
|
"time": "2024-10-02T11:20:13+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "php-http/httplug",
|
"name": "php-http/httplug",
|
||||||
"version": "2.4.0",
|
"version": "2.4.1",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/php-http/httplug.git",
|
"url": "https://github.com/php-http/httplug.git",
|
||||||
"reference": "625ad742c360c8ac580fcc647a1541d29e257f67"
|
"reference": "5cad731844891a4c282f3f3e1b582c46839d22f4"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/php-http/httplug/zipball/625ad742c360c8ac580fcc647a1541d29e257f67",
|
"url": "https://api.github.com/repos/php-http/httplug/zipball/5cad731844891a4c282f3f3e1b582c46839d22f4",
|
||||||
"reference": "625ad742c360c8ac580fcc647a1541d29e257f67",
|
"reference": "5cad731844891a4c282f3f3e1b582c46839d22f4",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -789,22 +790,22 @@
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/php-http/httplug/issues",
|
"issues": "https://github.com/php-http/httplug/issues",
|
||||||
"source": "https://github.com/php-http/httplug/tree/2.4.0"
|
"source": "https://github.com/php-http/httplug/tree/2.4.1"
|
||||||
},
|
},
|
||||||
"time": "2023-04-14T15:10:03+00:00"
|
"time": "2024-09-23T11:39:58+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "php-http/message",
|
"name": "php-http/message",
|
||||||
"version": "1.16.0",
|
"version": "1.16.2",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/php-http/message.git",
|
"url": "https://github.com/php-http/message.git",
|
||||||
"reference": "47a14338bf4ebd67d317bf1144253d7db4ab55fd"
|
"reference": "06dd5e8562f84e641bf929bfe699ee0f5ce8080a"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/php-http/message/zipball/47a14338bf4ebd67d317bf1144253d7db4ab55fd",
|
"url": "https://api.github.com/repos/php-http/message/zipball/06dd5e8562f84e641bf929bfe699ee0f5ce8080a",
|
||||||
"reference": "47a14338bf4ebd67d317bf1144253d7db4ab55fd",
|
"reference": "06dd5e8562f84e641bf929bfe699ee0f5ce8080a",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -858,9 +859,9 @@
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/php-http/message/issues",
|
"issues": "https://github.com/php-http/message/issues",
|
||||||
"source": "https://github.com/php-http/message/tree/1.16.0"
|
"source": "https://github.com/php-http/message/tree/1.16.2"
|
||||||
},
|
},
|
||||||
"time": "2023-05-17T06:43:38+00:00"
|
"time": "2024-10-02T11:34:13+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "php-http/message-factory",
|
"name": "php-http/message-factory",
|
||||||
|
@ -919,16 +920,16 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "php-http/promise",
|
"name": "php-http/promise",
|
||||||
"version": "1.2.1",
|
"version": "1.3.1",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/php-http/promise.git",
|
"url": "https://github.com/php-http/promise.git",
|
||||||
"reference": "44a67cb59f708f826f3bec35f22030b3edb90119"
|
"reference": "fc85b1fba37c169a69a07ef0d5a8075770cc1f83"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/php-http/promise/zipball/44a67cb59f708f826f3bec35f22030b3edb90119",
|
"url": "https://api.github.com/repos/php-http/promise/zipball/fc85b1fba37c169a69a07ef0d5a8075770cc1f83",
|
||||||
"reference": "44a67cb59f708f826f3bec35f22030b3edb90119",
|
"reference": "fc85b1fba37c169a69a07ef0d5a8075770cc1f83",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -965,9 +966,9 @@
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/php-http/promise/issues",
|
"issues": "https://github.com/php-http/promise/issues",
|
||||||
"source": "https://github.com/php-http/promise/tree/1.2.1"
|
"source": "https://github.com/php-http/promise/tree/1.3.1"
|
||||||
},
|
},
|
||||||
"time": "2023-11-08T12:57:08+00:00"
|
"time": "2024-03-15T13:55:21+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "predis/predis",
|
"name": "predis/predis",
|
||||||
|
@ -1231,20 +1232,20 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "psr/http-factory",
|
"name": "psr/http-factory",
|
||||||
"version": "1.0.2",
|
"version": "1.1.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/php-fig/http-factory.git",
|
"url": "https://github.com/php-fig/http-factory.git",
|
||||||
"reference": "e616d01114759c4c489f93b099585439f795fe35"
|
"reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/php-fig/http-factory/zipball/e616d01114759c4c489f93b099585439f795fe35",
|
"url": "https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a",
|
||||||
"reference": "e616d01114759c4c489f93b099585439f795fe35",
|
"reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=7.0.0",
|
"php": ">=7.1",
|
||||||
"psr/http-message": "^1.0 || ^2.0"
|
"psr/http-message": "^1.0 || ^2.0"
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
|
@ -1268,7 +1269,7 @@
|
||||||
"homepage": "https://www.php-fig.org/"
|
"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": [
|
"keywords": [
|
||||||
"factory",
|
"factory",
|
||||||
"http",
|
"http",
|
||||||
|
@ -1280,9 +1281,9 @@
|
||||||
"response"
|
"response"
|
||||||
],
|
],
|
||||||
"support": {
|
"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",
|
"name": "psr/http-message",
|
||||||
|
@ -1590,16 +1591,16 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "sentry/sentry-symfony",
|
"name": "sentry/sentry-symfony",
|
||||||
"version": "4.13.1",
|
"version": "4.14.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/getsentry/sentry-symfony.git",
|
"url": "https://github.com/getsentry/sentry-symfony.git",
|
||||||
"reference": "e8102da84841b33c0237b81479377d1cbaea9aa4"
|
"reference": "001c4cfd8fe93cbb00edaca903ffbfac28259170"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/getsentry/sentry-symfony/zipball/e8102da84841b33c0237b81479377d1cbaea9aa4",
|
"url": "https://api.github.com/repos/getsentry/sentry-symfony/zipball/001c4cfd8fe93cbb00edaca903ffbfac28259170",
|
||||||
"reference": "e8102da84841b33c0237b81479377d1cbaea9aa4",
|
"reference": "001c4cfd8fe93cbb00edaca903ffbfac28259170",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -1620,8 +1621,8 @@
|
||||||
"symfony/security-http": "^4.4.20||^5.0.11||^6.0||^7.0"
|
"symfony/security-http": "^4.4.20||^5.0.11||^6.0||^7.0"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"doctrine/dbal": "^2.13||^3.0",
|
"doctrine/dbal": "^2.13||^3.3||^4.0",
|
||||||
"doctrine/doctrine-bundle": "^1.12||^2.5",
|
"doctrine/doctrine-bundle": "^2.6",
|
||||||
"friendsofphp/php-cs-fixer": "^2.19||^3.40",
|
"friendsofphp/php-cs-fixer": "^2.19||^3.40",
|
||||||
"masterminds/html5": "^2.8",
|
"masterminds/html5": "^2.8",
|
||||||
"phpstan/extension-installer": "^1.0",
|
"phpstan/extension-installer": "^1.0",
|
||||||
|
@ -1688,7 +1689,7 @@
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/getsentry/sentry-symfony/issues",
|
"issues": "https://github.com/getsentry/sentry-symfony/issues",
|
||||||
"source": "https://github.com/getsentry/sentry-symfony/tree/4.13.1"
|
"source": "https://github.com/getsentry/sentry-symfony/tree/4.14.0"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -1700,7 +1701,7 @@
|
||||||
"type": "custom"
|
"type": "custom"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-12-06T16:02:30+00:00"
|
"time": "2024-02-26T09:27:19+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/apache-pack",
|
"name": "symfony/apache-pack",
|
||||||
|
@ -1730,16 +1731,16 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/asset",
|
"name": "symfony/asset",
|
||||||
"version": "v5.4.31",
|
"version": "v5.4.40",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/asset.git",
|
"url": "https://github.com/symfony/asset.git",
|
||||||
"reference": "edb2457a0ef615d420d2319851f679a4cc3b3635"
|
"reference": "e5aa241b4914257164b39c3c2678b2c41b7671e3"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/asset/zipball/edb2457a0ef615d420d2319851f679a4cc3b3635",
|
"url": "https://api.github.com/repos/symfony/asset/zipball/e5aa241b4914257164b39c3c2678b2c41b7671e3",
|
||||||
"reference": "edb2457a0ef615d420d2319851f679a4cc3b3635",
|
"reference": "e5aa241b4914257164b39c3c2678b2c41b7671e3",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -1784,7 +1785,7 @@
|
||||||
"description": "Manages URL generation and versioning of web assets such as CSS stylesheets, JavaScript files and image files",
|
"description": "Manages URL generation and versioning of web assets such as CSS stylesheets, JavaScript files and image files",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/asset/tree/v5.4.31"
|
"source": "https://github.com/symfony/asset/tree/v5.4.40"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -1800,20 +1801,20 @@
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-10-31T07:58:33+00:00"
|
"time": "2024-05-31T14:33:22+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/cache",
|
"name": "symfony/cache",
|
||||||
"version": "v5.4.32",
|
"version": "v5.4.44",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/cache.git",
|
"url": "https://github.com/symfony/cache.git",
|
||||||
"reference": "2553faca77502a4f68dc93cd2f3b9ec650751e40"
|
"reference": "4b3e7bf157b8b5a010865701d9106b5f0a9c99a8"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/cache/zipball/2553faca77502a4f68dc93cd2f3b9ec650751e40",
|
"url": "https://api.github.com/repos/symfony/cache/zipball/4b3e7bf157b8b5a010865701d9106b5f0a9c99a8",
|
||||||
"reference": "2553faca77502a4f68dc93cd2f3b9ec650751e40",
|
"reference": "4b3e7bf157b8b5a010865701d9106b5f0a9c99a8",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -1842,7 +1843,7 @@
|
||||||
"cache/integration-tests": "dev-master",
|
"cache/integration-tests": "dev-master",
|
||||||
"doctrine/cache": "^1.6|^2.0",
|
"doctrine/cache": "^1.6|^2.0",
|
||||||
"doctrine/dbal": "^2.13.1|^3|^4",
|
"doctrine/dbal": "^2.13.1|^3|^4",
|
||||||
"predis/predis": "^1.1",
|
"predis/predis": "^1.1|^2.0",
|
||||||
"psr/simple-cache": "^1.0|^2.0",
|
"psr/simple-cache": "^1.0|^2.0",
|
||||||
"symfony/config": "^4.4|^5.0|^6.0",
|
"symfony/config": "^4.4|^5.0|^6.0",
|
||||||
"symfony/dependency-injection": "^4.4|^5.0|^6.0",
|
"symfony/dependency-injection": "^4.4|^5.0|^6.0",
|
||||||
|
@ -1881,7 +1882,7 @@
|
||||||
"psr6"
|
"psr6"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/cache/tree/v5.4.32"
|
"source": "https://github.com/symfony/cache/tree/v5.4.44"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -1897,20 +1898,20 @@
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-11-24T13:04:07+00:00"
|
"time": "2024-09-13T16:57:39+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/cache-contracts",
|
"name": "symfony/cache-contracts",
|
||||||
"version": "v2.5.2",
|
"version": "v2.5.3",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/cache-contracts.git",
|
"url": "https://github.com/symfony/cache-contracts.git",
|
||||||
"reference": "64be4a7acb83b6f2bf6de9a02cee6dad41277ebc"
|
"reference": "fee6db04d913094e2fb55ff8e7db5685a8134463"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/cache-contracts/zipball/64be4a7acb83b6f2bf6de9a02cee6dad41277ebc",
|
"url": "https://api.github.com/repos/symfony/cache-contracts/zipball/fee6db04d913094e2fb55ff8e7db5685a8134463",
|
||||||
"reference": "64be4a7acb83b6f2bf6de9a02cee6dad41277ebc",
|
"reference": "fee6db04d913094e2fb55ff8e7db5685a8134463",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -1960,7 +1961,7 @@
|
||||||
"standards"
|
"standards"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/cache-contracts/tree/v2.5.2"
|
"source": "https://github.com/symfony/cache-contracts/tree/v2.5.3"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -1976,20 +1977,20 @@
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2022-01-02T09:53:40+00:00"
|
"time": "2024-01-23T13:51:25+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/config",
|
"name": "symfony/config",
|
||||||
"version": "v5.4.31",
|
"version": "v5.4.40",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/config.git",
|
"url": "https://github.com/symfony/config.git",
|
||||||
"reference": "dd5ea39de228813aba0c23c3a4153da2a4cf3cd9"
|
"reference": "d4e1db78421163b98dd9971d247fd0df4a57ee5e"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/config/zipball/dd5ea39de228813aba0c23c3a4153da2a4cf3cd9",
|
"url": "https://api.github.com/repos/symfony/config/zipball/d4e1db78421163b98dd9971d247fd0df4a57ee5e",
|
||||||
"reference": "dd5ea39de228813aba0c23c3a4153da2a4cf3cd9",
|
"reference": "d4e1db78421163b98dd9971d247fd0df4a57ee5e",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -2039,7 +2040,7 @@
|
||||||
"description": "Helps you find, load, combine, autofill and validate configuration values of any kind",
|
"description": "Helps you find, load, combine, autofill and validate configuration values of any kind",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/config/tree/v5.4.31"
|
"source": "https://github.com/symfony/config/tree/v5.4.40"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -2055,20 +2056,20 @@
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-11-09T08:22:43+00:00"
|
"time": "2024-05-31T14:33:22+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/console",
|
"name": "symfony/console",
|
||||||
"version": "v5.4.32",
|
"version": "v5.4.44",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/console.git",
|
"url": "https://github.com/symfony/console.git",
|
||||||
"reference": "c70df1ffaf23a8d340bded3cfab1b86752ad6ed7"
|
"reference": "5b5a0aa66e3296e303e22490f90f521551835a83"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/console/zipball/c70df1ffaf23a8d340bded3cfab1b86752ad6ed7",
|
"url": "https://api.github.com/repos/symfony/console/zipball/5b5a0aa66e3296e303e22490f90f521551835a83",
|
||||||
"reference": "c70df1ffaf23a8d340bded3cfab1b86752ad6ed7",
|
"reference": "5b5a0aa66e3296e303e22490f90f521551835a83",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -2138,7 +2139,7 @@
|
||||||
"terminal"
|
"terminal"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/console/tree/v5.4.32"
|
"source": "https://github.com/symfony/console/tree/v5.4.44"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -2154,20 +2155,20 @@
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-11-18T18:23:04+00:00"
|
"time": "2024-09-20T07:56:40+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/dependency-injection",
|
"name": "symfony/dependency-injection",
|
||||||
"version": "v5.4.33",
|
"version": "v5.4.44",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/dependency-injection.git",
|
"url": "https://github.com/symfony/dependency-injection.git",
|
||||||
"reference": "14969a558cd6382b2a12b14b20ef9a851a02da79"
|
"reference": "23eb9f3803a931aef16a65f362a9aeb0640a1374"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/dependency-injection/zipball/14969a558cd6382b2a12b14b20ef9a851a02da79",
|
"url": "https://api.github.com/repos/symfony/dependency-injection/zipball/23eb9f3803a931aef16a65f362a9aeb0640a1374",
|
||||||
"reference": "14969a558cd6382b2a12b14b20ef9a851a02da79",
|
"reference": "23eb9f3803a931aef16a65f362a9aeb0640a1374",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -2227,7 +2228,7 @@
|
||||||
"description": "Allows you to standardize and centralize the way objects are constructed in your application",
|
"description": "Allows you to standardize and centralize the way objects are constructed in your application",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/dependency-injection/tree/v5.4.33"
|
"source": "https://github.com/symfony/dependency-injection/tree/v5.4.44"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -2243,20 +2244,20 @@
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-11-30T08:15:37+00:00"
|
"time": "2024-09-12T20:01:35+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/deprecation-contracts",
|
"name": "symfony/deprecation-contracts",
|
||||||
"version": "v3.4.0",
|
"version": "v3.5.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/deprecation-contracts.git",
|
"url": "https://github.com/symfony/deprecation-contracts.git",
|
||||||
"reference": "7c3aff79d10325257a001fcf92d991f24fc967cf"
|
"reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/7c3aff79d10325257a001fcf92d991f24fc967cf",
|
"url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1",
|
||||||
"reference": "7c3aff79d10325257a001fcf92d991f24fc967cf",
|
"reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -2265,7 +2266,7 @@
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
"branch-alias": {
|
||||||
"dev-main": "3.4-dev"
|
"dev-main": "3.5-dev"
|
||||||
},
|
},
|
||||||
"thanks": {
|
"thanks": {
|
||||||
"name": "symfony/contracts",
|
"name": "symfony/contracts",
|
||||||
|
@ -2294,7 +2295,7 @@
|
||||||
"description": "A generic function and convention to trigger deprecation notices",
|
"description": "A generic function and convention to trigger deprecation notices",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/deprecation-contracts/tree/v3.4.0"
|
"source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.0"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -2310,20 +2311,20 @@
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-05-23T14:45:45+00:00"
|
"time": "2024-04-18T09:32:20+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/dotenv",
|
"name": "symfony/dotenv",
|
||||||
"version": "v5.4.30",
|
"version": "v5.4.44",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/dotenv.git",
|
"url": "https://github.com/symfony/dotenv.git",
|
||||||
"reference": "ceed2cd28442adcf3679a9a82dacd45baeefc458"
|
"reference": "bb4fef2bf035a50170fd95e5b146152834126008"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/dotenv/zipball/ceed2cd28442adcf3679a9a82dacd45baeefc458",
|
"url": "https://api.github.com/repos/symfony/dotenv/zipball/bb4fef2bf035a50170fd95e5b146152834126008",
|
||||||
"reference": "ceed2cd28442adcf3679a9a82dacd45baeefc458",
|
"reference": "bb4fef2bf035a50170fd95e5b146152834126008",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -2365,7 +2366,7 @@
|
||||||
"environment"
|
"environment"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/dotenv/tree/v5.4.30"
|
"source": "https://github.com/symfony/dotenv/tree/v5.4.44"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -2381,20 +2382,20 @@
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-10-26T16:37:39+00:00"
|
"time": "2024-09-16T09:39:25+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/error-handler",
|
"name": "symfony/error-handler",
|
||||||
"version": "v5.4.29",
|
"version": "v5.4.42",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/error-handler.git",
|
"url": "https://github.com/symfony/error-handler.git",
|
||||||
"reference": "328c6fcfd2f90b64c16efaf0ea67a311d672f078"
|
"reference": "db15ba0fd50890156ed40087ccedc7851a1f5b76"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/error-handler/zipball/328c6fcfd2f90b64c16efaf0ea67a311d672f078",
|
"url": "https://api.github.com/repos/symfony/error-handler/zipball/db15ba0fd50890156ed40087ccedc7851a1f5b76",
|
||||||
"reference": "328c6fcfd2f90b64c16efaf0ea67a311d672f078",
|
"reference": "db15ba0fd50890156ed40087ccedc7851a1f5b76",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -2436,7 +2437,7 @@
|
||||||
"description": "Provides tools to manage errors and ease debugging PHP code",
|
"description": "Provides tools to manage errors and ease debugging PHP code",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/error-handler/tree/v5.4.29"
|
"source": "https://github.com/symfony/error-handler/tree/v5.4.42"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -2452,20 +2453,20 @@
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-09-06T21:54:06+00:00"
|
"time": "2024-07-23T12:34:05+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/event-dispatcher",
|
"name": "symfony/event-dispatcher",
|
||||||
"version": "v5.4.26",
|
"version": "v5.4.40",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/event-dispatcher.git",
|
"url": "https://github.com/symfony/event-dispatcher.git",
|
||||||
"reference": "5dcc00e03413f05c1e7900090927bb7247cb0aac"
|
"reference": "a54e2a8a114065f31020d6a89ede83e34c3b27a4"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/5dcc00e03413f05c1e7900090927bb7247cb0aac",
|
"url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/a54e2a8a114065f31020d6a89ede83e34c3b27a4",
|
||||||
"reference": "5dcc00e03413f05c1e7900090927bb7247cb0aac",
|
"reference": "a54e2a8a114065f31020d6a89ede83e34c3b27a4",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -2521,7 +2522,7 @@
|
||||||
"description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them",
|
"description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/event-dispatcher/tree/v5.4.26"
|
"source": "https://github.com/symfony/event-dispatcher/tree/v5.4.40"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -2537,20 +2538,20 @@
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-07-06T06:34:20+00:00"
|
"time": "2024-05-31T14:33:22+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/event-dispatcher-contracts",
|
"name": "symfony/event-dispatcher-contracts",
|
||||||
"version": "v3.4.0",
|
"version": "v3.5.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/event-dispatcher-contracts.git",
|
"url": "https://github.com/symfony/event-dispatcher-contracts.git",
|
||||||
"reference": "a76aed96a42d2b521153fb382d418e30d18b59df"
|
"reference": "8f93aec25d41b72493c6ddff14e916177c9efc50"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/a76aed96a42d2b521153fb382d418e30d18b59df",
|
"url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/8f93aec25d41b72493c6ddff14e916177c9efc50",
|
||||||
"reference": "a76aed96a42d2b521153fb382d418e30d18b59df",
|
"reference": "8f93aec25d41b72493c6ddff14e916177c9efc50",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -2560,7 +2561,7 @@
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
"branch-alias": {
|
||||||
"dev-main": "3.4-dev"
|
"dev-main": "3.5-dev"
|
||||||
},
|
},
|
||||||
"thanks": {
|
"thanks": {
|
||||||
"name": "symfony/contracts",
|
"name": "symfony/contracts",
|
||||||
|
@ -2597,7 +2598,7 @@
|
||||||
"standards"
|
"standards"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.4.0"
|
"source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.5.0"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -2613,20 +2614,83 @@
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-05-23T14:45:45+00:00"
|
"time": "2024-04-18T09:32:20+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/filesystem",
|
"name": "symfony/expression-language",
|
||||||
"version": "v5.4.25",
|
"version": "v5.4.43",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/filesystem.git",
|
"url": "https://github.com/symfony/expression-language.git",
|
||||||
"reference": "0ce3a62c9579a53358d3a7eb6b3dfb79789a6364"
|
"reference": "9d23f7bfd1d602fddc6d6520decedc99739497dd"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/filesystem/zipball/0ce3a62c9579a53358d3a7eb6b3dfb79789a6364",
|
"url": "https://api.github.com/repos/symfony/expression-language/zipball/9d23f7bfd1d602fddc6d6520decedc99739497dd",
|
||||||
"reference": "0ce3a62c9579a53358d3a7eb6b3dfb79789a6364",
|
"reference": "9d23f7bfd1d602fddc6d6520decedc99739497dd",
|
||||||
|
"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.43"
|
||||||
|
},
|
||||||
|
"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-08-09T07:10:35+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "symfony/filesystem",
|
||||||
|
"version": "v5.4.44",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/symfony/filesystem.git",
|
||||||
|
"reference": "76c3818964e9d32be3862c9318ae3ba9aa280ddc"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/symfony/filesystem/zipball/76c3818964e9d32be3862c9318ae3ba9aa280ddc",
|
||||||
|
"reference": "76c3818964e9d32be3862c9318ae3ba9aa280ddc",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -2635,6 +2699,9 @@
|
||||||
"symfony/polyfill-mbstring": "~1.8",
|
"symfony/polyfill-mbstring": "~1.8",
|
||||||
"symfony/polyfill-php80": "^1.16"
|
"symfony/polyfill-php80": "^1.16"
|
||||||
},
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"symfony/process": "^5.4|^6.4"
|
||||||
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"autoload": {
|
"autoload": {
|
||||||
"psr-4": {
|
"psr-4": {
|
||||||
|
@ -2661,7 +2728,7 @@
|
||||||
"description": "Provides basic utilities for the filesystem",
|
"description": "Provides basic utilities for the filesystem",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/filesystem/tree/v5.4.25"
|
"source": "https://github.com/symfony/filesystem/tree/v5.4.44"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -2677,20 +2744,20 @@
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-05-31T13:04:02+00:00"
|
"time": "2024-09-16T14:52:48+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/finder",
|
"name": "symfony/finder",
|
||||||
"version": "v5.4.27",
|
"version": "v5.4.43",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/finder.git",
|
"url": "https://github.com/symfony/finder.git",
|
||||||
"reference": "ff4bce3c33451e7ec778070e45bd23f74214cd5d"
|
"reference": "ae25a9145a900764158d439653d5630191155ca0"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/finder/zipball/ff4bce3c33451e7ec778070e45bd23f74214cd5d",
|
"url": "https://api.github.com/repos/symfony/finder/zipball/ae25a9145a900764158d439653d5630191155ca0",
|
||||||
"reference": "ff4bce3c33451e7ec778070e45bd23f74214cd5d",
|
"reference": "ae25a9145a900764158d439653d5630191155ca0",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -2724,7 +2791,7 @@
|
||||||
"description": "Finds files and directories via an intuitive fluent interface",
|
"description": "Finds files and directories via an intuitive fluent interface",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/finder/tree/v5.4.27"
|
"source": "https://github.com/symfony/finder/tree/v5.4.43"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -2740,26 +2807,29 @@
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-07-31T08:02:31+00:00"
|
"time": "2024-08-13T14:03:51+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/flex",
|
"name": "symfony/flex",
|
||||||
"version": "v2.4.2",
|
"version": "v2.4.7",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/flex.git",
|
"url": "https://github.com/symfony/flex.git",
|
||||||
"reference": "67ee785f1aedada76461de7a7ec10cd7f8ff8d36"
|
"reference": "92f4fba342161ff36072bd3b8e0b3c6c23160402"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/flex/zipball/67ee785f1aedada76461de7a7ec10cd7f8ff8d36",
|
"url": "https://api.github.com/repos/symfony/flex/zipball/92f4fba342161ff36072bd3b8e0b3c6c23160402",
|
||||||
"reference": "67ee785f1aedada76461de7a7ec10cd7f8ff8d36",
|
"reference": "92f4fba342161ff36072bd3b8e0b3c6c23160402",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"composer-plugin-api": "^2.1",
|
"composer-plugin-api": "^2.1",
|
||||||
"php": ">=8.0"
|
"php": ">=8.0"
|
||||||
},
|
},
|
||||||
|
"conflict": {
|
||||||
|
"composer/semver": "<1.7.2"
|
||||||
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"composer/composer": "^2.1",
|
"composer/composer": "^2.1",
|
||||||
"symfony/dotenv": "^5.4|^6.0",
|
"symfony/dotenv": "^5.4|^6.0",
|
||||||
|
@ -2789,7 +2859,7 @@
|
||||||
"description": "Composer plugin for Symfony",
|
"description": "Composer plugin for Symfony",
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/symfony/flex/issues",
|
"issues": "https://github.com/symfony/flex/issues",
|
||||||
"source": "https://github.com/symfony/flex/tree/v2.4.2"
|
"source": "https://github.com/symfony/flex/tree/v2.4.7"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -2805,20 +2875,20 @@
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-12-05T14:09:35+00:00"
|
"time": "2024-10-07T08:51:54+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/form",
|
"name": "symfony/form",
|
||||||
"version": "v5.4.33",
|
"version": "v5.4.44",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/form.git",
|
"url": "https://github.com/symfony/form.git",
|
||||||
"reference": "9c13bf53e728d3f75ce7a36046ffc2cd0e7d25ec"
|
"reference": "4f3d91f8a7626e3cab9e3d2952321df10013a6eb"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/form/zipball/9c13bf53e728d3f75ce7a36046ffc2cd0e7d25ec",
|
"url": "https://api.github.com/repos/symfony/form/zipball/4f3d91f8a7626e3cab9e3d2952321df10013a6eb",
|
||||||
"reference": "9c13bf53e728d3f75ce7a36046ffc2cd0e7d25ec",
|
"reference": "4f3d91f8a7626e3cab9e3d2952321df10013a6eb",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -2841,7 +2911,7 @@
|
||||||
"symfony/error-handler": "<4.4.5",
|
"symfony/error-handler": "<4.4.5",
|
||||||
"symfony/framework-bundle": "<4.4",
|
"symfony/framework-bundle": "<4.4",
|
||||||
"symfony/http-kernel": "<4.4",
|
"symfony/http-kernel": "<4.4",
|
||||||
"symfony/translation": "<4.4",
|
"symfony/translation": "<5.4.35|>=6.0,<6.3.12|>=6.4,<6.4.3",
|
||||||
"symfony/translation-contracts": "<1.1.7",
|
"symfony/translation-contracts": "<1.1.7",
|
||||||
"symfony/twig-bridge": "<5.4.21|>=6,<6.2.7"
|
"symfony/twig-bridge": "<5.4.21|>=6,<6.2.7"
|
||||||
},
|
},
|
||||||
|
@ -2855,7 +2925,7 @@
|
||||||
"symfony/http-kernel": "^4.4|^5.0|^6.0",
|
"symfony/http-kernel": "^4.4|^5.0|^6.0",
|
||||||
"symfony/intl": "^4.4|^5.0|^6.0",
|
"symfony/intl": "^4.4|^5.0|^6.0",
|
||||||
"symfony/security-csrf": "^4.4|^5.0|^6.0",
|
"symfony/security-csrf": "^4.4|^5.0|^6.0",
|
||||||
"symfony/translation": "^4.4|^5.0|^6.0",
|
"symfony/translation": "^5.4.35|~6.3.12|^6.4.3",
|
||||||
"symfony/uid": "^5.1|^6.0",
|
"symfony/uid": "^5.1|^6.0",
|
||||||
"symfony/validator": "^4.4.17|^5.1.9|^6.0",
|
"symfony/validator": "^4.4.17|^5.1.9|^6.0",
|
||||||
"symfony/var-dumper": "^4.4|^5.0|^6.0"
|
"symfony/var-dumper": "^4.4|^5.0|^6.0"
|
||||||
|
@ -2891,7 +2961,7 @@
|
||||||
"description": "Allows to easily create, process and reuse HTML forms",
|
"description": "Allows to easily create, process and reuse HTML forms",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/form/tree/v5.4.33"
|
"source": "https://github.com/symfony/form/tree/v5.4.44"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -2907,20 +2977,20 @@
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-11-30T10:45:54+00:00"
|
"time": "2024-09-20T07:56:40+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/framework-bundle",
|
"name": "symfony/framework-bundle",
|
||||||
"version": "v5.4.32",
|
"version": "v5.4.44",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/framework-bundle.git",
|
"url": "https://github.com/symfony/framework-bundle.git",
|
||||||
"reference": "14597eccde5051368918bce92393be9ba941db14"
|
"reference": "9ae1957fb817c0fec6d171931f675895a434d988"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/framework-bundle/zipball/14597eccde5051368918bce92393be9ba941db14",
|
"url": "https://api.github.com/repos/symfony/framework-bundle/zipball/9ae1957fb817c0fec6d171931f675895a434d988",
|
||||||
"reference": "14597eccde5051368918bce92393be9ba941db14",
|
"reference": "9ae1957fb817c0fec6d171931f675895a434d988",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -2928,7 +2998,7 @@
|
||||||
"php": ">=7.2.5",
|
"php": ">=7.2.5",
|
||||||
"symfony/cache": "^5.2|^6.0",
|
"symfony/cache": "^5.2|^6.0",
|
||||||
"symfony/config": "^5.3|^6.0",
|
"symfony/config": "^5.3|^6.0",
|
||||||
"symfony/dependency-injection": "^5.4.5|^6.0.5",
|
"symfony/dependency-injection": "^5.4.44|^6.0.5",
|
||||||
"symfony/deprecation-contracts": "^2.1|^3",
|
"symfony/deprecation-contracts": "^2.1|^3",
|
||||||
"symfony/error-handler": "^4.4.1|^5.0.1|^6.0",
|
"symfony/error-handler": "^4.4.1|^5.0.1|^6.0",
|
||||||
"symfony/event-dispatcher": "^5.1|^6.0",
|
"symfony/event-dispatcher": "^5.1|^6.0",
|
||||||
|
@ -2948,7 +3018,7 @@
|
||||||
"phpdocumentor/reflection-docblock": "<3.2.2",
|
"phpdocumentor/reflection-docblock": "<3.2.2",
|
||||||
"phpdocumentor/type-resolver": "<1.4.0",
|
"phpdocumentor/type-resolver": "<1.4.0",
|
||||||
"symfony/asset": "<5.3",
|
"symfony/asset": "<5.3",
|
||||||
"symfony/console": "<5.2.5",
|
"symfony/console": "<5.2.5|>=7.0",
|
||||||
"symfony/dom-crawler": "<4.4",
|
"symfony/dom-crawler": "<4.4",
|
||||||
"symfony/dotenv": "<5.1",
|
"symfony/dotenv": "<5.1",
|
||||||
"symfony/form": "<5.2",
|
"symfony/form": "<5.2",
|
||||||
|
@ -3003,7 +3073,7 @@
|
||||||
"symfony/web-link": "^4.4|^5.0|^6.0",
|
"symfony/web-link": "^4.4|^5.0|^6.0",
|
||||||
"symfony/workflow": "^5.2|^6.0",
|
"symfony/workflow": "^5.2|^6.0",
|
||||||
"symfony/yaml": "^4.4|^5.0|^6.0",
|
"symfony/yaml": "^4.4|^5.0|^6.0",
|
||||||
"twig/twig": "^2.10|^3.0"
|
"twig/twig": "^2.10|^3.0.4"
|
||||||
},
|
},
|
||||||
"suggest": {
|
"suggest": {
|
||||||
"ext-apcu": "For best performance of the system caches",
|
"ext-apcu": "For best performance of the system caches",
|
||||||
|
@ -3041,7 +3111,7 @@
|
||||||
"description": "Provides a tight integration between Symfony components and the Symfony full-stack framework",
|
"description": "Provides a tight integration between Symfony components and the Symfony full-stack framework",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/framework-bundle/tree/v5.4.32"
|
"source": "https://github.com/symfony/framework-bundle/tree/v5.4.44"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -3057,27 +3127,27 @@
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-11-23T15:18:29+00:00"
|
"time": "2024-09-20T08:11:35+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/http-client",
|
"name": "symfony/http-client",
|
||||||
"version": "v5.4.31",
|
"version": "v5.4.44",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/http-client.git",
|
"url": "https://github.com/symfony/http-client.git",
|
||||||
"reference": "6cdf6cdf48101454f014a9ab4e0905f0b902389d"
|
"reference": "58d3dc6bfa5fb37137e32d52ddc202ba4d1cea04"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/http-client/zipball/6cdf6cdf48101454f014a9ab4e0905f0b902389d",
|
"url": "https://api.github.com/repos/symfony/http-client/zipball/58d3dc6bfa5fb37137e32d52ddc202ba4d1cea04",
|
||||||
"reference": "6cdf6cdf48101454f014a9ab4e0905f0b902389d",
|
"reference": "58d3dc6bfa5fb37137e32d52ddc202ba4d1cea04",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=7.2.5",
|
"php": ">=7.2.5",
|
||||||
"psr/log": "^1|^2|^3",
|
"psr/log": "^1|^2|^3",
|
||||||
"symfony/deprecation-contracts": "^2.1|^3",
|
"symfony/deprecation-contracts": "^2.1|^3",
|
||||||
"symfony/http-client-contracts": "^2.4",
|
"symfony/http-client-contracts": "^2.5.3",
|
||||||
"symfony/polyfill-php73": "^1.11",
|
"symfony/polyfill-php73": "^1.11",
|
||||||
"symfony/polyfill-php80": "^1.16",
|
"symfony/polyfill-php80": "^1.16",
|
||||||
"symfony/service-contracts": "^1.0|^2|^3"
|
"symfony/service-contracts": "^1.0|^2|^3"
|
||||||
|
@ -3093,7 +3163,7 @@
|
||||||
"amphp/http-client": "^4.2.1",
|
"amphp/http-client": "^4.2.1",
|
||||||
"amphp/http-tunnel": "^1.0",
|
"amphp/http-tunnel": "^1.0",
|
||||||
"amphp/socket": "^1.1",
|
"amphp/socket": "^1.1",
|
||||||
"guzzlehttp/promises": "^1.4",
|
"guzzlehttp/promises": "^1.4|^2.0",
|
||||||
"nyholm/psr7": "^1.0",
|
"nyholm/psr7": "^1.0",
|
||||||
"php-http/httplug": "^1.0|^2.0",
|
"php-http/httplug": "^1.0|^2.0",
|
||||||
"php-http/message-factory": "^1.0",
|
"php-http/message-factory": "^1.0",
|
||||||
|
@ -3132,7 +3202,7 @@
|
||||||
"http"
|
"http"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/http-client/tree/v5.4.31"
|
"source": "https://github.com/symfony/http-client/tree/v5.4.44"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -3148,20 +3218,20 @@
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-10-29T12:33:05+00:00"
|
"time": "2024-09-16T14:04:28+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/http-client-contracts",
|
"name": "symfony/http-client-contracts",
|
||||||
"version": "v2.5.2",
|
"version": "v2.5.3",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/http-client-contracts.git",
|
"url": "https://github.com/symfony/http-client-contracts.git",
|
||||||
"reference": "ba6a9f0e8f3edd190520ee3b9a958596b6ca2e70"
|
"reference": "e5cc97c2b4a4db0ba26bebc154f1426e3fd1d2f1"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/ba6a9f0e8f3edd190520ee3b9a958596b6ca2e70",
|
"url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/e5cc97c2b4a4db0ba26bebc154f1426e3fd1d2f1",
|
||||||
"reference": "ba6a9f0e8f3edd190520ee3b9a958596b6ca2e70",
|
"reference": "e5cc97c2b4a4db0ba26bebc154f1426e3fd1d2f1",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -3210,7 +3280,7 @@
|
||||||
"standards"
|
"standards"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/http-client-contracts/tree/v2.5.2"
|
"source": "https://github.com/symfony/http-client-contracts/tree/v2.5.3"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -3226,20 +3296,20 @@
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2022-04-12T15:48:08+00:00"
|
"time": "2024-03-26T19:42:53+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/http-foundation",
|
"name": "symfony/http-foundation",
|
||||||
"version": "v5.4.32",
|
"version": "v5.4.44",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/http-foundation.git",
|
"url": "https://github.com/symfony/http-foundation.git",
|
||||||
"reference": "cbcd80a4c36f59772d62860fdb0cb6a38da63fd2"
|
"reference": "ae0d217e5932aa0b70ddb4cf7822cc76d48aee53"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/cbcd80a4c36f59772d62860fdb0cb6a38da63fd2",
|
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/ae0d217e5932aa0b70ddb4cf7822cc76d48aee53",
|
||||||
"reference": "cbcd80a4c36f59772d62860fdb0cb6a38da63fd2",
|
"reference": "ae0d217e5932aa0b70ddb4cf7822cc76d48aee53",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -3249,7 +3319,7 @@
|
||||||
"symfony/polyfill-php80": "^1.16"
|
"symfony/polyfill-php80": "^1.16"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"predis/predis": "~1.0",
|
"predis/predis": "^1.0|^2.0",
|
||||||
"symfony/cache": "^4.4|^5.0|^6.0",
|
"symfony/cache": "^4.4|^5.0|^6.0",
|
||||||
"symfony/dependency-injection": "^5.4|^6.0",
|
"symfony/dependency-injection": "^5.4|^6.0",
|
||||||
"symfony/expression-language": "^4.4|^5.0|^6.0",
|
"symfony/expression-language": "^4.4|^5.0|^6.0",
|
||||||
|
@ -3286,7 +3356,7 @@
|
||||||
"description": "Defines an object-oriented layer for the HTTP specification",
|
"description": "Defines an object-oriented layer for the HTTP specification",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/http-foundation/tree/v5.4.32"
|
"source": "https://github.com/symfony/http-foundation/tree/v5.4.44"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -3302,20 +3372,20 @@
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-11-20T15:40:25+00:00"
|
"time": "2024-09-15T07:55:06+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/http-kernel",
|
"name": "symfony/http-kernel",
|
||||||
"version": "v5.4.33",
|
"version": "v5.4.44",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/http-kernel.git",
|
"url": "https://github.com/symfony/http-kernel.git",
|
||||||
"reference": "892636f9279f953dc266dc088f900b03eecb4ffa"
|
"reference": "788dcf72d9af7432a886aa3b0c5904d68087ba13"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/892636f9279f953dc266dc088f900b03eecb4ffa",
|
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/788dcf72d9af7432a886aa3b0c5904d68087ba13",
|
||||||
"reference": "892636f9279f953dc266dc088f900b03eecb4ffa",
|
"reference": "788dcf72d9af7432a886aa3b0c5904d68087ba13",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -3364,6 +3434,7 @@
|
||||||
"symfony/stopwatch": "^4.4|^5.0|^6.0",
|
"symfony/stopwatch": "^4.4|^5.0|^6.0",
|
||||||
"symfony/translation": "^4.4|^5.0|^6.0",
|
"symfony/translation": "^4.4|^5.0|^6.0",
|
||||||
"symfony/translation-contracts": "^1.1|^2|^3",
|
"symfony/translation-contracts": "^1.1|^2|^3",
|
||||||
|
"symfony/var-dumper": "^4.4.31|^5.4",
|
||||||
"twig/twig": "^2.13|^3.0.4"
|
"twig/twig": "^2.13|^3.0.4"
|
||||||
},
|
},
|
||||||
"suggest": {
|
"suggest": {
|
||||||
|
@ -3398,7 +3469,7 @@
|
||||||
"description": "Provides a structured process for converting a Request into a Response",
|
"description": "Provides a structured process for converting a Request into a Response",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/http-kernel/tree/v5.4.33"
|
"source": "https://github.com/symfony/http-kernel/tree/v5.4.44"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -3414,20 +3485,20 @@
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-12-01T16:51:11+00:00"
|
"time": "2024-09-21T05:47:58+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/lock",
|
"name": "symfony/lock",
|
||||||
"version": "v5.4.32",
|
"version": "v5.4.40",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/lock.git",
|
"url": "https://github.com/symfony/lock.git",
|
||||||
"reference": "a6d7d829f4907134775a0e1b162780e61f80ed87"
|
"reference": "d96955c9919fa8609b193ba76e9f527776b70176"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/lock/zipball/a6d7d829f4907134775a0e1b162780e61f80ed87",
|
"url": "https://api.github.com/repos/symfony/lock/zipball/d96955c9919fa8609b193ba76e9f527776b70176",
|
||||||
"reference": "a6d7d829f4907134775a0e1b162780e61f80ed87",
|
"reference": "d96955c9919fa8609b193ba76e9f527776b70176",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -3441,7 +3512,7 @@
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"doctrine/dbal": "^2.13|^3|^4",
|
"doctrine/dbal": "^2.13|^3|^4",
|
||||||
"predis/predis": "~1.0"
|
"predis/predis": "^1.0|^2.0"
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"autoload": {
|
"autoload": {
|
||||||
|
@ -3477,7 +3548,7 @@
|
||||||
"semaphore"
|
"semaphore"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/lock/tree/v5.4.32"
|
"source": "https://github.com/symfony/lock/tree/v5.4.40"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -3493,20 +3564,20 @@
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-11-20T15:40:25+00:00"
|
"time": "2024-05-31T14:33:22+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/options-resolver",
|
"name": "symfony/options-resolver",
|
||||||
"version": "v5.4.21",
|
"version": "v5.4.40",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/options-resolver.git",
|
"url": "https://github.com/symfony/options-resolver.git",
|
||||||
"reference": "4fe5cf6ede71096839f0e4b4444d65dd3a7c1eb9"
|
"reference": "bd1afbde6613a8d6b956115e0e14b196191fd0c4"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/options-resolver/zipball/4fe5cf6ede71096839f0e4b4444d65dd3a7c1eb9",
|
"url": "https://api.github.com/repos/symfony/options-resolver/zipball/bd1afbde6613a8d6b956115e0e14b196191fd0c4",
|
||||||
"reference": "4fe5cf6ede71096839f0e4b4444d65dd3a7c1eb9",
|
"reference": "bd1afbde6613a8d6b956115e0e14b196191fd0c4",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -3546,7 +3617,7 @@
|
||||||
"options"
|
"options"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/options-resolver/tree/v5.4.21"
|
"source": "https://github.com/symfony/options-resolver/tree/v5.4.40"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -3562,20 +3633,20 @@
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-02-14T08:03:56+00:00"
|
"time": "2024-05-31T14:33:22+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/password-hasher",
|
"name": "symfony/password-hasher",
|
||||||
"version": "v5.4.31",
|
"version": "v5.4.40",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/password-hasher.git",
|
"url": "https://github.com/symfony/password-hasher.git",
|
||||||
"reference": "f1a07181f3442836b0aadfd4c65841804d4173c4"
|
"reference": "21b98178ab2024e6c7d8ab72cca9ba16015c6093"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/password-hasher/zipball/f1a07181f3442836b0aadfd4c65841804d4173c4",
|
"url": "https://api.github.com/repos/symfony/password-hasher/zipball/21b98178ab2024e6c7d8ab72cca9ba16015c6093",
|
||||||
"reference": "f1a07181f3442836b0aadfd4c65841804d4173c4",
|
"reference": "21b98178ab2024e6c7d8ab72cca9ba16015c6093",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -3620,7 +3691,7 @@
|
||||||
"password"
|
"password"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/password-hasher/tree/v5.4.31"
|
"source": "https://github.com/symfony/password-hasher/tree/v5.4.40"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -3636,33 +3707,30 @@
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-11-02T10:18:11+00:00"
|
"time": "2024-05-31T14:33:22+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/polyfill-intl-grapheme",
|
"name": "symfony/polyfill-intl-grapheme",
|
||||||
"version": "v1.28.0",
|
"version": "v1.31.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/polyfill-intl-grapheme.git",
|
"url": "https://github.com/symfony/polyfill-intl-grapheme.git",
|
||||||
"reference": "875e90aeea2777b6f135677f618529449334a612"
|
"reference": "b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/875e90aeea2777b6f135677f618529449334a612",
|
"url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe",
|
||||||
"reference": "875e90aeea2777b6f135677f618529449334a612",
|
"reference": "b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=7.1"
|
"php": ">=7.2"
|
||||||
},
|
},
|
||||||
"suggest": {
|
"suggest": {
|
||||||
"ext-intl": "For best performance"
|
"ext-intl": "For best performance"
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
|
||||||
"dev-main": "1.28-dev"
|
|
||||||
},
|
|
||||||
"thanks": {
|
"thanks": {
|
||||||
"name": "symfony/polyfill",
|
"name": "symfony/polyfill",
|
||||||
"url": "https://github.com/symfony/polyfill"
|
"url": "https://github.com/symfony/polyfill"
|
||||||
|
@ -3701,7 +3769,7 @@
|
||||||
"shim"
|
"shim"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.28.0"
|
"source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.31.0"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -3717,33 +3785,30 @@
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-01-26T09:26:14+00:00"
|
"time": "2024-09-09T11:45:10+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/polyfill-intl-icu",
|
"name": "symfony/polyfill-intl-icu",
|
||||||
"version": "v1.28.0",
|
"version": "v1.31.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/polyfill-intl-icu.git",
|
"url": "https://github.com/symfony/polyfill-intl-icu.git",
|
||||||
"reference": "e46b4da57951a16053cd751f63f4a24292788157"
|
"reference": "d80a05e9904d2c2b9b95929f3e4b5d3a8f418d78"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/e46b4da57951a16053cd751f63f4a24292788157",
|
"url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/d80a05e9904d2c2b9b95929f3e4b5d3a8f418d78",
|
||||||
"reference": "e46b4da57951a16053cd751f63f4a24292788157",
|
"reference": "d80a05e9904d2c2b9b95929f3e4b5d3a8f418d78",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=7.1"
|
"php": ">=7.2"
|
||||||
},
|
},
|
||||||
"suggest": {
|
"suggest": {
|
||||||
"ext-intl": "For best performance and support of other locales than \"en\""
|
"ext-intl": "For best performance and support of other locales than \"en\""
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
|
||||||
"dev-main": "1.28-dev"
|
|
||||||
},
|
|
||||||
"thanks": {
|
"thanks": {
|
||||||
"name": "symfony/polyfill",
|
"name": "symfony/polyfill",
|
||||||
"url": "https://github.com/symfony/polyfill"
|
"url": "https://github.com/symfony/polyfill"
|
||||||
|
@ -3788,7 +3853,7 @@
|
||||||
"shim"
|
"shim"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/polyfill-intl-icu/tree/v1.28.0"
|
"source": "https://github.com/symfony/polyfill-intl-icu/tree/v1.31.0"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -3804,33 +3869,30 @@
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-03-21T17:27:24+00:00"
|
"time": "2024-09-09T11:45:10+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/polyfill-intl-normalizer",
|
"name": "symfony/polyfill-intl-normalizer",
|
||||||
"version": "v1.28.0",
|
"version": "v1.31.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/polyfill-intl-normalizer.git",
|
"url": "https://github.com/symfony/polyfill-intl-normalizer.git",
|
||||||
"reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92"
|
"reference": "3833d7255cc303546435cb650316bff708a1c75c"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92",
|
"url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/3833d7255cc303546435cb650316bff708a1c75c",
|
||||||
"reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92",
|
"reference": "3833d7255cc303546435cb650316bff708a1c75c",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=7.1"
|
"php": ">=7.2"
|
||||||
},
|
},
|
||||||
"suggest": {
|
"suggest": {
|
||||||
"ext-intl": "For best performance"
|
"ext-intl": "For best performance"
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
|
||||||
"dev-main": "1.28-dev"
|
|
||||||
},
|
|
||||||
"thanks": {
|
"thanks": {
|
||||||
"name": "symfony/polyfill",
|
"name": "symfony/polyfill",
|
||||||
"url": "https://github.com/symfony/polyfill"
|
"url": "https://github.com/symfony/polyfill"
|
||||||
|
@ -3872,7 +3934,7 @@
|
||||||
"shim"
|
"shim"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.28.0"
|
"source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.31.0"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -3888,24 +3950,24 @@
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-01-26T09:26:14+00:00"
|
"time": "2024-09-09T11:45:10+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/polyfill-mbstring",
|
"name": "symfony/polyfill-mbstring",
|
||||||
"version": "v1.28.0",
|
"version": "v1.31.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/polyfill-mbstring.git",
|
"url": "https://github.com/symfony/polyfill-mbstring.git",
|
||||||
"reference": "42292d99c55abe617799667f454222c54c60e229"
|
"reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/42292d99c55abe617799667f454222c54c60e229",
|
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/85181ba99b2345b0ef10ce42ecac37612d9fd341",
|
||||||
"reference": "42292d99c55abe617799667f454222c54c60e229",
|
"reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=7.1"
|
"php": ">=7.2"
|
||||||
},
|
},
|
||||||
"provide": {
|
"provide": {
|
||||||
"ext-mbstring": "*"
|
"ext-mbstring": "*"
|
||||||
|
@ -3915,9 +3977,6 @@
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
|
||||||
"dev-main": "1.28-dev"
|
|
||||||
},
|
|
||||||
"thanks": {
|
"thanks": {
|
||||||
"name": "symfony/polyfill",
|
"name": "symfony/polyfill",
|
||||||
"url": "https://github.com/symfony/polyfill"
|
"url": "https://github.com/symfony/polyfill"
|
||||||
|
@ -3955,7 +4014,7 @@
|
||||||
"shim"
|
"shim"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.28.0"
|
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.31.0"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -3971,30 +4030,27 @@
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-07-28T09:04:16+00:00"
|
"time": "2024-09-09T11:45:10+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/polyfill-php73",
|
"name": "symfony/polyfill-php73",
|
||||||
"version": "v1.28.0",
|
"version": "v1.31.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/polyfill-php73.git",
|
"url": "https://github.com/symfony/polyfill-php73.git",
|
||||||
"reference": "fe2f306d1d9d346a7fee353d0d5012e401e984b5"
|
"reference": "0f68c03565dcaaf25a890667542e8bd75fe7e5bb"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/fe2f306d1d9d346a7fee353d0d5012e401e984b5",
|
"url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/0f68c03565dcaaf25a890667542e8bd75fe7e5bb",
|
||||||
"reference": "fe2f306d1d9d346a7fee353d0d5012e401e984b5",
|
"reference": "0f68c03565dcaaf25a890667542e8bd75fe7e5bb",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=7.1"
|
"php": ">=7.2"
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
|
||||||
"dev-main": "1.28-dev"
|
|
||||||
},
|
|
||||||
"thanks": {
|
"thanks": {
|
||||||
"name": "symfony/polyfill",
|
"name": "symfony/polyfill",
|
||||||
"url": "https://github.com/symfony/polyfill"
|
"url": "https://github.com/symfony/polyfill"
|
||||||
|
@ -4034,7 +4090,7 @@
|
||||||
"shim"
|
"shim"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/polyfill-php73/tree/v1.28.0"
|
"source": "https://github.com/symfony/polyfill-php73/tree/v1.31.0"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -4050,30 +4106,27 @@
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-01-26T09:26:14+00:00"
|
"time": "2024-09-09T11:45:10+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/polyfill-php80",
|
"name": "symfony/polyfill-php80",
|
||||||
"version": "v1.28.0",
|
"version": "v1.31.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/polyfill-php80.git",
|
"url": "https://github.com/symfony/polyfill-php80.git",
|
||||||
"reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5"
|
"reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/6caa57379c4aec19c0a12a38b59b26487dcfe4b5",
|
"url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/60328e362d4c2c802a54fcbf04f9d3fb892b4cf8",
|
||||||
"reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5",
|
"reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=7.1"
|
"php": ">=7.2"
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
|
||||||
"dev-main": "1.28-dev"
|
|
||||||
},
|
|
||||||
"thanks": {
|
"thanks": {
|
||||||
"name": "symfony/polyfill",
|
"name": "symfony/polyfill",
|
||||||
"url": "https://github.com/symfony/polyfill"
|
"url": "https://github.com/symfony/polyfill"
|
||||||
|
@ -4117,7 +4170,7 @@
|
||||||
"shim"
|
"shim"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/polyfill-php80/tree/v1.28.0"
|
"source": "https://github.com/symfony/polyfill-php80/tree/v1.31.0"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -4133,30 +4186,27 @@
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-01-26T09:26:14+00:00"
|
"time": "2024-09-09T11:45:10+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/polyfill-php81",
|
"name": "symfony/polyfill-php81",
|
||||||
"version": "v1.28.0",
|
"version": "v1.31.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/polyfill-php81.git",
|
"url": "https://github.com/symfony/polyfill-php81.git",
|
||||||
"reference": "7581cd600fa9fd681b797d00b02f068e2f13263b"
|
"reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/7581cd600fa9fd681b797d00b02f068e2f13263b",
|
"url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c",
|
||||||
"reference": "7581cd600fa9fd681b797d00b02f068e2f13263b",
|
"reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=7.1"
|
"php": ">=7.2"
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
|
||||||
"dev-main": "1.28-dev"
|
|
||||||
},
|
|
||||||
"thanks": {
|
"thanks": {
|
||||||
"name": "symfony/polyfill",
|
"name": "symfony/polyfill",
|
||||||
"url": "https://github.com/symfony/polyfill"
|
"url": "https://github.com/symfony/polyfill"
|
||||||
|
@ -4196,7 +4246,7 @@
|
||||||
"shim"
|
"shim"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/polyfill-php81/tree/v1.28.0"
|
"source": "https://github.com/symfony/polyfill-php81/tree/v1.31.0"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -4212,20 +4262,20 @@
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-01-26T09:26:14+00:00"
|
"time": "2024-09-09T11:45:10+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/property-access",
|
"name": "symfony/property-access",
|
||||||
"version": "v5.4.26",
|
"version": "v5.4.43",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/property-access.git",
|
"url": "https://github.com/symfony/property-access.git",
|
||||||
"reference": "0249e46f69e92049a488f39fcf531cb42c50caaa"
|
"reference": "2d751866b976a02e22743359733edc55cd20e9fd"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/property-access/zipball/0249e46f69e92049a488f39fcf531cb42c50caaa",
|
"url": "https://api.github.com/repos/symfony/property-access/zipball/2d751866b976a02e22743359733edc55cd20e9fd",
|
||||||
"reference": "0249e46f69e92049a488f39fcf531cb42c50caaa",
|
"reference": "2d751866b976a02e22743359733edc55cd20e9fd",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -4277,7 +4327,7 @@
|
||||||
"reflection"
|
"reflection"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/property-access/tree/v5.4.26"
|
"source": "https://github.com/symfony/property-access/tree/v5.4.43"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -4293,20 +4343,20 @@
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-07-13T15:20:41+00:00"
|
"time": "2024-08-29T08:50:14+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/property-info",
|
"name": "symfony/property-info",
|
||||||
"version": "v5.4.24",
|
"version": "v5.4.42",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/property-info.git",
|
"url": "https://github.com/symfony/property-info.git",
|
||||||
"reference": "d43b85b00699b4484964c297575b5c6f9dc5f6e1"
|
"reference": "825aa937f6e8cd63dcc118d0af84d7d4979cddf4"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/property-info/zipball/d43b85b00699b4484964c297575b5c6f9dc5f6e1",
|
"url": "https://api.github.com/repos/symfony/property-info/zipball/825aa937f6e8cd63dcc118d0af84d7d4979cddf4",
|
||||||
"reference": "d43b85b00699b4484964c297575b5c6f9dc5f6e1",
|
"reference": "825aa937f6e8cd63dcc118d0af84d7d4979cddf4",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -4368,7 +4418,7 @@
|
||||||
"validator"
|
"validator"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/property-info/tree/v5.4.24"
|
"source": "https://github.com/symfony/property-info/tree/v5.4.42"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -4384,7 +4434,7 @@
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-05-15T20:11:03+00:00"
|
"time": "2024-07-22T18:03:36+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/psr-http-message-bridge",
|
"name": "symfony/psr-http-message-bridge",
|
||||||
|
@ -4477,16 +4527,16 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/rate-limiter",
|
"name": "symfony/rate-limiter",
|
||||||
"version": "v5.4.30",
|
"version": "v5.4.40",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/rate-limiter.git",
|
"url": "https://github.com/symfony/rate-limiter.git",
|
||||||
"reference": "10c8064e57ae1bb6dee152d44d737a1a799f8386"
|
"reference": "b3de902fc83923b9121169ade2453c41d0819110"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/rate-limiter/zipball/10c8064e57ae1bb6dee152d44d737a1a799f8386",
|
"url": "https://api.github.com/repos/symfony/rate-limiter/zipball/b3de902fc83923b9121169ade2453c41d0819110",
|
||||||
"reference": "10c8064e57ae1bb6dee152d44d737a1a799f8386",
|
"reference": "b3de902fc83923b9121169ade2453c41d0819110",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -4527,7 +4577,7 @@
|
||||||
"rate-limiter"
|
"rate-limiter"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/rate-limiter/tree/v5.4.30"
|
"source": "https://github.com/symfony/rate-limiter/tree/v5.4.40"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -4543,20 +4593,20 @@
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-10-10T05:34:18+00:00"
|
"time": "2024-05-31T14:33:22+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/routing",
|
"name": "symfony/routing",
|
||||||
"version": "v5.4.33",
|
"version": "v5.4.43",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/routing.git",
|
"url": "https://github.com/symfony/routing.git",
|
||||||
"reference": "5b5b86670f947db92ab54cdcff585e76064d0b04"
|
"reference": "b6f71780bbdd5e93e1c5638671cf0ba42aa8c6d8"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/routing/zipball/5b5b86670f947db92ab54cdcff585e76064d0b04",
|
"url": "https://api.github.com/repos/symfony/routing/zipball/b6f71780bbdd5e93e1c5638671cf0ba42aa8c6d8",
|
||||||
"reference": "5b5b86670f947db92ab54cdcff585e76064d0b04",
|
"reference": "b6f71780bbdd5e93e1c5638671cf0ba42aa8c6d8",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -4617,7 +4667,7 @@
|
||||||
"url"
|
"url"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/routing/tree/v5.4.33"
|
"source": "https://github.com/symfony/routing/tree/v5.4.43"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -4633,20 +4683,20 @@
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-12-01T09:28:00+00:00"
|
"time": "2024-08-27T06:36:52+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/runtime",
|
"name": "symfony/runtime",
|
||||||
"version": "v5.4.26",
|
"version": "v5.4.40",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/runtime.git",
|
"url": "https://github.com/symfony/runtime.git",
|
||||||
"reference": "4659b552bc9f2380986e3f4b7e2bd4e512470e0d"
|
"reference": "50096d4ebebb4f9c41b87695868a6e34bdbf7cde"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/runtime/zipball/4659b552bc9f2380986e3f4b7e2bd4e512470e0d",
|
"url": "https://api.github.com/repos/symfony/runtime/zipball/50096d4ebebb4f9c41b87695868a6e34bdbf7cde",
|
||||||
"reference": "4659b552bc9f2380986e3f4b7e2bd4e512470e0d",
|
"reference": "50096d4ebebb4f9c41b87695868a6e34bdbf7cde",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -4697,7 +4747,7 @@
|
||||||
"runtime"
|
"runtime"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/runtime/tree/v5.4.26"
|
"source": "https://github.com/symfony/runtime/tree/v5.4.40"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -4713,27 +4763,27 @@
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-07-16T16:48:57+00:00"
|
"time": "2024-05-31T14:33:22+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/security-bundle",
|
"name": "symfony/security-bundle",
|
||||||
"version": "v5.4.31",
|
"version": "v5.4.43",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/security-bundle.git",
|
"url": "https://github.com/symfony/security-bundle.git",
|
||||||
"reference": "92e24de1759b6a502896d87c5e0997973ef47ac4"
|
"reference": "f14a15c6c7bb37879d59c129d96c4c07c7d5db32"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/security-bundle/zipball/92e24de1759b6a502896d87c5e0997973ef47ac4",
|
"url": "https://api.github.com/repos/symfony/security-bundle/zipball/f14a15c6c7bb37879d59c129d96c4c07c7d5db32",
|
||||||
"reference": "92e24de1759b6a502896d87c5e0997973ef47ac4",
|
"reference": "f14a15c6c7bb37879d59c129d96c4c07c7d5db32",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"ext-xml": "*",
|
"ext-xml": "*",
|
||||||
"php": ">=7.2.5",
|
"php": ">=7.2.5",
|
||||||
"symfony/config": "^4.4|^5.0|^6.0",
|
"symfony/config": "^4.4|^5.0|^6.0",
|
||||||
"symfony/dependency-injection": "^5.3|^6.0",
|
"symfony/dependency-injection": "^5.4.43|^6.4.11",
|
||||||
"symfony/deprecation-contracts": "^2.1|^3",
|
"symfony/deprecation-contracts": "^2.1|^3",
|
||||||
"symfony/event-dispatcher": "^5.1|^6.0",
|
"symfony/event-dispatcher": "^5.1|^6.0",
|
||||||
"symfony/http-foundation": "^5.3|^6.0",
|
"symfony/http-foundation": "^5.3|^6.0",
|
||||||
|
@ -4800,7 +4850,7 @@
|
||||||
"description": "Provides a tight integration of the Security component into the Symfony full-stack framework",
|
"description": "Provides a tight integration of the Security component into the Symfony full-stack framework",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/security-bundle/tree/v5.4.31"
|
"source": "https://github.com/symfony/security-bundle/tree/v5.4.43"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -4816,20 +4866,20 @@
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-11-09T09:26:13+00:00"
|
"time": "2024-08-19T09:13:19+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/security-core",
|
"name": "symfony/security-core",
|
||||||
"version": "v5.4.30",
|
"version": "v5.4.44",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/security-core.git",
|
"url": "https://github.com/symfony/security-core.git",
|
||||||
"reference": "3908c54da30dd68c2fe31915d82a1c81809d1928"
|
"reference": "8089509e8c92e884fa27af56596576320c3b310d"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/security-core/zipball/3908c54da30dd68c2fe31915d82a1c81809d1928",
|
"url": "https://api.github.com/repos/symfony/security-core/zipball/8089509e8c92e884fa27af56596576320c3b310d",
|
||||||
"reference": "3908c54da30dd68c2fe31915d82a1c81809d1928",
|
"reference": "8089509e8c92e884fa27af56596576320c3b310d",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -4845,6 +4895,7 @@
|
||||||
"symfony/http-foundation": "<5.3",
|
"symfony/http-foundation": "<5.3",
|
||||||
"symfony/ldap": "<4.4",
|
"symfony/ldap": "<4.4",
|
||||||
"symfony/security-guard": "<4.4",
|
"symfony/security-guard": "<4.4",
|
||||||
|
"symfony/translation": "<5.4.35|>=6.0,<6.3.12|>=6.4,<6.4.3",
|
||||||
"symfony/validator": "<5.2"
|
"symfony/validator": "<5.2"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
|
@ -4856,7 +4907,7 @@
|
||||||
"symfony/expression-language": "^4.4|^5.0|^6.0",
|
"symfony/expression-language": "^4.4|^5.0|^6.0",
|
||||||
"symfony/http-foundation": "^5.3|^6.0",
|
"symfony/http-foundation": "^5.3|^6.0",
|
||||||
"symfony/ldap": "^4.4|^5.0|^6.0",
|
"symfony/ldap": "^4.4|^5.0|^6.0",
|
||||||
"symfony/translation": "^4.4|^5.0|^6.0",
|
"symfony/translation": "^5.4.35|~6.3.12|^6.4.3",
|
||||||
"symfony/validator": "^5.2|^6.0"
|
"symfony/validator": "^5.2|^6.0"
|
||||||
},
|
},
|
||||||
"suggest": {
|
"suggest": {
|
||||||
|
@ -4893,7 +4944,7 @@
|
||||||
"description": "Symfony Security Component - Core Library",
|
"description": "Symfony Security Component - Core Library",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/security-core/tree/v5.4.30"
|
"source": "https://github.com/symfony/security-core/tree/v5.4.44"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -4909,20 +4960,20 @@
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-10-27T07:38:28+00:00"
|
"time": "2024-09-01T10:41:54+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/security-csrf",
|
"name": "symfony/security-csrf",
|
||||||
"version": "v5.4.27",
|
"version": "v5.4.40",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/security-csrf.git",
|
"url": "https://github.com/symfony/security-csrf.git",
|
||||||
"reference": "995fcfcc5a3be09df157b4960668f61cceb86611"
|
"reference": "9058d522c1c33d7ba13f4b3c79555cc2c4c16028"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/security-csrf/zipball/995fcfcc5a3be09df157b4960668f61cceb86611",
|
"url": "https://api.github.com/repos/symfony/security-csrf/zipball/9058d522c1c33d7ba13f4b3c79555cc2c4c16028",
|
||||||
"reference": "995fcfcc5a3be09df157b4960668f61cceb86611",
|
"reference": "9058d522c1c33d7ba13f4b3c79555cc2c4c16028",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -4966,7 +5017,7 @@
|
||||||
"description": "Symfony Security Component - CSRF Library",
|
"description": "Symfony Security Component - CSRF Library",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/security-csrf/tree/v5.4.27"
|
"source": "https://github.com/symfony/security-csrf/tree/v5.4.40"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -4982,20 +5033,20 @@
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-07-28T14:44:35+00:00"
|
"time": "2024-05-31T14:33:22+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/security-guard",
|
"name": "symfony/security-guard",
|
||||||
"version": "v5.4.27",
|
"version": "v5.4.40",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/security-guard.git",
|
"url": "https://github.com/symfony/security-guard.git",
|
||||||
"reference": "72c53142533462fc6fda4a429c2a21c2b944a8cc"
|
"reference": "d930fd327c290f451c9d8dd7889169195d4484e9"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/security-guard/zipball/72c53142533462fc6fda4a429c2a21c2b944a8cc",
|
"url": "https://api.github.com/repos/symfony/security-guard/zipball/d930fd327c290f451c9d8dd7889169195d4484e9",
|
||||||
"reference": "72c53142533462fc6fda4a429c2a21c2b944a8cc",
|
"reference": "d930fd327c290f451c9d8dd7889169195d4484e9",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -5034,7 +5085,7 @@
|
||||||
"description": "Symfony Security Component - Guard",
|
"description": "Symfony Security Component - Guard",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/security-guard/tree/v5.4.27"
|
"source": "https://github.com/symfony/security-guard/tree/v5.4.40"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -5050,20 +5101,20 @@
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-07-28T14:44:35+00:00"
|
"time": "2024-05-31T14:33:22+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/security-http",
|
"name": "symfony/security-http",
|
||||||
"version": "v5.4.31",
|
"version": "v5.4.44",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/security-http.git",
|
"url": "https://github.com/symfony/security-http.git",
|
||||||
"reference": "6d3cd5a4deee9697738db8d24258890ca4140ae9"
|
"reference": "c0f81598425c170807f19b9a5413ad05323f317b"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/security-http/zipball/6d3cd5a4deee9697738db8d24258890ca4140ae9",
|
"url": "https://api.github.com/repos/symfony/security-http/zipball/c0f81598425c170807f19b9a5413ad05323f317b",
|
||||||
"reference": "6d3cd5a4deee9697738db8d24258890ca4140ae9",
|
"reference": "c0f81598425c170807f19b9a5413ad05323f317b",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -5120,7 +5171,7 @@
|
||||||
"description": "Symfony Security Component - HTTP Integration",
|
"description": "Symfony Security Component - HTTP Integration",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/security-http/tree/v5.4.31"
|
"source": "https://github.com/symfony/security-http/tree/v5.4.44"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -5136,20 +5187,20 @@
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-11-03T16:13:08+00:00"
|
"time": "2024-09-11T06:50:28+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/service-contracts",
|
"name": "symfony/service-contracts",
|
||||||
"version": "v2.5.2",
|
"version": "v2.5.3",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/service-contracts.git",
|
"url": "https://github.com/symfony/service-contracts.git",
|
||||||
"reference": "4b426aac47d6427cc1a1d0f7e2ac724627f5966c"
|
"reference": "a2329596ddc8fd568900e3fc76cba42489ecc7f3"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/service-contracts/zipball/4b426aac47d6427cc1a1d0f7e2ac724627f5966c",
|
"url": "https://api.github.com/repos/symfony/service-contracts/zipball/a2329596ddc8fd568900e3fc76cba42489ecc7f3",
|
||||||
"reference": "4b426aac47d6427cc1a1d0f7e2ac724627f5966c",
|
"reference": "a2329596ddc8fd568900e3fc76cba42489ecc7f3",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -5203,7 +5254,7 @@
|
||||||
"standards"
|
"standards"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/service-contracts/tree/v2.5.2"
|
"source": "https://github.com/symfony/service-contracts/tree/v2.5.3"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -5219,20 +5270,20 @@
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2022-05-30T19:17:29+00:00"
|
"time": "2023-04-21T15:04:16+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/string",
|
"name": "symfony/string",
|
||||||
"version": "v5.4.32",
|
"version": "v5.4.44",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/string.git",
|
"url": "https://github.com/symfony/string.git",
|
||||||
"reference": "91bf4453d65d8231688a04376c3a40efe0770f04"
|
"reference": "832caa16b6d9aac6bf11747315225f5aba384c24"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/string/zipball/91bf4453d65d8231688a04376c3a40efe0770f04",
|
"url": "https://api.github.com/repos/symfony/string/zipball/832caa16b6d9aac6bf11747315225f5aba384c24",
|
||||||
"reference": "91bf4453d65d8231688a04376c3a40efe0770f04",
|
"reference": "832caa16b6d9aac6bf11747315225f5aba384c24",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -5289,7 +5340,7 @@
|
||||||
"utf8"
|
"utf8"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/string/tree/v5.4.32"
|
"source": "https://github.com/symfony/string/tree/v5.4.44"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -5305,20 +5356,20 @@
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-11-26T13:43:46+00:00"
|
"time": "2024-09-20T07:56:40+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/translation",
|
"name": "symfony/translation",
|
||||||
"version": "v5.4.31",
|
"version": "v5.4.44",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/translation.git",
|
"url": "https://github.com/symfony/translation.git",
|
||||||
"reference": "ba72f72fceddf36f00bd495966b5873f2d17ad8f"
|
"reference": "6fed3a20b5b87ee9cdd9dacf545922b8fd475921"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/translation/zipball/ba72f72fceddf36f00bd495966b5873f2d17ad8f",
|
"url": "https://api.github.com/repos/symfony/translation/zipball/6fed3a20b5b87ee9cdd9dacf545922b8fd475921",
|
||||||
"reference": "ba72f72fceddf36f00bd495966b5873f2d17ad8f",
|
"reference": "6fed3a20b5b87ee9cdd9dacf545922b8fd475921",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -5386,7 +5437,7 @@
|
||||||
"description": "Provides tools to internationalize your application",
|
"description": "Provides tools to internationalize your application",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/translation/tree/v5.4.31"
|
"source": "https://github.com/symfony/translation/tree/v5.4.44"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -5402,20 +5453,20 @@
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-11-03T16:16:43+00:00"
|
"time": "2024-09-15T08:12:35+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/translation-contracts",
|
"name": "symfony/translation-contracts",
|
||||||
"version": "v2.5.2",
|
"version": "v2.5.3",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/translation-contracts.git",
|
"url": "https://github.com/symfony/translation-contracts.git",
|
||||||
"reference": "136b19dd05cdf0709db6537d058bcab6dd6e2dbe"
|
"reference": "b0073a77ac0b7ea55131020e87b1e3af540f4664"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/translation-contracts/zipball/136b19dd05cdf0709db6537d058bcab6dd6e2dbe",
|
"url": "https://api.github.com/repos/symfony/translation-contracts/zipball/b0073a77ac0b7ea55131020e87b1e3af540f4664",
|
||||||
"reference": "136b19dd05cdf0709db6537d058bcab6dd6e2dbe",
|
"reference": "b0073a77ac0b7ea55131020e87b1e3af540f4664",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -5464,7 +5515,7 @@
|
||||||
"standards"
|
"standards"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/translation-contracts/tree/v2.5.2"
|
"source": "https://github.com/symfony/translation-contracts/tree/v2.5.3"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -5480,20 +5531,20 @@
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2022-06-27T16:58:25+00:00"
|
"time": "2024-01-23T13:51:25+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/twig-bridge",
|
"name": "symfony/twig-bridge",
|
||||||
"version": "v5.4.31",
|
"version": "v5.4.44",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/twig-bridge.git",
|
"url": "https://github.com/symfony/twig-bridge.git",
|
||||||
"reference": "fc6ee0a3b672ea12ca1f26592d257bfc7f4ee942"
|
"reference": "d049fbe0e5ba0ad758f647fa8f99e840bca43f6f"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/twig-bridge/zipball/fc6ee0a3b672ea12ca1f26592d257bfc7f4ee942",
|
"url": "https://api.github.com/repos/symfony/twig-bridge/zipball/d049fbe0e5ba0ad758f647fa8f99e840bca43f6f",
|
||||||
"reference": "fc6ee0a3b672ea12ca1f26592d257bfc7f4ee942",
|
"reference": "d049fbe0e5ba0ad758f647fa8f99e840bca43f6f",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -5533,7 +5584,7 @@
|
||||||
"symfony/security-core": "^4.4|^5.0|^6.0",
|
"symfony/security-core": "^4.4|^5.0|^6.0",
|
||||||
"symfony/security-csrf": "^4.4|^5.0|^6.0",
|
"symfony/security-csrf": "^4.4|^5.0|^6.0",
|
||||||
"symfony/security-http": "^4.4|^5.0|^6.0",
|
"symfony/security-http": "^4.4|^5.0|^6.0",
|
||||||
"symfony/serializer": "^5.2|^6.0",
|
"symfony/serializer": "^5.4.35|~6.3.12|^6.4.3",
|
||||||
"symfony/stopwatch": "^4.4|^5.0|^6.0",
|
"symfony/stopwatch": "^4.4|^5.0|^6.0",
|
||||||
"symfony/translation": "^5.2|^6.0",
|
"symfony/translation": "^5.2|^6.0",
|
||||||
"symfony/web-link": "^4.4|^5.0|^6.0",
|
"symfony/web-link": "^4.4|^5.0|^6.0",
|
||||||
|
@ -5585,7 +5636,7 @@
|
||||||
"description": "Provides integration for Twig with various Symfony components",
|
"description": "Provides integration for Twig with various Symfony components",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/twig-bridge/tree/v5.4.31"
|
"source": "https://github.com/symfony/twig-bridge/tree/v5.4.44"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -5601,20 +5652,20 @@
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-11-09T21:19:08+00:00"
|
"time": "2024-09-11T13:27:43+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/twig-bundle",
|
"name": "symfony/twig-bundle",
|
||||||
"version": "v5.4.31",
|
"version": "v5.4.44",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/twig-bundle.git",
|
"url": "https://github.com/symfony/twig-bundle.git",
|
||||||
"reference": "62e3505a62f482a577f55ba08747dc6a3b7463b3"
|
"reference": "b94414b3b9e0c523677c0bf31e8975231b55f18a"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/twig-bundle/zipball/62e3505a62f482a577f55ba08747dc6a3b7463b3",
|
"url": "https://api.github.com/repos/symfony/twig-bundle/zipball/b94414b3b9e0c523677c0bf31e8975231b55f18a",
|
||||||
"reference": "62e3505a62f482a577f55ba08747dc6a3b7463b3",
|
"reference": "b94414b3b9e0c523677c0bf31e8975231b55f18a",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -5675,7 +5726,7 @@
|
||||||
"description": "Provides a tight integration of Twig into the Symfony full-stack framework",
|
"description": "Provides a tight integration of Twig into the Symfony full-stack framework",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/twig-bundle/tree/v5.4.31"
|
"source": "https://github.com/symfony/twig-bundle/tree/v5.4.44"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -5691,20 +5742,20 @@
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-10-31T07:58:33+00:00"
|
"time": "2024-09-07T13:25:07+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/validator",
|
"name": "symfony/validator",
|
||||||
"version": "v5.4.32",
|
"version": "v5.4.44",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/validator.git",
|
"url": "https://github.com/symfony/validator.git",
|
||||||
"reference": "d205d071c4a7ef5b6b43349c7e41d47d1b227636"
|
"reference": "5b061420daf15b58e1599cd2191b0780ddcd2157"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/validator/zipball/d205d071c4a7ef5b6b43349c7e41d47d1b227636",
|
"url": "https://api.github.com/repos/symfony/validator/zipball/5b061420daf15b58e1599cd2191b0780ddcd2157",
|
||||||
"reference": "d205d071c4a7ef5b6b43349c7e41d47d1b227636",
|
"reference": "5b061420daf15b58e1599cd2191b0780ddcd2157",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -5726,7 +5777,7 @@
|
||||||
"symfony/http-kernel": "<4.4",
|
"symfony/http-kernel": "<4.4",
|
||||||
"symfony/intl": "<4.4",
|
"symfony/intl": "<4.4",
|
||||||
"symfony/property-info": "<5.3",
|
"symfony/property-info": "<5.3",
|
||||||
"symfony/translation": "<4.4",
|
"symfony/translation": "<5.4.35|>=6.0,<6.3.12|>=6.4,<6.4.3",
|
||||||
"symfony/yaml": "<4.4"
|
"symfony/yaml": "<4.4"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
|
@ -5744,9 +5795,9 @@
|
||||||
"symfony/http-kernel": "^4.4|^5.0|^6.0",
|
"symfony/http-kernel": "^4.4|^5.0|^6.0",
|
||||||
"symfony/intl": "^4.4|^5.0|^6.0",
|
"symfony/intl": "^4.4|^5.0|^6.0",
|
||||||
"symfony/mime": "^4.4|^5.0|^6.0",
|
"symfony/mime": "^4.4|^5.0|^6.0",
|
||||||
"symfony/property-access": "^4.4|^5.0|^6.0",
|
"symfony/property-access": "^5.4|^6.0",
|
||||||
"symfony/property-info": "^5.3|^6.0",
|
"symfony/property-info": "^5.3|^6.0",
|
||||||
"symfony/translation": "^4.4|^5.0|^6.0",
|
"symfony/translation": "^5.4.35|~6.3.12|^6.4.3",
|
||||||
"symfony/yaml": "^4.4|^5.0|^6.0"
|
"symfony/yaml": "^4.4|^5.0|^6.0"
|
||||||
},
|
},
|
||||||
"suggest": {
|
"suggest": {
|
||||||
|
@ -5767,7 +5818,8 @@
|
||||||
"Symfony\\Component\\Validator\\": ""
|
"Symfony\\Component\\Validator\\": ""
|
||||||
},
|
},
|
||||||
"exclude-from-classmap": [
|
"exclude-from-classmap": [
|
||||||
"/Tests/"
|
"/Tests/",
|
||||||
|
"/Resources/bin/"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"notification-url": "https://packagist.org/downloads/",
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
@ -5787,7 +5839,7 @@
|
||||||
"description": "Provides tools to validate values",
|
"description": "Provides tools to validate values",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/validator/tree/v5.4.32"
|
"source": "https://github.com/symfony/validator/tree/v5.4.44"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -5803,20 +5855,20 @@
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-11-29T07:42:18+00:00"
|
"time": "2024-09-19T08:27:53+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/var-dumper",
|
"name": "symfony/var-dumper",
|
||||||
"version": "v5.4.29",
|
"version": "v5.4.43",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/var-dumper.git",
|
"url": "https://github.com/symfony/var-dumper.git",
|
||||||
"reference": "6172e4ae3534d25ee9e07eb487c20be7760fcc65"
|
"reference": "6be6a6a8af4818564e3726fc65cf936f34743cef"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/6172e4ae3534d25ee9e07eb487c20be7760fcc65",
|
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/6be6a6a8af4818564e3726fc65cf936f34743cef",
|
||||||
"reference": "6172e4ae3534d25ee9e07eb487c20be7760fcc65",
|
"reference": "6be6a6a8af4818564e3726fc65cf936f34743cef",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -5876,7 +5928,7 @@
|
||||||
"dump"
|
"dump"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/var-dumper/tree/v5.4.29"
|
"source": "https://github.com/symfony/var-dumper/tree/v5.4.43"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -5892,20 +5944,20 @@
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-09-12T10:09:58+00:00"
|
"time": "2024-08-30T16:01:46+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/var-exporter",
|
"name": "symfony/var-exporter",
|
||||||
"version": "v6.4.1",
|
"version": "v6.4.9",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/var-exporter.git",
|
"url": "https://github.com/symfony/var-exporter.git",
|
||||||
"reference": "2d08ca6b9cc704dce525615d1e6d1788734f36d9"
|
"reference": "f9a060622e0d93777b7f8687ec4860191e16802e"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/var-exporter/zipball/2d08ca6b9cc704dce525615d1e6d1788734f36d9",
|
"url": "https://api.github.com/repos/symfony/var-exporter/zipball/f9a060622e0d93777b7f8687ec4860191e16802e",
|
||||||
"reference": "2d08ca6b9cc704dce525615d1e6d1788734f36d9",
|
"reference": "f9a060622e0d93777b7f8687ec4860191e16802e",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -5913,6 +5965,8 @@
|
||||||
"symfony/deprecation-contracts": "^2.5|^3"
|
"symfony/deprecation-contracts": "^2.5|^3"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
|
"symfony/property-access": "^6.4|^7.0",
|
||||||
|
"symfony/serializer": "^6.4|^7.0",
|
||||||
"symfony/var-dumper": "^5.4|^6.0|^7.0"
|
"symfony/var-dumper": "^5.4|^6.0|^7.0"
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
|
@ -5951,7 +6005,7 @@
|
||||||
"serialize"
|
"serialize"
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/var-exporter/tree/v6.4.1"
|
"source": "https://github.com/symfony/var-exporter/tree/v6.4.9"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -5967,20 +6021,20 @@
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-11-30T10:32:10+00:00"
|
"time": "2024-06-24T15:53:56+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/web-profiler-bundle",
|
"name": "symfony/web-profiler-bundle",
|
||||||
"version": "v5.4.31",
|
"version": "v5.4.43",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/web-profiler-bundle.git",
|
"url": "https://github.com/symfony/web-profiler-bundle.git",
|
||||||
"reference": "c3e04e0ad13df22acad1157a5b66404a85c3c538"
|
"reference": "8f1628f1361e4623a6c2b373c3594845d6aacb79"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/c3e04e0ad13df22acad1157a5b66404a85c3c538",
|
"url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/8f1628f1361e4623a6c2b373c3594845d6aacb79",
|
||||||
"reference": "c3e04e0ad13df22acad1157a5b66404a85c3c538",
|
"reference": "8f1628f1361e4623a6c2b373c3594845d6aacb79",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -6031,7 +6085,7 @@
|
||||||
"description": "Provides a development tool that gives detailed information about the execution of any request",
|
"description": "Provides a development tool that gives detailed information about the execution of any request",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/web-profiler-bundle/tree/v5.4.31"
|
"source": "https://github.com/symfony/web-profiler-bundle/tree/v5.4.43"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -6047,7 +6101,7 @@
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-10-31T14:39:57+00:00"
|
"time": "2024-08-08T09:11:47+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/webpack-encore-bundle",
|
"name": "symfony/webpack-encore-bundle",
|
||||||
|
@ -6124,16 +6178,16 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/yaml",
|
"name": "symfony/yaml",
|
||||||
"version": "v5.4.31",
|
"version": "v5.4.44",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/symfony/yaml.git",
|
"url": "https://github.com/symfony/yaml.git",
|
||||||
"reference": "f387675d7f5fc4231f7554baa70681f222f73563"
|
"reference": "7025b964f123bbf1896d7563db6ec7f1f63e918a"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/symfony/yaml/zipball/f387675d7f5fc4231f7554baa70681f222f73563",
|
"url": "https://api.github.com/repos/symfony/yaml/zipball/7025b964f123bbf1896d7563db6ec7f1f63e918a",
|
||||||
"reference": "f387675d7f5fc4231f7554baa70681f222f73563",
|
"reference": "7025b964f123bbf1896d7563db6ec7f1f63e918a",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
@ -6179,7 +6233,7 @@
|
||||||
"description": "Loads and dumps YAML files",
|
"description": "Loads and dumps YAML files",
|
||||||
"homepage": "https://symfony.com",
|
"homepage": "https://symfony.com",
|
||||||
"support": {
|
"support": {
|
||||||
"source": "https://github.com/symfony/yaml/tree/v5.4.31"
|
"source": "https://github.com/symfony/yaml/tree/v5.4.44"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -6195,34 +6249,41 @@
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-11-03T14:41:28+00:00"
|
"time": "2024-09-16T14:36:56+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "twig/twig",
|
"name": "twig/twig",
|
||||||
"version": "v3.8.0",
|
"version": "v3.14.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/twigphp/Twig.git",
|
"url": "https://github.com/twigphp/Twig.git",
|
||||||
"reference": "9d15f0ac07f44dc4217883ec6ae02fd555c6f71d"
|
"reference": "126b2c97818dbff0cdf3fbfc881aedb3d40aae72"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/twigphp/Twig/zipball/9d15f0ac07f44dc4217883ec6ae02fd555c6f71d",
|
"url": "https://api.github.com/repos/twigphp/Twig/zipball/126b2c97818dbff0cdf3fbfc881aedb3d40aae72",
|
||||||
"reference": "9d15f0ac07f44dc4217883ec6ae02fd555c6f71d",
|
"reference": "126b2c97818dbff0cdf3fbfc881aedb3d40aae72",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=7.2.5",
|
"php": ">=8.0.2",
|
||||||
|
"symfony/deprecation-contracts": "^2.5|^3",
|
||||||
"symfony/polyfill-ctype": "^1.8",
|
"symfony/polyfill-ctype": "^1.8",
|
||||||
"symfony/polyfill-mbstring": "^1.3",
|
"symfony/polyfill-mbstring": "^1.3",
|
||||||
"symfony/polyfill-php80": "^1.22"
|
"symfony/polyfill-php81": "^1.29"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"psr/container": "^1.0|^2.0",
|
"psr/container": "^1.0|^2.0",
|
||||||
"symfony/phpunit-bridge": "^5.4.9|^6.3|^7.0"
|
"symfony/phpunit-bridge": "^5.4.9|^6.4|^7.0"
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"autoload": {
|
"autoload": {
|
||||||
|
"files": [
|
||||||
|
"src/Resources/core.php",
|
||||||
|
"src/Resources/debug.php",
|
||||||
|
"src/Resources/escaper.php",
|
||||||
|
"src/Resources/string_loader.php"
|
||||||
|
],
|
||||||
"psr-4": {
|
"psr-4": {
|
||||||
"Twig\\": "src/"
|
"Twig\\": "src/"
|
||||||
}
|
}
|
||||||
|
@ -6255,7 +6316,7 @@
|
||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/twigphp/Twig/issues",
|
"issues": "https://github.com/twigphp/Twig/issues",
|
||||||
"source": "https://github.com/twigphp/Twig/tree/v3.8.0"
|
"source": "https://github.com/twigphp/Twig/tree/v3.14.0"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
|
@ -6267,10 +6328,90 @@
|
||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-11-21T18:54:41+00:00"
|
"time": "2024-09-09T17:55:12+00:00"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"packages-dev": [
|
||||||
|
{
|
||||||
|
"name": "symfony/debug-bundle",
|
||||||
|
"version": "v5.4.40",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/symfony/debug-bundle.git",
|
||||||
|
"reference": "177f79296705823eee0d7dd79773f3a9df884fe0"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/symfony/debug-bundle/zipball/177f79296705823eee0d7dd79773f3a9df884fe0",
|
||||||
|
"reference": "177f79296705823eee0d7dd79773f3a9df884fe0",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"ext-xml": "*",
|
||||||
|
"php": ">=7.2.5",
|
||||||
|
"symfony/http-kernel": "^4.4|^5.0|^6.0",
|
||||||
|
"symfony/polyfill-php80": "^1.16",
|
||||||
|
"symfony/twig-bridge": "^4.4|^5.0|^6.0",
|
||||||
|
"symfony/var-dumper": "^4.4|^5.0|^6.0"
|
||||||
|
},
|
||||||
|
"conflict": {
|
||||||
|
"symfony/config": "<4.4",
|
||||||
|
"symfony/dependency-injection": "<5.2"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"symfony/config": "^4.4|^5.0|^6.0",
|
||||||
|
"symfony/dependency-injection": "^4.4|^5.0|^6.0",
|
||||||
|
"symfony/web-profiler-bundle": "^4.4|^5.0|^6.0"
|
||||||
|
},
|
||||||
|
"suggest": {
|
||||||
|
"symfony/config": "For service container configuration",
|
||||||
|
"symfony/dependency-injection": "For using as a service from the container"
|
||||||
|
},
|
||||||
|
"type": "symfony-bundle",
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Symfony\\Bundle\\DebugBundle\\": ""
|
||||||
|
},
|
||||||
|
"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 a tight integration of the Symfony VarDumper component and the ServerLogCommand from MonologBridge into the Symfony full-stack framework",
|
||||||
|
"homepage": "https://symfony.com",
|
||||||
|
"support": {
|
||||||
|
"source": "https://github.com/symfony/debug-bundle/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"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"packages-dev": [],
|
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"minimum-stability": "stable",
|
"minimum-stability": "stable",
|
||||||
"stability-flags": [],
|
"stability-flags": [],
|
||||||
|
|
|
@ -7,4 +7,5 @@ return [
|
||||||
Symfony\Bundle\WebProfilerBundle\WebProfilerBundle::class => ['dev' => true, 'test' => true],
|
Symfony\Bundle\WebProfilerBundle\WebProfilerBundle::class => ['dev' => true, 'test' => true],
|
||||||
Symfony\WebpackEncoreBundle\WebpackEncoreBundle::class => ['all' => true],
|
Symfony\WebpackEncoreBundle\WebpackEncoreBundle::class => ['all' => true],
|
||||||
Sentry\SentryBundle\SentryBundle::class => ['all' => true],
|
Sentry\SentryBundle\SentryBundle::class => ['all' => true],
|
||||||
|
Symfony\Bundle\DebugBundle\DebugBundle::class => ['dev' => true],
|
||||||
];
|
];
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
when@dev:
|
||||||
|
debug:
|
||||||
|
# Forwards VarDumper Data clones to a centralized server allowing to inspect dumps on CLI or in your browser.
|
||||||
|
# See the "server:dump" command to start a new server.
|
||||||
|
dump_destination: "tcp://%env(VAR_DUMPER_SERVER)%"
|
|
@ -0,0 +1,10 @@
|
||||||
|
services:
|
||||||
|
Psr\Http\Message\RequestFactoryInterface: '@http_discovery.psr17_factory'
|
||||||
|
Psr\Http\Message\ResponseFactoryInterface: '@http_discovery.psr17_factory'
|
||||||
|
Psr\Http\Message\ServerRequestFactoryInterface: '@http_discovery.psr17_factory'
|
||||||
|
Psr\Http\Message\StreamFactoryInterface: '@http_discovery.psr17_factory'
|
||||||
|
Psr\Http\Message\UploadedFileFactoryInterface: '@http_discovery.psr17_factory'
|
||||||
|
Psr\Http\Message\UriFactoryInterface: '@http_discovery.psr17_factory'
|
||||||
|
|
||||||
|
http_discovery.psr17_factory:
|
||||||
|
class: Http\Discovery\Psr17Factory
|
|
@ -1,9 +1,10 @@
|
||||||
twig:
|
twig:
|
||||||
globals:
|
globals:
|
||||||
locales: "%locales%"
|
locales: "%app.supported_locales%"
|
||||||
default_path: '%kernel.project_dir%/templates'
|
url_link: "%env(URL_LINK)%"
|
||||||
|
default_path: "%kernel.project_dir%/templates"
|
||||||
form_themes:
|
form_themes:
|
||||||
- 'bootstrap_5_layout.html.twig'
|
- "bootstrap_5_layout.html.twig"
|
||||||
when@test:
|
when@test:
|
||||||
twig:
|
twig:
|
||||||
strict_variables: true
|
strict_variables: true
|
||||||
|
|
|
@ -11,12 +11,9 @@ services:
|
||||||
- http_proxy=${http_proxy}
|
- http_proxy=${http_proxy}
|
||||||
- https_proxy=${https_proxy}
|
- https_proxy=${https_proxy}
|
||||||
ports:
|
ports:
|
||||||
- 8082:8080
|
- 8082:8071
|
||||||
volumes:
|
volumes:
|
||||||
- ./src:/app/src
|
- .:/app
|
||||||
- ./config:/app/config
|
|
||||||
- /etc/localtime:/etc/localtime:ro
|
|
||||||
- $HOME/.ssh:/root/.host-ssh:ro
|
|
||||||
tmpfs:
|
tmpfs:
|
||||||
- /var/www/var/logs:uid=${FIXUID:-1000},gid=${FIXGID:-1000}
|
- /var/www/var/logs:uid=${FIXUID:-1000},gid=${FIXGID:-1000}
|
||||||
- /var/www/var/cache:uid=${FIXUID:-1000},gid=${FIXGID:-1000}
|
- /var/www/var/cache:uid=${FIXUID:-1000},gid=${FIXGID:-1000}
|
||||||
|
@ -29,8 +26,8 @@ services:
|
||||||
- "localhost:host-gateway"
|
- "localhost:host-gateway"
|
||||||
- "host.docker.internal:host-gateway"
|
- "host.docker.internal:host-gateway"
|
||||||
environment:
|
environment:
|
||||||
- PHP_FPM_MEMORY_LIMIT=128m
|
|
||||||
- APP_ENV=dev
|
- APP_ENV=dev
|
||||||
|
- PHP_FPM_MEMORY_LIMIT=128m
|
||||||
- APP_LOCALES=fr,en
|
- APP_LOCALES=fr,en
|
||||||
- HYDRA_ADMIN_BASE_URL=http://hydra:4445
|
- HYDRA_ADMIN_BASE_URL=http://hydra:4445
|
||||||
- TRUSTED_PROXIES=127.0.0.1,REMOTE_ADDR,localhost
|
- TRUSTED_PROXIES=127.0.0.1,REMOTE_ADDR,localhost
|
||||||
|
@ -42,7 +39,7 @@ services:
|
||||||
- DSN_REMOTE_DATABASE=pgsql:host='postgres';port=5432;dbname=lasql;
|
- DSN_REMOTE_DATABASE=pgsql:host='postgres';port=5432;dbname=lasql;
|
||||||
- HASH_ALGO_LEGACY="sha256"
|
- HASH_ALGO_LEGACY="sha256"
|
||||||
- SECURITY_PATTERN=password,salt,pepper
|
- SECURITY_PATTERN=password,salt,pepper
|
||||||
|
- CADDY_HTTP_PORT=8071
|
||||||
|
|
||||||
oidc-test:
|
oidc-test:
|
||||||
image: bornholm/oidc-test:v0.0.0-1-g936a77e
|
image: bornholm/oidc-test:v0.0.0-1-g936a77e
|
||||||
|
@ -82,7 +79,14 @@ services:
|
||||||
links:
|
links:
|
||||||
- postgres
|
- postgres
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: ["CMD", "wget", "--spider", "-q", "http://127.0.0.1:4444/.well-known/openid-configuration"]
|
test:
|
||||||
|
[
|
||||||
|
"CMD",
|
||||||
|
"wget",
|
||||||
|
"--spider",
|
||||||
|
"-q",
|
||||||
|
"http://127.0.0.1:4444/.well-known/openid-configuration",
|
||||||
|
]
|
||||||
interval: 10s
|
interval: 10s
|
||||||
timeout: 10s
|
timeout: 10s
|
||||||
retries: 10
|
retries: 10
|
||||||
|
|
|
@ -10,7 +10,8 @@ ARG ADDITIONAL_PACKAGES="bash=5.2.15-r0 \
|
||||||
php81-soap=${PHP_PKG_VERSION} \
|
php81-soap=${PHP_PKG_VERSION} \
|
||||||
php81-ldap=${PHP_PKG_VERSION} \
|
php81-ldap=${PHP_PKG_VERSION} \
|
||||||
php81-pdo_mysql=${PHP_PKG_VERSION} \
|
php81-pdo_mysql=${PHP_PKG_VERSION} \
|
||||||
php81-bcmath=${PHP_PKG_VERSION}"
|
php81-bcmath=${PHP_PKG_VERSION} \
|
||||||
|
php81-pecl-xdebug"
|
||||||
FROM reg.cadoles.com/cadoles/symfony:alpine-php-8.1-standalone-2023.11.16-stable.1541.eec311d
|
|
||||||
|
|
||||||
|
FROM reg.cadoles.com/cadoles/symfony:alpine-php-8.1-base-2024.10.4-stable.1529.b630c69
|
||||||
|
RUN chown 1000:www-data -R /app
|
||||||
|
|
|
@ -10,7 +10,9 @@ ARG ADDITIONAL_PACKAGES="bash=5.2.15-r0 \
|
||||||
php81-soap=${PHP_PKG_VERSION} \
|
php81-soap=${PHP_PKG_VERSION} \
|
||||||
php81-ldap=${PHP_PKG_VERSION} \
|
php81-ldap=${PHP_PKG_VERSION} \
|
||||||
php81-pdo_mysql=${PHP_PKG_VERSION} \
|
php81-pdo_mysql=${PHP_PKG_VERSION} \
|
||||||
php81-bcmath=${PHP_PKG_VERSION}"
|
php81-bcmath=${PHP_PKG_VERSION} \
|
||||||
|
php81-pecl-xdebug"
|
||||||
FROM reg.cadoles.com/cadoles/symfony:alpine-php-8.1-standalone-2023.11.16-stable.1541.eec311d
|
|
||||||
|
|
||||||
|
FROM reg.cadoles.com/cadoles/symfony:alpine-php-8.1-standalone-2024.10.4-stable.1529.b630c69
|
||||||
|
RUN chown 1000:www-data -R /app
|
||||||
|
USER www-data
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -7,7 +7,7 @@
|
||||||
"@symfony/webpack-encore": "^4.1.2",
|
"@symfony/webpack-encore": "^4.1.2",
|
||||||
"core-js": "^3.23.0",
|
"core-js": "^3.23.0",
|
||||||
"regenerator-runtime": "^0.13.9",
|
"regenerator-runtime": "^0.13.9",
|
||||||
"webpack": "^5.74.0",
|
"webpack": "^5.91.0",
|
||||||
"webpack-cli": "^4.10.0",
|
"webpack-cli": "^4.10.0",
|
||||||
"webpack-notifier": "^1.15.0"
|
"webpack-notifier": "^1.15.0"
|
||||||
},
|
},
|
||||||
|
|
44
readme.md
44
readme.md
|
@ -3,15 +3,19 @@
|
||||||
Une [LoginApp](https://www.ory.sh/docs/hydra/concepts/login) pour le serveur OpenID Connect [Ory/Hydra](https://github.com/ory/hydra).
|
Une [LoginApp](https://www.ory.sh/docs/hydra/concepts/login) pour le serveur OpenID Connect [Ory/Hydra](https://github.com/ory/hydra).
|
||||||
Elle permet de se connecter à une base de donnée et de vérifier un mot de passe donné sur une mire locale puis d'aller chercher des données demandées
|
Elle permet de se connecter à une base de donnée et de vérifier un mot de passe donné sur une mire locale puis d'aller chercher des données demandées
|
||||||
|
|
||||||
|
## Image
|
||||||
|
|
||||||
|
- L'image standalone est construite en utilisant l'utilisateur `www-data` pour lancer supervisor (qui va lancer le process php-fpm et caddy, avec ce même user)
|
||||||
|
- C'est pour cela qu'on fini par "USER www-data" à la fin de `misc/images/hydra-oidc-standalone/Dockerfile`, sinon le conteneur `hydra-sql` ne tournera pas
|
||||||
|
|
||||||
## Configuration
|
## Configuration
|
||||||
|
|
||||||
### Variables d'environnement
|
### Variables d'environnement
|
||||||
|
|
||||||
| Variable | Description | Valeur par défaut | Utilisation |
|
| Variable | Description | Valeur par défaut | Utilisation |
|
||||||
|--------|-----------|-----------------|-----------|
|
| ----------------------------------- | ------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------- | ----------- |
|
||||||
| `APP_ENV` | Environnement symfony | prod | dev:prod |
|
| `APP_ENV` | Environnement symfony | prod | dev:prod |
|
||||||
| `APP_DEBUG` | Console de debug symofny | false | true:false |
|
| `APP_DEBUG` | Console de debug symofny | false | true:false |
|
||||||
|`PHP_FPM_MEMORY_LIMIT`|php-fpm memory limit|128mo||
|
|
||||||
|`NGINX_APP_SERVER_LISTEN`|Port d'écoute de l'application|8080||
|
|
||||||
| `HYDRA_ADMIN_BASE_URL` | Url d'admin Hydra ou dispatcher | http://hydra:4445 | obligatoire |
|
| `HYDRA_ADMIN_BASE_URL` | Url d'admin Hydra ou dispatcher | http://hydra:4445 | obligatoire |
|
||||||
| `BASE_URL` | Url d'accès | http://localhost:8080 | obligatoire |
|
| `BASE_URL` | Url d'accès | http://localhost:8080 | obligatoire |
|
||||||
| `DSN_REMOTE_DATABASE` | DSN de la BDD | postgresql://lasql:lasql@postgres:5432/lasql?serverVersion=15&chartset=utf8 | |
|
| `DSN_REMOTE_DATABASE` | DSN de la BDD | postgresql://lasql:lasql@postgres:5432/lasql?serverVersion=15&chartset=utf8 | |
|
||||||
|
@ -22,16 +26,38 @@ Elle permet de se connecter à une base de donnée et de vérifier un mot de pas
|
||||||
| `SECURITY_PATTERN` | Séquence à employer pour le hashage du mot de passe | password,salt,pepper | obligatoire |
|
| `SECURITY_PATTERN` | Séquence à employer pour le hashage du mot de passe | password,salt,pepper | obligatoire |
|
||||||
| `PEPPER` | Pepper utilisé pour le Hashage | | |
|
| `PEPPER` | Pepper utilisé pour le Hashage | | |
|
||||||
| `REDIS_DSN` | DSN du serveur Redis | redis://redis:6379 | obligatoire |
|
| `REDIS_DSN` | DSN du serveur Redis | redis://redis:6379 | obligatoire |
|
||||||
|
| `URL_LINK` | Url pouvant être utilisée dans les liens des templates | | |
|
||||||
|
| `CADDY_HTTP_PORT` | Port d'écoute de l'application | 8080 | |
|
||||||
|
| `CADDY_HTTPS_PORT` | Port d'écoute de l'application | 8443 | |
|
||||||
|
| `CADDY_DATA_FS` | Chemin vers le répertoire utilisé pour le stockage de caddy | /tmp/caddy | |
|
||||||
|
| `CADDY_APP_ROOT_PUBLIC` | Chemin vers le répertoire utilisé pour servire les fichiers | /app/public | |
|
||||||
|
| `CADDY_PHP_INDEX` | Nom du fichier a utiliser pour servir l'application | index.php | |
|
||||||
|
| `CADDY_APP_UPSTREAM_BACKEND_SERVER` | Adresse du serveur backend FastCGI PHP vers lequel doit être diriger les requêtes PHP. | unix//tmp/php-fpm.sock | |
|
||||||
|
| `CADDY_TRUSTED_PROXIES` | Spécification des adresses IP /plage IP étant sur pour transmettre les requetes HTTP | private_ranges | |
|
||||||
|
| `CADDY_LOG_FORMAT` | Spécification du format des logs | console | |
|
||||||
|
| `CADDY_LOG_LEVEL` | Spécification du niveau de verbosité des logs | INFO | |
|
||||||
|
| `PHP_FPM_MEMORY_LIMIT` | Spécification de la mémoire limite maximale alloué au processus PHP-FPM | 128M | |
|
||||||
|
| `PHP_FPM_DISPLAY_ERRORS` | Afficahge des erreurs dans la sortie du serveur web. | off | |
|
||||||
|
| `PHP_FPM_LISTEN` | Spécification du serveur sur lequel PHP FPM écoute les connexion. | /tmp/php-fpm.sock | |
|
||||||
|
| `PHP_FPM_LOG_LEVEL` | Spécification du niveau de verbosité des logs PHP-FPM | notice | |
|
||||||
|
| `PHP_FPM_PM` | Définition du mode de gestion des processus PHP-FPM | dynamic | |
|
||||||
|
| `PHP_FPM_PM_MAX_CHILDREN` | Définition du nombre maximum de processus enfants que PHP-FPM peut générer | 5 | |
|
||||||
|
| `PHP_FPM_PM_START_SERVERS` | Définition du nombre de processus enfants que PHP-FPM va démarrer au lancement de PHP-FPM | 2 | |
|
||||||
|
| `PHP_FPM_PM_MIN_SPARE_SERVERS` | Définition du nombre minimum de processus enfants inactifs que PHP-FPM doit conserver en réserve. | 1 | |
|
||||||
|
| `PHP_FPM_PM_MAX_SPARE_SERVERS` | Définition du nombre maximum de processus enfants inactifs que PHP-FPM peut conserver en réserve. | 3 | |
|
||||||
|
| `XDG_DATA_HOME` | Définition du répertoire de base pour le stockage des données spécifiques à l'utilisateur. | /tmp/data | |
|
||||||
|
|
||||||
### Algorithmes de hashage compatibles
|
### Algorithmes de hashage compatibles
|
||||||
|
|
||||||
La login app est compatible par défaut avec toutes les méthodes de hashage de PHP et avec SSHA. Aucune configuration supplémentaire n'est nécessaire.
|
La login app est compatible par défaut avec toutes les méthodes de hashage de PHP et avec SSHA. Aucune configuration supplémentaire n'est nécessaire.
|
||||||
|
|
||||||
### Pattern de hashage
|
### Pattern de hashage
|
||||||
|
|
||||||
Définir dans la variable `SECURITY_PATTERN` le pattern utilisé avec les mots clés: password | salt | pepper séparé par des virgules pour représenter la séquence à employer pour le hashage du mot de passe.
|
Définir dans la variable `SECURITY_PATTERN` le pattern utilisé avec les mots clés: password | salt | pepper séparé par des virgules pour représenter la séquence à employer pour le hashage du mot de passe.
|
||||||
Exemple : `SECURITY_PATTERN="salt,password,pepper"`
|
Exemple : `SECURITY_PATTERN="salt,password,pepper"`
|
||||||
|
|
||||||
### Schéma de base de donnée
|
### Schéma de base de donnée
|
||||||
|
|
||||||
Permet d'adapter les requetes SQL à la base de donnée utilisée en indiquant les noms de colonnes de celle-ci.
|
Permet d'adapter les requetes SQL à la base de donnée utilisée en indiquant les noms de colonnes de celle-ci.
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
|
@ -45,11 +71,13 @@ sql_login:
|
||||||
- email
|
- email
|
||||||
- lastname
|
- lastname
|
||||||
- firstname
|
- firstname
|
||||||
|
subject_rewrite_expression: 'firstname~"."~lastname~"@exemple.com"'
|
||||||
```
|
```
|
||||||
|
|
||||||
## Environnement de développement
|
## Environnement de développement
|
||||||
|
|
||||||
### Tester
|
### Tester
|
||||||
|
|
||||||
Se rendre sur [http://localhost:8000/](http://localhost:8000/) et cliquer `Login` pour commencer une nouvelle connexion.
|
Se rendre sur [http://localhost:8000/](http://localhost:8000/) et cliquer `Login` pour commencer une nouvelle connexion.
|
||||||
3 utilisateurs d'exemple sont disponible pour les tests:
|
3 utilisateurs d'exemple sont disponible pour les tests:
|
||||||
| Login | Mot de passe | Algorithme |
|
| Login | Mot de passe | Algorithme |
|
||||||
|
@ -59,8 +87,10 @@ Se rendre sur [http://localhost:8000/](http://localhost:8000/) et cliquer `Login
|
||||||
| test3@test.com | 123456 | SSHA |
|
| test3@test.com | 123456 | SSHA |
|
||||||
|
|
||||||
### Base de donnée
|
### Base de donnée
|
||||||
|
|
||||||
2 bases de données différentes sont disponible pour les tests.
|
2 bases de données différentes sont disponible pour les tests.
|
||||||
Pour choisir la base de donnée à utiliser, modifier les d'environnement relatives à la base de donnée.
|
Pour choisir la base de donnée à utiliser, modifier les d'environnement relatives à la base de donnée.
|
||||||
|
|
||||||
- **URL Postgres**: `postgresql://lasql:lasql@mariadb:3306/lasql?serverVersion=15&chartset=utf8`
|
- **URL Postgres**: `postgresql://lasql:lasql@mariadb:3306/lasql?serverVersion=15&chartset=utf8`
|
||||||
- **URL Mariadb**: `mysql://lasql:lasql@postgres:5432/lasql`
|
- **URL Mariadb**: `mysql://lasql:lasql@postgres:5432/lasql`
|
||||||
|
|
||||||
|
@ -72,10 +102,10 @@ ex : `'redis:?host[redis1:26379]&host[redis2:26379]&host[redis3:26379]&redis_sen
|
||||||
### Liste des ports
|
### Liste des ports
|
||||||
|
|
||||||
| Nom | Description | Port(s) hôte utilisé(s) |
|
| Nom | Description | Port(s) hôte utilisé(s) |
|
||||||
|---|-----------|------------------|
|
| ----------- | -------------------------------------------------------------------------- | ----------------------- |
|
||||||
| `oidc-test` | Application factice permettant de tester l'authentification OpenID Connect | `8080` |
|
| `oidc-test` | Application factice permettant de tester l'authentification OpenID Connect | `8080` |
|
||||||
| `hydra` | Serveur Ory/Hydra | `8081` |
|
| `hydra` | Serveur Ory/Hydra | `8081` |
|
||||||
| `hydra-sql` | Login/Consent/Logout App (ce projet) | `8082` |
|
| `hydra-sql` | Login/Consent/Logout App (ce projet) | `8082` |
|
||||||
|`postgres`| Base de donnée postgres support du test et pour hydra|`5432`
|
| `postgres` | Base de donnée postgres support du test et pour hydra | `5432` |
|
||||||
|`mariadb`| Base de donnée mariadb support du test|`3306`
|
| `mariadb` | Base de donnée mariadb support du test | `3306` |
|
||||||
|`pgadmin`| pour administrer la base de donnée |`8085`
|
| `pgadmin` | pour administrer la base de donnée | `8085` |
|
||||||
|
|
|
@ -4,12 +4,13 @@ namespace App\Controller;
|
||||||
|
|
||||||
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
||||||
use Symfony\Component\ErrorHandler\Exception\FlattenException;
|
use Symfony\Component\ErrorHandler\Exception\FlattenException;
|
||||||
|
use Symfony\Component\HttpFoundation\Response;
|
||||||
use Symfony\Component\Routing\Annotation\Route;
|
use Symfony\Component\Routing\Annotation\Route;
|
||||||
|
|
||||||
class CustomErrorController extends AbstractController
|
class CustomErrorController extends AbstractController
|
||||||
{
|
{
|
||||||
#[Route(path: '/error', name: 'custom_error_controller')]
|
#[Route(path: '/error', name: 'custom_error_controller')]
|
||||||
public function show(FlattenException $exception)
|
public function show(FlattenException $exception): Response
|
||||||
{
|
{
|
||||||
$statusCode = $exception->getStatusCode();
|
$statusCode = $exception->getStatusCode();
|
||||||
$message = $exception->getMessage();
|
$message = $exception->getMessage();
|
||||||
|
|
|
@ -4,6 +4,7 @@ namespace App\Controller;
|
||||||
|
|
||||||
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
||||||
use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface;
|
use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface;
|
||||||
|
use Symfony\Component\HttpFoundation\RedirectResponse;
|
||||||
use Symfony\Component\HttpFoundation\Request;
|
use Symfony\Component\HttpFoundation\Request;
|
||||||
use Symfony\Component\Routing\Annotation\Route;
|
use Symfony\Component\Routing\Annotation\Route;
|
||||||
|
|
||||||
|
@ -17,7 +18,7 @@ class LocaleController extends AbstractController
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route(path: 'locale/{locale?}', name: 'locale_change')]
|
#[Route(path: 'locale/{locale?}', name: 'locale_change')]
|
||||||
public function changeLocal(?string $locale, Request $request)
|
public function changeLocal(?string $locale, Request $request): RedirectResponse
|
||||||
{
|
{
|
||||||
if (empty($locale)) {
|
if (empty($locale)) {
|
||||||
$locale = $this->params->get('default_locale');
|
$locale = $this->params->get('default_locale');
|
||||||
|
|
|
@ -5,7 +5,10 @@ namespace App\Controller;
|
||||||
use App\Entity\User;
|
use App\Entity\User;
|
||||||
use App\Hydra\Client;
|
use App\Hydra\Client;
|
||||||
use App\Hydra\HydraService;
|
use App\Hydra\HydraService;
|
||||||
|
use App\SQLLogin\SQLLoginRequest;
|
||||||
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
||||||
|
use Symfony\Component\ExpressionLanguage\ExpressionLanguage;
|
||||||
|
use Symfony\Component\Finder\Exception\AccessDeniedException;
|
||||||
use Symfony\Component\HttpFoundation\RedirectResponse;
|
use Symfony\Component\HttpFoundation\RedirectResponse;
|
||||||
use Symfony\Component\HttpFoundation\Request;
|
use Symfony\Component\HttpFoundation\Request;
|
||||||
use Symfony\Component\HttpFoundation\Response;
|
use Symfony\Component\HttpFoundation\Response;
|
||||||
|
@ -14,9 +17,9 @@ use Symfony\Component\Routing\Annotation\Route;
|
||||||
|
|
||||||
class MainController extends AbstractController
|
class MainController extends AbstractController
|
||||||
{
|
{
|
||||||
public HydraService $hydra;
|
private HydraService $hydra;
|
||||||
public Client $client;
|
private Client $client;
|
||||||
public SessionInterface $session;
|
private SessionInterface $session;
|
||||||
|
|
||||||
public function __construct(SessionInterface $session, HydraService $hydra, Client $client)
|
public function __construct(SessionInterface $session, HydraService $hydra, Client $client)
|
||||||
{
|
{
|
||||||
|
@ -26,26 +29,44 @@ class MainController extends AbstractController
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('/', name: 'app_home')]
|
#[Route('/', name: 'app_home')]
|
||||||
public function home(Request $request)
|
public function home(Request $request): RedirectResponse
|
||||||
{
|
{
|
||||||
return $this->hydra->handleLoginRequest($request);
|
return $this->hydra->handleLoginRequest($request);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Route de Healthcheck (notament pour kubernetes)
|
* Route de Healthcheck (notament pour kubernetes)
|
||||||
*/
|
*/
|
||||||
#[Route('/health', name: 'health')]
|
#[Route('/health', name: 'health')]
|
||||||
public function health(Request $request)
|
public function health(Request $request): Response
|
||||||
{
|
{
|
||||||
return new Response('healthy', 200);
|
return new Response('healthy', 200);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('/connect/login-accept', name: 'app_login_accept')]
|
#[Route('/connect/login-accept', name: 'app_login_accept', methods: ['GET'])]
|
||||||
public function loginAccept(Request $request)
|
public function loginAccept(SQLLoginRequest $sqlLoginRequest): RedirectResponse
|
||||||
{
|
{
|
||||||
/** @var User */
|
|
||||||
$user = $this->getUser();
|
$user = $this->getUser();
|
||||||
$loginAcceptRes = $this->client->acceptLoginRequest($this->session->get('challenge'), [
|
|
||||||
'subject' => $user->getLogin(),
|
if (!$user instanceof User) {
|
||||||
|
throw new AccessDeniedException();
|
||||||
|
}
|
||||||
|
$challenge = $this->session->get('challenge');
|
||||||
|
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' => $subject,
|
||||||
'remember' => true,
|
'remember' => true,
|
||||||
])->toArray();
|
])->toArray();
|
||||||
|
|
||||||
|
@ -53,7 +74,7 @@ class MainController extends AbstractController
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('/connect/consent', name: 'app_consent')]
|
#[Route('/connect/consent', name: 'app_consent')]
|
||||||
public function consent(Request $request)
|
public function consent(Request $request): RedirectResponse
|
||||||
{
|
{
|
||||||
return $this->hydra->handleConsentRequest($request);
|
return $this->hydra->handleConsentRequest($request);
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,7 +17,7 @@ use Symfony\Contracts\Translation\TranslatorInterface;
|
||||||
class SecurityController extends AbstractController
|
class SecurityController extends AbstractController
|
||||||
{
|
{
|
||||||
#[Route('/login', name: 'app_login')]
|
#[Route('/login', name: 'app_login')]
|
||||||
public function login(ParameterBagInterface $params, AuthenticationUtils $authenticationUtils, Request $request, TranslatorInterface $trans): Response
|
public function login(ParameterBagInterface $params, AuthenticationUtils $authenticationUtils, Request $request, TranslatorInterface $trans): Response|RedirectResponse
|
||||||
{
|
{
|
||||||
// Si l'utilisateur est déjà connecté on le renvoie sur la page du site demandeur
|
// Si l'utilisateur est déjà connecté on le renvoie sur la page du site demandeur
|
||||||
if ($this->getUser()) {
|
if ($this->getUser()) {
|
||||||
|
@ -29,16 +29,12 @@ class SecurityController extends AbstractController
|
||||||
$error = $authenticationUtils->getLastAuthenticationError();
|
$error = $authenticationUtils->getLastAuthenticationError();
|
||||||
if ($error) {
|
if ($error) {
|
||||||
if ($request->getSession()->has(SQLLoginUserAuthenticator::ERROR_LOGIN)) {
|
if ($request->getSession()->has(SQLLoginUserAuthenticator::ERROR_LOGIN)) {
|
||||||
$loginForm->get('login')->addError(new FormError($trans->trans('error.login', [], 'messages')));
|
$loginForm->addError(new FormError($trans->trans('error.login', [], 'messages')));
|
||||||
$request->getSession()->remove(SQLLoginUserAuthenticator::ERROR_LOGIN);
|
$request->getSession()->remove(SQLLoginUserAuthenticator::ERROR_LOGIN);
|
||||||
}
|
}
|
||||||
if ($request->getSession()->has(SQLLoginUserAuthenticator::ERROR_PASSWORD)) {
|
if ($request->getSession()->has(SQLLoginUserAuthenticator::TECHNICAL_ERROR)) {
|
||||||
$loginForm->get('password')->addError(new FormError($trans->trans('error.password', [], 'messages')));
|
$loginForm->addError(new FormError($trans->trans('error.technical', [], 'messages')));
|
||||||
$request->getSession()->remove(SQLLoginUserAuthenticator::ERROR_PASSWORD);
|
$request->getSession()->remove(SQLLoginUserAuthenticator::TECHNICAL_ERROR);
|
||||||
}
|
|
||||||
if ($request->getSession()->has(SQLLoginUserAuthenticator::ERROR_SQL_LOGIN)) {
|
|
||||||
$loginForm->addError(new FormError($trans->trans('error.sql_login', [], 'messages')));
|
|
||||||
$request->getSession()->remove(SQLLoginUserAuthenticator::ERROR_SQL_LOGIN);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -48,7 +44,7 @@ class SecurityController extends AbstractController
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('/logout', name: 'logout')]
|
#[Route('/logout', name: 'logout')]
|
||||||
public function logout(Request $request)
|
public function logout(Request $request): void
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,6 +19,7 @@ class SQLLoginConfiguration implements ConfigurationInterface
|
||||||
->arrayNode(SQLLoginRequest::DATA_TO_FETCH)
|
->arrayNode(SQLLoginRequest::DATA_TO_FETCH)
|
||||||
->scalarPrototype()->end()
|
->scalarPrototype()->end()
|
||||||
->end()
|
->end()
|
||||||
|
->scalarNode(SQLLoginRequest::SUBJECT_REWRITE_EXPRESSION)->defaultNull()->end()
|
||||||
->end();
|
->end();
|
||||||
|
|
||||||
return $treeBuilder;
|
return $treeBuilder;
|
||||||
|
|
|
@ -6,7 +6,7 @@ use Symfony\Component\Security\Core\User\UserInterface;
|
||||||
|
|
||||||
class User implements UserInterface
|
class User implements UserInterface
|
||||||
{
|
{
|
||||||
protected array $attributes = [];
|
private array $attributes = [];
|
||||||
private string $login;
|
private string $login;
|
||||||
private string $password;
|
private string $password;
|
||||||
private bool $rememberMe;
|
private bool $rememberMe;
|
||||||
|
|
|
@ -16,7 +16,7 @@ class LocaleSubscriber implements EventSubscriberInterface
|
||||||
$this->defaultLocale = $defaultLocale;
|
$this->defaultLocale = $defaultLocale;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function onKernelRequest(RequestEvent $event)
|
public function onKernelRequest(RequestEvent $event): void
|
||||||
{
|
{
|
||||||
$request = $event->getRequest();
|
$request = $event->getRequest();
|
||||||
if (!$request->hasPreviousSession()) {
|
if (!$request->hasPreviousSession()) {
|
||||||
|
@ -32,7 +32,7 @@ class LocaleSubscriber implements EventSubscriberInterface
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function getSubscribedEvents()
|
public static function getSubscribedEvents(): array
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
KernelEvents::REQUEST => [['onKernelRequest', 20]],
|
KernelEvents::REQUEST => [['onKernelRequest', 20]],
|
||||||
|
|
|
@ -3,14 +3,20 @@
|
||||||
namespace App\Hydra;
|
namespace App\Hydra;
|
||||||
|
|
||||||
use App\Hydra\Exception\InvalidChallengeException;
|
use App\Hydra\Exception\InvalidChallengeException;
|
||||||
|
use Exception;
|
||||||
use Symfony\Contracts\HttpClient\HttpClientInterface;
|
use Symfony\Contracts\HttpClient\HttpClientInterface;
|
||||||
use Symfony\Contracts\HttpClient\ResponseInterface;
|
use Symfony\Contracts\HttpClient\ResponseInterface;
|
||||||
|
|
||||||
class Client
|
class Client
|
||||||
{
|
{
|
||||||
protected $client;
|
private HttpClientInterface $client;
|
||||||
|
private const MAX_RETRY = 3;
|
||||||
protected $hydraAdminBaseUrl;
|
private const SLEEP_TIME = [
|
||||||
|
5,
|
||||||
|
500,
|
||||||
|
5000,
|
||||||
|
];
|
||||||
|
private string $hydraAdminBaseUrl;
|
||||||
|
|
||||||
public function __construct(HttpClientInterface $client, string $hydraAdminBaseUrl)
|
public function __construct(HttpClientInterface $client, string $hydraAdminBaseUrl)
|
||||||
{
|
{
|
||||||
|
@ -26,7 +32,7 @@ class Client
|
||||||
[
|
[
|
||||||
'query' => [
|
'query' => [
|
||||||
'login_challenge' => $loginChallenge,
|
'login_challenge' => $loginChallenge,
|
||||||
]
|
],
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -35,7 +41,6 @@ class Client
|
||||||
throw new InvalidChallengeException();
|
throw new InvalidChallengeException();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return $response;
|
return $response;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -47,7 +52,7 @@ class Client
|
||||||
[
|
[
|
||||||
'query' => [
|
'query' => [
|
||||||
'logout_challenge' => $logoutChallenge,
|
'logout_challenge' => $logoutChallenge,
|
||||||
]
|
],
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -56,27 +61,38 @@ class Client
|
||||||
throw new InvalidChallengeException();
|
throw new InvalidChallengeException();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return $response;
|
return $response;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function fetchConsentRequestInfo(string $consentChallenge): ResponseInterface
|
public function fetchConsentRequestInfo(string $consentChallenge): ResponseInterface
|
||||||
{
|
{
|
||||||
|
$attempt = 0;
|
||||||
|
while ($attempt < self::MAX_RETRY) {
|
||||||
$response = $this->client->request(
|
$response = $this->client->request(
|
||||||
'GET',
|
'GET',
|
||||||
$this->hydraAdminBaseUrl.'/oauth2/auth/requests/consent',
|
$this->hydraAdminBaseUrl.'/oauth2/auth/requests/consent',
|
||||||
[
|
[
|
||||||
'query' => [
|
'query' => [
|
||||||
'consent_challenge' => $consentChallenge,
|
'consent_challenge' => $consentChallenge,
|
||||||
]
|
],
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
|
|
||||||
switch ($response->getStatusCode()) {
|
$status = $response->getStatusCode();
|
||||||
|
if (503 === $status) {
|
||||||
|
++$attempt;
|
||||||
|
usleep(1000 * self::SLEEP_TIME[$attempt] + rand(1, 5) * 1000);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
switch ($status) {
|
||||||
case 404:
|
case 404:
|
||||||
throw new InvalidChallengeException();
|
throw new InvalidChallengeException();
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (self::MAX_RETRY === $attempt) {
|
||||||
|
throw new Exception(sprintf('Fetch consent a rencontré une erreur %s après %s tentatives', $response->getStatusCode(), self::MAX_RETRY));
|
||||||
|
}
|
||||||
|
|
||||||
return $response;
|
return $response;
|
||||||
}
|
}
|
||||||
|
@ -91,7 +107,7 @@ class Client
|
||||||
'login_challenge' => $loginChallenge,
|
'login_challenge' => $loginChallenge,
|
||||||
],
|
],
|
||||||
'headers' => [
|
'headers' => [
|
||||||
'Content-Type' => 'application/json'
|
'Content-Type' => 'application/json',
|
||||||
],
|
],
|
||||||
'body' => json_encode($payload),
|
'body' => json_encode($payload),
|
||||||
]
|
]
|
||||||
|
@ -110,7 +126,7 @@ class Client
|
||||||
'consent_challenge' => $consentChallenge,
|
'consent_challenge' => $consentChallenge,
|
||||||
],
|
],
|
||||||
'headers' => [
|
'headers' => [
|
||||||
'Content-Type' => 'application/json'
|
'Content-Type' => 'application/json',
|
||||||
],
|
],
|
||||||
'body' => json_encode($payload),
|
'body' => json_encode($payload),
|
||||||
]
|
]
|
||||||
|
@ -129,7 +145,7 @@ class Client
|
||||||
'logout_challenge' => $logoutChallenge,
|
'logout_challenge' => $logoutChallenge,
|
||||||
],
|
],
|
||||||
'headers' => [
|
'headers' => [
|
||||||
'Content-Type' => 'application/json'
|
'Content-Type' => 'application/json',
|
||||||
],
|
],
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
namespace App\Hydra;
|
namespace App\Hydra;
|
||||||
|
|
||||||
|
use App\Entity\User;
|
||||||
use App\Hydra\Exception\InvalidChallengeException;
|
use App\Hydra\Exception\InvalidChallengeException;
|
||||||
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
||||||
use Symfony\Component\HttpFoundation\Exception\BadRequestException;
|
use Symfony\Component\HttpFoundation\Exception\BadRequestException;
|
||||||
|
@ -9,13 +10,14 @@ use Symfony\Component\HttpFoundation\RedirectResponse;
|
||||||
use Symfony\Component\HttpFoundation\Request;
|
use Symfony\Component\HttpFoundation\Request;
|
||||||
use Symfony\Component\HttpFoundation\Session\SessionInterface;
|
use Symfony\Component\HttpFoundation\Session\SessionInterface;
|
||||||
use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;
|
use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorageInterface;
|
||||||
|
use Symfony\Component\Security\Core\Exception\AccessDeniedException;
|
||||||
|
|
||||||
class HydraService extends AbstractController
|
class HydraService extends AbstractController
|
||||||
{
|
{
|
||||||
public SessionInterface $session;
|
private SessionInterface $session;
|
||||||
public Client $client;
|
private Client $client;
|
||||||
public TokenStorageInterface $tokenStorage;
|
private TokenStorageInterface $tokenStorage;
|
||||||
public string $baseUrl;
|
private string $baseUrl;
|
||||||
|
|
||||||
public function __construct(Client $client, SessionInterface $session, TokenStorageInterface $tokenStorage, string $baseUrl)
|
public function __construct(Client $client, SessionInterface $session, TokenStorageInterface $tokenStorage, string $baseUrl)
|
||||||
{
|
{
|
||||||
|
@ -25,7 +27,7 @@ class HydraService extends AbstractController
|
||||||
$this->baseUrl = $baseUrl;
|
$this->baseUrl = $baseUrl;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function handleLoginRequest(Request $request)
|
public function handleLoginRequest(Request $request): RedirectResponse
|
||||||
{
|
{
|
||||||
$challenge = $request->query->get('login_challenge');
|
$challenge = $request->query->get('login_challenge');
|
||||||
// S'il n'y a pas de challenge, on déclenche une bad request
|
// S'il n'y a pas de challenge, on déclenche une bad request
|
||||||
|
@ -37,7 +39,7 @@ class HydraService extends AbstractController
|
||||||
$loginRequestInfo = $res->toArray();
|
$loginRequestInfo = $res->toArray();
|
||||||
if (200 !== $res->getStatusCode()) {
|
if (200 !== $res->getStatusCode()) {
|
||||||
$this->session->clear();
|
$this->session->clear();
|
||||||
throw new BadRequestException('pas de code 200');
|
throw new BadRequestException();
|
||||||
}
|
}
|
||||||
// si le challenge est validé par hydra, on le stocke en session pour l'utiliser par la suite et on redirige vers une route interne protégée qui va déclencher l'identification FranceConnect
|
// si le challenge est validé par hydra, on le stocke en session pour l'utiliser par la suite et on redirige vers une route interne protégée qui va déclencher l'identification FranceConnect
|
||||||
$this->session->set('challenge', $loginRequestInfo['challenge']);
|
$this->session->set('challenge', $loginRequestInfo['challenge']);
|
||||||
|
@ -45,7 +47,7 @@ class HydraService extends AbstractController
|
||||||
return new RedirectResponse($this->baseUrl . '/connect/login-accept');
|
return new RedirectResponse($this->baseUrl . '/connect/login-accept');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function handleConsentRequest(Request $request)
|
public function handleConsentRequest(Request $request): RedirectResponse
|
||||||
{
|
{
|
||||||
$challenge = $request->query->get('consent_challenge');
|
$challenge = $request->query->get('consent_challenge');
|
||||||
if (!$challenge) {
|
if (!$challenge) {
|
||||||
|
@ -53,8 +55,10 @@ class HydraService extends AbstractController
|
||||||
}
|
}
|
||||||
|
|
||||||
$consentRequestInfo = $this->client->fetchConsentRequestInfo($challenge)->toArray();
|
$consentRequestInfo = $this->client->fetchConsentRequestInfo($challenge)->toArray();
|
||||||
/** @var User */
|
|
||||||
$user = $this->getUser();
|
$user = $this->getUser();
|
||||||
|
if (!$user instanceof User) {
|
||||||
|
throw new AccessDeniedException('Utilisateur non autorisé.');
|
||||||
|
}
|
||||||
$consentAcceptResponse = $this->client->acceptConsentRequest($consentRequestInfo['challenge'], [
|
$consentAcceptResponse = $this->client->acceptConsentRequest($consentRequestInfo['challenge'], [
|
||||||
'grant_scope' => $consentRequestInfo['requested_scope'],
|
'grant_scope' => $consentRequestInfo['requested_scope'],
|
||||||
'session' => [
|
'session' => [
|
||||||
|
@ -65,7 +69,7 @@ class HydraService extends AbstractController
|
||||||
return new RedirectResponse($consentAcceptResponse['redirect_to']);
|
return new RedirectResponse($consentAcceptResponse['redirect_to']);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function handleLogoutRequest(Request $request)
|
public function handleLogoutRequest(Request $request): RedirectResponse
|
||||||
{
|
{
|
||||||
$logoutChallenge = $request->get('logout_challenge');
|
$logoutChallenge = $request->get('logout_challenge');
|
||||||
if (empty($logoutChallenge)) {
|
if (empty($logoutChallenge)) {
|
||||||
|
|
|
@ -4,6 +4,6 @@ namespace App\SQLLogin\Exception;
|
||||||
|
|
||||||
use Exception;
|
use Exception;
|
||||||
|
|
||||||
class InvalidSQLLoginConfigurationException extends Exception
|
class DataToFetchConfigurationException extends Exception
|
||||||
{
|
{
|
||||||
}
|
}
|
|
@ -4,6 +4,6 @@ namespace App\SQLLogin\Exception;
|
||||||
|
|
||||||
use Exception;
|
use Exception;
|
||||||
|
|
||||||
class InvalidSQLLoginException extends Exception
|
class EmptyResultException extends Exception
|
||||||
{
|
{
|
||||||
}
|
}
|
|
@ -4,6 +4,6 @@ namespace App\SQLLogin\Exception;
|
||||||
|
|
||||||
use Exception;
|
use Exception;
|
||||||
|
|
||||||
class InvalidSQLLoginAlgoException extends Exception
|
class NullDataToFetchException extends Exception
|
||||||
{
|
{
|
||||||
}
|
}
|
|
@ -0,0 +1,9 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\SQLLogin\Exception;
|
||||||
|
|
||||||
|
use Exception;
|
||||||
|
|
||||||
|
class SecurityPatternConfigurationException extends Exception
|
||||||
|
{
|
||||||
|
}
|
|
@ -12,10 +12,8 @@ class SQLLoginConnect extends AbstractController
|
||||||
/**
|
/**
|
||||||
* Méthode qui crée l'unique instance de la classe
|
* Méthode qui crée l'unique instance de la classe
|
||||||
* si elle n'existe pas encore puis la retourne.
|
* si elle n'existe pas encore puis la retourne.
|
||||||
*
|
|
||||||
* @return SQLLoginConnect
|
|
||||||
*/
|
*/
|
||||||
public static function getInstance()
|
public static function getInstance(): SQLLoginConnect
|
||||||
{
|
{
|
||||||
if (is_null(self::$_instance)) {
|
if (is_null(self::$_instance)) {
|
||||||
self::$_instance = new SQLLoginConnect();
|
self::$_instance = new SQLLoginConnect();
|
||||||
|
@ -24,7 +22,7 @@ class SQLLoginConnect extends AbstractController
|
||||||
return self::$_instance;
|
return self::$_instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function connect($urlDatabase, $dbUser, $dbPassword)
|
public function connect($urlDatabase, $dbUser, $dbPassword): PDO
|
||||||
{
|
{
|
||||||
return new PDO($urlDatabase, $dbUser, $dbPassword);
|
return new PDO($urlDatabase, $dbUser, $dbPassword);
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,6 +2,8 @@
|
||||||
|
|
||||||
namespace App\SQLLogin;
|
namespace App\SQLLogin;
|
||||||
|
|
||||||
|
use App\SQLLogin\Exception\NullDataToFetchException;
|
||||||
|
|
||||||
class SQLLoginRequest
|
class SQLLoginRequest
|
||||||
{
|
{
|
||||||
public const DATA_TO_FETCH = 'data_to_fetch';
|
public const DATA_TO_FETCH = 'data_to_fetch';
|
||||||
|
@ -10,11 +12,12 @@ class SQLLoginRequest
|
||||||
public const PASSWORD_COLUMN_NAME = 'password_column_name';
|
public const PASSWORD_COLUMN_NAME = 'password_column_name';
|
||||||
public const PASSWORD_NEED_UPGRADE = 'password_need_upgrade';
|
public const PASSWORD_NEED_UPGRADE = 'password_need_upgrade';
|
||||||
public const TABLE_NAME = 'table_name';
|
public const TABLE_NAME = 'table_name';
|
||||||
|
public const SUBJECT_REWRITE_EXPRESSION = 'subject_rewrite_expression';
|
||||||
|
|
||||||
protected array $config;
|
private array $config;
|
||||||
protected string $dsn;
|
private string $dsn;
|
||||||
protected string $user;
|
private string $user;
|
||||||
protected string $password;
|
private string $password;
|
||||||
|
|
||||||
public function __construct(string $dsn, string $user, string $password, array $config = [])
|
public function __construct(string $dsn, string $user, string $password, array $config = [])
|
||||||
{
|
{
|
||||||
|
@ -64,28 +67,42 @@ class SQLLoginRequest
|
||||||
return $this->config[self::DATA_TO_FETCH];
|
return $this->config[self::DATA_TO_FETCH];
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getRequestScope()
|
public function getSubjectRewriteExpression(): ?string
|
||||||
{
|
{
|
||||||
$scope = '';
|
return $this->config[self::SUBJECT_REWRITE_EXPRESSION];
|
||||||
foreach ($this->config[self::DATA_TO_FETCH] as $data) {
|
|
||||||
$scope .= $data.',';
|
|
||||||
}
|
}
|
||||||
$scope = substr($scope, 0, -1);
|
|
||||||
|
|
||||||
return 'SELECT '.$scope.' FROM '.$this->getTableName().' WHERE '.$this->getLoginColumnName().' = :'.$this->getLoginColumnName().';';
|
private function getDataFields(): array
|
||||||
|
{
|
||||||
|
if (!$this->config[self::DATA_TO_FETCH]) {
|
||||||
|
throw new NullDataToFetchException();
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this->config[self::DATA_TO_FETCH];
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Construction de la string pour la requête préparée selon la configuration yaml
|
* Construction de la string pour la requête préparée selon la configuration yaml
|
||||||
* intègre la récupération du mot de passe hashé, du salt et de besoin d'upgrade de la méthode de hashage
|
* intègre la récupération du mot de passe hashé, du salt et de besoin d'upgrade de la méthode de hashage
|
||||||
*/
|
*/
|
||||||
public function getRequestPassword()
|
private function getPasswordFields(): array
|
||||||
{
|
{
|
||||||
$fields = $this->getPasswordColumnName();
|
$fields[] = $this->getPasswordColumnName();
|
||||||
if (!empty($this->getSaltColumnName())) {
|
if (!empty($this->getSaltColumnName())) {
|
||||||
$fields .= ', '.$this->getSaltColumnName();
|
$fields[] = $this->getSaltColumnName();
|
||||||
}
|
}
|
||||||
|
|
||||||
return 'SELECT '.$fields.' FROM '.$this->getTableName().' WHERE '.$this->getLoginColumnName().' = :'.$this->getLoginColumnName().';';
|
return $fields;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Construction de la string pour la requête préparée selon la configuration yaml
|
||||||
|
* intègre la récupération du mot de passe hashé, du salt et de besoin d'upgrade de la méthode de hashage
|
||||||
|
*/
|
||||||
|
public function getDatasRequest(): string
|
||||||
|
{
|
||||||
|
$fields = join(',', array_merge($this->getPasswordFields(), $this->getDataFields()));
|
||||||
|
|
||||||
|
return 'SELECT '.$fields.' FROM '.$this->getTableName().' WHERE LOWER('.$this->getLoginColumnName().') = LOWER(:'.$this->getLoginColumnName().');';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,8 +2,9 @@
|
||||||
|
|
||||||
namespace App\Security\Hasher;
|
namespace App\Security\Hasher;
|
||||||
|
|
||||||
use App\SQLLogin\Exception\InvalidSQLLoginConfigurationException;
|
|
||||||
use App\SQLLogin\Exception\InvalidSQLPasswordException;
|
use App\SQLLogin\Exception\InvalidSQLPasswordException;
|
||||||
|
use App\SQLLogin\Exception\SecurityPatternConfigurationException;
|
||||||
|
use Psr\Log\LoggerInterface;
|
||||||
use Symfony\Component\PasswordHasher\Exception\InvalidPasswordException;
|
use Symfony\Component\PasswordHasher\Exception\InvalidPasswordException;
|
||||||
use Symfony\Component\PasswordHasher\Hasher\CheckPasswordLengthTrait;
|
use Symfony\Component\PasswordHasher\Hasher\CheckPasswordLengthTrait;
|
||||||
use Symfony\Component\PasswordHasher\LegacyPasswordHasherInterface;
|
use Symfony\Component\PasswordHasher\LegacyPasswordHasherInterface;
|
||||||
|
@ -19,7 +20,7 @@ class PasswordEncoder implements LegacyPasswordHasherInterface
|
||||||
protected array $hashAlgoLegacy;
|
protected array $hashAlgoLegacy;
|
||||||
protected array $securityPattern;
|
protected array $securityPattern;
|
||||||
|
|
||||||
public function __construct(?string $pepper, string $hashAlgoLegacy, string $securityPattern)
|
public function __construct(?string $pepper, string $hashAlgoLegacy, string $securityPattern, private LoggerInterface $loggerInterface)
|
||||||
{
|
{
|
||||||
$this->pepper = $pepper;
|
$this->pepper = $pepper;
|
||||||
$this->hashAlgoLegacy = explode(',', $hashAlgoLegacy);
|
$this->hashAlgoLegacy = explode(',', $hashAlgoLegacy);
|
||||||
|
@ -29,7 +30,7 @@ class PasswordEncoder implements LegacyPasswordHasherInterface
|
||||||
/**
|
/**
|
||||||
* Pas utilisé, mais on doit le garder pour le implements
|
* Pas utilisé, mais on doit le garder pour le implements
|
||||||
*/
|
*/
|
||||||
public function hash(string $plainPassword, string $salt = null): string
|
public function hash(string $plainPassword, ?string $salt = null): string
|
||||||
{
|
{
|
||||||
if ($this->isPasswordTooLong($plainPassword)) {
|
if ($this->isPasswordTooLong($plainPassword)) {
|
||||||
throw new InvalidPasswordException();
|
throw new InvalidPasswordException();
|
||||||
|
@ -38,7 +39,7 @@ class PasswordEncoder implements LegacyPasswordHasherInterface
|
||||||
return hash($plainPassword.$salt, $this->hashAlgoLegacy[0]);
|
return hash($plainPassword.$salt, $this->hashAlgoLegacy[0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function verify(string $hashedPassword, string $plainPassword, string $salt = null): bool
|
public function verify(string $hashedPassword, string $plainPassword, ?string $salt = null): bool
|
||||||
{
|
{
|
||||||
if ('' === $plainPassword || $this->isPasswordTooLong($plainPassword)) {
|
if ('' === $plainPassword || $this->isPasswordTooLong($plainPassword)) {
|
||||||
return false;
|
return false;
|
||||||
|
@ -75,10 +76,8 @@ class PasswordEncoder implements LegacyPasswordHasherInterface
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne la string à hasher en fonction du pattern indiqué
|
* Retourne la string à hasher en fonction du pattern indiqué
|
||||||
*
|
|
||||||
* @return string
|
|
||||||
*/
|
*/
|
||||||
protected function getPasswordToHash($plainTextPassword, $salt)
|
protected function getPasswordToHash(string $plainTextPassword, ?string $salt = null): string
|
||||||
{
|
{
|
||||||
$arrayRef = [
|
$arrayRef = [
|
||||||
self::PASSWORD_PATTERN => $plainTextPassword,
|
self::PASSWORD_PATTERN => $plainTextPassword,
|
||||||
|
@ -88,7 +87,8 @@ class PasswordEncoder implements LegacyPasswordHasherInterface
|
||||||
|
|
||||||
foreach ($this->securityPattern as $term) {
|
foreach ($this->securityPattern as $term) {
|
||||||
if (self::PEPPER_PATTERN !== $term && self::PASSWORD_PATTERN !== $term && self::SALT_PATTERN !== $term) {
|
if (self::PEPPER_PATTERN !== $term && self::PASSWORD_PATTERN !== $term && self::SALT_PATTERN !== $term) {
|
||||||
throw new InvalidSQLLoginConfigurationException();
|
$this->loggerInterface->critical('La configuration du security pattern est invalide, les termes autorisés sont : '.self::PASSWORD_PATTERN.', '.self::SALT_PATTERN.' et '.self::PEPPER_PATTERN);
|
||||||
|
throw new SecurityPatternConfigurationException('La configuration du security pattern est invalide, les termes autorisés sont : '.self::PASSWORD_PATTERN.', '.self::SALT_PATTERN.' et '.self::PEPPER_PATTERN);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$completedPlainPassword = '';
|
$completedPlainPassword = '';
|
||||||
|
@ -99,7 +99,7 @@ class PasswordEncoder implements LegacyPasswordHasherInterface
|
||||||
return $completedPlainPassword;
|
return $completedPlainPassword;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function compareSsha($hashPassword, $plainPassword)
|
protected function compareSsha(string $hashPassword, string $plainPassword): bool
|
||||||
{
|
{
|
||||||
$base_64_hash_with_salt = substr($hashPassword, 6);
|
$base_64_hash_with_salt = substr($hashPassword, 6);
|
||||||
$hash_with_salt = base64_decode($base_64_hash_with_salt);
|
$hash_with_salt = base64_decode($base_64_hash_with_salt);
|
||||||
|
|
|
@ -5,36 +5,40 @@ namespace App\Security;
|
||||||
use App\Entity\User;
|
use App\Entity\User;
|
||||||
use App\Security\Hasher\PasswordEncoder;
|
use App\Security\Hasher\PasswordEncoder;
|
||||||
use App\Service\SQLLoginService;
|
use App\Service\SQLLoginService;
|
||||||
|
use App\SQLLogin\Exception\DataToFetchConfigurationException;
|
||||||
|
use App\SQLLogin\Exception\EmptyResultException;
|
||||||
use App\SQLLogin\Exception\InvalidSQLPasswordException;
|
use App\SQLLogin\Exception\InvalidSQLPasswordException;
|
||||||
|
use App\SQLLogin\Exception\SecurityPatternConfigurationException;
|
||||||
|
use App\SQLLogin\SQLLoginRequest;
|
||||||
use PDOException;
|
use PDOException;
|
||||||
use Symfony\Component\HttpFoundation\RedirectResponse;
|
use Symfony\Component\HttpFoundation\RedirectResponse;
|
||||||
use Symfony\Component\HttpFoundation\Request;
|
use Symfony\Component\HttpFoundation\Request;
|
||||||
use Symfony\Component\HttpFoundation\Response;
|
|
||||||
use Symfony\Component\Security\Core\Authentication\Token\TokenInterface;
|
use Symfony\Component\Security\Core\Authentication\Token\TokenInterface;
|
||||||
use Symfony\Component\Security\Core\Exception\AuthenticationException;
|
use Symfony\Component\Security\Core\Exception\AuthenticationException;
|
||||||
use Symfony\Component\Security\Core\Security;
|
use Symfony\Component\Security\Core\Security;
|
||||||
use Symfony\Component\Security\Http\Authenticator\AbstractLoginFormAuthenticator;
|
use Symfony\Component\Security\Http\Authenticator\AbstractLoginFormAuthenticator;
|
||||||
use Symfony\Component\Security\Http\Authenticator\Passport\Badge\RememberMeBadge;
|
use Symfony\Component\Security\Http\Authenticator\Passport\Badge\RememberMeBadge;
|
||||||
use Symfony\Component\Security\Http\Authenticator\Passport\Badge\UserBadge;
|
use Symfony\Component\Security\Http\Authenticator\Passport\Badge\UserBadge;
|
||||||
use Symfony\Component\Security\Http\Authenticator\Passport\Passport;
|
|
||||||
use Symfony\Component\Security\Http\Authenticator\Passport\SelfValidatingPassport;
|
use Symfony\Component\Security\Http\Authenticator\Passport\SelfValidatingPassport;
|
||||||
|
|
||||||
class SQLLoginUserAuthenticator extends AbstractLoginFormAuthenticator
|
class SQLLoginUserAuthenticator extends AbstractLoginFormAuthenticator
|
||||||
{
|
{
|
||||||
public const LOGIN_ROUTE = 'app_login';
|
public const LOGIN_ROUTE = 'app_login';
|
||||||
public const ERROR_LOGIN = 'error_login';
|
public const ERROR_LOGIN = 'error_login';
|
||||||
public const ERROR_PASSWORD = 'error_password';
|
public const TECHNICAL_ERROR = 'technical_error';
|
||||||
public const ERROR_SQL_LOGIN = 'error_sql_login';
|
|
||||||
|
|
||||||
protected string $baseUrl;
|
private string $baseUrl;
|
||||||
private SQLLoginService $sqlLoginService;
|
|
||||||
private PasswordEncoder $passwordHasher;
|
|
||||||
|
|
||||||
public function __construct(string $baseUrl, SQLLoginService $sqlLoginService, PasswordEncoder $passwordHasher)
|
public function __construct(
|
||||||
{
|
string $baseUrl,
|
||||||
|
private SQLLoginService $sqlLoginService,
|
||||||
|
private PasswordEncoder $passwordHasher,
|
||||||
|
private SQLLoginRequest $sqlLoginRequest
|
||||||
|
) {
|
||||||
$this->baseUrl = $baseUrl;
|
$this->baseUrl = $baseUrl;
|
||||||
$this->sqlLoginService = $sqlLoginService;
|
$this->sqlLoginService = $sqlLoginService;
|
||||||
$this->passwordHasher = $passwordHasher;
|
$this->passwordHasher = $passwordHasher;
|
||||||
|
$this->sqlLoginRequest = $sqlLoginRequest;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -47,38 +51,57 @@ class SQLLoginUserAuthenticator extends AbstractLoginFormAuthenticator
|
||||||
return self::LOGIN_ROUTE === $request->attributes->get('_route') && $request->isMethod('POST');
|
return self::LOGIN_ROUTE === $request->attributes->get('_route') && $request->isMethod('POST');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function onAuthenticationSuccess(Request $request, TokenInterface $token, $providerKey): ?Response
|
public function onAuthenticationSuccess(Request $request, TokenInterface $token, $providerKey): RedirectResponse
|
||||||
{
|
{
|
||||||
return new RedirectResponse($this->baseUrl.'/connect/login-accept');
|
return new RedirectResponse($this->baseUrl.'/connect/login-accept');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function onAuthenticationFailure(Request $request, AuthenticationException $exception): Response
|
public function onAuthenticationFailure(Request $request, AuthenticationException $exception): RedirectResponse
|
||||||
{
|
{
|
||||||
$request->getSession()->set(Security::AUTHENTICATION_ERROR, $exception);
|
$request->getSession()->set(Security::AUTHENTICATION_ERROR, $exception);
|
||||||
|
|
||||||
return new RedirectResponse($this->baseUrl.'/login');
|
return new RedirectResponse($this->baseUrl.'/login');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function authenticate(Request $request): Passport
|
public function authenticate(Request $request): SelfValidatingPassport
|
||||||
{
|
{
|
||||||
$form = $request->request->get('login');
|
$form = $request->request->get('login');
|
||||||
$login = $form['login'];
|
$login = $form['login'];
|
||||||
$plaintextPassword = $form['password'];
|
$plaintextPassword = $form['password'];
|
||||||
$rememberMe = isset($form['_remember_me']) ? true : false;
|
$rememberMe = isset($form['_remember_me']) ? true : false;
|
||||||
|
$session = $request->getSession();
|
||||||
try {
|
try {
|
||||||
// requête préparée
|
$datas = $this->sqlLoginService->fetchPasswordAndDatas($login);
|
||||||
list($remoteHashedPassword, $remoteSalt) = $this->sqlLoginService->fetchPassword($login);
|
} catch (EmptyResultException $e) {
|
||||||
} catch (PDOException $e) {
|
$session->set(self::ERROR_LOGIN, true);
|
||||||
$request->getSession()->set(self::ERROR_SQL_LOGIN, true);
|
throw new AuthenticationException();
|
||||||
|
} catch (DataToFetchConfigurationException|PDOException $e) {
|
||||||
|
\Sentry\captureException($e);
|
||||||
|
$session->set(self::TECHNICAL_ERROR, true);
|
||||||
throw new AuthenticationException();
|
throw new AuthenticationException();
|
||||||
}
|
}
|
||||||
if ($remoteHashedPassword) {
|
$remoteHashedPassword = $datas[$this->sqlLoginRequest->getPasswordColumnName()];
|
||||||
|
unset($datas[$this->sqlLoginRequest->getPasswordColumnName()]);
|
||||||
|
$remoteSalt = null;
|
||||||
|
if ($this->sqlLoginRequest->getSaltColumnName() && isset($datas[$this->sqlLoginRequest->getSaltColumnName()])) {
|
||||||
|
$remoteSalt = $datas[$this->sqlLoginRequest->getSaltColumnName()];
|
||||||
|
unset($datas[$this->sqlLoginRequest->getSaltColumnName()]);
|
||||||
|
}
|
||||||
|
if (null === $remoteHashedPassword) {
|
||||||
|
$remoteHashedPassword = '';
|
||||||
|
}
|
||||||
try {
|
try {
|
||||||
// Comparaison remote hash et hash du input password + salt
|
// Comparaison remote hash et hash du input password + salt
|
||||||
$this->passwordHasher->verify($remoteHashedPassword, $plaintextPassword, $remoteSalt);
|
$this->passwordHasher->verify($remoteHashedPassword, $plaintextPassword, $remoteSalt);
|
||||||
$attributes = $this->sqlLoginService->fetchDatas($login);
|
} catch (InvalidSQLPasswordException $e) {
|
||||||
$user = new User($login, $remoteHashedPassword, $attributes, $rememberMe);
|
$session->set(self::ERROR_LOGIN, true);
|
||||||
|
throw new AuthenticationException();
|
||||||
|
} catch (SecurityPatternConfigurationException $e) {
|
||||||
|
\Sentry\captureException($e);
|
||||||
|
$session->set(self::TECHNICAL_ERROR, true);
|
||||||
|
throw new AuthenticationException();
|
||||||
|
}
|
||||||
|
$user = new User($login, $remoteHashedPassword, $datas, $rememberMe);
|
||||||
$loader = function (string $userIdentifier) use ($user) {
|
$loader = function (string $userIdentifier) use ($user) {
|
||||||
return $user->getLogin() == $userIdentifier ? $user : null;
|
return $user->getLogin() == $userIdentifier ? $user : null;
|
||||||
};
|
};
|
||||||
|
@ -89,16 +112,6 @@ class SQLLoginUserAuthenticator extends AbstractLoginFormAuthenticator
|
||||||
$passport->setAttribute('attributes', $user->getAttributes());
|
$passport->setAttribute('attributes', $user->getAttributes());
|
||||||
|
|
||||||
return $passport;
|
return $passport;
|
||||||
} catch (InvalidSQLPasswordException $e) {
|
|
||||||
$request->getSession()->set(self::ERROR_PASSWORD, true);
|
|
||||||
throw new AuthenticationException();
|
|
||||||
} catch (PDOException $e) {
|
|
||||||
$request->getSession()->set(self::ERROR_SQL_LOGIN, true);
|
|
||||||
throw new AuthenticationException();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$request->getSession()->set(self::ERROR_LOGIN, true);
|
|
||||||
throw new AuthenticationException();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function getLoginUrl(Request $request): string
|
protected function getLoginUrl(Request $request): string
|
||||||
|
|
|
@ -31,7 +31,7 @@ class SQLLoginUserProvider implements UserProviderInterface
|
||||||
return $this->loadUserByIdentifier($username, null);
|
return $this->loadUserByIdentifier($username, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function refreshUser(UserInterface $user)
|
public function refreshUser(UserInterface $user): UserInterface|null
|
||||||
{
|
{
|
||||||
if (!$user instanceof User) {
|
if (!$user instanceof User) {
|
||||||
throw new UnsupportedUserException(sprintf('Invalid user class "%s".', get_class($user)));
|
throw new UnsupportedUserException(sprintf('Invalid user class "%s".', get_class($user)));
|
||||||
|
@ -40,7 +40,7 @@ class SQLLoginUserProvider implements UserProviderInterface
|
||||||
return $this->loadUserByIdentifier($user->getUserIdentifier(), $user);
|
return $this->loadUserByIdentifier($user->getUserIdentifier(), $user);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function supportsClass(string $class)
|
public function supportsClass(string $class): bool
|
||||||
{
|
{
|
||||||
return User::class === $class || is_subclass_of($class, User::class);
|
return User::class === $class || is_subclass_of($class, User::class);
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,72 +2,62 @@
|
||||||
|
|
||||||
namespace App\Service;
|
namespace App\Service;
|
||||||
|
|
||||||
|
use App\SQLLogin\Exception\EmptyResultException;
|
||||||
use App\SQLLogin\SQLLoginConnect;
|
use App\SQLLogin\SQLLoginConnect;
|
||||||
use App\SQLLogin\SQLLoginRequest;
|
use App\SQLLogin\SQLLoginRequest;
|
||||||
use PDO;
|
use PDO;
|
||||||
use PDOException;
|
use Psr\Log\LoggerInterface;
|
||||||
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
||||||
|
|
||||||
class SQLLoginService extends AbstractController
|
class SQLLoginService extends AbstractController
|
||||||
{
|
{
|
||||||
public SQLLoginRequest $sqlLoginRequest;
|
public const MAX_RETRY = 3;
|
||||||
|
|
||||||
public function __construct(SQLLoginRequest $sqlLoginRequest)
|
public function __construct(
|
||||||
{
|
private SQLLoginRequest $sqlLoginRequest,
|
||||||
|
private LoggerInterface $loggerInterface
|
||||||
|
) {
|
||||||
$this->sqlLoginRequest = $sqlLoginRequest;
|
$this->sqlLoginRequest = $sqlLoginRequest;
|
||||||
|
$this->loggerInterface = $loggerInterface;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function fetchDatas($login)
|
public function fetchPasswordAndDatas(string $login): array
|
||||||
{
|
{
|
||||||
try {
|
$dataRequest = $this->sqlLoginRequest->getDatasRequest();
|
||||||
$dbh = $this->getConnection();
|
$datas = $this->executeRequestWithLogin($dataRequest, $login);
|
||||||
// forge de la requête
|
|
||||||
$request = $this->sqlLoginRequest->getRequestScope();
|
return $datas;
|
||||||
// Préparation de la requête
|
}
|
||||||
$query = $dbh->prepare($request);
|
|
||||||
|
private function executeRequestWithLogin(string $request, string $login): array
|
||||||
|
{
|
||||||
|
$attempt = 0;
|
||||||
|
while ($attempt < self::MAX_RETRY) {
|
||||||
|
$pdo = $this->getConnection();
|
||||||
|
$query = $pdo->prepare($request);
|
||||||
$query->execute([$this->sqlLoginRequest->getLoginColumnName() => $login]);
|
$query->execute([$this->sqlLoginRequest->getLoginColumnName() => $login]);
|
||||||
$datas = $query->fetch(PDO::FETCH_ASSOC);
|
$datas = $query->fetch(PDO::FETCH_ASSOC);
|
||||||
} catch (PDOException $e) {
|
$query->closeCursor();
|
||||||
\Sentry\captureException($e);
|
if (false === $datas) {
|
||||||
|
usleep(3000);
|
||||||
throw new PDOException();
|
++$attempt;
|
||||||
|
} else {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (self::MAX_RETRY === $attempt) {
|
||||||
|
throw new EmptyResultException();
|
||||||
}
|
}
|
||||||
|
|
||||||
return $datas;
|
return $datas;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
private function getConnection(): PDO
|
||||||
* @param mixed $login
|
|
||||||
*
|
|
||||||
* @return bool
|
|
||||||
*/
|
|
||||||
public function fetchPassword($login)
|
|
||||||
{
|
|
||||||
try {
|
|
||||||
$dbh = $this->getConnection();
|
|
||||||
$request = $this->sqlLoginRequest->getRequestPassword();
|
|
||||||
$query = $dbh->prepare($request);
|
|
||||||
$query->execute([$this->sqlLoginRequest->getLoginColumnName() => $login]);
|
|
||||||
$password = $query->fetch(PDO::FETCH_ASSOC);
|
|
||||||
} catch (PDOException $e) {
|
|
||||||
\Sentry\captureException($e);
|
|
||||||
throw new PDOException();
|
|
||||||
}
|
|
||||||
if ($password) {
|
|
||||||
return [
|
|
||||||
$password[$this->sqlLoginRequest->getPasswordColumnName()],
|
|
||||||
isset($password[$this->sqlLoginRequest->getSaltColumnName()]) ? $password[$this->sqlLoginRequest->getSaltColumnName()] : null,
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function getConnection()
|
|
||||||
{
|
{
|
||||||
// Appel du singleton
|
// Appel du singleton
|
||||||
$sqlLogin = SQLLoginConnect::getInstance();
|
$sqlLogin = SQLLoginConnect::getInstance();
|
||||||
// Connection bdd
|
$pdo = $sqlLogin->connect($this->sqlLoginRequest->getDatabaseDsn(), $this->sqlLoginRequest->getDbUser(), $this->sqlLoginRequest->getDbPassword());
|
||||||
return $sqlLogin->connect($this->sqlLoginRequest->getDatabaseDsn(), $this->sqlLoginRequest->getDbUser(), $this->sqlLoginRequest->getDbPassword());
|
|
||||||
|
return $pdo;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,212 @@
|
||||||
|
{
|
||||||
|
"doctrine/annotations": {
|
||||||
|
"version": "1.14",
|
||||||
|
"recipe": {
|
||||||
|
"repo": "github.com/symfony/recipes",
|
||||||
|
"branch": "main",
|
||||||
|
"version": "1.0",
|
||||||
|
"ref": "a2759dd6123694c8d901d0ec80006e044c2e6457"
|
||||||
|
},
|
||||||
|
"files": [
|
||||||
|
"config/routes/annotations.yaml"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"php-http/discovery": {
|
||||||
|
"version": "1.19",
|
||||||
|
"recipe": {
|
||||||
|
"repo": "github.com/symfony/recipes",
|
||||||
|
"branch": "main",
|
||||||
|
"version": "1.18",
|
||||||
|
"ref": "f45b5dd173a27873ab19f5e3180b2f661c21de02"
|
||||||
|
},
|
||||||
|
"files": [
|
||||||
|
"config/packages/http_discovery.yaml"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"sentry/sentry-symfony": {
|
||||||
|
"version": "4.14",
|
||||||
|
"recipe": {
|
||||||
|
"repo": "github.com/symfony/recipes-contrib",
|
||||||
|
"branch": "main",
|
||||||
|
"version": "4.6",
|
||||||
|
"ref": "153de5f041f7e8a9c19f3674b800b76be0e6fd90"
|
||||||
|
},
|
||||||
|
"files": [
|
||||||
|
"config/packages/sentry.yaml"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"symfony/apache-pack": {
|
||||||
|
"version": "1.0",
|
||||||
|
"recipe": {
|
||||||
|
"repo": "github.com/symfony/recipes-contrib",
|
||||||
|
"branch": "main",
|
||||||
|
"version": "1.0",
|
||||||
|
"ref": "0f18b4decdf5695d692c1d0dfd65516a07a6adf1"
|
||||||
|
},
|
||||||
|
"files": [
|
||||||
|
"public/.htaccess"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"symfony/console": {
|
||||||
|
"version": "5.4",
|
||||||
|
"recipe": {
|
||||||
|
"repo": "github.com/symfony/recipes",
|
||||||
|
"branch": "main",
|
||||||
|
"version": "5.3",
|
||||||
|
"ref": "1781ff40d8a17d87cf53f8d4cf0c8346ed2bb461"
|
||||||
|
},
|
||||||
|
"files": [
|
||||||
|
"bin/console"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"symfony/debug-bundle": {
|
||||||
|
"version": "5.4",
|
||||||
|
"recipe": {
|
||||||
|
"repo": "github.com/symfony/recipes",
|
||||||
|
"branch": "main",
|
||||||
|
"version": "5.3",
|
||||||
|
"ref": "5aa8aa48234c8eb6dbdd7b3cd5d791485d2cec4b"
|
||||||
|
},
|
||||||
|
"files": [
|
||||||
|
"config/packages/debug.yaml"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"symfony/flex": {
|
||||||
|
"version": "1.21",
|
||||||
|
"recipe": {
|
||||||
|
"repo": "github.com/symfony/recipes",
|
||||||
|
"branch": "main",
|
||||||
|
"version": "1.0",
|
||||||
|
"ref": "146251ae39e06a95be0fe3d13c807bcf3938b172"
|
||||||
|
},
|
||||||
|
"files": [
|
||||||
|
".env"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"symfony/framework-bundle": {
|
||||||
|
"version": "5.4",
|
||||||
|
"recipe": {
|
||||||
|
"repo": "github.com/symfony/recipes",
|
||||||
|
"branch": "main",
|
||||||
|
"version": "5.4",
|
||||||
|
"ref": "3cd216a4d007b78d8554d44a5b1c0a446dab24fb"
|
||||||
|
},
|
||||||
|
"files": [
|
||||||
|
"config/packages/cache.yaml",
|
||||||
|
"config/packages/framework.yaml",
|
||||||
|
"config/preload.php",
|
||||||
|
"config/routes/framework.yaml",
|
||||||
|
"config/services.yaml",
|
||||||
|
"public/index.php",
|
||||||
|
"src/Controller/.gitignore",
|
||||||
|
"src/Kernel.php"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"symfony/lock": {
|
||||||
|
"version": "5.4",
|
||||||
|
"recipe": {
|
||||||
|
"repo": "github.com/symfony/recipes",
|
||||||
|
"branch": "main",
|
||||||
|
"version": "5.2",
|
||||||
|
"ref": "8e937ff2b4735d110af1770f242c1107fdab4c8e"
|
||||||
|
},
|
||||||
|
"files": [
|
||||||
|
"config/packages/lock.yaml"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"symfony/routing": {
|
||||||
|
"version": "5.4",
|
||||||
|
"recipe": {
|
||||||
|
"repo": "github.com/symfony/recipes",
|
||||||
|
"branch": "main",
|
||||||
|
"version": "5.3",
|
||||||
|
"ref": "85de1d8ae45b284c3c84b668171d2615049e698f"
|
||||||
|
},
|
||||||
|
"files": [
|
||||||
|
"config/packages/routing.yaml",
|
||||||
|
"config/routes.yaml"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"symfony/security-bundle": {
|
||||||
|
"version": "5.4",
|
||||||
|
"recipe": {
|
||||||
|
"repo": "github.com/symfony/recipes",
|
||||||
|
"branch": "main",
|
||||||
|
"version": "5.3",
|
||||||
|
"ref": "98f1f2b0d635908c2b40f3675da2d23b1a069d30"
|
||||||
|
},
|
||||||
|
"files": [
|
||||||
|
"config/packages/security.yaml"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"symfony/translation": {
|
||||||
|
"version": "5.4",
|
||||||
|
"recipe": {
|
||||||
|
"repo": "github.com/symfony/recipes",
|
||||||
|
"branch": "main",
|
||||||
|
"version": "5.3",
|
||||||
|
"ref": "e28e27f53663cc34f0be2837aba18e3a1bef8e7b"
|
||||||
|
},
|
||||||
|
"files": [
|
||||||
|
"config/packages/translation.yaml",
|
||||||
|
"translations/.gitignore"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"symfony/twig-bundle": {
|
||||||
|
"version": "5.4",
|
||||||
|
"recipe": {
|
||||||
|
"repo": "github.com/symfony/recipes",
|
||||||
|
"branch": "main",
|
||||||
|
"version": "5.4",
|
||||||
|
"ref": "bb2178c57eee79e6be0b297aa96fc0c0def81387"
|
||||||
|
},
|
||||||
|
"files": [
|
||||||
|
"config/packages/twig.yaml",
|
||||||
|
"templates/base.html.twig"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"symfony/validator": {
|
||||||
|
"version": "5.4",
|
||||||
|
"recipe": {
|
||||||
|
"repo": "github.com/symfony/recipes",
|
||||||
|
"branch": "main",
|
||||||
|
"version": "5.3",
|
||||||
|
"ref": "c32cfd98f714894c4f128bb99aa2530c1227603c"
|
||||||
|
},
|
||||||
|
"files": [
|
||||||
|
"config/packages/validator.yaml"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"symfony/web-profiler-bundle": {
|
||||||
|
"version": "5.4",
|
||||||
|
"recipe": {
|
||||||
|
"repo": "github.com/symfony/recipes",
|
||||||
|
"branch": "main",
|
||||||
|
"version": "5.3",
|
||||||
|
"ref": "24bbc3d84ef2f427f82104f766014e799eefcc3e"
|
||||||
|
},
|
||||||
|
"files": [
|
||||||
|
"config/packages/web_profiler.yaml",
|
||||||
|
"config/routes/web_profiler.yaml"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"symfony/webpack-encore-bundle": {
|
||||||
|
"version": "1.17",
|
||||||
|
"recipe": {
|
||||||
|
"repo": "github.com/symfony/recipes",
|
||||||
|
"branch": "main",
|
||||||
|
"version": "1.10",
|
||||||
|
"ref": "eff2e505d4557c967b6710fe06bd947ba555cae5"
|
||||||
|
},
|
||||||
|
"files": [
|
||||||
|
"assets/app.js",
|
||||||
|
"assets/bootstrap.js",
|
||||||
|
"assets/controllers.json",
|
||||||
|
"assets/controllers/hello_controller.js",
|
||||||
|
"assets/styles/app.css",
|
||||||
|
"config/packages/webpack_encore.yaml",
|
||||||
|
"package.json",
|
||||||
|
"webpack.config.js"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
|
@ -12,7 +12,7 @@
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<div class="lang">
|
<div class="lang">
|
||||||
{% for locale in locales|split(',') %}
|
{% for locale in locales %}
|
||||||
<a href="{{ path('locale_change', {'locale':locale }) }}" title="{{locale}}" aria-label="{{locale}}" class="flag"><img class="w-10" src="{{ asset('flags/'~ locale ~'.svg') }}"/></a>
|
<a href="{{ path('locale_change', {'locale':locale }) }}" title="{{locale}}" aria-label="{{locale}}" class="flag"><img class="w-10" src="{{ asset('flags/'~ locale ~'.svg') }}"/></a>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -1,5 +0,0 @@
|
||||||
form:
|
|
||||||
label:
|
|
||||||
login: login
|
|
||||||
password: Password
|
|
||||||
remember_me: Remember me
|
|
|
@ -1,5 +0,0 @@
|
||||||
form:
|
|
||||||
label:
|
|
||||||
login: Login
|
|
||||||
password: Mot de passe
|
|
||||||
remember_me: Se souvenir de moi
|
|
|
@ -7,15 +7,11 @@
|
||||||
<body>
|
<body>
|
||||||
<trans-unit id="fXVg5Zq" resname="error.login">
|
<trans-unit id="fXVg5Zq" resname="error.login">
|
||||||
<source>error.login</source>
|
<source>error.login</source>
|
||||||
<target>Incorrect login</target>
|
<target>Incorrect login or password</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="8VJKwdK" resname="error.password">
|
<trans-unit id="1QRR4uA" resname="error.technical">
|
||||||
<source>error.password</source>
|
<source>error.technical</source>
|
||||||
<target>Incorrect password</target>
|
<target>A technical error happened, try again later</target>
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="lBole_G" resname="error.pdo">
|
|
||||||
<source>error.pdo</source>
|
|
||||||
<target>Connection to database encountered a problem</target>
|
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
</body>
|
</body>
|
||||||
</file>
|
</file>
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
error:
|
|
||||||
login: 'Incorrect login'
|
|
||||||
password: 'Incorrect password'
|
|
||||||
sql_login: 'Connection to database encountered a problem'
|
|
|
@ -7,15 +7,11 @@
|
||||||
<body>
|
<body>
|
||||||
<trans-unit id="fXVg5Zq" resname="error.login">
|
<trans-unit id="fXVg5Zq" resname="error.login">
|
||||||
<source>error.login</source>
|
<source>error.login</source>
|
||||||
<target>Login incorrect ou inconnu</target>
|
<target>Login ou mot de passe inconnu</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="8VJKwdK" resname="error.password">
|
<trans-unit id="1QRR4uA" resname="error.technical">
|
||||||
<source>error.password</source>
|
<source>error.technical</source>
|
||||||
<target>Mot de passe incorrect</target>
|
<target>Une erreur technique s'est produite, rééssayez plus tard</target>
|
||||||
</trans-unit>
|
|
||||||
<trans-unit id="lBole_G" resname="error.pdo">
|
|
||||||
<source>error.pdo</source>
|
|
||||||
<target>La connexion à la base de déonnées à rencontré un problème</target>
|
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
</body>
|
</body>
|
||||||
</file>
|
</file>
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
error:
|
|
||||||
login: 'Login incorrect ou inconnu'
|
|
||||||
password: 'Mot de passe incorrect'
|
|
||||||
sql_login: 'La connexion à la base de données a rencontré un problème'
|
|
|
@ -405,6 +405,30 @@
|
||||||
<source>The value of the netmask should be between {{ min }} and {{ max }}.</source>
|
<source>The value of the netmask should be between {{ min }} and {{ max }}.</source>
|
||||||
<target>The value of the netmask should be between {{ min }} and {{ max }}.</target>
|
<target>The value of the netmask should be between {{ min }} and {{ max }}.</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
<trans-unit id="O5pay9e" resname="The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less.">
|
||||||
|
<source>The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less.</source>
|
||||||
|
<target>The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less.</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="f_lviDt" resname="The password strength is too low. Please use a stronger password.">
|
||||||
|
<source>The password strength is too low. Please use a stronger password.</source>
|
||||||
|
<target>The password strength is too low. Please use a stronger password.</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="xfCh6.k" resname="This value contains characters that are not allowed by the current restriction-level.">
|
||||||
|
<source>This value contains characters that are not allowed by the current restriction-level.</source>
|
||||||
|
<target>This value contains characters that are not allowed by the current restriction-level.</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="x15dlan" resname="Using invisible characters is not allowed.">
|
||||||
|
<source>Using invisible characters is not allowed.</source>
|
||||||
|
<target>Using invisible characters is not allowed.</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="2NiS4YC" resname="Mixing numbers from different scripts is not allowed.">
|
||||||
|
<source>Mixing numbers from different scripts is not allowed.</source>
|
||||||
|
<target>Mixing numbers from different scripts is not allowed.</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="W8N1HuG" resname="Using hidden overlay characters is not allowed.">
|
||||||
|
<source>Using hidden overlay characters is not allowed.</source>
|
||||||
|
<target>Using hidden overlay characters is not allowed.</target>
|
||||||
|
</trans-unit>
|
||||||
<trans-unit id=".SEaaBa" resname="This form should not contain extra fields.">
|
<trans-unit id=".SEaaBa" resname="This form should not contain extra fields.">
|
||||||
<source>This form should not contain extra fields.</source>
|
<source>This form should not contain extra fields.</source>
|
||||||
<target>This form should not contain extra fields.</target>
|
<target>This form should not contain extra fields.</target>
|
||||||
|
|
|
@ -405,6 +405,30 @@
|
||||||
<source>The value of the netmask should be between {{ min }} and {{ max }}.</source>
|
<source>The value of the netmask should be between {{ min }} and {{ max }}.</source>
|
||||||
<target>La valeur du masque de réseau doit être comprise entre {{ min }} et {{ max }}.</target>
|
<target>La valeur du masque de réseau doit être comprise entre {{ min }} et {{ max }}.</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
<trans-unit id="O5pay9e" resname="The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less.">
|
||||||
|
<source>The filename is too long. It should have {{ filename_max_length }} character or less.|The filename is too long. It should have {{ filename_max_length }} characters or less.</source>
|
||||||
|
<target>Le nom du fichier est trop long. Il doit contenir au maximum {{ filename_max_length }} caractère.|Le nom de fichier est trop long. Il doit contenir au maximum {{ filename_max_length }} caractères.</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="f_lviDt" resname="The password strength is too low. Please use a stronger password.">
|
||||||
|
<source>The password strength is too low. Please use a stronger password.</source>
|
||||||
|
<target>La force du mot de passe est trop faible. Veuillez utiliser un mot de passe plus fort.</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="xfCh6.k" resname="This value contains characters that are not allowed by the current restriction-level.">
|
||||||
|
<source>This value contains characters that are not allowed by the current restriction-level.</source>
|
||||||
|
<target>Cette valeur contient des caractères qui ne sont pas autorisés par le niveau de restriction actuel.</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="x15dlan" resname="Using invisible characters is not allowed.">
|
||||||
|
<source>Using invisible characters is not allowed.</source>
|
||||||
|
<target>Utiliser des caractères invisibles n'est pas autorisé.</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="2NiS4YC" resname="Mixing numbers from different scripts is not allowed.">
|
||||||
|
<source>Mixing numbers from different scripts is not allowed.</source>
|
||||||
|
<target>Mélanger des chiffres provenant de différents scripts n'est pas autorisé.</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="W8N1HuG" resname="Using hidden overlay characters is not allowed.">
|
||||||
|
<source>Using hidden overlay characters is not allowed.</source>
|
||||||
|
<target>Utiliser des caractères de superposition cachés n'est pas autorisé.</target>
|
||||||
|
</trans-unit>
|
||||||
<trans-unit id=".SEaaBa" resname="This form should not contain extra fields.">
|
<trans-unit id=".SEaaBa" resname="This form should not contain extra fields.">
|
||||||
<source>This form should not contain extra fields.</source>
|
<source>This form should not contain extra fields.</source>
|
||||||
<target>Ce formulaire ne doit pas contenir de champs supplémentaires.</target>
|
<target>Ce formulaire ne doit pas contenir de champs supplémentaires.</target>
|
||||||
|
|
|
@ -13,6 +13,22 @@
|
||||||
<source>submit</source>
|
<source>submit</source>
|
||||||
<target>Submit</target>
|
<target>Submit</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
<trans-unit id="LpHwdkN" resname="view.base.title">
|
||||||
|
<source>view.base.title</source>
|
||||||
|
<target>Hydra SQL</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="DjhkdFJ" resname="view.login.title">
|
||||||
|
<source>view.login.title</source>
|
||||||
|
<target>Sign in</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="UkVIwCA" resname="view.error.title">
|
||||||
|
<source>view.error.title</source>
|
||||||
|
<target>Error</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="bmlMAb9" resname="view.error.text">
|
||||||
|
<source>view.error.text</source>
|
||||||
|
<target>Error</target>
|
||||||
|
</trans-unit>
|
||||||
</body>
|
</body>
|
||||||
</file>
|
</file>
|
||||||
</xliff>
|
</xliff>
|
||||||
|
|
|
@ -1,2 +0,0 @@
|
||||||
sign_in: Please, sign in
|
|
||||||
submit: Submit
|
|
|
@ -13,6 +13,22 @@
|
||||||
<source>submit</source>
|
<source>submit</source>
|
||||||
<target>Valider</target>
|
<target>Valider</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
|
<trans-unit id="LpHwdkN" resname="view.base.title">
|
||||||
|
<source>view.base.title</source>
|
||||||
|
<target>Hydra SQL</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="DjhkdFJ" resname="view.login.title">
|
||||||
|
<source>view.login.title</source>
|
||||||
|
<target>Identifiez-vous</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="UkVIwCA" resname="view.error.title">
|
||||||
|
<source>view.error.title</source>
|
||||||
|
<target>Erreur</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="bmlMAb9" resname="view.error.text">
|
||||||
|
<source>view.error.text</source>
|
||||||
|
<target>Erreur</target>
|
||||||
|
</trans-unit>
|
||||||
</body>
|
</body>
|
||||||
</file>
|
</file>
|
||||||
</xliff>
|
</xliff>
|
||||||
|
|
|
@ -1,2 +0,0 @@
|
||||||
sign_in: Connectez-vous
|
|
||||||
submit: Valider
|
|
Loading…
Reference in New Issue