From ac9d3824cf1b7058de6f61c6d3deb83e5f98e866 Mon Sep 17 00:00:00 2001
From: Thomas
Date: Tue, 14 May 2024 15:06:46 +0000
Subject: [PATCH] Release 1.2.0
---
.env | 8 +-
Dockerfile | 56 +
README.md | 7 +-
bin/console | 39 +-
composer.json | 97 +-
composer.lock | 7597 +++++++++++++----
config/bundles.php | 9 +-
config/packages/asset_mapper.yaml | 5 +
config/packages/debug.yaml | 5 +
config/packages/dev/routing.yaml | 3 -
config/packages/framework.yaml | 18 +-
config/packages/routing.yaml | 10 +-
config/packages/security.yaml | 23 +-
config/packages/sensio_framework_extra.yaml | 3 -
config/packages/test/framework.yaml | 4 -
config/packages/test/routing.yaml | 3 -
config/packages/test/validator.yaml | 3 -
config/packages/twig.yaml | 8 +-
config/packages/validator.yaml | 13 +-
config/packages/web_profiler.yaml | 17 +
config/preload.php | 5 +
config/routes.yaml | 8 +-
config/routes/annotations.yaml | 3 -
config/routes/dev/twig.yaml | 3 -
config/routes/framework.yaml | 4 +
config/routes/security.yaml | 3 +
config/routes/web_profiler.yaml | 8 +
config/services.yaml | 7 +-
docker_config/conf.d/default.conf | 56 +
docker_config/fpm-pool.conf | 56 +
docker_config/nginx.conf | 47 +
docker_config/php.ini | 3 +
docker_config/supervisord.conf | 23 +
importmap.php | 28 +
public/index.php | 26 +-
public/js/emojionearea.js | 25 +-
src/Controller/FediPlanController.php | 161 +-
src/EventSubscriber/LocaleSubscriber.php | 6 +-
src/Form/ComposeType.php | 13 +-
src/Form/ConnectMastodonAccountFlow.php | 2 +-
src/Form/ConnectMastodonAccountType.php | 6 +-
src/Form/PollOptionType.php | 18 +-
src/Kernel.php | 43 -
.../MastodonAccount.php | 149 +-
src/Security/UserProvider.php | 79 +
src/Services/Mastodon_api.php | 283 +-
src/SocialEntity/Application.php | 6 +-
src/SocialEntity/Attachment.php | 25 +-
src/SocialEntity/Card.php | 37 +-
src/SocialEntity/Client.php | 19 +-
src/SocialEntity/Compose.php | 95 +-
src/SocialEntity/CustomField.php | 17 +-
src/SocialEntity/Emoji.php | 14 +-
src/SocialEntity/Instance.php | 225 +
src/SocialEntity/Mention.php | 12 +-
src/SocialEntity/Notification.php | 16 +-
src/SocialEntity/Poll.php | 27 +-
src/SocialEntity/PollOption.php | 21 +-
src/SocialEntity/Status.php | 101 +-
src/SocialEntity/Tag.php | 12 +-
src/Twig/AppExtension.php | 10 +-
symfony.lock | 365 +-
templates/fediplan/Ajax/layout.html.twig | 26 +-
templates/fediplan/index.html.twig | 2 +-
templates/fediplan/schedule.html.twig | 38 +-
templates/fediplan/scheduled.html.twig | 1 -
templates/nav.html.twig | 3 +
translations/fediplan+intl-icu.ca.yaml | 1 -
translations/fediplan+intl-icu.es.yaml | 1 -
translations/fediplan+intl-icu.fr.yaml | 1 -
translations/fediplan+intl-icu.it.yaml | 1 -
translations/fediplan+intl-icu.zh-CN.yaml | 1 -
translations/fediplan.ca.yaml | 2 -
translations/fediplan.de.yaml | 3 -
translations/fediplan.en.yaml | 4 +-
translations/fediplan.es.yaml | 2 -
translations/fediplan.fr.yaml | 3 -
translations/fediplan.it.yaml | 1 -
translations/fediplan.nl.yaml | 3 -
translations/fediplan.pl.yaml | 75 +
translations/fediplan.sv.yaml | 19 +-
translations/fediplan.uk.yaml | 75 +
82 files changed, 7623 insertions(+), 2634 deletions(-)
create mode 100644 Dockerfile
create mode 100644 config/packages/asset_mapper.yaml
create mode 100644 config/packages/debug.yaml
delete mode 100644 config/packages/dev/routing.yaml
delete mode 100644 config/packages/sensio_framework_extra.yaml
delete mode 100644 config/packages/test/framework.yaml
delete mode 100644 config/packages/test/routing.yaml
delete mode 100644 config/packages/test/validator.yaml
create mode 100644 config/packages/web_profiler.yaml
create mode 100644 config/preload.php
delete mode 100644 config/routes/annotations.yaml
delete mode 100644 config/routes/dev/twig.yaml
create mode 100644 config/routes/framework.yaml
create mode 100644 config/routes/security.yaml
create mode 100644 config/routes/web_profiler.yaml
create mode 100644 docker_config/conf.d/default.conf
create mode 100644 docker_config/fpm-pool.conf
create mode 100644 docker_config/nginx.conf
create mode 100644 docker_config/php.ini
create mode 100644 docker_config/supervisord.conf
create mode 100644 importmap.php
rename src/{SocialEntity => Security}/MastodonAccount.php (71%)
create mode 100644 src/Security/UserProvider.php
create mode 100644 src/SocialEntity/Instance.php
diff --git a/.env b/.env
index 4d16d0e..a83567a 100644
--- a/.env
+++ b/.env
@@ -1,5 +1,5 @@
# In all environments, the following files are loaded if they exist,
-# the later taking precedence over the former:
+# the latter taking precedence over the former:
#
# * .env contains default values for the environment variables needed by the app
# * .env.local uncommitted file with local overrides
@@ -9,13 +9,13 @@
# Real environment variables win over .env files.
#
# DO NOT DEFINE PRODUCTION SECRETS IN THIS FILE NOR IN ANY OTHER COMMITTED FILES.
+# https://symfony.com/doc/current/configuration/secrets.html
#
# Run "composer dump-env prod" to compile .env files for production use (requires symfony/flex >=1.2).
-# https://symfony.com/doc/current/best_practices/configuration.html#infrastructure-related-configuration
+# https://symfony.com/doc/current/best_practices.html#use-environment-variables-for-infrastructure-configuration
###> symfony/framework-bundle ###
APP_ENV=dev
APP_SECRET=7189792ca5da6b84aff72ec1c63d95ae
-#TRUSTED_PROXIES=127.0.0.1,127.0.0.2
-#TRUSTED_HOSTS='^localhost|example\.com$'
###< symfony/framework-bundle ###
+
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..ad5dd2d
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,56 @@
+FROM composer as composer
+
+COPY --chown=nobody . /app
+RUN composer install --optimize-autoloader --no-interaction --no-progress
+
+FROM alpine:3.19
+
+# Install packages and remove default server definition
+RUN apk add --no-cache \
+ curl \
+ nginx \
+ php83 \
+ php83-ctype \
+ php83-curl \
+ php83-dom \
+ php83-fpm \
+ php83-intl \
+ php83-mbstring \
+ php83-session \
+ php83-tokenizer \
+ php83-simplexml \
+ supervisor
+
+# Configure nginx - http
+COPY docker_config/nginx.conf /etc/nginx/nginx.conf
+# Configure nginx - default server
+COPY docker_config/conf.d /etc/nginx/conf.d/
+
+# Configure PHP-FPM
+ENV PHP_INI_DIR /etc/php83
+COPY docker_config/fpm-pool.conf ${PHP_INI_DIR}/php-fpm.d/www.conf
+COPY docker_config/php.ini ${PHP_INI_DIR}/conf.d/custom.ini
+
+# Configure supervisord
+COPY docker_config/supervisord.conf /etc/supervisor/conf.d/supervisord.conf
+
+# Add application
+COPY --chown=nobody --from=composer /app/ /var/www/fediplan/
+
+# Make sure files/folders needed by the processes are accessable when they run under the nobody user
+RUN chown -R nobody.nobody /var/www/fediplan /run /var/lib/nginx /var/log/nginx
+
+# Create symlink for php
+RUN ln -s /usr/bin/php83 /usr/bin/php
+
+# Switch to use a non-root user from here on
+USER nobody
+
+# Expose the port nginx is reachable on
+EXPOSE 8080
+
+# Let supervisord start nginx & php-fpm
+CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/conf.d/supervisord.conf"]
+
+# Configure a healthcheck to validate that everything is up&running
+HEALTHCHECK --timeout=10s CMD curl --silent --fail http://127.0.0.1:8080/fpm-ping || exit 1
diff --git a/README.md b/README.md
index 59d4276..81c2520 100644
--- a/README.md
+++ b/README.md
@@ -27,5 +27,8 @@ See: [Download Composer](https://getcomposer.org/download/)
Your site needs to target /path/to/FediPlan/public
-
-#### Support My work at [fedilab.app](https://fedilab.app/page/donations/)
\ No newline at end of file
+
+#### Support My work at [fedilab.app](https://fedilab.app/page/donations/)
+
+#### Credits
+Docker configurations are based on [github.com/TrafeX/docker-php-nginx](https://github.com/TrafeX/docker-php-nginx)
diff --git a/bin/console b/bin/console
index 19c2f6c..d8d530e 100755
--- a/bin/console
+++ b/bin/console
@@ -3,40 +3,19 @@
use App\Kernel;
use Symfony\Bundle\FrameworkBundle\Console\Application;
-use Symfony\Component\Console\Input\ArgvInput;
-use Symfony\Component\Debug\Debug;
-if (false === in_array(\PHP_SAPI, ['cli', 'phpdbg', 'embed'], true)) {
- echo 'Warning: The console should be invoked via the CLI version of PHP, not the '.\PHP_SAPI.' SAPI'.\PHP_EOL;
+if (!is_dir(dirname(__DIR__).'/vendor')) {
+ throw new LogicException('Dependencies are missing. Try running "composer install".');
}
-set_time_limit(0);
-
-require dirname(__DIR__).'/vendor/autoload.php';
-
-if (!class_exists(Application::class)) {
- throw new RuntimeException('You need to add "symfony/framework-bundle" as a Composer dependency.');
+if (!is_file(dirname(__DIR__).'/vendor/autoload_runtime.php')) {
+ throw new LogicException('Symfony Runtime is missing. Try running "composer require symfony/runtime".');
}
-$input = new ArgvInput();
-if (null !== $env = $input->getParameterOption(['--env', '-e'], null, true)) {
- putenv('APP_ENV='.$_SERVER['APP_ENV'] = $_ENV['APP_ENV'] = $env);
-}
+require_once dirname(__DIR__).'/vendor/autoload_runtime.php';
-if ($input->hasParameterOption('--no-debug', true)) {
- putenv('APP_DEBUG='.$_SERVER['APP_DEBUG'] = $_ENV['APP_DEBUG'] = '0');
-}
+return function (array $context) {
+ $kernel = new Kernel($context['APP_ENV'], (bool) $context['APP_DEBUG']);
-require dirname(__DIR__).'/config/bootstrap.php';
-
-if ($_SERVER['APP_DEBUG']) {
- umask(0000);
-
- if (class_exists(Debug::class)) {
- Debug::enable();
- }
-}
-
-$kernel = new Kernel($_SERVER['APP_ENV'], (bool) $_SERVER['APP_DEBUG']);
-$application = new Application($kernel);
-$application->run($input);
+ return new Application($kernel);
+};
diff --git a/composer.json b/composer.json
index 6c6873b..c19885a 100644
--- a/composer.json
+++ b/composer.json
@@ -1,41 +1,55 @@
{
"type": "project",
"license": "proprietary",
+ "minimum-stability": "stable",
+ "prefer-stable": true,
"require": {
- "php": "^7.1.3",
+ "php": ">=8.2",
"ext-ctype": "*",
+ "ext-curl": "*",
"ext-iconv": "*",
- "craue/formflow-bundle": "^3.2",
- "doctrine/collections": "^1.6",
- "friendsofsymfony/jsrouting-bundle": "^2.4",
- "sensio/framework-extra-bundle": "^5.4",
- "symfony/asset": "4.3.*",
- "symfony/console": "4.3.*",
- "symfony/debug": "4.3.*",
- "symfony/dotenv": "4.3.*",
- "symfony/flex": "^1.3.1",
- "symfony/framework-bundle": "4.3.*",
- "symfony/polyfill-intl-messageformatter": "^1.15",
- "symfony/security-bundle": "4.3.*",
- "symfony/translation": "4.3.*",
- "symfony/twig-bundle": "4.3.*",
- "symfony/yaml": "4.3.*",
- "twig/extensions": "^1.5",
- "ext-curl": "*",
- "ext-json": "*"
- },
- "require-dev": {
- "symfony/phpunit-bridge": "^7.0",
- "symfony/web-server-bundle": "4.3.*"
+ "craue/formflow-bundle": "*",
+ "curl/curl": "^2.5",
+ "friendsofsymfony/jsrouting-bundle": "*",
+ "phpdocumentor/reflection-docblock": "^5.4",
+ "phpstan/phpdoc-parser": "^1.29",
+ "symfony/asset": "7.0.*",
+ "symfony/asset-mapper": "7.0.*",
+ "symfony/console": "7.0.*",
+ "symfony/dotenv": "7.0.*",
+ "symfony/expression-language": "7.0.*",
+ "symfony/flex": "^2",
+ "symfony/form": "7.0.*",
+ "symfony/framework-bundle": "7.0.*",
+ "symfony/http-client": "7.0.*",
+ "symfony/intl": "7.0.*",
+ "symfony/mime": "7.0.*",
+ "symfony/monolog-bundle": "^3.0",
+ "symfony/notifier": "7.0.*",
+ "symfony/process": "7.0.*",
+ "symfony/property-access": "7.0.*",
+ "symfony/property-info": "7.0.*",
+ "symfony/runtime": "7.0.*",
+ "symfony/security-bundle": "7.0.*",
+ "symfony/serializer": "7.0.*",
+ "symfony/stimulus-bundle": "^2.17",
+ "symfony/string": "7.0.*",
+ "symfony/translation": "7.0.*",
+ "symfony/twig-bundle": "7.0.*",
+ "symfony/ux-turbo": "^2.17",
+ "symfony/validator": "7.0.*",
+ "symfony/web-link": "7.0.*",
+ "symfony/yaml": "7.0.*",
+ "twig/extra-bundle": "^2.12|^3.0",
+ "twig/twig": "^2.12|^3.0"
},
"config": {
- "preferred-install": {
- "*": "dist"
- },
- "sort-packages": true,
"allow-plugins": {
- "symfony/flex": true
- }
+ "php-http/discovery": true,
+ "symfony/flex": true,
+ "symfony/runtime": true
+ },
+ "sort-packages": true
},
"autoload": {
"psr-4": {
@@ -48,17 +62,20 @@
}
},
"replace": {
- "paragonie/random_compat": "2.*",
"symfony/polyfill-ctype": "*",
"symfony/polyfill-iconv": "*",
- "symfony/polyfill-php71": "*",
- "symfony/polyfill-php70": "*",
- "symfony/polyfill-php56": "*"
+ "symfony/polyfill-php72": "*",
+ "symfony/polyfill-php73": "*",
+ "symfony/polyfill-php74": "*",
+ "symfony/polyfill-php80": "*",
+ "symfony/polyfill-php81": "*",
+ "symfony/polyfill-php82": "*"
},
"scripts": {
"auto-scripts": {
"cache:clear": "symfony-cmd",
- "assets:install %PUBLIC_DIR%": "symfony-cmd"
+ "assets:install %PUBLIC_DIR%": "symfony-cmd",
+ "importmap:install": "symfony-cmd"
},
"post-install-cmd": [
"@auto-scripts"
@@ -73,7 +90,17 @@
"extra": {
"symfony": {
"allow-contrib": false,
- "require": "4.3.*"
+ "require": "7.0.*"
}
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.5",
+ "symfony/browser-kit": "7.0.*",
+ "symfony/css-selector": "7.0.*",
+ "symfony/debug-bundle": "7.0.*",
+ "symfony/maker-bundle": "^1.0",
+ "symfony/phpunit-bridge": "^7.0",
+ "symfony/stopwatch": "7.0.*",
+ "symfony/web-profiler-bundle": "7.0.*"
}
}
diff --git a/composer.lock b/composer.lock
index 726ec2f..47be4df 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,47 +4,143 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "33db4f22caedc5e0ab96b1c3f0c4944e",
+ "content-hash": "ef97d9aa636ea1b34627e65322f4c912",
"packages": [
{
- "name": "craue/formflow-bundle",
- "version": "3.3.1",
+ "name": "composer/semver",
+ "version": "3.4.0",
"source": {
"type": "git",
- "url": "https://github.com/craue/CraueFormFlowBundle.git",
- "reference": "0b2dcc18d16eac54e0a4df7a1bbd3e811b23939c"
+ "url": "https://github.com/composer/semver.git",
+ "reference": "35e8d0af4486141bc745f23a29cc2091eb624a32"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/craue/CraueFormFlowBundle/zipball/0b2dcc18d16eac54e0a4df7a1bbd3e811b23939c",
- "reference": "0b2dcc18d16eac54e0a4df7a1bbd3e811b23939c",
+ "url": "https://api.github.com/repos/composer/semver/zipball/35e8d0af4486141bc745f23a29cc2091eb624a32",
+ "reference": "35e8d0af4486141bc745f23a29cc2091eb624a32",
"shasum": ""
},
"require": {
- "php": "~7.0",
- "symfony/config": "~3.4|~4.2|~5.0",
- "symfony/dependency-injection": "~3.4|~4.2|~5.0",
- "symfony/event-dispatcher": "~3.4|~4.2|~5.0",
- "symfony/form": "~3.4|~4.2|~5.0",
- "symfony/http-foundation": "~3.4|~4.2|~5.0",
- "symfony/http-kernel": "~3.4|~4.2|~5.0",
- "symfony/options-resolver": "~3.4|~4.2|~5.0",
- "symfony/security-core": "~3.4|~4.2|~5.0",
- "symfony/translation": "~3.4|~4.2|~5.0",
- "symfony/validator": "~3.4|~4.2|~5.0",
- "symfony/yaml": "~3.4|~4.2|~5.0"
+ "php": "^5.3.2 || ^7.0 || ^8.0"
},
"require-dev": {
- "doctrine/common": "~2.7",
- "doctrine/doctrine-bundle": "~1.10|~2.0",
- "phpunit/phpunit": "^6.5.13|^7.5.1",
- "symfony/phpunit-bridge": "~5.0",
- "symfony/symfony": "~3.4|~4.2|~5.0"
+ "phpstan/phpstan": "^1.4",
+ "symfony/phpunit-bridge": "^4.2 || ^5"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "3.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Composer\\Semver\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nils Adermann",
+ "email": "naderman@naderman.de",
+ "homepage": "http://www.naderman.de"
+ },
+ {
+ "name": "Jordi Boggiano",
+ "email": "j.boggiano@seld.be",
+ "homepage": "http://seld.be"
+ },
+ {
+ "name": "Rob Bast",
+ "email": "rob.bast@gmail.com",
+ "homepage": "http://robbast.nl"
+ }
+ ],
+ "description": "Semver library that offers utilities, version constraint parsing and validation.",
+ "keywords": [
+ "semantic",
+ "semver",
+ "validation",
+ "versioning"
+ ],
+ "support": {
+ "irc": "ircs://irc.libera.chat:6697/composer",
+ "issues": "https://github.com/composer/semver/issues",
+ "source": "https://github.com/composer/semver/tree/3.4.0"
+ },
+ "funding": [
+ {
+ "url": "https://packagist.com",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/composer",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/composer/composer",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-08-31T09:50:34+00:00"
+ },
+ {
+ "name": "craue/formflow-bundle",
+ "version": "3.7.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/craue/CraueFormFlowBundle.git",
+ "reference": "8fea7ced6145451a5ccca2e8d4d87c74e6d42b56"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/craue/CraueFormFlowBundle/zipball/8fea7ced6145451a5ccca2e8d4d87c74e6d42b56",
+ "reference": "8fea7ced6145451a5ccca2e8d4d87c74e6d42b56",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.3 || ^8",
+ "symfony/config": "^4.4 || ^5.4 || ^6.3 || ^7.0",
+ "symfony/dependency-injection": "^4.4 || ^5.4 || ^6.3 || ^7.0",
+ "symfony/event-dispatcher": "^4.4 || ^5.4 || ^6.3 || ^7.0",
+ "symfony/form": "^4.4 || ^5.4 || ^6.3 || ^7.0",
+ "symfony/http-foundation": "^4.4 || ^5.4 || ^6.3 || ^7.0",
+ "symfony/http-kernel": "^4.4 || ^5.4 || ^6.3 || ^7.0",
+ "symfony/options-resolver": "^4.4 || ^5.4 || ^6.3 || ^7.0",
+ "symfony/security-core": "^4.4 || ^5.4 || ^6.3 || ^7.0",
+ "symfony/translation": "^4.4 || ^5.4 || ^6.3 || ^7.0",
+ "symfony/validator": "^4.4 || ^5.4 || ^6.3 || ^7.0",
+ "symfony/yaml": "^4.4 || ^5.4 || ^6.3 || ^7.0"
+ },
+ "conflict": {
+ "doctrine/dbal": "<2.10"
+ },
+ "require-dev": {
+ "craue/translations-tests": "^1.1",
+ "doctrine/collections": "^1.8 || ^2.1",
+ "doctrine/common": "^2.9 || ^3.0",
+ "doctrine/dbal": "^2.10 || ^3.0",
+ "doctrine/doctrine-bundle": "^1.10 || ^2.0",
+ "phpstan/extension-installer": "^1.1",
+ "phpstan/phpstan": "^1.10",
+ "phpstan/phpstan-deprecation-rules": "^1.0",
+ "phpstan/phpstan-strict-rules": "^1.1",
+ "phpstan/phpstan-symfony": "^1.1",
+ "phpunit/phpunit": "^9.5",
+ "symfony/browser-kit": "^4.4 || ^5.4 || ^6.3 || ^7.0",
+ "symfony/css-selector": "^4.4 || ^5.4 || ^6.3 || ^7.0",
+ "symfony/mime": "^4.4 || ^5.4 || ^6.3 || ^7.0",
+ "symfony/phpunit-bridge": "^7.0",
+ "symfony/security-bundle": "^4.4 || ^5.4 || ^6.3 || ^7.0",
+ "symfony/twig-bundle": "^4.4 || ^5.4 || ^6.3 || ^7.0"
},
"type": "symfony-bundle",
"extra": {
"branch-alias": {
- "dev-master": "3.3.x-dev"
+ "dev-master": "3.7.x-dev"
}
},
"autoload": {
@@ -77,40 +173,37 @@
"symfony",
"wizard"
],
- "time": "2020-03-08T10:38:02+00:00"
+ "support": {
+ "issues": "https://github.com/craue/CraueFormFlowBundle/issues",
+ "source": "https://github.com/craue/CraueFormFlowBundle/tree/3.7.0"
+ },
+ "time": "2024-01-11T01:03:17+00:00"
},
{
- "name": "doctrine/annotations",
- "version": "1.10.2",
+ "name": "curl/curl",
+ "version": "2.5.0",
"source": {
"type": "git",
- "url": "https://github.com/doctrine/annotations.git",
- "reference": "b9d758e831c70751155c698c2f7df4665314a1cb"
+ "url": "https://github.com/php-mod/curl.git",
+ "reference": "c4f8799c471e43b7c782c77d5c6e178d0465e210"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/annotations/zipball/b9d758e831c70751155c698c2f7df4665314a1cb",
- "reference": "b9d758e831c70751155c698c2f7df4665314a1cb",
+ "url": "https://api.github.com/repos/php-mod/curl/zipball/c4f8799c471e43b7c782c77d5c6e178d0465e210",
+ "reference": "c4f8799c471e43b7c782c77d5c6e178d0465e210",
"shasum": ""
},
"require": {
- "doctrine/lexer": "1.*",
- "ext-tokenizer": "*",
- "php": "^7.1"
+ "ext-curl": "*",
+ "php": "^5.6 | ^7.0 | ^8.0"
},
"require-dev": {
- "doctrine/cache": "1.*",
- "phpunit/phpunit": "^7.5"
+ "yoast/phpunit-polyfills": "^0.2.0"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.9.x-dev"
- }
- },
"autoload": {
- "psr-4": {
- "Doctrine\\Common\\Annotations\\": "lib/Doctrine/Common/Annotations"
+ "psr-0": {
+ "Curl": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -119,196 +212,107 @@
],
"authors": [
{
- "name": "Guilherme Blanco",
- "email": "guilhermeblanco@gmail.com"
+ "name": "php-curl-class",
+ "homepage": "https://github.com/php-curl-class"
},
{
- "name": "Roman Borschel",
- "email": "roman@code-factory.org"
+ "name": "Hassan Amouhzi",
+ "email": "hassan@anezi.net",
+ "homepage": "http://hassan.amouhzi.com"
},
{
- "name": "Benjamin Eberlei",
- "email": "kontakt@beberlei.de"
- },
- {
- "name": "Jonathan Wage",
- "email": "jonwage@gmail.com"
- },
- {
- "name": "Johannes Schmitt",
- "email": "schmittjoh@gmail.com"
+ "name": "user52",
+ "homepage": "https://github.com/user52"
}
],
- "description": "Docblock Annotations Parser",
- "homepage": "http://www.doctrine-project.org",
+ "description": "cURL class for PHP",
+ "homepage": "https://github.com/php-mod/curl",
"keywords": [
- "annotations",
- "docblock",
- "parser"
+ "curl",
+ "dot"
],
- "time": "2020-04-20T09:18:32+00:00"
+ "support": {
+ "issues": "https://github.com/php-mod/curl/issues",
+ "source": "https://github.com/php-mod/curl/tree/2.5.0"
+ },
+ "time": "2022-12-14T13:27:59+00:00"
},
{
- "name": "doctrine/collections",
- "version": "1.6.4",
+ "name": "doctrine/deprecations",
+ "version": "1.1.3",
"source": {
"type": "git",
- "url": "https://github.com/doctrine/collections.git",
- "reference": "6b1e4b2b66f6d6e49983cebfe23a21b7ccc5b0d7"
+ "url": "https://github.com/doctrine/deprecations.git",
+ "reference": "dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/collections/zipball/6b1e4b2b66f6d6e49983cebfe23a21b7ccc5b0d7",
- "reference": "6b1e4b2b66f6d6e49983cebfe23a21b7ccc5b0d7",
+ "url": "https://api.github.com/repos/doctrine/deprecations/zipball/dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab",
+ "reference": "dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab",
"shasum": ""
},
"require": {
- "php": "^7.1.3"
+ "php": "^7.1 || ^8.0"
},
"require-dev": {
- "doctrine/coding-standard": "^6.0",
- "phpstan/phpstan-shim": "^0.9.2",
- "phpunit/phpunit": "^7.0",
- "vimeo/psalm": "^3.2.2"
+ "doctrine/coding-standard": "^9",
+ "phpstan/phpstan": "1.4.10 || 1.10.15",
+ "phpstan/phpstan-phpunit": "^1.0",
+ "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
+ "psalm/plugin-phpunit": "0.18.4",
+ "psr/log": "^1 || ^2 || ^3",
+ "vimeo/psalm": "4.30.0 || 5.12.0"
+ },
+ "suggest": {
+ "psr/log": "Allows logging deprecations via PSR-3 logger implementation"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.6.x-dev"
- }
- },
"autoload": {
"psr-4": {
- "Doctrine\\Common\\Collections\\": "lib/Doctrine/Common/Collections"
+ "Doctrine\\Deprecations\\": "lib/Doctrine/Deprecations"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
- "authors": [
- {
- "name": "Guilherme Blanco",
- "email": "guilhermeblanco@gmail.com"
- },
- {
- "name": "Roman Borschel",
- "email": "roman@code-factory.org"
- },
- {
- "name": "Benjamin Eberlei",
- "email": "kontakt@beberlei.de"
- },
- {
- "name": "Jonathan Wage",
- "email": "jonwage@gmail.com"
- },
- {
- "name": "Johannes Schmitt",
- "email": "schmittjoh@gmail.com"
- }
- ],
- "description": "PHP Doctrine Collections library that adds additional functionality on top of PHP arrays.",
- "homepage": "https://www.doctrine-project.org/projects/collections.html",
- "keywords": [
- "array",
- "collections",
- "iterators",
- "php"
- ],
- "time": "2019-11-13T13:07:11+00:00"
- },
- {
- "name": "doctrine/lexer",
- "version": "1.2.0",
- "source": {
- "type": "git",
- "url": "https://github.com/doctrine/lexer.git",
- "reference": "5242d66dbeb21a30dd8a3e66bf7a73b66e05e1f6"
+ "description": "A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.",
+ "homepage": "https://www.doctrine-project.org/",
+ "support": {
+ "issues": "https://github.com/doctrine/deprecations/issues",
+ "source": "https://github.com/doctrine/deprecations/tree/1.1.3"
},
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/doctrine/lexer/zipball/5242d66dbeb21a30dd8a3e66bf7a73b66e05e1f6",
- "reference": "5242d66dbeb21a30dd8a3e66bf7a73b66e05e1f6",
- "shasum": ""
- },
- "require": {
- "php": "^7.2"
- },
- "require-dev": {
- "doctrine/coding-standard": "^6.0",
- "phpstan/phpstan": "^0.11.8",
- "phpunit/phpunit": "^8.2"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.2.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Doctrine\\Common\\Lexer\\": "lib/Doctrine/Common/Lexer"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Guilherme Blanco",
- "email": "guilhermeblanco@gmail.com"
- },
- {
- "name": "Roman Borschel",
- "email": "roman@code-factory.org"
- },
- {
- "name": "Johannes Schmitt",
- "email": "schmittjoh@gmail.com"
- }
- ],
- "description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.",
- "homepage": "https://www.doctrine-project.org/projects/lexer.html",
- "keywords": [
- "annotations",
- "docblock",
- "lexer",
- "parser",
- "php"
- ],
- "time": "2019-10-30T14:39:59+00:00"
+ "time": "2024-01-30T19:34:25+00:00"
},
{
"name": "friendsofsymfony/jsrouting-bundle",
- "version": "2.5.4",
+ "version": "3.5.0",
"source": {
"type": "git",
"url": "https://github.com/FriendsOfSymfony/FOSJsRoutingBundle.git",
- "reference": "7dfd2165c1170a73e5929e70fb80ef57f5539869"
+ "reference": "571de55de958d02655561cfe295b4ede2ef3669e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/FriendsOfSymfony/FOSJsRoutingBundle/zipball/7dfd2165c1170a73e5929e70fb80ef57f5539869",
- "reference": "7dfd2165c1170a73e5929e70fb80ef57f5539869",
+ "url": "https://api.github.com/repos/FriendsOfSymfony/FOSJsRoutingBundle/zipball/571de55de958d02655561cfe295b4ede2ef3669e",
+ "reference": "571de55de958d02655561cfe295b4ede2ef3669e",
"shasum": ""
},
"require": {
- "php": "^7.1",
- "symfony/console": "~3.3|^4.0|^5.0",
- "symfony/framework-bundle": "~3.3|^4.0|^5.0",
- "symfony/serializer": "~3.3|^4.0|^5.0",
- "willdurand/jsonp-callback-validator": "~1.0"
+ "php": "^8.0",
+ "symfony/console": "^5.4|^6.0|^7.0",
+ "symfony/framework-bundle": "^5.4|^6.0|^7.0",
+ "symfony/serializer": "^5.4|^6.0.1|^7.0",
+ "willdurand/jsonp-callback-validator": "~1.1|^2.0"
},
"require-dev": {
- "symfony/expression-language": "~3.3|^4.0|^5.0",
- "symfony/phpunit-bridge": "^3.3|^4.0"
+ "symfony/expression-language": "^5.4|^6.0|^7.0",
+ "symfony/phpunit-bridge": "^5.4|^6.0|^7.0"
},
"type": "symfony-bundle",
"extra": {
"branch-alias": {
- "dev-master": "2.0-dev"
+ "dev-master": "3.x-dev"
}
},
"autoload": {
@@ -333,31 +337,358 @@
"homepage": "https://github.com/friendsofsymfony/FOSJsRoutingBundle/contributors"
}
],
- "description": "A pretty nice way to expose your Symfony2 routing to client applications.",
+ "description": "A pretty nice way to expose your Symfony routing to client applications.",
"homepage": "http://friendsofsymfony.github.com",
"keywords": [
"Js Routing",
"javascript",
"routing"
],
- "time": "2020-04-15T09:21:31+00:00"
+ "support": {
+ "issues": "https://github.com/FriendsOfSymfony/FOSJsRoutingBundle/issues",
+ "source": "https://github.com/FriendsOfSymfony/FOSJsRoutingBundle/tree/3.5.0"
+ },
+ "time": "2024-01-23T21:30:47+00:00"
},
{
- "name": "psr/cache",
- "version": "1.0.1",
+ "name": "monolog/monolog",
+ "version": "3.6.0",
"source": {
"type": "git",
- "url": "https://github.com/php-fig/cache.git",
- "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8"
+ "url": "https://github.com/Seldaek/monolog.git",
+ "reference": "4b18b21a5527a3d5ffdac2fd35d3ab25a9597654"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8",
- "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8",
+ "url": "https://api.github.com/repos/Seldaek/monolog/zipball/4b18b21a5527a3d5ffdac2fd35d3ab25a9597654",
+ "reference": "4b18b21a5527a3d5ffdac2fd35d3ab25a9597654",
"shasum": ""
},
"require": {
- "php": ">=5.3.0"
+ "php": ">=8.1",
+ "psr/log": "^2.0 || ^3.0"
+ },
+ "provide": {
+ "psr/log-implementation": "3.0.0"
+ },
+ "require-dev": {
+ "aws/aws-sdk-php": "^3.0",
+ "doctrine/couchdb": "~1.0@dev",
+ "elasticsearch/elasticsearch": "^7 || ^8",
+ "ext-json": "*",
+ "graylog2/gelf-php": "^1.4.2 || ^2.0",
+ "guzzlehttp/guzzle": "^7.4.5",
+ "guzzlehttp/psr7": "^2.2",
+ "mongodb/mongodb": "^1.8",
+ "php-amqplib/php-amqplib": "~2.4 || ^3",
+ "phpstan/phpstan": "^1.9",
+ "phpstan/phpstan-deprecation-rules": "^1.0",
+ "phpstan/phpstan-strict-rules": "^1.4",
+ "phpunit/phpunit": "^10.5.17",
+ "predis/predis": "^1.1 || ^2",
+ "ruflin/elastica": "^7",
+ "symfony/mailer": "^5.4 || ^6",
+ "symfony/mime": "^5.4 || ^6"
+ },
+ "suggest": {
+ "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB",
+ "doctrine/couchdb": "Allow sending log messages to a CouchDB server",
+ "elasticsearch/elasticsearch": "Allow sending log messages to an Elasticsearch server via official client",
+ "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)",
+ "ext-curl": "Required to send log messages using the IFTTTHandler, the LogglyHandler, the SendGridHandler, the SlackWebhookHandler or the TelegramBotHandler",
+ "ext-mbstring": "Allow to work properly with unicode symbols",
+ "ext-mongodb": "Allow sending log messages to a MongoDB server (via driver)",
+ "ext-openssl": "Required to send log messages using SSL",
+ "ext-sockets": "Allow sending log messages to a Syslog server (via UDP driver)",
+ "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server",
+ "mongodb/mongodb": "Allow sending log messages to a MongoDB server (via library)",
+ "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib",
+ "rollbar/rollbar": "Allow sending log messages to Rollbar",
+ "ruflin/elastica": "Allow sending log messages to an Elastic Search server"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "3.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Monolog\\": "src/Monolog"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Jordi Boggiano",
+ "email": "j.boggiano@seld.be",
+ "homepage": "https://seld.be"
+ }
+ ],
+ "description": "Sends your logs to files, sockets, inboxes, databases and various web services",
+ "homepage": "https://github.com/Seldaek/monolog",
+ "keywords": [
+ "log",
+ "logging",
+ "psr-3"
+ ],
+ "support": {
+ "issues": "https://github.com/Seldaek/monolog/issues",
+ "source": "https://github.com/Seldaek/monolog/tree/3.6.0"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/Seldaek",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/monolog/monolog",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2024-04-12T21:02:21+00:00"
+ },
+ {
+ "name": "phpdocumentor/reflection-common",
+ "version": "2.2.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phpDocumentor/ReflectionCommon.git",
+ "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/1d01c49d4ed62f25aa84a747ad35d5a16924662b",
+ "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.2 || ^8.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-2.x": "2.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "phpDocumentor\\Reflection\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Jaap van Otterdijk",
+ "email": "opensource@ijaap.nl"
+ }
+ ],
+ "description": "Common reflection classes used by phpdocumentor to reflect the code structure",
+ "homepage": "http://www.phpdoc.org",
+ "keywords": [
+ "FQSEN",
+ "phpDocumentor",
+ "phpdoc",
+ "reflection",
+ "static analysis"
+ ],
+ "support": {
+ "issues": "https://github.com/phpDocumentor/ReflectionCommon/issues",
+ "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/2.x"
+ },
+ "time": "2020-06-27T09:03:43+00:00"
+ },
+ {
+ "name": "phpdocumentor/reflection-docblock",
+ "version": "5.4.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
+ "reference": "298d2febfe79d03fe714eb871d5538da55205b1a"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/298d2febfe79d03fe714eb871d5538da55205b1a",
+ "reference": "298d2febfe79d03fe714eb871d5538da55205b1a",
+ "shasum": ""
+ },
+ "require": {
+ "doctrine/deprecations": "^1.1",
+ "ext-filter": "*",
+ "php": "^7.4 || ^8.0",
+ "phpdocumentor/reflection-common": "^2.2",
+ "phpdocumentor/type-resolver": "^1.7",
+ "phpstan/phpdoc-parser": "^1.7",
+ "webmozart/assert": "^1.9.1"
+ },
+ "require-dev": {
+ "mockery/mockery": "~1.3.5",
+ "phpstan/extension-installer": "^1.1",
+ "phpstan/phpstan": "^1.8",
+ "phpstan/phpstan-mockery": "^1.1",
+ "phpstan/phpstan-webmozart-assert": "^1.2",
+ "phpunit/phpunit": "^9.5",
+ "vimeo/psalm": "^5.13"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "5.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "phpDocumentor\\Reflection\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Mike van Riel",
+ "email": "me@mikevanriel.com"
+ },
+ {
+ "name": "Jaap van Otterdijk",
+ "email": "opensource@ijaap.nl"
+ }
+ ],
+ "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
+ "support": {
+ "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues",
+ "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.4.0"
+ },
+ "time": "2024-04-09T21:13:58+00:00"
+ },
+ {
+ "name": "phpdocumentor/type-resolver",
+ "version": "1.8.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phpDocumentor/TypeResolver.git",
+ "reference": "153ae662783729388a584b4361f2545e4d841e3c"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/153ae662783729388a584b4361f2545e4d841e3c",
+ "reference": "153ae662783729388a584b4361f2545e4d841e3c",
+ "shasum": ""
+ },
+ "require": {
+ "doctrine/deprecations": "^1.0",
+ "php": "^7.3 || ^8.0",
+ "phpdocumentor/reflection-common": "^2.0",
+ "phpstan/phpdoc-parser": "^1.13"
+ },
+ "require-dev": {
+ "ext-tokenizer": "*",
+ "phpbench/phpbench": "^1.2",
+ "phpstan/extension-installer": "^1.1",
+ "phpstan/phpstan": "^1.8",
+ "phpstan/phpstan-phpunit": "^1.1",
+ "phpunit/phpunit": "^9.5",
+ "rector/rector": "^0.13.9",
+ "vimeo/psalm": "^4.25"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-1.x": "1.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "phpDocumentor\\Reflection\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Mike van Riel",
+ "email": "me@mikevanriel.com"
+ }
+ ],
+ "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
+ "support": {
+ "issues": "https://github.com/phpDocumentor/TypeResolver/issues",
+ "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.8.2"
+ },
+ "time": "2024-02-23T11:10:43+00:00"
+ },
+ {
+ "name": "phpstan/phpdoc-parser",
+ "version": "1.29.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phpstan/phpdoc-parser.git",
+ "reference": "536889f2b340489d328f5ffb7b02bb6b183ddedc"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/536889f2b340489d328f5ffb7b02bb6b183ddedc",
+ "reference": "536889f2b340489d328f5ffb7b02bb6b183ddedc",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.2 || ^8.0"
+ },
+ "require-dev": {
+ "doctrine/annotations": "^2.0",
+ "nikic/php-parser": "^4.15",
+ "php-parallel-lint/php-parallel-lint": "^1.2",
+ "phpstan/extension-installer": "^1.0",
+ "phpstan/phpstan": "^1.5",
+ "phpstan/phpstan-phpunit": "^1.1",
+ "phpstan/phpstan-strict-rules": "^1.0",
+ "phpunit/phpunit": "^9.5",
+ "symfony/process": "^5.2"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "PHPStan\\PhpDocParser\\": [
+ "src/"
+ ]
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "description": "PHPDoc parser with support for nullable, intersection and generic types",
+ "support": {
+ "issues": "https://github.com/phpstan/phpdoc-parser/issues",
+ "source": "https://github.com/phpstan/phpdoc-parser/tree/1.29.0"
+ },
+ "time": "2024-05-06T12:04:23+00:00"
+ },
+ {
+ "name": "psr/cache",
+ "version": "3.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-fig/cache.git",
+ "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-fig/cache/zipball/aa5030cfa5405eccfdcb1083ce040c2cb8d253bf",
+ "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.0.0"
},
"type": "library",
"extra": {
@@ -377,7 +708,7 @@
"authors": [
{
"name": "PHP-FIG",
- "homepage": "http://www.php-fig.org/"
+ "homepage": "https://www.php-fig.org/"
}
],
"description": "Common interface for caching libraries",
@@ -386,29 +717,80 @@
"psr",
"psr-6"
],
- "time": "2016-08-06T20:24:11+00:00"
+ "support": {
+ "source": "https://github.com/php-fig/cache/tree/3.0.0"
+ },
+ "time": "2021-02-03T23:26:27+00:00"
},
{
- "name": "psr/container",
+ "name": "psr/clock",
"version": "1.0.0",
"source": {
"type": "git",
- "url": "https://github.com/php-fig/container.git",
- "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f"
+ "url": "https://github.com/php-fig/clock.git",
+ "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f",
- "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f",
+ "url": "https://api.github.com/repos/php-fig/clock/zipball/e41a24703d4560fd0acb709162f73b8adfc3aa0d",
+ "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d",
"shasum": ""
},
"require": {
- "php": ">=5.3.0"
+ "php": "^7.0 || ^8.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Psr\\Clock\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "PHP-FIG",
+ "homepage": "https://www.php-fig.org/"
+ }
+ ],
+ "description": "Common interface for reading the clock.",
+ "homepage": "https://github.com/php-fig/clock",
+ "keywords": [
+ "clock",
+ "now",
+ "psr",
+ "psr-20",
+ "time"
+ ],
+ "support": {
+ "issues": "https://github.com/php-fig/clock/issues",
+ "source": "https://github.com/php-fig/clock/tree/1.0.0"
+ },
+ "time": "2022-11-25T14:36:26+00:00"
+ },
+ {
+ "name": "psr/container",
+ "version": "2.0.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-fig/container.git",
+ "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963",
+ "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.4.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.0.x-dev"
+ "dev-master": "2.0.x-dev"
}
},
"autoload": {
@@ -423,7 +805,7 @@
"authors": [
{
"name": "PHP-FIG",
- "homepage": "http://www.php-fig.org/"
+ "homepage": "https://www.php-fig.org/"
}
],
"description": "Common Container Interface (PHP FIG PSR-11)",
@@ -435,34 +817,38 @@
"container-interop",
"psr"
],
- "time": "2017-02-14T16:28:37+00:00"
+ "support": {
+ "issues": "https://github.com/php-fig/container/issues",
+ "source": "https://github.com/php-fig/container/tree/2.0.2"
+ },
+ "time": "2021-11-05T16:47:00+00:00"
},
{
- "name": "psr/log",
- "version": "1.1.3",
+ "name": "psr/event-dispatcher",
+ "version": "1.0.0",
"source": {
"type": "git",
- "url": "https://github.com/php-fig/log.git",
- "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc"
+ "url": "https://github.com/php-fig/event-dispatcher.git",
+ "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/log/zipball/0f73288fd15629204f9d42b7055f72dacbe811fc",
- "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc",
+ "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0",
+ "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0",
"shasum": ""
},
"require": {
- "php": ">=5.3.0"
+ "php": ">=7.2.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.1.x-dev"
+ "dev-master": "1.0.x-dev"
}
},
"autoload": {
"psr-4": {
- "Psr\\Log\\": "Psr/Log/"
+ "Psr\\EventDispatcher\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -475,75 +861,48 @@
"homepage": "http://www.php-fig.org/"
}
],
- "description": "Common interface for logging libraries",
- "homepage": "https://github.com/php-fig/log",
+ "description": "Standard interfaces for event handling.",
"keywords": [
- "log",
+ "events",
"psr",
- "psr-3"
+ "psr-14"
],
- "time": "2020-03-23T09:12:05+00:00"
+ "support": {
+ "issues": "https://github.com/php-fig/event-dispatcher/issues",
+ "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0"
+ },
+ "time": "2019-01-08T18:20:26+00:00"
},
{
- "name": "sensio/framework-extra-bundle",
- "version": "v5.5.3",
+ "name": "psr/link",
+ "version": "2.0.1",
"source": {
"type": "git",
- "url": "https://github.com/sensiolabs/SensioFrameworkExtraBundle.git",
- "reference": "98f0807137b13d0acfdf3c255a731516e97015de"
+ "url": "https://github.com/php-fig/link.git",
+ "reference": "84b159194ecfd7eaa472280213976e96415433f7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sensiolabs/SensioFrameworkExtraBundle/zipball/98f0807137b13d0acfdf3c255a731516e97015de",
- "reference": "98f0807137b13d0acfdf3c255a731516e97015de",
+ "url": "https://api.github.com/repos/php-fig/link/zipball/84b159194ecfd7eaa472280213976e96415433f7",
+ "reference": "84b159194ecfd7eaa472280213976e96415433f7",
"shasum": ""
},
"require": {
- "doctrine/annotations": "^1.0",
- "php": ">=7.1.3",
- "symfony/config": "^4.3|^5.0",
- "symfony/dependency-injection": "^4.3|^5.0",
- "symfony/framework-bundle": "^4.3|^5.0",
- "symfony/http-kernel": "^4.3|^5.0"
- },
- "conflict": {
- "doctrine/doctrine-cache-bundle": "<1.3.1"
- },
- "require-dev": {
- "doctrine/doctrine-bundle": "^1.11|^2.0",
- "doctrine/orm": "^2.5",
- "nyholm/psr7": "^1.1",
- "symfony/browser-kit": "^4.3|^5.0",
- "symfony/dom-crawler": "^4.3|^5.0",
- "symfony/expression-language": "^4.3|^5.0",
- "symfony/finder": "^4.3|^5.0",
- "symfony/monolog-bridge": "^4.0|^5.0",
- "symfony/monolog-bundle": "^3.2",
- "symfony/phpunit-bridge": "^4.3.5|^5.0",
- "symfony/psr-http-message-bridge": "^1.1",
- "symfony/security-bundle": "^4.3|^5.0",
- "symfony/twig-bundle": "^4.3|^5.0",
- "symfony/yaml": "^4.3|^5.0",
- "twig/twig": "^1.34|^2.4|^3.0"
+ "php": ">=8.0.0"
},
"suggest": {
- "symfony/expression-language": "",
- "symfony/psr-http-message-bridge": "To use the PSR-7 converters",
- "symfony/security-bundle": ""
+ "fig/link-util": "Provides some useful PSR-13 utilities"
},
- "type": "symfony-bundle",
+ "type": "library",
"extra": {
"branch-alias": {
- "dev-master": "5.5.x-dev"
+ "dev-master": "2.0.x-dev"
}
},
"autoload": {
"psr-4": {
- "Sensio\\Bundle\\FrameworkExtraBundle\\": "src/"
- },
- "exclude-from-classmap": [
- "/tests/"
- ]
+ "Psr\\Link\\": "src/"
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -551,47 +910,101 @@
],
"authors": [
{
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
+ "name": "PHP-FIG",
+ "homepage": "http://www.php-fig.org/"
}
],
- "description": "This bundle provides a way to configure your controllers with annotations",
+ "description": "Common interfaces for HTTP links",
+ "homepage": "https://github.com/php-fig/link",
"keywords": [
- "annotations",
- "controllers"
+ "http",
+ "http-link",
+ "link",
+ "psr",
+ "psr-13",
+ "rest"
],
- "time": "2019-12-27T08:57:19+00:00"
+ "support": {
+ "source": "https://github.com/php-fig/link/tree/2.0.1"
+ },
+ "time": "2021-03-11T23:00:27+00:00"
},
{
- "name": "symfony/asset",
- "version": "v4.3.11",
+ "name": "psr/log",
+ "version": "3.0.0",
"source": {
"type": "git",
- "url": "https://github.com/symfony/asset.git",
- "reference": "5bdbd8878b69e3be16d036890ea3081172ea28c5"
+ "url": "https://github.com/php-fig/log.git",
+ "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/asset/zipball/5bdbd8878b69e3be16d036890ea3081172ea28c5",
- "reference": "5bdbd8878b69e3be16d036890ea3081172ea28c5",
+ "url": "https://api.github.com/repos/php-fig/log/zipball/fe5ea303b0887d5caefd3d431c3e61ad47037001",
+ "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001",
"shasum": ""
},
"require": {
- "php": "^7.1.3"
- },
- "require-dev": {
- "symfony/http-foundation": "~3.4|~4.0",
- "symfony/http-kernel": "~3.4|~4.0"
- },
- "suggest": {
- "symfony/http-foundation": ""
+ "php": ">=8.0.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "4.3-dev"
+ "dev-master": "3.x-dev"
}
},
+ "autoload": {
+ "psr-4": {
+ "Psr\\Log\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "PHP-FIG",
+ "homepage": "https://www.php-fig.org/"
+ }
+ ],
+ "description": "Common interface for logging libraries",
+ "homepage": "https://github.com/php-fig/log",
+ "keywords": [
+ "log",
+ "psr",
+ "psr-3"
+ ],
+ "support": {
+ "source": "https://github.com/php-fig/log/tree/3.0.0"
+ },
+ "time": "2021-07-14T16:46:02+00:00"
+ },
+ {
+ "name": "symfony/asset",
+ "version": "v7.0.7",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/asset.git",
+ "reference": "dc7600afc7e6676b3401326ae9c9abfcee4b40c5"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/asset/zipball/dc7600afc7e6676b3401326ae9c9abfcee4b40c5",
+ "reference": "dc7600afc7e6676b3401326ae9c9abfcee4b40c5",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.2"
+ },
+ "conflict": {
+ "symfony/http-foundation": "<6.4"
+ },
+ "require-dev": {
+ "symfony/http-client": "^6.4|^7.0",
+ "symfony/http-foundation": "^6.4|^7.0",
+ "symfony/http-kernel": "^6.4|^7.0"
+ },
+ "type": "library",
"autoload": {
"psr-4": {
"Symfony\\Component\\Asset\\": ""
@@ -614,65 +1027,158 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony Asset Component",
+ "description": "Manages URL generation and versioning of web assets such as CSS stylesheets, JavaScript files and image files",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/asset/tree/v4.3.10"
+ "source": "https://github.com/symfony/asset/tree/v7.0.7"
},
- "time": "2020-01-04T12:24:57+00:00"
+ "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-04-18T09:29:19+00:00"
},
{
- "name": "symfony/cache",
- "version": "v4.3.11",
+ "name": "symfony/asset-mapper",
+ "version": "v7.0.7",
"source": {
"type": "git",
- "url": "https://github.com/symfony/cache.git",
- "reference": "8794ccf68ac341fc19311919d2287f7557bfccba"
+ "url": "https://github.com/symfony/asset-mapper.git",
+ "reference": "0643f4849f10584974e7cd171b047ec9d031a14e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/cache/zipball/8794ccf68ac341fc19311919d2287f7557bfccba",
- "reference": "8794ccf68ac341fc19311919d2287f7557bfccba",
+ "url": "https://api.github.com/repos/symfony/asset-mapper/zipball/0643f4849f10584974e7cd171b047ec9d031a14e",
+ "reference": "0643f4849f10584974e7cd171b047ec9d031a14e",
"shasum": ""
},
"require": {
- "php": "^7.1.3",
- "psr/cache": "~1.0",
- "psr/log": "~1.0",
- "symfony/cache-contracts": "^1.1",
- "symfony/service-contracts": "^1.1",
- "symfony/var-exporter": "^4.2"
+ "composer/semver": "^3.0",
+ "php": ">=8.2",
+ "symfony/filesystem": "^6.4|^7.0",
+ "symfony/http-client": "^6.4|^7.0"
},
"conflict": {
- "doctrine/dbal": "<2.5",
- "symfony/dependency-injection": "<3.4",
- "symfony/var-dumper": "<3.4"
+ "symfony/framework-bundle": "<6.4"
+ },
+ "require-dev": {
+ "symfony/asset": "^6.4|^7.0",
+ "symfony/browser-kit": "^6.4|^7.0",
+ "symfony/console": "^6.4|^7.0",
+ "symfony/event-dispatcher-contracts": "^3.0",
+ "symfony/finder": "^6.4|^7.0",
+ "symfony/framework-bundle": "^6.4|^7.0",
+ "symfony/http-foundation": "^6.4|^7.0",
+ "symfony/http-kernel": "^6.4|^7.0",
+ "symfony/web-link": "^6.4|^7.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\AssetMapper\\": ""
+ },
+ "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": "Maps directories of assets & makes them available in a public directory with versioned filenames.",
+ "homepage": "https://symfony.com",
+ "support": {
+ "source": "https://github.com/symfony/asset-mapper/tree/v7.0.7"
+ },
+ "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-04-28T11:44:19+00:00"
+ },
+ {
+ "name": "symfony/cache",
+ "version": "v7.0.7",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/cache.git",
+ "reference": "48e3508338987d63b0114a00c208c4cbb76e5303"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/cache/zipball/48e3508338987d63b0114a00c208c4cbb76e5303",
+ "reference": "48e3508338987d63b0114a00c208c4cbb76e5303",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.2",
+ "psr/cache": "^2.0|^3.0",
+ "psr/log": "^1.1|^2|^3",
+ "symfony/cache-contracts": "^2.5|^3",
+ "symfony/service-contracts": "^2.5|^3",
+ "symfony/var-exporter": "^6.4|^7.0"
+ },
+ "conflict": {
+ "doctrine/dbal": "<3.6",
+ "symfony/dependency-injection": "<6.4",
+ "symfony/http-kernel": "<6.4",
+ "symfony/var-dumper": "<6.4"
},
"provide": {
- "psr/cache-implementation": "1.0",
- "psr/simple-cache-implementation": "1.0",
- "symfony/cache-implementation": "1.0"
+ "psr/cache-implementation": "2.0|3.0",
+ "psr/simple-cache-implementation": "1.0|2.0|3.0",
+ "symfony/cache-implementation": "1.1|2.0|3.0"
},
"require-dev": {
"cache/integration-tests": "dev-master",
- "doctrine/cache": "~1.6",
- "doctrine/dbal": "~2.5",
- "predis/predis": "~1.1",
- "psr/simple-cache": "^1.0",
- "symfony/config": "~4.2",
- "symfony/dependency-injection": "~3.4|~4.1",
- "symfony/var-dumper": "^4.1.1"
+ "doctrine/dbal": "^3.6|^4",
+ "predis/predis": "^1.1|^2.0",
+ "psr/simple-cache": "^1.0|^2.0|^3.0",
+ "symfony/config": "^6.4|^7.0",
+ "symfony/dependency-injection": "^6.4|^7.0",
+ "symfony/filesystem": "^6.4|^7.0",
+ "symfony/http-kernel": "^6.4|^7.0",
+ "symfony/messenger": "^6.4|^7.0",
+ "symfony/var-dumper": "^6.4|^7.0"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.3-dev"
- }
- },
"autoload": {
"psr-4": {
"Symfony\\Component\\Cache\\": ""
},
+ "classmap": [
+ "Traits/ValueWrapper.php"
+ ],
"exclude-from-classmap": [
"/Tests/"
]
@@ -691,42 +1197,53 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony Cache component with PSR-6, PSR-16, and tags",
+ "description": "Provides extended PSR-6, PSR-16 (and tags) implementations",
"homepage": "https://symfony.com",
"keywords": [
"caching",
"psr6"
],
"support": {
- "source": "https://github.com/symfony/cache/tree/v4.3.11"
+ "source": "https://github.com/symfony/cache/tree/v7.0.7"
},
- "time": "2020-01-27T09:15:09+00:00"
+ "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-04-18T09:29:19+00:00"
},
{
"name": "symfony/cache-contracts",
- "version": "v1.10.0",
+ "version": "v3.5.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/cache-contracts.git",
- "reference": "a872a66e0bf7bac179c89bc96c7098bef1949f81"
+ "reference": "df6a1a44c890faded49a5fca33c2d5c5fd3c2197"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/cache-contracts/zipball/a872a66e0bf7bac179c89bc96c7098bef1949f81",
- "reference": "a872a66e0bf7bac179c89bc96c7098bef1949f81",
+ "url": "https://api.github.com/repos/symfony/cache-contracts/zipball/df6a1a44c890faded49a5fca33c2d5c5fd3c2197",
+ "reference": "df6a1a44c890faded49a5fca33c2d5c5fd3c2197",
"shasum": ""
},
"require": {
- "php": ">=7.1.3",
- "psr/cache": "^1.0|^2.0|^3.0"
- },
- "suggest": {
- "symfony/cache-implementation": ""
+ "php": ">=8.1",
+ "psr/cache": "^3.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.1-dev"
+ "dev-main": "3.5-dev"
},
"thanks": {
"name": "symfony/contracts",
@@ -763,7 +1280,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/cache-contracts/tree/v1.10.0"
+ "source": "https://github.com/symfony/cache-contracts/tree/v3.5.0"
},
"funding": [
{
@@ -779,46 +1296,114 @@
"type": "tidelift"
}
],
- "time": "2022-01-02T09:41:36+00:00"
+ "time": "2024-04-18T09:32:20+00:00"
},
{
- "name": "symfony/config",
- "version": "v4.3.11",
+ "name": "symfony/clock",
+ "version": "v7.0.7",
"source": {
"type": "git",
- "url": "https://github.com/symfony/config.git",
- "reference": "7b7d5d35a5ba5a62f2c6c69f574e36595e587d11"
+ "url": "https://github.com/symfony/clock.git",
+ "reference": "2008671acb4a30b01c453de193cf9c80549ebda6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/config/zipball/7b7d5d35a5ba5a62f2c6c69f574e36595e587d11",
- "reference": "7b7d5d35a5ba5a62f2c6c69f574e36595e587d11",
+ "url": "https://api.github.com/repos/symfony/clock/zipball/2008671acb4a30b01c453de193cf9c80549ebda6",
+ "reference": "2008671acb4a30b01c453de193cf9c80549ebda6",
"shasum": ""
},
"require": {
- "php": "^7.1.3",
- "symfony/filesystem": "~3.4|~4.0",
+ "php": ">=8.2",
+ "psr/clock": "^1.0",
+ "symfony/polyfill-php83": "^1.28"
+ },
+ "provide": {
+ "psr/clock-implementation": "1.0"
+ },
+ "type": "library",
+ "autoload": {
+ "files": [
+ "Resources/now.php"
+ ],
+ "psr-4": {
+ "Symfony\\Component\\Clock\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Decouples applications from the system clock",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "clock",
+ "psr20",
+ "time"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/clock/tree/v7.0.7"
+ },
+ "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-04-18T09:29:19+00:00"
+ },
+ {
+ "name": "symfony/config",
+ "version": "v7.0.7",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/config.git",
+ "reference": "f66f908a975500aa4594258bf454dc66e3939eac"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/config/zipball/f66f908a975500aa4594258bf454dc66e3939eac",
+ "reference": "f66f908a975500aa4594258bf454dc66e3939eac",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.2",
+ "symfony/deprecation-contracts": "^2.5|^3",
+ "symfony/filesystem": "^6.4|^7.0",
"symfony/polyfill-ctype": "~1.8"
},
"conflict": {
- "symfony/finder": "<3.4"
+ "symfony/finder": "<6.4",
+ "symfony/service-contracts": "<2.5"
},
"require-dev": {
- "symfony/dependency-injection": "~3.4|~4.0",
- "symfony/event-dispatcher": "~3.4|~4.0",
- "symfony/finder": "~3.4|~4.0",
- "symfony/messenger": "~4.1",
- "symfony/yaml": "~3.4|~4.0"
- },
- "suggest": {
- "symfony/yaml": "To use the yaml reference dumper"
+ "symfony/event-dispatcher": "^6.4|^7.0",
+ "symfony/finder": "^6.4|^7.0",
+ "symfony/messenger": "^6.4|^7.0",
+ "symfony/service-contracts": "^2.5|^3",
+ "symfony/yaml": "^6.4|^7.0"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.3-dev"
- }
- },
"autoload": {
"psr-4": {
"Symfony\\Component\\Config\\": ""
@@ -841,62 +1426,71 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony Config Component",
+ "description": "Helps you find, load, combine, autofill and validate configuration values of any kind",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/config/tree/v4.3.10"
+ "source": "https://github.com/symfony/config/tree/v7.0.7"
},
- "time": "2020-01-04T12:24:57+00:00"
+ "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-04-18T09:29:19+00:00"
},
{
"name": "symfony/console",
- "version": "v4.3.11",
+ "version": "v7.0.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
- "reference": "82aeab8f852a63e83d781617841237944392cd45"
+ "reference": "c981e0e9380ce9f146416bde3150c79197ce9986"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/console/zipball/82aeab8f852a63e83d781617841237944392cd45",
- "reference": "82aeab8f852a63e83d781617841237944392cd45",
+ "url": "https://api.github.com/repos/symfony/console/zipball/c981e0e9380ce9f146416bde3150c79197ce9986",
+ "reference": "c981e0e9380ce9f146416bde3150c79197ce9986",
"shasum": ""
},
"require": {
- "php": "^7.1.3",
+ "php": ">=8.2",
"symfony/polyfill-mbstring": "~1.0",
- "symfony/polyfill-php73": "^1.8",
- "symfony/service-contracts": "^1.1"
+ "symfony/service-contracts": "^2.5|^3",
+ "symfony/string": "^6.4|^7.0"
},
"conflict": {
- "symfony/dependency-injection": "<3.4",
- "symfony/event-dispatcher": "<4.3",
- "symfony/process": "<3.3"
+ "symfony/dependency-injection": "<6.4",
+ "symfony/dotenv": "<6.4",
+ "symfony/event-dispatcher": "<6.4",
+ "symfony/lock": "<6.4",
+ "symfony/process": "<6.4"
},
"provide": {
- "psr/log-implementation": "1.0"
+ "psr/log-implementation": "1.0|2.0|3.0"
},
"require-dev": {
- "psr/log": "~1.0",
- "symfony/config": "~3.4|~4.0",
- "symfony/dependency-injection": "~3.4|~4.0",
- "symfony/event-dispatcher": "^4.3",
- "symfony/lock": "~3.4|~4.0",
- "symfony/process": "~3.4|~4.0",
- "symfony/var-dumper": "^4.3"
- },
- "suggest": {
- "psr/log": "For using the console logger",
- "symfony/event-dispatcher": "",
- "symfony/lock": "",
- "symfony/process": ""
+ "psr/log": "^1|^2|^3",
+ "symfony/config": "^6.4|^7.0",
+ "symfony/dependency-injection": "^6.4|^7.0",
+ "symfony/event-dispatcher": "^6.4|^7.0",
+ "symfony/http-foundation": "^6.4|^7.0",
+ "symfony/http-kernel": "^6.4|^7.0",
+ "symfony/lock": "^6.4|^7.0",
+ "symfony/messenger": "^6.4|^7.0",
+ "symfony/process": "^6.4|^7.0",
+ "symfony/stopwatch": "^6.4|^7.0",
+ "symfony/var-dumper": "^6.4|^7.0"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.3-dev"
- }
- },
"autoload": {
"psr-4": {
"Symfony\\Component\\Console\\": ""
@@ -919,120 +1513,70 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony Console Component",
+ "description": "Eases the creation of beautiful and testable command line interfaces",
"homepage": "https://symfony.com",
- "support": {
- "source": "https://github.com/symfony/console/tree/v4.3.11"
- },
- "time": "2020-01-25T12:32:28+00:00"
- },
- {
- "name": "symfony/debug",
- "version": "v4.3.11",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/debug.git",
- "reference": "8e362996356f2555d493ee3d8285424853955e8f"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/debug/zipball/8e362996356f2555d493ee3d8285424853955e8f",
- "reference": "8e362996356f2555d493ee3d8285424853955e8f",
- "shasum": ""
- },
- "require": {
- "php": "^7.1.3",
- "psr/log": "~1.0"
- },
- "conflict": {
- "symfony/http-kernel": "<3.4"
- },
- "require-dev": {
- "symfony/http-kernel": "~3.4|~4.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.3-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\Debug\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
+ "keywords": [
+ "cli",
+ "command-line",
+ "console",
+ "terminal"
],
- "authors": [
+ "support": {
+ "source": "https://github.com/symfony/console/tree/v7.0.7"
+ },
+ "funding": [
{
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
},
{
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
}
],
- "description": "Symfony Debug Component",
- "homepage": "https://symfony.com",
- "support": {
- "source": "https://github.com/symfony/debug/tree/v4.3.11"
- },
- "abandoned": "symfony/error-handler",
- "time": "2020-01-25T12:32:28+00:00"
+ "time": "2024-04-18T09:29:19+00:00"
},
{
"name": "symfony/dependency-injection",
- "version": "v4.3.11",
+ "version": "v7.0.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/dependency-injection.git",
- "reference": "468bfb60a60b7caa03e4722c43f5359df47b4349"
+ "reference": "4db1314337f4dd864113f88e08c9a7f98b1c1324"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/468bfb60a60b7caa03e4722c43f5359df47b4349",
- "reference": "468bfb60a60b7caa03e4722c43f5359df47b4349",
+ "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/4db1314337f4dd864113f88e08c9a7f98b1c1324",
+ "reference": "4db1314337f4dd864113f88e08c9a7f98b1c1324",
"shasum": ""
},
"require": {
- "php": "^7.1.3",
- "psr/container": "^1.0",
- "symfony/service-contracts": "^1.1.6"
+ "php": ">=8.2",
+ "psr/container": "^1.1|^2.0",
+ "symfony/deprecation-contracts": "^2.5|^3",
+ "symfony/service-contracts": "^3.3",
+ "symfony/var-exporter": "^6.4|^7.0"
},
"conflict": {
- "symfony/config": "<4.3",
- "symfony/finder": "<3.4",
- "symfony/proxy-manager-bridge": "<3.4",
- "symfony/yaml": "<3.4"
+ "ext-psr": "<1.1|>=2",
+ "symfony/config": "<6.4",
+ "symfony/finder": "<6.4",
+ "symfony/yaml": "<6.4"
},
"provide": {
- "psr/container-implementation": "1.0",
- "symfony/service-implementation": "1.0"
+ "psr/container-implementation": "1.1|2.0",
+ "symfony/service-implementation": "1.1|2.0|3.0"
},
"require-dev": {
- "symfony/config": "^4.3",
- "symfony/expression-language": "~3.4|~4.0",
- "symfony/yaml": "~3.4|~4.0"
- },
- "suggest": {
- "symfony/config": "",
- "symfony/expression-language": "For using expressions in service container configuration",
- "symfony/finder": "For using double-star glob patterns or when GLOB_BRACE portability is required",
- "symfony/proxy-manager-bridge": "Generate service proxies to lazy load them",
- "symfony/yaml": ""
+ "symfony/config": "^6.4|^7.0",
+ "symfony/expression-language": "^6.4|^7.0",
+ "symfony/yaml": "^6.4|^7.0"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.3-dev"
- }
- },
"autoload": {
"psr-4": {
"Symfony\\Component\\DependencyInjection\\": ""
@@ -1055,39 +1599,120 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony DependencyInjection Component",
+ "description": "Allows you to standardize and centralize the way objects are constructed in your application",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/dependency-injection/tree/v4.3.10"
+ "source": "https://github.com/symfony/dependency-injection/tree/v7.0.7"
},
- "time": "2020-01-14T16:43:06+00:00"
+ "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-04-18T09:29:19+00:00"
},
{
- "name": "symfony/dotenv",
- "version": "v4.3.11",
+ "name": "symfony/deprecation-contracts",
+ "version": "v3.5.0",
"source": {
"type": "git",
- "url": "https://github.com/symfony/dotenv.git",
- "reference": "3e41dc2a3c517819b23cb4d1c95f5116182a8dd0"
+ "url": "https://github.com/symfony/deprecation-contracts.git",
+ "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/dotenv/zipball/3e41dc2a3c517819b23cb4d1c95f5116182a8dd0",
- "reference": "3e41dc2a3c517819b23cb4d1c95f5116182a8dd0",
+ "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1",
+ "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1",
"shasum": ""
},
"require": {
- "php": "^7.1.3"
- },
- "require-dev": {
- "symfony/process": "^3.4.2|^4.0"
+ "php": ">=8.1"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "4.3-dev"
+ "dev-main": "3.5-dev"
+ },
+ "thanks": {
+ "name": "symfony/contracts",
+ "url": "https://github.com/symfony/contracts"
}
},
+ "autoload": {
+ "files": [
+ "function.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "A generic function and convention to trigger deprecation notices",
+ "homepage": "https://symfony.com",
+ "support": {
+ "source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.0"
+ },
+ "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-04-18T09:32:20+00:00"
+ },
+ {
+ "name": "symfony/dotenv",
+ "version": "v7.0.7",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/dotenv.git",
+ "reference": "0fd573c141e1990848702d56329050efd5bf25cc"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/dotenv/zipball/0fd573c141e1990848702d56329050efd5bf25cc",
+ "reference": "0fd573c141e1990848702d56329050efd5bf25cc",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.2"
+ },
+ "conflict": {
+ "symfony/console": "<6.4",
+ "symfony/process": "<6.4"
+ },
+ "require-dev": {
+ "symfony/console": "^6.4|^7.0",
+ "symfony/process": "^6.4|^7.0"
+ },
+ "type": "library",
"autoload": {
"psr-4": {
"Symfony\\Component\\Dotenv\\": ""
@@ -1118,54 +1743,136 @@
"environment"
],
"support": {
- "source": "https://github.com/symfony/dotenv/tree/v4.3.11"
+ "source": "https://github.com/symfony/dotenv/tree/v7.0.7"
},
- "time": "2020-01-08T17:19:22+00:00"
+ "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-04-18T09:29:19+00:00"
},
{
- "name": "symfony/event-dispatcher",
- "version": "v4.3.11",
+ "name": "symfony/error-handler",
+ "version": "v7.0.7",
"source": {
"type": "git",
- "url": "https://github.com/symfony/event-dispatcher.git",
- "reference": "75f99d7489409207d09c6cd75a6c773ccbb516d5"
+ "url": "https://github.com/symfony/error-handler.git",
+ "reference": "cf97429887e40480c847bfeb6c3991e1e2c086ab"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/75f99d7489409207d09c6cd75a6c773ccbb516d5",
- "reference": "75f99d7489409207d09c6cd75a6c773ccbb516d5",
+ "url": "https://api.github.com/repos/symfony/error-handler/zipball/cf97429887e40480c847bfeb6c3991e1e2c086ab",
+ "reference": "cf97429887e40480c847bfeb6c3991e1e2c086ab",
"shasum": ""
},
"require": {
- "php": "^7.1.3",
- "symfony/event-dispatcher-contracts": "^1.1"
+ "php": ">=8.2",
+ "psr/log": "^1|^2|^3",
+ "symfony/var-dumper": "^6.4|^7.0"
},
"conflict": {
- "symfony/dependency-injection": "<3.4"
+ "symfony/deprecation-contracts": "<2.5",
+ "symfony/http-kernel": "<6.4"
+ },
+ "require-dev": {
+ "symfony/deprecation-contracts": "^2.5|^3",
+ "symfony/http-kernel": "^6.4|^7.0",
+ "symfony/serializer": "^6.4|^7.0"
+ },
+ "bin": [
+ "Resources/bin/patch-type-declarations"
+ ],
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\ErrorHandler\\": ""
+ },
+ "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 tools to manage errors and ease debugging PHP code",
+ "homepage": "https://symfony.com",
+ "support": {
+ "source": "https://github.com/symfony/error-handler/tree/v7.0.7"
+ },
+ "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-04-18T09:29:19+00:00"
+ },
+ {
+ "name": "symfony/event-dispatcher",
+ "version": "v7.0.7",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/event-dispatcher.git",
+ "reference": "db2a7fab994d67d92356bb39c367db115d9d30f9"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/db2a7fab994d67d92356bb39c367db115d9d30f9",
+ "reference": "db2a7fab994d67d92356bb39c367db115d9d30f9",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.2",
+ "symfony/event-dispatcher-contracts": "^2.5|^3"
+ },
+ "conflict": {
+ "symfony/dependency-injection": "<6.4",
+ "symfony/service-contracts": "<2.5"
},
"provide": {
"psr/event-dispatcher-implementation": "1.0",
- "symfony/event-dispatcher-implementation": "1.1"
+ "symfony/event-dispatcher-implementation": "2.0|3.0"
},
"require-dev": {
- "psr/log": "~1.0",
- "symfony/config": "~3.4|~4.0",
- "symfony/dependency-injection": "~3.4|~4.0",
- "symfony/expression-language": "~3.4|~4.0",
- "symfony/http-foundation": "^3.4|^4.0",
- "symfony/service-contracts": "^1.1",
- "symfony/stopwatch": "~3.4|~4.0"
- },
- "suggest": {
- "symfony/dependency-injection": "",
- "symfony/http-kernel": ""
+ "psr/log": "^1|^2|^3",
+ "symfony/config": "^6.4|^7.0",
+ "symfony/dependency-injection": "^6.4|^7.0",
+ "symfony/error-handler": "^6.4|^7.0",
+ "symfony/expression-language": "^6.4|^7.0",
+ "symfony/http-foundation": "^6.4|^7.0",
+ "symfony/service-contracts": "^2.5|^3",
+ "symfony/stopwatch": "^6.4|^7.0"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.3-dev"
- }
- },
"autoload": {
"psr-4": {
"Symfony\\Component\\EventDispatcher\\": ""
@@ -1188,38 +1895,49 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony EventDispatcher Component",
+ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/event-dispatcher/tree/v4.3.10"
+ "source": "https://github.com/symfony/event-dispatcher/tree/v7.0.7"
},
- "time": "2020-01-09T13:17:05+00:00"
+ "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-04-18T09:29:19+00:00"
},
{
"name": "symfony/event-dispatcher-contracts",
- "version": "v1.10.0",
+ "version": "v3.5.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher-contracts.git",
- "reference": "761c8b8387cfe5f8026594a75fdf0a4e83ba6974"
+ "reference": "8f93aec25d41b72493c6ddff14e916177c9efc50"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/761c8b8387cfe5f8026594a75fdf0a4e83ba6974",
- "reference": "761c8b8387cfe5f8026594a75fdf0a4e83ba6974",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/8f93aec25d41b72493c6ddff14e916177c9efc50",
+ "reference": "8f93aec25d41b72493c6ddff14e916177c9efc50",
"shasum": ""
},
"require": {
- "php": ">=7.1.3"
- },
- "suggest": {
- "psr/event-dispatcher": "",
- "symfony/event-dispatcher-implementation": ""
+ "php": ">=8.1",
+ "psr/event-dispatcher": "^1"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.1-dev"
+ "dev-main": "3.5-dev"
},
"thanks": {
"name": "symfony/contracts",
@@ -1256,7 +1974,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v1.10.0"
+ "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.5.0"
},
"funding": [
{
@@ -1272,32 +1990,92 @@
"type": "tidelift"
}
],
- "time": "2022-07-20T09:59:04+00:00"
+ "time": "2024-04-18T09:32:20+00:00"
},
{
- "name": "symfony/filesystem",
- "version": "v4.3.11",
+ "name": "symfony/expression-language",
+ "version": "v7.0.7",
"source": {
"type": "git",
- "url": "https://github.com/symfony/filesystem.git",
- "reference": "fdc0ac5e64f7555818411a17993bb24be4270769"
+ "url": "https://github.com/symfony/expression-language.git",
+ "reference": "b8ec919a6d3d47fc4e7845c256d164413207bf73"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/filesystem/zipball/fdc0ac5e64f7555818411a17993bb24be4270769",
- "reference": "fdc0ac5e64f7555818411a17993bb24be4270769",
+ "url": "https://api.github.com/repos/symfony/expression-language/zipball/b8ec919a6d3d47fc4e7845c256d164413207bf73",
+ "reference": "b8ec919a6d3d47fc4e7845c256d164413207bf73",
"shasum": ""
},
"require": {
- "php": "^7.1.3",
- "symfony/polyfill-ctype": "~1.8"
+ "php": ">=8.2",
+ "symfony/cache": "^6.4|^7.0",
+ "symfony/service-contracts": "^2.5|^3"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.3-dev"
- }
+ "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/v7.0.7"
+ },
+ "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-04-18T09:29:19+00:00"
+ },
+ {
+ "name": "symfony/filesystem",
+ "version": "v7.0.7",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/filesystem.git",
+ "reference": "cc168be6fbdcdf3401f50ae863ee3818ed4338f5"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/filesystem/zipball/cc168be6fbdcdf3401f50ae863ee3818ed4338f5",
+ "reference": "cc168be6fbdcdf3401f50ae863ee3818ed4338f5",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.2",
+ "symfony/polyfill-ctype": "~1.8",
+ "symfony/polyfill-mbstring": "~1.8",
+ "symfony/process": "^6.4|^7.0"
+ },
+ "type": "library",
"autoload": {
"psr-4": {
"Symfony\\Component\\Filesystem\\": ""
@@ -1320,36 +2098,48 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony Filesystem Component",
+ "description": "Provides basic utilities for the filesystem",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/filesystem/tree/v4.3.10"
+ "source": "https://github.com/symfony/filesystem/tree/v7.0.7"
},
- "time": "2020-01-21T08:20:29+00:00"
+ "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-04-18T09:29:19+00:00"
},
{
"name": "symfony/finder",
- "version": "v4.3.11",
+ "version": "v7.0.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/finder.git",
- "reference": "8174c13b932c71f10cdd8dfcd8f5e494f1e7003d"
+ "reference": "4d58f0f4fe95a30d7b538d71197135483560b97c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/finder/zipball/8174c13b932c71f10cdd8dfcd8f5e494f1e7003d",
- "reference": "8174c13b932c71f10cdd8dfcd8f5e494f1e7003d",
+ "url": "https://api.github.com/repos/symfony/finder/zipball/4d58f0f4fe95a30d7b538d71197135483560b97c",
+ "reference": "4d58f0f4fe95a30d7b538d71197135483560b97c",
"shasum": ""
},
"require": {
- "php": "^7.1.3"
+ "php": ">=8.2"
+ },
+ "require-dev": {
+ "symfony/filesystem": "^6.4|^7.0"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.3-dev"
- }
- },
"autoload": {
"psr-4": {
"Symfony\\Component\\Finder\\": ""
@@ -1372,37 +2162,51 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony Finder Component",
+ "description": "Finds files and directories via an intuitive fluent interface",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/finder/tree/4.3"
+ "source": "https://github.com/symfony/finder/tree/v7.0.7"
},
- "time": "2020-01-04T12:24:57+00:00"
+ "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-04-28T11:44:19+00:00"
},
{
"name": "symfony/flex",
- "version": "v1.21.6",
+ "version": "v2.4.5",
"source": {
"type": "git",
"url": "https://github.com/symfony/flex.git",
- "reference": "06b58a5e5b4c6528fb12e0fac5fea0db3f1e7ae8"
+ "reference": "b0a405f40614c9f584b489d54f91091817b0e26e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/flex/zipball/06b58a5e5b4c6528fb12e0fac5fea0db3f1e7ae8",
- "reference": "06b58a5e5b4c6528fb12e0fac5fea0db3f1e7ae8",
+ "url": "https://api.github.com/repos/symfony/flex/zipball/b0a405f40614c9f584b489d54f91091817b0e26e",
+ "reference": "b0a405f40614c9f584b489d54f91091817b0e26e",
"shasum": ""
},
"require": {
- "composer-plugin-api": "^1.0|^2.0",
- "php": ">=7.1"
+ "composer-plugin-api": "^2.1",
+ "php": ">=8.0"
},
"require-dev": {
- "composer/composer": "^1.0.2|^2.0",
- "symfony/dotenv": "^4.4|^5.0|^6.0",
- "symfony/filesystem": "^4.4|^5.0|^6.0",
- "symfony/phpunit-bridge": "^4.4.12|^5.0|^6.0",
- "symfony/process": "^4.4|^5.0|^6.0"
+ "composer/composer": "^2.1",
+ "symfony/dotenv": "^5.4|^6.0",
+ "symfony/filesystem": "^5.4|^6.0",
+ "symfony/phpunit-bridge": "^5.4|^6.0",
+ "symfony/process": "^5.4|^6.0"
},
"type": "composer-plugin",
"extra": {
@@ -1426,7 +2230,7 @@
"description": "Composer plugin for Symfony",
"support": {
"issues": "https://github.com/symfony/flex/issues",
- "source": "https://github.com/symfony/flex/tree/v1.21.6"
+ "source": "https://github.com/symfony/flex/tree/v2.4.5"
},
"funding": [
{
@@ -1442,66 +2246,61 @@
"type": "tidelift"
}
],
- "time": "2024-03-02T08:16:37+00:00"
+ "time": "2024-03-02T08:16:47+00:00"
},
{
"name": "symfony/form",
- "version": "v4.3.11",
+ "version": "v7.0.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/form.git",
- "reference": "05fac4992a100642806a50cc0c84fb4a8a326c14"
+ "reference": "b4df6a399a2b03782a0163807239db342659f54f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/form/zipball/05fac4992a100642806a50cc0c84fb4a8a326c14",
- "reference": "05fac4992a100642806a50cc0c84fb4a8a326c14",
+ "url": "https://api.github.com/repos/symfony/form/zipball/b4df6a399a2b03782a0163807239db342659f54f",
+ "reference": "b4df6a399a2b03782a0163807239db342659f54f",
"shasum": ""
},
"require": {
- "php": "^7.1.3",
- "symfony/event-dispatcher": "^4.3",
- "symfony/intl": "^4.3",
- "symfony/options-resolver": "~4.3",
+ "php": ">=8.2",
+ "symfony/event-dispatcher": "^6.4|^7.0",
+ "symfony/options-resolver": "^6.4|^7.0",
"symfony/polyfill-ctype": "~1.8",
+ "symfony/polyfill-intl-icu": "^1.21",
"symfony/polyfill-mbstring": "~1.0",
- "symfony/property-access": "~3.4|~4.0",
- "symfony/service-contracts": "~1.1"
+ "symfony/property-access": "^6.4|^7.0",
+ "symfony/service-contracts": "^2.5|^3"
},
"conflict": {
- "phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0",
- "symfony/console": "<4.3",
- "symfony/dependency-injection": "<3.4",
- "symfony/doctrine-bridge": "<3.4",
- "symfony/framework-bundle": "<3.4",
- "symfony/http-kernel": "<4.3",
- "symfony/intl": "<4.3",
- "symfony/translation": "<4.2",
- "symfony/twig-bridge": "<3.4.5|<4.0.5,>=4.0"
+ "symfony/console": "<6.4",
+ "symfony/dependency-injection": "<6.4",
+ "symfony/doctrine-bridge": "<6.4",
+ "symfony/error-handler": "<6.4",
+ "symfony/framework-bundle": "<6.4",
+ "symfony/http-kernel": "<6.4",
+ "symfony/translation": "<6.4.3|>=7.0,<7.0.3",
+ "symfony/translation-contracts": "<2.5",
+ "symfony/twig-bridge": "<6.4"
},
"require-dev": {
- "doctrine/collections": "~1.0",
- "symfony/config": "~3.4|~4.0",
- "symfony/console": "^4.3",
- "symfony/dependency-injection": "~3.4|~4.0",
- "symfony/http-foundation": "~3.4|~4.0",
- "symfony/http-kernel": "~4.3",
- "symfony/security-csrf": "~3.4|~4.0",
- "symfony/translation": "~4.2",
- "symfony/validator": "^3.4.31|^4.3.4",
- "symfony/var-dumper": "^4.3"
- },
- "suggest": {
- "symfony/security-csrf": "For protecting forms against CSRF attacks.",
- "symfony/twig-bridge": "For templating with Twig.",
- "symfony/validator": "For form validation."
+ "doctrine/collections": "^1.0|^2.0",
+ "symfony/config": "^6.4|^7.0",
+ "symfony/console": "^6.4|^7.0",
+ "symfony/dependency-injection": "^6.4|^7.0",
+ "symfony/expression-language": "^6.4|^7.0",
+ "symfony/html-sanitizer": "^6.4|^7.0",
+ "symfony/http-foundation": "^6.4|^7.0",
+ "symfony/http-kernel": "^6.4|^7.0",
+ "symfony/intl": "^6.4|^7.0",
+ "symfony/security-core": "^6.4|^7.0",
+ "symfony/security-csrf": "^6.4|^7.0",
+ "symfony/translation": "^6.4.3|^7.0.3",
+ "symfony/uid": "^6.4|^7.0",
+ "symfony/validator": "^6.4|^7.0",
+ "symfony/var-dumper": "^6.4|^7.0"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.3-dev"
- }
- },
"autoload": {
"psr-4": {
"Symfony\\Component\\Form\\": ""
@@ -1524,111 +2323,130 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony Form Component",
+ "description": "Allows to easily create, process and reuse HTML forms",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/form/tree/4.3"
+ "source": "https://github.com/symfony/form/tree/v7.0.7"
},
- "time": "2020-01-04T12:24:57+00:00"
+ "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-04-28T11:44:19+00:00"
},
{
"name": "symfony/framework-bundle",
- "version": "v4.3.11",
+ "version": "v7.0.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/framework-bundle.git",
- "reference": "4ea8f63e005af800e140c1bcfb1f748a006defd1"
+ "reference": "5d9cee370509056b8b7a5009d7112d045d8f0a64"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/4ea8f63e005af800e140c1bcfb1f748a006defd1",
- "reference": "4ea8f63e005af800e140c1bcfb1f748a006defd1",
+ "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/5d9cee370509056b8b7a5009d7112d045d8f0a64",
+ "reference": "5d9cee370509056b8b7a5009d7112d045d8f0a64",
"shasum": ""
},
"require": {
+ "composer-runtime-api": ">=2.1",
"ext-xml": "*",
- "php": "^7.1.3",
- "symfony/cache": "^4.3.4",
- "symfony/config": "^4.3.4",
- "symfony/debug": "~4.0",
- "symfony/dependency-injection": "^4.3",
- "symfony/filesystem": "~3.4|~4.0",
- "symfony/finder": "~3.4|~4.0",
- "symfony/http-foundation": "^4.3",
- "symfony/http-kernel": "^4.3.4",
+ "php": ">=8.2",
+ "symfony/cache": "^6.4|^7.0",
+ "symfony/config": "^6.4|^7.0",
+ "symfony/dependency-injection": "^6.4|^7.0",
+ "symfony/deprecation-contracts": "^2.5|^3",
+ "symfony/error-handler": "^6.4|^7.0",
+ "symfony/event-dispatcher": "^6.4|^7.0",
+ "symfony/filesystem": "^6.4|^7.0",
+ "symfony/finder": "^6.4|^7.0",
+ "symfony/http-foundation": "^6.4|^7.0",
+ "symfony/http-kernel": "^6.4|^7.0",
"symfony/polyfill-mbstring": "~1.0",
- "symfony/routing": "^4.3"
+ "symfony/routing": "^6.4|^7.0"
},
"conflict": {
"doctrine/persistence": "<1.3",
- "phpdocumentor/reflection-docblock": "<3.0",
- "phpdocumentor/type-resolver": "<0.2.1",
- "phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0",
- "symfony/asset": "<3.4",
- "symfony/browser-kit": "<4.3",
- "symfony/console": "<4.3",
- "symfony/dom-crawler": "<4.3",
- "symfony/dotenv": "<4.2",
- "symfony/form": "<4.3.5",
- "symfony/messenger": "<4.3.6",
- "symfony/property-info": "<3.4",
- "symfony/serializer": "<4.2",
- "symfony/stopwatch": "<3.4",
- "symfony/translation": "<4.3.6",
- "symfony/twig-bridge": "<4.1.1",
- "symfony/validator": "<4.1",
- "symfony/workflow": "<4.3.6"
+ "phpdocumentor/reflection-docblock": "<3.2.2",
+ "phpdocumentor/type-resolver": "<1.4.0",
+ "symfony/asset": "<6.4",
+ "symfony/asset-mapper": "<6.4",
+ "symfony/clock": "<6.4",
+ "symfony/console": "<6.4",
+ "symfony/dom-crawler": "<6.4",
+ "symfony/dotenv": "<6.4",
+ "symfony/form": "<6.4",
+ "symfony/http-client": "<6.4",
+ "symfony/lock": "<6.4",
+ "symfony/mailer": "<6.4",
+ "symfony/messenger": "<6.4",
+ "symfony/mime": "<6.4",
+ "symfony/property-access": "<6.4",
+ "symfony/property-info": "<6.4",
+ "symfony/scheduler": "<6.4.4|>=7.0.0,<7.0.4",
+ "symfony/security-core": "<6.4",
+ "symfony/security-csrf": "<6.4",
+ "symfony/serializer": "<6.4",
+ "symfony/stopwatch": "<6.4",
+ "symfony/translation": "<6.4",
+ "symfony/twig-bridge": "<6.4",
+ "symfony/twig-bundle": "<6.4",
+ "symfony/validator": "<6.4",
+ "symfony/web-profiler-bundle": "<6.4",
+ "symfony/workflow": "<6.4"
},
"require-dev": {
- "doctrine/annotations": "~1.7",
- "doctrine/cache": "~1.0",
- "fig/link-util": "^1.0",
- "phpdocumentor/reflection-docblock": "^3.0|^4.0",
- "symfony/asset": "~3.4|~4.0",
- "symfony/browser-kit": "^4.3",
- "symfony/console": "^4.3.4",
- "symfony/css-selector": "~3.4|~4.0",
- "symfony/dom-crawler": "^4.3",
- "symfony/expression-language": "~3.4|~4.0",
- "symfony/form": "^4.3.5",
- "symfony/http-client": "^4.3",
- "symfony/lock": "~3.4|~4.0",
- "symfony/mailer": "^4.3",
- "symfony/messenger": "^4.3.6",
- "symfony/mime": "^4.3",
+ "doctrine/persistence": "^1.3|^2|^3",
+ "dragonmantank/cron-expression": "^3.1",
+ "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0",
+ "seld/jsonlint": "^1.10",
+ "symfony/asset": "^6.4|^7.0",
+ "symfony/asset-mapper": "^6.4|^7.0",
+ "symfony/browser-kit": "^6.4|^7.0",
+ "symfony/clock": "^6.4|^7.0",
+ "symfony/console": "^6.4|^7.0",
+ "symfony/css-selector": "^6.4|^7.0",
+ "symfony/dom-crawler": "^6.4|^7.0",
+ "symfony/dotenv": "^6.4|^7.0",
+ "symfony/expression-language": "^6.4|^7.0",
+ "symfony/form": "^6.4|^7.0",
+ "symfony/html-sanitizer": "^6.4|^7.0",
+ "symfony/http-client": "^6.4|^7.0",
+ "symfony/lock": "^6.4|^7.0",
+ "symfony/mailer": "^6.4|^7.0",
+ "symfony/messenger": "^6.4|^7.0",
+ "symfony/mime": "^6.4|^7.0",
+ "symfony/notifier": "^6.4|^7.0",
"symfony/polyfill-intl-icu": "~1.0",
- "symfony/process": "~3.4|~4.0",
- "symfony/property-info": "~3.4|~4.0",
- "symfony/security-csrf": "~3.4|~4.0",
- "symfony/security-http": "~3.4|~4.0",
- "symfony/serializer": "^4.3",
- "symfony/stopwatch": "~3.4|~4.0",
- "symfony/templating": "~3.4|~4.0",
- "symfony/translation": "^4.3.7",
- "symfony/twig-bundle": "~2.8|~3.2|~4.0",
- "symfony/validator": "^4.1",
- "symfony/var-dumper": "^4.3",
- "symfony/web-link": "~3.4|~4.0",
- "symfony/workflow": "^4.3.6",
- "symfony/yaml": "~3.4|~4.0",
- "twig/twig": "~1.41|~2.10"
- },
- "suggest": {
- "ext-apcu": "For best performance of the system caches",
- "symfony/console": "For using the console commands",
- "symfony/form": "For using forms",
- "symfony/property-info": "For using the property_info service",
- "symfony/serializer": "For using the serializer service",
- "symfony/validator": "For using validation",
- "symfony/web-link": "For using web links, features such as preloading, prefetching or prerendering",
- "symfony/yaml": "For using the debug:config and lint:yaml commands"
+ "symfony/process": "^6.4|^7.0",
+ "symfony/property-info": "^6.4|^7.0",
+ "symfony/rate-limiter": "^6.4|^7.0",
+ "symfony/scheduler": "^6.4.4|^7.0.4",
+ "symfony/security-bundle": "^6.4|^7.0",
+ "symfony/semaphore": "^6.4|^7.0",
+ "symfony/serializer": "^6.4|^7.0",
+ "symfony/stopwatch": "^6.4|^7.0",
+ "symfony/string": "^6.4|^7.0",
+ "symfony/translation": "^6.4|^7.0",
+ "symfony/twig-bundle": "^6.4|^7.0",
+ "symfony/uid": "^6.4|^7.0",
+ "symfony/validator": "^6.4|^7.0",
+ "symfony/web-link": "^6.4|^7.0",
+ "symfony/workflow": "^6.4|^7.0",
+ "symfony/yaml": "^6.4|^7.0",
+ "twig/twig": "^3.0.4"
},
"type": "symfony-bundle",
- "extra": {
- "branch-alias": {
- "dev-master": "4.3-dev"
- }
- },
"autoload": {
"psr-4": {
"Symfony\\Bundle\\FrameworkBundle\\": ""
@@ -1651,42 +2469,231 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony FrameworkBundle",
+ "description": "Provides a tight integration between Symfony components and the Symfony full-stack framework",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/framework-bundle/tree/v4.3.11"
+ "source": "https://github.com/symfony/framework-bundle/tree/v7.0.7"
},
- "time": "2020-01-14T14:28:35+00:00"
+ "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-04-18T09:29:19+00:00"
},
{
- "name": "symfony/http-foundation",
- "version": "v4.3.11",
+ "name": "symfony/http-client",
+ "version": "v7.0.7",
"source": {
"type": "git",
- "url": "https://github.com/symfony/http-foundation.git",
- "reference": "90af881cedc857dca17990cae96f37727b8ae1d6"
+ "url": "https://github.com/symfony/http-client.git",
+ "reference": "6ce3c4c899051b3d7326ea1a1dda3729e29ae6d7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-foundation/zipball/90af881cedc857dca17990cae96f37727b8ae1d6",
- "reference": "90af881cedc857dca17990cae96f37727b8ae1d6",
+ "url": "https://api.github.com/repos/symfony/http-client/zipball/6ce3c4c899051b3d7326ea1a1dda3729e29ae6d7",
+ "reference": "6ce3c4c899051b3d7326ea1a1dda3729e29ae6d7",
"shasum": ""
},
"require": {
- "php": "^7.1.3",
- "symfony/mime": "^4.3",
- "symfony/polyfill-mbstring": "~1.1"
+ "php": ">=8.2",
+ "psr/log": "^1|^2|^3",
+ "symfony/http-client-contracts": "^3.4.1",
+ "symfony/service-contracts": "^2.5|^3"
+ },
+ "conflict": {
+ "php-http/discovery": "<1.15",
+ "symfony/http-foundation": "<6.4"
+ },
+ "provide": {
+ "php-http/async-client-implementation": "*",
+ "php-http/client-implementation": "*",
+ "psr/http-client-implementation": "1.0",
+ "symfony/http-client-implementation": "3.0"
},
"require-dev": {
- "predis/predis": "~1.0",
- "symfony/expression-language": "~3.4|~4.0"
+ "amphp/amp": "^2.5",
+ "amphp/http-client": "^4.2.1",
+ "amphp/http-tunnel": "^1.0",
+ "amphp/socket": "^1.1",
+ "guzzlehttp/promises": "^1.4|^2.0",
+ "nyholm/psr7": "^1.0",
+ "php-http/httplug": "^1.0|^2.0",
+ "psr/http-client": "^1.0",
+ "symfony/dependency-injection": "^6.4|^7.0",
+ "symfony/http-kernel": "^6.4|^7.0",
+ "symfony/messenger": "^6.4|^7.0",
+ "symfony/process": "^6.4|^7.0",
+ "symfony/stopwatch": "^6.4|^7.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\HttpClient\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Provides powerful methods to fetch HTTP resources synchronously or asynchronously",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "http"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/http-client/tree/v7.0.7"
+ },
+ "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-04-18T09:29:19+00:00"
+ },
+ {
+ "name": "symfony/http-client-contracts",
+ "version": "v3.5.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/http-client-contracts.git",
+ "reference": "20414d96f391677bf80078aa55baece78b82647d"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/20414d96f391677bf80078aa55baece78b82647d",
+ "reference": "20414d96f391677bf80078aa55baece78b82647d",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.1"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "4.3-dev"
+ "dev-main": "3.5-dev"
+ },
+ "thanks": {
+ "name": "symfony/contracts",
+ "url": "https://github.com/symfony/contracts"
}
},
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Contracts\\HttpClient\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Test/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Generic abstractions related to HTTP clients",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "abstractions",
+ "contracts",
+ "decoupling",
+ "interfaces",
+ "interoperability",
+ "standards"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/http-client-contracts/tree/v3.5.0"
+ },
+ "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-04-18T09:32:20+00:00"
+ },
+ {
+ "name": "symfony/http-foundation",
+ "version": "v7.0.7",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/http-foundation.git",
+ "reference": "0194e064b8bdc29381462f790bab04e1cac8fdc8"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/http-foundation/zipball/0194e064b8bdc29381462f790bab04e1cac8fdc8",
+ "reference": "0194e064b8bdc29381462f790bab04e1cac8fdc8",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.2",
+ "symfony/polyfill-mbstring": "~1.1",
+ "symfony/polyfill-php83": "^1.27"
+ },
+ "conflict": {
+ "doctrine/dbal": "<3.6",
+ "symfony/cache": "<6.4"
+ },
+ "require-dev": {
+ "doctrine/dbal": "^3.6|^4",
+ "predis/predis": "^1.1|^2.0",
+ "symfony/cache": "^6.4|^7.0",
+ "symfony/dependency-injection": "^6.4|^7.0",
+ "symfony/expression-language": "^6.4|^7.0",
+ "symfony/http-kernel": "^6.4|^7.0",
+ "symfony/mime": "^6.4|^7.0",
+ "symfony/rate-limiter": "^6.4|^7.0"
+ },
+ "type": "library",
"autoload": {
"psr-4": {
"Symfony\\Component\\HttpFoundation\\": ""
@@ -1709,79 +2716,97 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony HttpFoundation Component",
+ "description": "Defines an object-oriented layer for the HTTP specification",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/http-foundation/tree/v4.3.11"
+ "source": "https://github.com/symfony/http-foundation/tree/v7.0.7"
},
- "time": "2020-01-31T09:10:37+00:00"
+ "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-04-18T09:29:19+00:00"
},
{
"name": "symfony/http-kernel",
- "version": "v4.3.11",
+ "version": "v7.0.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-kernel.git",
- "reference": "fcd8fe5b98d435da856b310a01a4f281668607c0"
+ "reference": "e07bb9bd86e7cd8ba2d3d9c618eec9d1bbe06d25"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-kernel/zipball/fcd8fe5b98d435da856b310a01a4f281668607c0",
- "reference": "fcd8fe5b98d435da856b310a01a4f281668607c0",
+ "url": "https://api.github.com/repos/symfony/http-kernel/zipball/e07bb9bd86e7cd8ba2d3d9c618eec9d1bbe06d25",
+ "reference": "e07bb9bd86e7cd8ba2d3d9c618eec9d1bbe06d25",
"shasum": ""
},
"require": {
- "php": "^7.1.3",
- "psr/log": "~1.0",
- "symfony/debug": "~3.4|~4.0",
- "symfony/event-dispatcher": "^4.3",
- "symfony/http-foundation": "^4.1.1",
- "symfony/polyfill-ctype": "~1.8",
- "symfony/polyfill-php73": "^1.9"
+ "php": ">=8.2",
+ "psr/log": "^1|^2|^3",
+ "symfony/error-handler": "^6.4|^7.0",
+ "symfony/event-dispatcher": "^6.4|^7.0",
+ "symfony/http-foundation": "^6.4|^7.0",
+ "symfony/polyfill-ctype": "^1.8"
},
"conflict": {
- "symfony/browser-kit": "<4.3",
- "symfony/config": "<3.4",
- "symfony/dependency-injection": "<4.3",
- "symfony/translation": "<4.2",
- "symfony/var-dumper": "<4.1.1",
- "twig/twig": "<1.34|<2.4,>=2"
+ "symfony/browser-kit": "<6.4",
+ "symfony/cache": "<6.4",
+ "symfony/config": "<6.4",
+ "symfony/console": "<6.4",
+ "symfony/dependency-injection": "<6.4",
+ "symfony/doctrine-bridge": "<6.4",
+ "symfony/form": "<6.4",
+ "symfony/http-client": "<6.4",
+ "symfony/http-client-contracts": "<2.5",
+ "symfony/mailer": "<6.4",
+ "symfony/messenger": "<6.4",
+ "symfony/translation": "<6.4",
+ "symfony/translation-contracts": "<2.5",
+ "symfony/twig-bridge": "<6.4",
+ "symfony/validator": "<6.4",
+ "symfony/var-dumper": "<6.4",
+ "twig/twig": "<3.0.4"
},
"provide": {
- "psr/log-implementation": "1.0"
+ "psr/log-implementation": "1.0|2.0|3.0"
},
"require-dev": {
- "psr/cache": "~1.0",
- "symfony/browser-kit": "^4.3",
- "symfony/config": "~3.4|~4.0",
- "symfony/console": "~3.4|~4.0",
- "symfony/css-selector": "~3.4|~4.0",
- "symfony/dependency-injection": "^4.3",
- "symfony/dom-crawler": "~3.4|~4.0",
- "symfony/expression-language": "~3.4|~4.0",
- "symfony/finder": "~3.4|~4.0",
- "symfony/process": "~3.4|~4.0",
- "symfony/routing": "~3.4|~4.0",
- "symfony/stopwatch": "~3.4|~4.0",
- "symfony/templating": "~3.4|~4.0",
- "symfony/translation": "~4.2",
- "symfony/translation-contracts": "^1.1",
- "symfony/var-dumper": "^4.1.1",
- "twig/twig": "^1.34|^2.4"
- },
- "suggest": {
- "symfony/browser-kit": "",
- "symfony/config": "",
- "symfony/console": "",
- "symfony/dependency-injection": "",
- "symfony/var-dumper": ""
+ "psr/cache": "^1.0|^2.0|^3.0",
+ "symfony/browser-kit": "^6.4|^7.0",
+ "symfony/clock": "^6.4|^7.0",
+ "symfony/config": "^6.4|^7.0",
+ "symfony/console": "^6.4|^7.0",
+ "symfony/css-selector": "^6.4|^7.0",
+ "symfony/dependency-injection": "^6.4|^7.0",
+ "symfony/dom-crawler": "^6.4|^7.0",
+ "symfony/expression-language": "^6.4|^7.0",
+ "symfony/finder": "^6.4|^7.0",
+ "symfony/http-client-contracts": "^2.5|^3",
+ "symfony/process": "^6.4|^7.0",
+ "symfony/property-access": "^6.4|^7.0",
+ "symfony/routing": "^6.4|^7.0",
+ "symfony/serializer": "^6.4.4|^7.0.4",
+ "symfony/stopwatch": "^6.4|^7.0",
+ "symfony/translation": "^6.4|^7.0",
+ "symfony/translation-contracts": "^2.5|^3",
+ "symfony/uid": "^6.4|^7.0",
+ "symfony/validator": "^6.4|^7.0",
+ "symfony/var-dumper": "^6.4|^7.0",
+ "symfony/var-exporter": "^6.4|^7.0",
+ "twig/twig": "^3.0.4"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.3-dev"
- }
- },
"autoload": {
"psr-4": {
"Symfony\\Component\\HttpKernel\\": ""
@@ -1804,114 +2829,57 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony HttpKernel Component",
+ "description": "Provides a structured process for converting a Request into a Response",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/http-kernel/tree/4.3"
+ "source": "https://github.com/symfony/http-kernel/tree/v7.0.7"
},
- "time": "2020-01-31T12:38:38+00:00"
- },
- {
- "name": "symfony/inflector",
- "version": "v4.3.11",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/inflector.git",
- "reference": "8c699257379098d26fa400edad29f703b380efcf"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/inflector/zipball/8c699257379098d26fa400edad29f703b380efcf",
- "reference": "8c699257379098d26fa400edad29f703b380efcf",
- "shasum": ""
- },
- "require": {
- "php": "^7.1.3",
- "symfony/polyfill-ctype": "~1.8"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.3-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\Inflector\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
+ "funding": [
{
- "name": "Bernhard Schussek",
- "email": "bschussek@gmail.com"
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
},
{
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
}
],
- "description": "Symfony Inflector Component",
- "homepage": "https://symfony.com",
- "keywords": [
- "inflection",
- "pluralize",
- "singularize",
- "string",
- "symfony",
- "words"
- ],
- "support": {
- "source": "https://github.com/symfony/inflector/tree/v4.3.11"
- },
- "abandoned": "EnglishInflector from the String component",
- "time": "2020-01-04T12:24:57+00:00"
+ "time": "2024-04-29T12:20:25+00:00"
},
{
"name": "symfony/intl",
- "version": "v4.3.11",
+ "version": "v7.0.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/intl.git",
- "reference": "2d139d02ddae582c382d30cccd2ee4c814043518"
+ "reference": "dd12042707110995e2e7d80103f8d9928bea8621"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/intl/zipball/2d139d02ddae582c382d30cccd2ee4c814043518",
- "reference": "2d139d02ddae582c382d30cccd2ee4c814043518",
+ "url": "https://api.github.com/repos/symfony/intl/zipball/dd12042707110995e2e7d80103f8d9928bea8621",
+ "reference": "dd12042707110995e2e7d80103f8d9928bea8621",
"shasum": ""
},
"require": {
- "php": "^7.1.3",
- "symfony/polyfill-intl-icu": "~1.0"
+ "php": ">=8.2"
},
"require-dev": {
- "symfony/filesystem": "~3.4|~4.0"
- },
- "suggest": {
- "ext-intl": "to use the component with locales other than \"en\""
+ "symfony/filesystem": "^6.4|^7.0",
+ "symfony/finder": "^6.4|^7.0",
+ "symfony/var-exporter": "^6.4|^7.0"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.3-dev"
- }
- },
"autoload": {
"psr-4": {
"Symfony\\Component\\Intl\\": ""
},
- "classmap": [
- "Resources/stubs"
- ],
"exclude-from-classmap": [
- "/Tests/"
+ "/Tests/",
+ "/Resources/data/"
]
},
"notification-url": "https://packagist.org/downloads/",
@@ -1936,7 +2904,7 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "A PHP replacement layer for the C intl extension that includes additional data from the ICU library.",
+ "description": "Provides access to the localization data of the ICU library",
"homepage": "https://symfony.com",
"keywords": [
"i18n",
@@ -1947,39 +2915,61 @@
"localization"
],
"support": {
- "source": "https://github.com/symfony/intl/tree/v4.3.11"
+ "source": "https://github.com/symfony/intl/tree/v7.0.7"
},
- "time": "2020-01-04T12:24:57+00:00"
+ "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-04-18T09:29:19+00:00"
},
{
"name": "symfony/mime",
- "version": "v4.3.11",
+ "version": "v7.0.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/mime.git",
- "reference": "50f65ca2a6c33702728024d33e4b9461f67623c4"
+ "reference": "3adbf110c306546f6f00337f421d2edca0e8d3c0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/mime/zipball/50f65ca2a6c33702728024d33e4b9461f67623c4",
- "reference": "50f65ca2a6c33702728024d33e4b9461f67623c4",
+ "url": "https://api.github.com/repos/symfony/mime/zipball/3adbf110c306546f6f00337f421d2edca0e8d3c0",
+ "reference": "3adbf110c306546f6f00337f421d2edca0e8d3c0",
"shasum": ""
},
"require": {
- "php": "^7.1.3",
+ "php": ">=8.2",
"symfony/polyfill-intl-idn": "^1.10",
"symfony/polyfill-mbstring": "^1.0"
},
+ "conflict": {
+ "egulias/email-validator": "~3.0.0",
+ "phpdocumentor/reflection-docblock": "<3.2.2",
+ "phpdocumentor/type-resolver": "<1.4.0",
+ "symfony/mailer": "<6.4",
+ "symfony/serializer": "<6.4"
+ },
"require-dev": {
- "egulias/email-validator": "^2.1.10",
- "symfony/dependency-injection": "~3.4|^4.1"
+ "egulias/email-validator": "^2.1.10|^3.1|^4",
+ "league/html-to-markdown": "^5.0",
+ "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0",
+ "symfony/dependency-injection": "^6.4|^7.0",
+ "symfony/process": "^6.4|^7.0",
+ "symfony/property-access": "^6.4|^7.0",
+ "symfony/property-info": "^6.4|^7.0",
+ "symfony/serializer": "^6.4|^7.0"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.3-dev"
- }
- },
"autoload": {
"psr-4": {
"Symfony\\Component\\Mime\\": ""
@@ -2002,40 +2992,287 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "A library to manipulate MIME messages",
+ "description": "Allows manipulating MIME messages",
"homepage": "https://symfony.com",
"keywords": [
"mime",
"mime-type"
],
"support": {
- "source": "https://github.com/symfony/mime/tree/v4.3.11"
+ "source": "https://github.com/symfony/mime/tree/v7.0.7"
},
- "time": "2020-01-01T11:51:43+00:00"
+ "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-04-18T09:29:19+00:00"
},
{
- "name": "symfony/options-resolver",
- "version": "v4.3.11",
+ "name": "symfony/monolog-bridge",
+ "version": "v7.0.7",
"source": {
"type": "git",
- "url": "https://github.com/symfony/options-resolver.git",
- "reference": "3438c6fe65a9794b0e9f3686d0e3771412a2c47a"
+ "url": "https://github.com/symfony/monolog-bridge.git",
+ "reference": "aaa40a0a6512976a6e07d5def7ce9476862ebd65"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/options-resolver/zipball/3438c6fe65a9794b0e9f3686d0e3771412a2c47a",
- "reference": "3438c6fe65a9794b0e9f3686d0e3771412a2c47a",
+ "url": "https://api.github.com/repos/symfony/monolog-bridge/zipball/aaa40a0a6512976a6e07d5def7ce9476862ebd65",
+ "reference": "aaa40a0a6512976a6e07d5def7ce9476862ebd65",
"shasum": ""
},
"require": {
- "php": "^7.1.3"
+ "monolog/monolog": "^3",
+ "php": ">=8.2",
+ "symfony/http-kernel": "^6.4|^7.0",
+ "symfony/service-contracts": "^2.5|^3"
},
- "type": "library",
+ "conflict": {
+ "symfony/console": "<6.4",
+ "symfony/http-foundation": "<6.4",
+ "symfony/security-core": "<6.4"
+ },
+ "require-dev": {
+ "symfony/console": "^6.4|^7.0",
+ "symfony/http-client": "^6.4|^7.0",
+ "symfony/mailer": "^6.4|^7.0",
+ "symfony/messenger": "^6.4|^7.0",
+ "symfony/mime": "^6.4|^7.0",
+ "symfony/security-core": "^6.4|^7.0",
+ "symfony/var-dumper": "^6.4|^7.0"
+ },
+ "type": "symfony-bridge",
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Bridge\\Monolog\\": ""
+ },
+ "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 integration for Monolog with various Symfony components",
+ "homepage": "https://symfony.com",
+ "support": {
+ "source": "https://github.com/symfony/monolog-bridge/tree/v7.0.7"
+ },
+ "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-04-18T09:29:19+00:00"
+ },
+ {
+ "name": "symfony/monolog-bundle",
+ "version": "v3.10.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/monolog-bundle.git",
+ "reference": "414f951743f4aa1fd0f5bf6a0e9c16af3fe7f181"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/monolog-bundle/zipball/414f951743f4aa1fd0f5bf6a0e9c16af3fe7f181",
+ "reference": "414f951743f4aa1fd0f5bf6a0e9c16af3fe7f181",
+ "shasum": ""
+ },
+ "require": {
+ "monolog/monolog": "^1.25.1 || ^2.0 || ^3.0",
+ "php": ">=7.2.5",
+ "symfony/config": "^5.4 || ^6.0 || ^7.0",
+ "symfony/dependency-injection": "^5.4 || ^6.0 || ^7.0",
+ "symfony/http-kernel": "^5.4 || ^6.0 || ^7.0",
+ "symfony/monolog-bridge": "^5.4 || ^6.0 || ^7.0"
+ },
+ "require-dev": {
+ "symfony/console": "^5.4 || ^6.0 || ^7.0",
+ "symfony/phpunit-bridge": "^6.3 || ^7.0",
+ "symfony/yaml": "^5.4 || ^6.0 || ^7.0"
+ },
+ "type": "symfony-bundle",
"extra": {
"branch-alias": {
- "dev-master": "4.3-dev"
+ "dev-master": "3.x-dev"
}
},
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Bundle\\MonologBundle\\": ""
+ },
+ "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": "Symfony MonologBundle",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "log",
+ "logging"
+ ],
+ "support": {
+ "issues": "https://github.com/symfony/monolog-bundle/issues",
+ "source": "https://github.com/symfony/monolog-bundle/tree/v3.10.0"
+ },
+ "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": "2023-11-06T17:08:13+00:00"
+ },
+ {
+ "name": "symfony/notifier",
+ "version": "v7.0.7",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/notifier.git",
+ "reference": "1eeee1522fad108d7f094b1bf5453e5466e6f8fc"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/notifier/zipball/1eeee1522fad108d7f094b1bf5453e5466e6f8fc",
+ "reference": "1eeee1522fad108d7f094b1bf5453e5466e6f8fc",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.2",
+ "psr/log": "^1|^2|^3"
+ },
+ "conflict": {
+ "symfony/event-dispatcher": "<6.4",
+ "symfony/event-dispatcher-contracts": "<2.5",
+ "symfony/http-client-contracts": "<2.5",
+ "symfony/http-kernel": "<6.4"
+ },
+ "require-dev": {
+ "symfony/event-dispatcher-contracts": "^2.5|^3",
+ "symfony/http-client-contracts": "^2.5|^3",
+ "symfony/http-foundation": "^6.4|^7.0",
+ "symfony/messenger": "^6.4|^7.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\Notifier\\": ""
+ },
+ "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": "Sends notifications via one or more channels (email, SMS, ...)",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "notification",
+ "notifier"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/notifier/tree/v7.0.7"
+ },
+ "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-04-18T09:29:19+00:00"
+ },
+ {
+ "name": "symfony/options-resolver",
+ "version": "v7.0.7",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/options-resolver.git",
+ "reference": "23cc173858776ad451e31f053b1c9f47840b2cfa"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/options-resolver/zipball/23cc173858776ad451e31f053b1c9f47840b2cfa",
+ "reference": "23cc173858776ad451e31f053b1c9f47840b2cfa",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.2",
+ "symfony/deprecation-contracts": "^2.5|^3"
+ },
+ "type": "library",
"autoload": {
"psr-4": {
"Symfony\\Component\\OptionsResolver\\": ""
@@ -2058,7 +3295,7 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony OptionsResolver Component",
+ "description": "Provides an improved replacement for the array_replace PHP function",
"homepage": "https://symfony.com",
"keywords": [
"config",
@@ -2066,9 +3303,173 @@
"options"
],
"support": {
- "source": "https://github.com/symfony/options-resolver/tree/4.3"
+ "source": "https://github.com/symfony/options-resolver/tree/v7.0.7"
},
- "time": "2020-01-04T12:24:57+00:00"
+ "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-04-18T09:29:19+00:00"
+ },
+ {
+ "name": "symfony/password-hasher",
+ "version": "v7.0.7",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/password-hasher.git",
+ "reference": "5148b049248935f8a7b0a392aece2f22e9a1803d"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/password-hasher/zipball/5148b049248935f8a7b0a392aece2f22e9a1803d",
+ "reference": "5148b049248935f8a7b0a392aece2f22e9a1803d",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.2"
+ },
+ "conflict": {
+ "symfony/security-core": "<6.4"
+ },
+ "require-dev": {
+ "symfony/console": "^6.4|^7.0",
+ "symfony/security-core": "^6.4|^7.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\PasswordHasher\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Robin Chalas",
+ "email": "robin.chalas@gmail.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Provides password hashing utilities",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "hashing",
+ "password"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/password-hasher/tree/v7.0.7"
+ },
+ "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-04-18T09:29:19+00:00"
+ },
+ {
+ "name": "symfony/polyfill-intl-grapheme",
+ "version": "v1.29.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/polyfill-intl-grapheme.git",
+ "reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/32a9da87d7b3245e09ac426c83d334ae9f06f80f",
+ "reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.1"
+ },
+ "suggest": {
+ "ext-intl": "For best performance"
+ },
+ "type": "library",
+ "extra": {
+ "thanks": {
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
+ }
+ },
+ "autoload": {
+ "files": [
+ "bootstrap.php"
+ ],
+ "psr-4": {
+ "Symfony\\Polyfill\\Intl\\Grapheme\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony polyfill for intl's grapheme_* functions",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "grapheme",
+ "intl",
+ "polyfill",
+ "portable",
+ "shim"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.29.0"
+ },
+ "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-01-29T20:11:03+00:00"
},
{
"name": "symfony/polyfill-intl-icu",
@@ -2238,87 +3639,6 @@
],
"time": "2024-01-29T20:11:03+00:00"
},
- {
- "name": "symfony/polyfill-intl-messageformatter",
- "version": "v1.29.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/polyfill-intl-messageformatter.git",
- "reference": "6603d1d7cb7fb3df80c23ecf6ea6977f8a02be3f"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-messageformatter/zipball/6603d1d7cb7fb3df80c23ecf6ea6977f8a02be3f",
- "reference": "6603d1d7cb7fb3df80c23ecf6ea6977f8a02be3f",
- "shasum": ""
- },
- "require": {
- "php": ">=7.1"
- },
- "suggest": {
- "ext-intl": "For best performance"
- },
- "type": "library",
- "extra": {
- "thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
- }
- },
- "autoload": {
- "files": [
- "bootstrap.php"
- ],
- "psr-4": {
- "Symfony\\Polyfill\\Intl\\MessageFormatter\\": ""
- },
- "classmap": [
- "Resources/stubs"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony polyfill for intl's MessageFormatter class and related functions",
- "homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "intl",
- "messageformatter",
- "polyfill",
- "portable",
- "shim"
- ],
- "support": {
- "source": "https://github.com/symfony/polyfill-intl-messageformatter/tree/v1.29.0"
- },
- "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-01-29T20:11:03+00:00"
- },
{
"name": "symfony/polyfill-intl-normalizer",
"version": "v1.29.0",
@@ -2481,21 +3801,22 @@
"time": "2024-01-29T20:11:03+00:00"
},
{
- "name": "symfony/polyfill-php72",
+ "name": "symfony/polyfill-php83",
"version": "v1.29.0",
"source": {
"type": "git",
- "url": "https://github.com/symfony/polyfill-php72.git",
- "reference": "861391a8da9a04cbad2d232ddd9e4893220d6e25"
+ "url": "https://github.com/symfony/polyfill-php83.git",
+ "reference": "86fcae159633351e5fd145d1c47de6c528f8caff"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/861391a8da9a04cbad2d232ddd9e4893220d6e25",
- "reference": "861391a8da9a04cbad2d232ddd9e4893220d6e25",
+ "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/86fcae159633351e5fd145d1c47de6c528f8caff",
+ "reference": "86fcae159633351e5fd145d1c47de6c528f8caff",
"shasum": ""
},
"require": {
- "php": ">=7.1"
+ "php": ">=7.1",
+ "symfony/polyfill-php80": "^1.14"
},
"type": "library",
"extra": {
@@ -2509,80 +3830,7 @@
"bootstrap.php"
],
"psr-4": {
- "Symfony\\Polyfill\\Php72\\": ""
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions",
- "homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "polyfill",
- "portable",
- "shim"
- ],
- "support": {
- "source": "https://github.com/symfony/polyfill-php72/tree/v1.29.0"
- },
- "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-01-29T20:11:03+00:00"
- },
- {
- "name": "symfony/polyfill-php73",
- "version": "v1.29.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/polyfill-php73.git",
- "reference": "21bd091060673a1177ae842c0ef8fe30893114d2"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/21bd091060673a1177ae842c0ef8fe30893114d2",
- "reference": "21bd091060673a1177ae842c0ef8fe30893114d2",
- "shasum": ""
- },
- "require": {
- "php": ">=7.1"
- },
- "type": "library",
- "extra": {
- "thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
- }
- },
- "autoload": {
- "files": [
- "bootstrap.php"
- ],
- "psr-4": {
- "Symfony\\Polyfill\\Php73\\": ""
+ "Symfony\\Polyfill\\Php83\\": ""
},
"classmap": [
"Resources/stubs"
@@ -2602,7 +3850,7 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions",
+ "description": "Symfony polyfill backporting some PHP 8.3+ features to lower PHP versions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
@@ -2611,7 +3859,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php73/tree/v1.29.0"
+ "source": "https://github.com/symfony/polyfill-php83/tree/v1.29.0"
},
"funding": [
{
@@ -2630,38 +3878,29 @@
"time": "2024-01-29T20:11:03+00:00"
},
{
- "name": "symfony/polyfill-php80",
- "version": "v1.29.0",
+ "name": "symfony/process",
+ "version": "v7.0.7",
"source": {
"type": "git",
- "url": "https://github.com/symfony/polyfill-php80.git",
- "reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b"
+ "url": "https://github.com/symfony/process.git",
+ "reference": "3839e56b94dd1dbd13235d27504e66baf23faba0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/87b68208d5c1188808dd7839ee1e6c8ec3b02f1b",
- "reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b",
+ "url": "https://api.github.com/repos/symfony/process/zipball/3839e56b94dd1dbd13235d27504e66baf23faba0",
+ "reference": "3839e56b94dd1dbd13235d27504e66baf23faba0",
"shasum": ""
},
"require": {
- "php": ">=7.1"
+ "php": ">=8.2"
},
"type": "library",
- "extra": {
- "thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
- }
- },
"autoload": {
- "files": [
- "bootstrap.php"
- ],
"psr-4": {
- "Symfony\\Polyfill\\Php80\\": ""
+ "Symfony\\Component\\Process\\": ""
},
- "classmap": [
- "Resources/stubs"
+ "exclude-from-classmap": [
+ "/Tests/"
]
},
"notification-url": "https://packagist.org/downloads/",
@@ -2670,28 +3909,18 @@
],
"authors": [
{
- "name": "Ion Bazan",
- "email": "ion.bazan@gmail.com"
- },
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions",
+ "description": "Executes commands in sub-processes",
"homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "polyfill",
- "portable",
- "shim"
- ],
"support": {
- "source": "https://github.com/symfony/polyfill-php80/tree/v1.29.0"
+ "source": "https://github.com/symfony/process/tree/v7.0.7"
},
"funding": [
{
@@ -2707,38 +3936,30 @@
"type": "tidelift"
}
],
- "time": "2024-01-29T20:11:03+00:00"
+ "time": "2024-04-18T09:29:19+00:00"
},
{
"name": "symfony/property-access",
- "version": "v4.3.11",
+ "version": "v7.0.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/property-access.git",
- "reference": "28ecead27bd17937b3f904396b026a8e3915d0cd"
+ "reference": "8661b861480d2807eb2789ff99d034c0c71ab955"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/property-access/zipball/28ecead27bd17937b3f904396b026a8e3915d0cd",
- "reference": "28ecead27bd17937b3f904396b026a8e3915d0cd",
+ "url": "https://api.github.com/repos/symfony/property-access/zipball/8661b861480d2807eb2789ff99d034c0c71ab955",
+ "reference": "8661b861480d2807eb2789ff99d034c0c71ab955",
"shasum": ""
},
"require": {
- "php": "^7.1.3",
- "symfony/inflector": "~3.4|~4.0"
+ "php": ">=8.2",
+ "symfony/property-info": "^6.4|^7.0"
},
"require-dev": {
- "symfony/cache": "~3.4|~4.0"
- },
- "suggest": {
- "psr/cache-implementation": "To cache access methods."
+ "symfony/cache": "^6.4|^7.0"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.3-dev"
- }
- },
"autoload": {
"psr-4": {
"Symfony\\Component\\PropertyAccess\\": ""
@@ -2761,7 +3982,7 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony PropertyAccess Component",
+ "description": "Provides functions to read and write from/to an object or array using a simple string notation",
"homepage": "https://symfony.com",
"keywords": [
"access",
@@ -2771,58 +3992,143 @@
"injection",
"object",
"property",
- "property path",
+ "property-path",
"reflection"
],
"support": {
- "source": "https://github.com/symfony/property-access/tree/v4.3.11"
+ "source": "https://github.com/symfony/property-access/tree/v7.0.7"
},
- "time": "2020-01-04T12:24:57+00:00"
+ "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-04-18T09:29:19+00:00"
},
{
- "name": "symfony/routing",
- "version": "v4.3.11",
+ "name": "symfony/property-info",
+ "version": "v7.0.7",
"source": {
"type": "git",
- "url": "https://github.com/symfony/routing.git",
- "reference": "6cc4b6a92e3c623b2c7e56180728839b0caf8564"
+ "url": "https://github.com/symfony/property-info.git",
+ "reference": "f0bdb46e19ab308527b324b7ec36161f6880a532"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/routing/zipball/6cc4b6a92e3c623b2c7e56180728839b0caf8564",
- "reference": "6cc4b6a92e3c623b2c7e56180728839b0caf8564",
+ "url": "https://api.github.com/repos/symfony/property-info/zipball/f0bdb46e19ab308527b324b7ec36161f6880a532",
+ "reference": "f0bdb46e19ab308527b324b7ec36161f6880a532",
"shasum": ""
},
"require": {
- "php": "^7.1.3"
+ "php": ">=8.2",
+ "symfony/string": "^6.4|^7.0"
},
"conflict": {
- "symfony/config": "<4.2",
- "symfony/dependency-injection": "<3.4",
- "symfony/yaml": "<3.4"
+ "phpdocumentor/reflection-docblock": "<5.2",
+ "phpdocumentor/type-resolver": "<1.5.1",
+ "symfony/dependency-injection": "<6.4",
+ "symfony/serializer": "<6.4"
},
"require-dev": {
- "doctrine/annotations": "~1.2",
- "psr/log": "~1.0",
- "symfony/config": "~4.2",
- "symfony/dependency-injection": "~3.4|~4.0",
- "symfony/expression-language": "~3.4|~4.0",
- "symfony/http-foundation": "~3.4|~4.0",
- "symfony/yaml": "~3.4|~4.0"
- },
- "suggest": {
- "doctrine/annotations": "For using the annotation loader",
- "symfony/config": "For using the all-in-one router or any loader",
- "symfony/expression-language": "For using expression matching",
- "symfony/http-foundation": "For using a Symfony Request object",
- "symfony/yaml": "For using the YAML loader"
+ "phpdocumentor/reflection-docblock": "^5.2",
+ "phpstan/phpdoc-parser": "^1.0",
+ "symfony/cache": "^6.4|^7.0",
+ "symfony/dependency-injection": "^6.4|^7.0",
+ "symfony/serializer": "^6.4|^7.0"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.3-dev"
- }
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\PropertyInfo\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
},
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Kévin Dunglas",
+ "email": "dunglas@gmail.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Extracts information about PHP class' properties using metadata of popular sources",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "doctrine",
+ "phpdoc",
+ "property",
+ "symfony",
+ "type",
+ "validator"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/property-info/tree/v7.0.7"
+ },
+ "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-04-28T11:44:19+00:00"
+ },
+ {
+ "name": "symfony/routing",
+ "version": "v7.0.7",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/routing.git",
+ "reference": "9f82bf7766ccc9c22ab7aeb9bebb98351483fa5b"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/routing/zipball/9f82bf7766ccc9c22ab7aeb9bebb98351483fa5b",
+ "reference": "9f82bf7766ccc9c22ab7aeb9bebb98351483fa5b",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.2",
+ "symfony/deprecation-contracts": "^2.5|^3"
+ },
+ "conflict": {
+ "symfony/config": "<6.4",
+ "symfony/dependency-injection": "<6.4",
+ "symfony/yaml": "<6.4"
+ },
+ "require-dev": {
+ "psr/log": "^1|^2|^3",
+ "symfony/config": "^6.4|^7.0",
+ "symfony/dependency-injection": "^6.4|^7.0",
+ "symfony/expression-language": "^6.4|^7.0",
+ "symfony/http-foundation": "^6.4|^7.0",
+ "symfony/yaml": "^6.4|^7.0"
+ },
+ "type": "library",
"autoload": {
"psr-4": {
"Symfony\\Component\\Routing\\": ""
@@ -2845,7 +4151,7 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony Routing Component",
+ "description": "Maps an HTTP request to a set of configuration variables",
"homepage": "https://symfony.com",
"keywords": [
"router",
@@ -2854,68 +4160,171 @@
"url"
],
"support": {
- "source": "https://github.com/symfony/routing/tree/v4.3.11"
+ "source": "https://github.com/symfony/routing/tree/v7.0.7"
},
- "time": "2020-01-08T14:00:15+00:00"
+ "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-04-18T09:29:19+00:00"
},
{
- "name": "symfony/security-bundle",
- "version": "v4.3.11",
+ "name": "symfony/runtime",
+ "version": "v7.0.7",
"source": {
"type": "git",
- "url": "https://github.com/symfony/security-bundle.git",
- "reference": "1cc02bd8e44eef0bd4ecfd53a8b4d7b26f675d85"
+ "url": "https://github.com/symfony/runtime.git",
+ "reference": "e120730ef206b31bb5521b1a2389c058adbba9c7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/security-bundle/zipball/1cc02bd8e44eef0bd4ecfd53a8b4d7b26f675d85",
- "reference": "1cc02bd8e44eef0bd4ecfd53a8b4d7b26f675d85",
+ "url": "https://api.github.com/repos/symfony/runtime/zipball/e120730ef206b31bb5521b1a2389c058adbba9c7",
+ "reference": "e120730ef206b31bb5521b1a2389c058adbba9c7",
"shasum": ""
},
"require": {
- "ext-xml": "*",
- "php": "^7.1.3",
- "symfony/config": "^4.2",
- "symfony/dependency-injection": "^4.2",
- "symfony/http-kernel": "^4.3",
- "symfony/security-core": "~4.3",
- "symfony/security-csrf": "~4.2",
- "symfony/security-guard": "~4.2",
- "symfony/security-http": "~4.3.10|^4.4.3"
+ "composer-plugin-api": "^1.0|^2.0",
+ "php": ">=8.2"
},
"conflict": {
- "symfony/browser-kit": "<4.2",
- "symfony/console": "<3.4",
- "symfony/framework-bundle": "<4.3.4",
- "symfony/twig-bundle": "<4.2",
- "symfony/var-dumper": "<3.4"
+ "symfony/dotenv": "<6.4"
},
"require-dev": {
- "doctrine/doctrine-bundle": "~1.5",
- "symfony/asset": "~3.4|~4.0",
- "symfony/browser-kit": "~4.2",
- "symfony/console": "~3.4|~4.0",
- "symfony/css-selector": "~3.4|~4.0",
- "symfony/dom-crawler": "~3.4|~4.0",
- "symfony/expression-language": "~3.4|~4.0",
- "symfony/form": "~3.4|~4.0",
- "symfony/framework-bundle": "^4.3.4",
- "symfony/http-foundation": "~3.4|~4.0",
- "symfony/process": "~3.4|~4.0",
- "symfony/translation": "~3.4|~4.0",
- "symfony/twig-bridge": "~3.4|~4.0",
- "symfony/twig-bundle": "~4.2",
- "symfony/validator": "~3.4|~4.0",
- "symfony/var-dumper": "~3.4|~4.0",
- "symfony/yaml": "~3.4|~4.0",
- "twig/twig": "~1.41|~2.10"
+ "composer/composer": "^2.6",
+ "symfony/console": "^6.4|^7.0",
+ "symfony/dotenv": "^6.4|^7.0",
+ "symfony/http-foundation": "^6.4|^7.0",
+ "symfony/http-kernel": "^6.4|^7.0"
+ },
+ "type": "composer-plugin",
+ "extra": {
+ "class": "Symfony\\Component\\Runtime\\Internal\\ComposerPlugin"
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\Runtime\\": "",
+ "Symfony\\Runtime\\Symfony\\Component\\": "Internal/"
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Enables decoupling PHP applications from global state",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "runtime"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/runtime/tree/v7.0.7"
+ },
+ "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-04-18T09:29:19+00:00"
+ },
+ {
+ "name": "symfony/security-bundle",
+ "version": "v7.0.7",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/security-bundle.git",
+ "reference": "8d11101574ce8e2147a04245f4b968911a43ffd5"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/security-bundle/zipball/8d11101574ce8e2147a04245f4b968911a43ffd5",
+ "reference": "8d11101574ce8e2147a04245f4b968911a43ffd5",
+ "shasum": ""
+ },
+ "require": {
+ "composer-runtime-api": ">=2.1",
+ "ext-xml": "*",
+ "php": ">=8.2",
+ "symfony/clock": "^6.4|^7.0",
+ "symfony/config": "^6.4|^7.0",
+ "symfony/dependency-injection": "^6.4|^7.0",
+ "symfony/event-dispatcher": "^6.4|^7.0",
+ "symfony/http-foundation": "^6.4|^7.0",
+ "symfony/http-kernel": "^6.4|^7.0",
+ "symfony/password-hasher": "^6.4|^7.0",
+ "symfony/security-core": "^6.4|^7.0",
+ "symfony/security-csrf": "^6.4|^7.0",
+ "symfony/security-http": "^6.4|^7.0",
+ "symfony/service-contracts": "^2.5|^3"
+ },
+ "conflict": {
+ "symfony/browser-kit": "<6.4",
+ "symfony/console": "<6.4",
+ "symfony/framework-bundle": "<6.4",
+ "symfony/http-client": "<6.4",
+ "symfony/ldap": "<6.4",
+ "symfony/serializer": "<6.4",
+ "symfony/twig-bundle": "<6.4",
+ "symfony/validator": "<6.4"
+ },
+ "require-dev": {
+ "symfony/asset": "^6.4|^7.0",
+ "symfony/browser-kit": "^6.4|^7.0",
+ "symfony/console": "^6.4|^7.0",
+ "symfony/css-selector": "^6.4|^7.0",
+ "symfony/dom-crawler": "^6.4|^7.0",
+ "symfony/expression-language": "^6.4|^7.0",
+ "symfony/form": "^6.4|^7.0",
+ "symfony/framework-bundle": "^6.4|^7.0",
+ "symfony/http-client": "^6.4|^7.0",
+ "symfony/ldap": "^6.4|^7.0",
+ "symfony/process": "^6.4|^7.0",
+ "symfony/rate-limiter": "^6.4|^7.0",
+ "symfony/serializer": "^6.4|^7.0",
+ "symfony/translation": "^6.4|^7.0",
+ "symfony/twig-bridge": "^6.4|^7.0",
+ "symfony/twig-bundle": "^6.4|^7.0",
+ "symfony/validator": "^6.4|^7.0",
+ "symfony/yaml": "^6.4|^7.0",
+ "twig/twig": "^3.0.4",
+ "web-token/jwt-checker": "^3.1",
+ "web-token/jwt-signature-algorithm-ecdsa": "^3.1",
+ "web-token/jwt-signature-algorithm-eddsa": "^3.1",
+ "web-token/jwt-signature-algorithm-hmac": "^3.1",
+ "web-token/jwt-signature-algorithm-none": "^3.1",
+ "web-token/jwt-signature-algorithm-rsa": "^3.1"
},
"type": "symfony-bundle",
- "extra": {
- "branch-alias": {
- "dev-master": "4.3-dev"
- }
- },
"autoload": {
"psr-4": {
"Symfony\\Bundle\\SecurityBundle\\": ""
@@ -2938,59 +4347,68 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony SecurityBundle",
+ "description": "Provides a tight integration of the Security component into the Symfony full-stack framework",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/security-bundle/tree/v4.3.10"
+ "source": "https://github.com/symfony/security-bundle/tree/v7.0.7"
},
- "time": "2020-01-08T17:19:22+00:00"
+ "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-04-18T09:29:19+00:00"
},
{
"name": "symfony/security-core",
- "version": "v4.3.11",
+ "version": "v7.0.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/security-core.git",
- "reference": "8d008438e4bbdf04086d1048d51cc1b5dfac2046"
+ "reference": "6af8ac3b4d9c41a0ce0a4e33d532ba2000b47348"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/security-core/zipball/8d008438e4bbdf04086d1048d51cc1b5dfac2046",
- "reference": "8d008438e4bbdf04086d1048d51cc1b5dfac2046",
+ "url": "https://api.github.com/repos/symfony/security-core/zipball/6af8ac3b4d9c41a0ce0a4e33d532ba2000b47348",
+ "reference": "6af8ac3b4d9c41a0ce0a4e33d532ba2000b47348",
"shasum": ""
},
"require": {
- "php": "^7.1.3",
- "symfony/event-dispatcher-contracts": "^1.1",
- "symfony/service-contracts": "^1.1"
+ "php": ">=8.2",
+ "symfony/event-dispatcher-contracts": "^2.5|^3",
+ "symfony/password-hasher": "^6.4|^7.0",
+ "symfony/service-contracts": "^2.5|^3"
},
"conflict": {
- "symfony/event-dispatcher": "<4.3",
- "symfony/security-guard": "<4.3"
+ "symfony/event-dispatcher": "<6.4",
+ "symfony/http-foundation": "<6.4",
+ "symfony/ldap": "<6.4",
+ "symfony/translation": "<6.4.3|>=7.0,<7.0.3",
+ "symfony/validator": "<6.4"
},
"require-dev": {
- "psr/container": "^1.0",
- "psr/log": "~1.0",
- "symfony/event-dispatcher": "^4.3",
- "symfony/expression-language": "~3.4|~4.0",
- "symfony/http-foundation": "~3.4|~4.0",
- "symfony/ldap": "~3.4|~4.0",
- "symfony/validator": "^3.4.31|^4.3.4"
- },
- "suggest": {
- "psr/container-implementation": "To instantiate the Security class",
- "symfony/event-dispatcher": "",
- "symfony/expression-language": "For using the expression voter",
- "symfony/http-foundation": "",
- "symfony/ldap": "For using LDAP integration",
- "symfony/validator": "For using the user password constraint"
+ "psr/cache": "^1.0|^2.0|^3.0",
+ "psr/container": "^1.1|^2.0",
+ "psr/log": "^1|^2|^3",
+ "symfony/cache": "^6.4|^7.0",
+ "symfony/event-dispatcher": "^6.4|^7.0",
+ "symfony/expression-language": "^6.4|^7.0",
+ "symfony/http-foundation": "^6.4|^7.0",
+ "symfony/ldap": "^6.4|^7.0",
+ "symfony/string": "^6.4|^7.0",
+ "symfony/translation": "^6.4.3|^7.0.3",
+ "symfony/validator": "^6.4|^7.0"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.3-dev"
- }
- },
"autoload": {
"psr-4": {
"Symfony\\Component\\Security\\Core\\": ""
@@ -3016,43 +4434,49 @@
"description": "Symfony Security Component - Core Library",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/security-core/tree/v4.3.11"
+ "source": "https://github.com/symfony/security-core/tree/v7.0.7"
},
- "time": "2020-01-31T09:10:37+00:00"
+ "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-04-18T09:29:19+00:00"
},
{
"name": "symfony/security-csrf",
- "version": "v4.3.11",
+ "version": "v7.0.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/security-csrf.git",
- "reference": "9e435026ab45f073880d1fbe0e1b17e7df6bf642"
+ "reference": "671d6736736555309991457dd877e7f6f3317d08"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/security-csrf/zipball/9e435026ab45f073880d1fbe0e1b17e7df6bf642",
- "reference": "9e435026ab45f073880d1fbe0e1b17e7df6bf642",
+ "url": "https://api.github.com/repos/symfony/security-csrf/zipball/671d6736736555309991457dd877e7f6f3317d08",
+ "reference": "671d6736736555309991457dd877e7f6f3317d08",
"shasum": ""
},
"require": {
- "php": "^7.1.3",
- "symfony/security-core": "~3.4|~4.0"
+ "php": ">=8.2",
+ "symfony/security-core": "^6.4|^7.0"
},
"conflict": {
- "symfony/http-foundation": "<3.4"
+ "symfony/http-foundation": "<6.4"
},
"require-dev": {
- "symfony/http-foundation": "~3.4|~4.0"
- },
- "suggest": {
- "symfony/http-foundation": "For using the class SessionTokenStorage."
+ "symfony/http-foundation": "^6.4|^7.0"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.3-dev"
- }
- },
"autoload": {
"psr-4": {
"Symfony\\Component\\Security\\Csrf\\": ""
@@ -3078,106 +4502,68 @@
"description": "Symfony Security Component - CSRF Library",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/security-csrf/tree/v4.3.10"
+ "source": "https://github.com/symfony/security-csrf/tree/v7.0.7"
},
- "time": "2020-01-04T12:24:57+00:00"
- },
- {
- "name": "symfony/security-guard",
- "version": "v4.3.11",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/security-guard.git",
- "reference": "5d87ee4ffa5aa6e594008fa3cc65bc8f86ad6438"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/security-guard/zipball/5d87ee4ffa5aa6e594008fa3cc65bc8f86ad6438",
- "reference": "5d87ee4ffa5aa6e594008fa3cc65bc8f86ad6438",
- "shasum": ""
- },
- "require": {
- "php": "^7.1.3",
- "symfony/security-core": "~3.4.22|^4.2.3",
- "symfony/security-http": "^4.3"
- },
- "require-dev": {
- "psr/log": "~1.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.3-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\Security\\Guard\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
+ "funding": [
{
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
},
{
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
}
],
- "description": "Symfony Security Component - Guard",
- "homepage": "https://symfony.com",
- "support": {
- "source": "https://github.com/symfony/security-guard/tree/v4.3.10"
- },
- "time": "2020-01-04T18:57:41+00:00"
+ "time": "2024-04-18T09:29:19+00:00"
},
{
"name": "symfony/security-http",
- "version": "v4.3.11",
+ "version": "v7.0.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/security-http.git",
- "reference": "2b4b8632956c680400006376fad0a4f9889d4be1"
+ "reference": "836a338f51cd46d57e77fcba61c6f8c6111a3717"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/security-http/zipball/2b4b8632956c680400006376fad0a4f9889d4be1",
- "reference": "2b4b8632956c680400006376fad0a4f9889d4be1",
+ "url": "https://api.github.com/repos/symfony/security-http/zipball/836a338f51cd46d57e77fcba61c6f8c6111a3717",
+ "reference": "836a338f51cd46d57e77fcba61c6f8c6111a3717",
"shasum": ""
},
"require": {
- "php": "^7.1.3",
- "symfony/http-foundation": "~3.4|~4.0",
- "symfony/http-kernel": "^4.3",
- "symfony/property-access": "~3.4|~4.0",
- "symfony/security-core": "^4.3"
+ "php": ">=8.2",
+ "symfony/http-foundation": "^6.4|^7.0",
+ "symfony/http-kernel": "^6.4|^7.0",
+ "symfony/polyfill-mbstring": "~1.0",
+ "symfony/property-access": "^6.4|^7.0",
+ "symfony/security-core": "^6.4|^7.0",
+ "symfony/service-contracts": "^2.5|^3"
},
"conflict": {
- "symfony/security-csrf": "<3.4.11|~4.0,<4.0.11"
+ "symfony/clock": "<6.4",
+ "symfony/event-dispatcher": "<6.4",
+ "symfony/http-client-contracts": "<3.0",
+ "symfony/security-bundle": "<6.4",
+ "symfony/security-csrf": "<6.4"
},
"require-dev": {
- "psr/log": "~1.0",
- "symfony/routing": "~3.4|~4.0",
- "symfony/security-csrf": "^3.4.11|^4.0.11"
- },
- "suggest": {
- "symfony/routing": "For using the HttpUtils class to create sub-requests, redirect the user, and match URLs",
- "symfony/security-csrf": "For using tokens to protect authentication/logout attempts"
+ "psr/log": "^1|^2|^3",
+ "symfony/cache": "^6.4|^7.0",
+ "symfony/clock": "^6.4|^7.0",
+ "symfony/expression-language": "^6.4|^7.0",
+ "symfony/http-client-contracts": "^3.0",
+ "symfony/rate-limiter": "^6.4|^7.0",
+ "symfony/routing": "^6.4|^7.0",
+ "symfony/security-csrf": "^6.4|^7.0",
+ "symfony/translation": "^6.4|^7.0",
+ "web-token/jwt-checker": "^3.1",
+ "web-token/jwt-signature-algorithm-ecdsa": "^3.1"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.3-dev"
- }
- },
"autoload": {
"psr-4": {
"Symfony\\Component\\Security\\Http\\": ""
@@ -3203,64 +4589,76 @@
"description": "Symfony Security Component - HTTP Integration",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/security-http/tree/4.3"
+ "source": "https://github.com/symfony/security-http/tree/v7.0.7"
},
- "time": "2020-01-31T09:10:37+00:00"
+ "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-04-19T13:26:52+00:00"
},
{
"name": "symfony/serializer",
- "version": "v4.3.11",
+ "version": "v7.0.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/serializer.git",
- "reference": "cd4f545209e1f3d408b5adda729c59bfd714a1a5"
+ "reference": "08f0c517acf4b12dfc0d3963cd12f7b8023aea31"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/serializer/zipball/cd4f545209e1f3d408b5adda729c59bfd714a1a5",
- "reference": "cd4f545209e1f3d408b5adda729c59bfd714a1a5",
+ "url": "https://api.github.com/repos/symfony/serializer/zipball/08f0c517acf4b12dfc0d3963cd12f7b8023aea31",
+ "reference": "08f0c517acf4b12dfc0d3963cd12f7b8023aea31",
"shasum": ""
},
"require": {
- "php": "^7.1.3",
+ "php": ">=8.2",
"symfony/polyfill-ctype": "~1.8"
},
"conflict": {
- "phpdocumentor/type-resolver": "<0.2.1",
- "symfony/dependency-injection": "<3.4",
- "symfony/property-access": "<3.4",
- "symfony/property-info": "<3.4",
- "symfony/yaml": "<3.4"
+ "phpdocumentor/reflection-docblock": "<3.2.2",
+ "phpdocumentor/type-resolver": "<1.4.0",
+ "symfony/dependency-injection": "<6.4",
+ "symfony/property-access": "<6.4",
+ "symfony/property-info": "<6.4",
+ "symfony/uid": "<6.4",
+ "symfony/validator": "<6.4",
+ "symfony/yaml": "<6.4"
},
"require-dev": {
- "doctrine/annotations": "~1.0",
- "doctrine/cache": "~1.0",
- "phpdocumentor/reflection-docblock": "^3.0|^4.0",
- "symfony/cache": "~3.4|~4.0",
- "symfony/config": "~3.4|~4.0",
- "symfony/dependency-injection": "~3.4|~4.0",
- "symfony/http-foundation": "~3.4|~4.0",
- "symfony/property-access": "~3.4|~4.0",
- "symfony/property-info": "^3.4.13|~4.0",
- "symfony/validator": "~3.4|~4.0",
- "symfony/yaml": "~3.4|~4.0"
- },
- "suggest": {
- "doctrine/annotations": "For using the annotation mapping. You will also need doctrine/cache.",
- "doctrine/cache": "For using the default cached annotation reader and metadata cache.",
- "psr/cache-implementation": "For using the metadata cache.",
- "symfony/config": "For using the XML mapping loader.",
- "symfony/http-foundation": "For using a MIME type guesser within the DataUriNormalizer.",
- "symfony/property-access": "For using the ObjectNormalizer.",
- "symfony/property-info": "To deserialize relations.",
- "symfony/yaml": "For using the default YAML mapping loader."
+ "phpdocumentor/reflection-docblock": "^3.2|^4.0|^5.0",
+ "seld/jsonlint": "^1.10",
+ "symfony/cache": "^6.4|^7.0",
+ "symfony/config": "^6.4|^7.0",
+ "symfony/console": "^6.4|^7.0",
+ "symfony/dependency-injection": "^6.4|^7.0",
+ "symfony/error-handler": "^6.4|^7.0",
+ "symfony/filesystem": "^6.4|^7.0",
+ "symfony/form": "^6.4|^7.0",
+ "symfony/http-foundation": "^6.4|^7.0",
+ "symfony/http-kernel": "^6.4|^7.0",
+ "symfony/messenger": "^6.4|^7.0",
+ "symfony/mime": "^6.4|^7.0",
+ "symfony/property-access": "^6.4|^7.0",
+ "symfony/property-info": "^6.4|^7.0",
+ "symfony/translation-contracts": "^2.5|^3",
+ "symfony/uid": "^6.4|^7.0",
+ "symfony/validator": "^6.4|^7.0",
+ "symfony/var-dumper": "^6.4|^7.0",
+ "symfony/var-exporter": "^6.4|^7.0",
+ "symfony/yaml": "^6.4|^7.0"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.3-dev"
- }
- },
"autoload": {
"psr-4": {
"Symfony\\Component\\Serializer\\": ""
@@ -3283,38 +4681,53 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony Serializer Component",
+ "description": "Handles serializing and deserializing data structures, including object graphs, into array structures or other formats like XML and JSON.",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/serializer/tree/v4.3.10"
+ "source": "https://github.com/symfony/serializer/tree/v7.0.7"
},
- "time": "2020-01-04T12:24:57+00:00"
+ "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-04-28T11:44:19+00:00"
},
{
"name": "symfony/service-contracts",
- "version": "v1.10.0",
+ "version": "v3.5.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/service-contracts.git",
- "reference": "afa00c500c2d6aea6e3b2f4862355f507bc5ebb4"
+ "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/service-contracts/zipball/afa00c500c2d6aea6e3b2f4862355f507bc5ebb4",
- "reference": "afa00c500c2d6aea6e3b2f4862355f507bc5ebb4",
+ "url": "https://api.github.com/repos/symfony/service-contracts/zipball/bd1d9e59a81d8fa4acdcea3f617c581f7475a80f",
+ "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f",
"shasum": ""
},
"require": {
- "php": ">=7.1.3",
- "psr/container": "^1.0"
+ "php": ">=8.1",
+ "psr/container": "^1.1|^2.0",
+ "symfony/deprecation-contracts": "^2.5|^3"
},
- "suggest": {
- "symfony/service-implementation": ""
+ "conflict": {
+ "ext-psr": "<1.1|>=2"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.1-dev"
+ "dev-main": "3.5-dev"
},
"thanks": {
"name": "symfony/contracts",
@@ -3324,7 +4737,10 @@
"autoload": {
"psr-4": {
"Symfony\\Contracts\\Service\\": ""
- }
+ },
+ "exclude-from-classmap": [
+ "/Test/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -3351,7 +4767,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/service-contracts/tree/v1.10.0"
+ "source": "https://github.com/symfony/service-contracts/tree/v3.5.0"
},
"funding": [
{
@@ -3367,59 +4783,215 @@
"type": "tidelift"
}
],
- "time": "2022-05-27T14:01:05+00:00"
+ "time": "2024-04-18T09:32:20+00:00"
},
{
- "name": "symfony/translation",
- "version": "v4.3.11",
+ "name": "symfony/stimulus-bundle",
+ "version": "v2.17.0",
"source": {
"type": "git",
- "url": "https://github.com/symfony/translation.git",
- "reference": "46e462be71935ae15eab531e4d491d801857f24c"
+ "url": "https://github.com/symfony/stimulus-bundle.git",
+ "reference": "b828a32fe9f75500d26b563cc01874657162c413"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/translation/zipball/46e462be71935ae15eab531e4d491d801857f24c",
- "reference": "46e462be71935ae15eab531e4d491d801857f24c",
+ "url": "https://api.github.com/repos/symfony/stimulus-bundle/zipball/b828a32fe9f75500d26b563cc01874657162c413",
+ "reference": "b828a32fe9f75500d26b563cc01874657162c413",
"shasum": ""
},
"require": {
- "php": "^7.1.3",
- "symfony/polyfill-mbstring": "~1.0",
- "symfony/translation-contracts": "^1.1.6"
- },
- "conflict": {
- "symfony/config": "<3.4",
- "symfony/dependency-injection": "<3.4",
- "symfony/yaml": "<3.4"
- },
- "provide": {
- "symfony/translation-implementation": "1.0"
+ "php": ">=8.1",
+ "symfony/config": "^5.4|^6.0|^7.0",
+ "symfony/dependency-injection": "^5.4|^6.0|^7.0",
+ "symfony/deprecation-contracts": "^2.0|^3.0",
+ "symfony/finder": "^5.4|^6.0|^7.0",
+ "symfony/http-kernel": "^5.4|^6.0|^7.0",
+ "twig/twig": "^2.15.3|^3.8"
},
"require-dev": {
- "psr/log": "~1.0",
- "symfony/config": "~3.4|~4.0",
- "symfony/console": "~3.4|~4.0",
- "symfony/dependency-injection": "~3.4|~4.0",
- "symfony/finder": "~2.8|~3.0|~4.0",
- "symfony/http-kernel": "~3.4|~4.0",
- "symfony/intl": "~3.4|~4.0",
- "symfony/service-contracts": "^1.1.2",
- "symfony/var-dumper": "~3.4|~4.0",
- "symfony/yaml": "~3.4|~4.0"
+ "symfony/asset-mapper": "^6.3|^7.0",
+ "symfony/framework-bundle": "^5.4|^6.0|^7.0",
+ "symfony/phpunit-bridge": "^5.4|^6.0|^7.0",
+ "symfony/twig-bundle": "^5.4|^6.0|^7.0",
+ "zenstruck/browser": "^1.4"
},
- "suggest": {
- "psr/log-implementation": "To use logging capability in translator",
- "symfony/config": "",
- "symfony/yaml": ""
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.3-dev"
+ "type": "symfony-bundle",
+ "autoload": {
+ "psr-4": {
+ "Symfony\\UX\\StimulusBundle\\": "src"
}
},
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Integration with your Symfony app & Stimulus!",
+ "keywords": [
+ "symfony-ux"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/stimulus-bundle/tree/v2.17.0"
+ },
+ "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-04-21T10:23:35+00:00"
+ },
+ {
+ "name": "symfony/string",
+ "version": "v7.0.7",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/string.git",
+ "reference": "e405b5424dc2528e02e31ba26b83a79fd4eb8f63"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/string/zipball/e405b5424dc2528e02e31ba26b83a79fd4eb8f63",
+ "reference": "e405b5424dc2528e02e31ba26b83a79fd4eb8f63",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.2",
+ "symfony/polyfill-ctype": "~1.8",
+ "symfony/polyfill-intl-grapheme": "~1.0",
+ "symfony/polyfill-intl-normalizer": "~1.0",
+ "symfony/polyfill-mbstring": "~1.0"
+ },
+ "conflict": {
+ "symfony/translation-contracts": "<2.5"
+ },
+ "require-dev": {
+ "symfony/error-handler": "^6.4|^7.0",
+ "symfony/http-client": "^6.4|^7.0",
+ "symfony/intl": "^6.4|^7.0",
+ "symfony/translation-contracts": "^2.5|^3.0",
+ "symfony/var-exporter": "^6.4|^7.0"
+ },
+ "type": "library",
"autoload": {
+ "files": [
+ "Resources/functions.php"
+ ],
+ "psr-4": {
+ "Symfony\\Component\\String\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "grapheme",
+ "i18n",
+ "string",
+ "unicode",
+ "utf-8",
+ "utf8"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/string/tree/v7.0.7"
+ },
+ "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-04-18T09:29:19+00:00"
+ },
+ {
+ "name": "symfony/translation",
+ "version": "v7.0.7",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/translation.git",
+ "reference": "1515e03afaa93e6419aba5d5c9d209159317100b"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/translation/zipball/1515e03afaa93e6419aba5d5c9d209159317100b",
+ "reference": "1515e03afaa93e6419aba5d5c9d209159317100b",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.2",
+ "symfony/polyfill-mbstring": "~1.0",
+ "symfony/translation-contracts": "^2.5|^3.0"
+ },
+ "conflict": {
+ "symfony/config": "<6.4",
+ "symfony/console": "<6.4",
+ "symfony/dependency-injection": "<6.4",
+ "symfony/http-client-contracts": "<2.5",
+ "symfony/http-kernel": "<6.4",
+ "symfony/service-contracts": "<2.5",
+ "symfony/twig-bundle": "<6.4",
+ "symfony/yaml": "<6.4"
+ },
+ "provide": {
+ "symfony/translation-implementation": "2.3|3.0"
+ },
+ "require-dev": {
+ "nikic/php-parser": "^4.18|^5.0",
+ "psr/log": "^1|^2|^3",
+ "symfony/config": "^6.4|^7.0",
+ "symfony/console": "^6.4|^7.0",
+ "symfony/dependency-injection": "^6.4|^7.0",
+ "symfony/finder": "^6.4|^7.0",
+ "symfony/http-client-contracts": "^2.5|^3.0",
+ "symfony/http-kernel": "^6.4|^7.0",
+ "symfony/intl": "^6.4|^7.0",
+ "symfony/polyfill-intl-icu": "^1.21",
+ "symfony/routing": "^6.4|^7.0",
+ "symfony/service-contracts": "^2.5|^3",
+ "symfony/yaml": "^6.4|^7.0"
+ },
+ "type": "library",
+ "autoload": {
+ "files": [
+ "Resources/functions.php"
+ ],
"psr-4": {
"Symfony\\Component\\Translation\\": ""
},
@@ -3441,37 +5013,48 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony Translation Component",
+ "description": "Provides tools to internationalize your application",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/translation/tree/4.3"
+ "source": "https://github.com/symfony/translation/tree/v7.0.7"
},
- "time": "2020-01-04T12:24:57+00:00"
+ "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-04-18T09:29:19+00:00"
},
{
"name": "symfony/translation-contracts",
- "version": "v1.10.0",
+ "version": "v3.5.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/translation-contracts.git",
- "reference": "7462e5c4cb8b9cd152f992e8f10963b5641921f6"
+ "reference": "b9d2189887bb6b2e0367a9fc7136c5239ab9b05a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/7462e5c4cb8b9cd152f992e8f10963b5641921f6",
- "reference": "7462e5c4cb8b9cd152f992e8f10963b5641921f6",
+ "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/b9d2189887bb6b2e0367a9fc7136c5239ab9b05a",
+ "reference": "b9d2189887bb6b2e0367a9fc7136c5239ab9b05a",
"shasum": ""
},
"require": {
- "php": ">=7.1.3"
- },
- "suggest": {
- "symfony/translation-implementation": ""
+ "php": ">=8.1"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.1-dev"
+ "dev-main": "3.5-dev"
},
"thanks": {
"name": "symfony/contracts",
@@ -3481,7 +5064,10 @@
"autoload": {
"psr-4": {
"Symfony\\Contracts\\Translation\\": ""
- }
+ },
+ "exclude-from-classmap": [
+ "/Test/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -3508,7 +5094,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/translation-contracts/tree/v1.10.0"
+ "source": "https://github.com/symfony/translation-contracts/tree/v3.5.0"
},
"funding": [
{
@@ -3524,83 +5110,73 @@
"type": "tidelift"
}
],
- "time": "2022-06-27T13:16:42+00:00"
+ "time": "2024-04-18T09:32:20+00:00"
},
{
"name": "symfony/twig-bridge",
- "version": "v4.3.11",
+ "version": "v7.0.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/twig-bridge.git",
- "reference": "9574613b74ed066f775eaf94bb15476ef58609de"
+ "reference": "214237f7b3b82eeb430e85ea415c4a2915c304f6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/9574613b74ed066f775eaf94bb15476ef58609de",
- "reference": "9574613b74ed066f775eaf94bb15476ef58609de",
+ "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/214237f7b3b82eeb430e85ea415c4a2915c304f6",
+ "reference": "214237f7b3b82eeb430e85ea415c4a2915c304f6",
"shasum": ""
},
"require": {
- "php": "^7.1.3",
- "symfony/translation-contracts": "^1.1",
- "twig/twig": "^1.41|^2.10"
+ "php": ">=8.2",
+ "symfony/translation-contracts": "^2.5|^3",
+ "twig/twig": "^3.0.4"
},
"conflict": {
- "symfony/console": "<3.4",
- "symfony/form": "<4.3.5",
- "symfony/http-foundation": "<4.3",
- "symfony/translation": "<4.2",
- "symfony/workflow": "<4.3"
+ "phpdocumentor/reflection-docblock": "<3.2.2",
+ "phpdocumentor/type-resolver": "<1.4.0",
+ "symfony/console": "<6.4",
+ "symfony/form": "<6.4",
+ "symfony/http-foundation": "<6.4",
+ "symfony/http-kernel": "<6.4",
+ "symfony/mime": "<6.4",
+ "symfony/serializer": "<6.4",
+ "symfony/translation": "<6.4",
+ "symfony/workflow": "<6.4"
},
"require-dev": {
- "egulias/email-validator": "^2.1.10",
- "fig/link-util": "^1.0",
- "symfony/asset": "~3.4|~4.0",
- "symfony/console": "~3.4|~4.0",
- "symfony/dependency-injection": "~3.4|~4.0",
- "symfony/expression-language": "~3.4|~4.0",
- "symfony/finder": "~3.4|~4.0",
- "symfony/form": "^4.3.5",
- "symfony/http-foundation": "~4.3",
- "symfony/http-kernel": "~3.4|~4.0",
- "symfony/mime": "~4.3",
+ "egulias/email-validator": "^2.1.10|^3|^4",
+ "league/html-to-markdown": "^5.0",
+ "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0",
+ "symfony/asset": "^6.4|^7.0",
+ "symfony/asset-mapper": "^6.4|^7.0",
+ "symfony/console": "^6.4|^7.0",
+ "symfony/dependency-injection": "^6.4|^7.0",
+ "symfony/expression-language": "^6.4|^7.0",
+ "symfony/finder": "^6.4|^7.0",
+ "symfony/form": "^6.4|^7.0",
+ "symfony/html-sanitizer": "^6.4|^7.0",
+ "symfony/http-foundation": "^6.4|^7.0",
+ "symfony/http-kernel": "^6.4|^7.0",
+ "symfony/intl": "^6.4|^7.0",
+ "symfony/mime": "^6.4|^7.0",
"symfony/polyfill-intl-icu": "~1.0",
- "symfony/routing": "~3.4|~4.0",
- "symfony/security-acl": "~2.8|~3.0",
- "symfony/security-core": "~3.0|~4.0",
- "symfony/security-csrf": "~3.4|~4.0",
- "symfony/security-http": "~3.4|~4.0",
- "symfony/stopwatch": "~3.4|~4.0",
- "symfony/templating": "~3.4|~4.0",
- "symfony/translation": "^4.2.1",
- "symfony/var-dumper": "~3.4|~4.0",
- "symfony/web-link": "~3.4|~4.0",
- "symfony/workflow": "~4.3",
- "symfony/yaml": "~3.4|~4.0"
- },
- "suggest": {
- "symfony/asset": "For using the AssetExtension",
- "symfony/expression-language": "For using the ExpressionExtension",
- "symfony/finder": "",
- "symfony/form": "For using the FormExtension",
- "symfony/http-kernel": "For using the HttpKernelExtension",
- "symfony/routing": "For using the RoutingExtension",
- "symfony/security-core": "For using the SecurityExtension",
- "symfony/security-csrf": "For using the CsrfExtension",
- "symfony/security-http": "For using the LogoutUrlExtension",
- "symfony/stopwatch": "For using the StopwatchExtension",
- "symfony/templating": "For using the TwigEngine",
- "symfony/translation": "For using the TranslationExtension",
- "symfony/var-dumper": "For using the DumpExtension",
- "symfony/web-link": "For using the WebLinkExtension",
- "symfony/yaml": "For using the YamlExtension"
+ "symfony/property-info": "^6.4|^7.0",
+ "symfony/routing": "^6.4|^7.0",
+ "symfony/security-acl": "^2.8|^3.0",
+ "symfony/security-core": "^6.4|^7.0",
+ "symfony/security-csrf": "^6.4|^7.0",
+ "symfony/security-http": "^6.4|^7.0",
+ "symfony/serializer": "^6.4.3|^7.0.3",
+ "symfony/stopwatch": "^6.4|^7.0",
+ "symfony/translation": "^6.4|^7.0",
+ "symfony/web-link": "^6.4|^7.0",
+ "symfony/workflow": "^6.4|^7.0",
+ "symfony/yaml": "^6.4|^7.0",
+ "twig/cssinliner-extra": "^2.12|^3",
+ "twig/inky-extra": "^2.12|^3",
+ "twig/markdown-extra": "^2.12|^3"
},
"type": "symfony-bridge",
- "extra": {
- "branch-alias": {
- "dev-master": "4.3-dev"
- }
- },
"autoload": {
"psr-4": {
"Symfony\\Bridge\\Twig\\": ""
@@ -3623,64 +5199,68 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony Twig Bridge",
+ "description": "Provides integration for Twig with various Symfony components",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/twig-bridge/tree/v4.3.10"
+ "source": "https://github.com/symfony/twig-bridge/tree/v7.0.7"
},
- "time": "2020-01-08T17:19:22+00:00"
+ "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-04-18T09:29:19+00:00"
},
{
"name": "symfony/twig-bundle",
- "version": "v4.3.11",
+ "version": "v7.0.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/twig-bundle.git",
- "reference": "0471344717bfb081f10209ad6b8fd520ca8ebd9d"
+ "reference": "4dd8a395b955045d031d9525a7149cfcee8d0b02"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/twig-bundle/zipball/0471344717bfb081f10209ad6b8fd520ca8ebd9d",
- "reference": "0471344717bfb081f10209ad6b8fd520ca8ebd9d",
+ "url": "https://api.github.com/repos/symfony/twig-bundle/zipball/4dd8a395b955045d031d9525a7149cfcee8d0b02",
+ "reference": "4dd8a395b955045d031d9525a7149cfcee8d0b02",
"shasum": ""
},
"require": {
- "php": "^7.1.3",
- "symfony/config": "~4.2",
- "symfony/debug": "~4.0",
- "symfony/http-foundation": "~4.3",
- "symfony/http-kernel": "~4.1",
- "symfony/polyfill-ctype": "~1.8",
- "symfony/twig-bridge": "^4.3",
- "twig/twig": "~1.41|~2.10"
+ "composer-runtime-api": ">=2.1",
+ "php": ">=8.2",
+ "symfony/config": "^6.4|^7.0",
+ "symfony/dependency-injection": "^6.4|^7.0",
+ "symfony/http-foundation": "^6.4|^7.0",
+ "symfony/http-kernel": "^6.4|^7.0",
+ "symfony/twig-bridge": "^6.4|^7.0",
+ "twig/twig": "^3.0.4"
},
"conflict": {
- "symfony/dependency-injection": "<4.1",
- "symfony/framework-bundle": "<4.3",
- "symfony/translation": "<4.2"
+ "symfony/framework-bundle": "<6.4",
+ "symfony/translation": "<6.4"
},
"require-dev": {
- "doctrine/annotations": "~1.7",
- "doctrine/cache": "~1.0",
- "symfony/asset": "~3.4|~4.0",
- "symfony/dependency-injection": "^4.2.5",
- "symfony/expression-language": "~3.4|~4.0",
- "symfony/finder": "~3.4|~4.0",
- "symfony/form": "~3.4|~4.0",
- "symfony/framework-bundle": "~4.3",
- "symfony/routing": "~3.4|~4.0",
- "symfony/stopwatch": "~3.4|~4.0",
- "symfony/templating": "~3.4|~4.0",
- "symfony/translation": "^4.2",
- "symfony/web-link": "~3.4|~4.0",
- "symfony/yaml": "~3.4|~4.0"
+ "symfony/asset": "^6.4|^7.0",
+ "symfony/expression-language": "^6.4|^7.0",
+ "symfony/finder": "^6.4|^7.0",
+ "symfony/form": "^6.4|^7.0",
+ "symfony/framework-bundle": "^6.4|^7.0",
+ "symfony/routing": "^6.4|^7.0",
+ "symfony/stopwatch": "^6.4|^7.0",
+ "symfony/translation": "^6.4|^7.0",
+ "symfony/web-link": "^6.4|^7.0",
+ "symfony/yaml": "^6.4|^7.0"
},
"type": "symfony-bundle",
- "extra": {
- "branch-alias": {
- "dev-master": "4.3-dev"
- }
- },
"autoload": {
"psr-4": {
"Symfony\\Bundle\\TwigBundle\\": ""
@@ -3703,80 +5283,174 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony TwigBundle",
+ "description": "Provides a tight integration of Twig into the Symfony full-stack framework",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/twig-bundle/tree/v4.3.11"
+ "source": "https://github.com/symfony/twig-bundle/tree/v7.0.7"
},
- "time": "2020-01-04T12:24:57+00:00"
+ "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-04-18T09:29:19+00:00"
},
{
- "name": "symfony/validator",
- "version": "v4.3.11",
+ "name": "symfony/ux-turbo",
+ "version": "v2.17.0",
"source": {
"type": "git",
- "url": "https://github.com/symfony/validator.git",
- "reference": "0d2dcf4ae26db5b6781f40fcab9785f427ee7fa4"
+ "url": "https://github.com/symfony/ux-turbo.git",
+ "reference": "7093e20d7ca599902a7d1bf4d831849fd78befdb"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/validator/zipball/0d2dcf4ae26db5b6781f40fcab9785f427ee7fa4",
- "reference": "0d2dcf4ae26db5b6781f40fcab9785f427ee7fa4",
+ "url": "https://api.github.com/repos/symfony/ux-turbo/zipball/7093e20d7ca599902a7d1bf4d831849fd78befdb",
+ "reference": "7093e20d7ca599902a7d1bf4d831849fd78befdb",
"shasum": ""
},
"require": {
- "php": "^7.1.3",
- "symfony/polyfill-ctype": "~1.8",
- "symfony/polyfill-mbstring": "~1.0",
- "symfony/translation-contracts": "^1.1"
+ "php": ">=8.1",
+ "symfony/stimulus-bundle": "^2.9.1"
},
"conflict": {
- "doctrine/lexer": "<1.0.2",
- "phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0",
- "symfony/dependency-injection": "<3.4",
- "symfony/http-kernel": "<3.4",
- "symfony/intl": "<4.3",
- "symfony/translation": "<4.2",
- "symfony/yaml": "<3.4"
+ "symfony/flex": "<1.13"
},
"require-dev": {
- "doctrine/annotations": "~1.7",
- "doctrine/cache": "~1.0",
- "egulias/email-validator": "^2.1.10",
- "symfony/cache": "~3.4|~4.0",
- "symfony/config": "~3.4|~4.0",
- "symfony/dependency-injection": "~3.4|~4.0",
- "symfony/expression-language": "~3.4|~4.0",
- "symfony/http-client": "^4.3",
- "symfony/http-foundation": "~4.1",
- "symfony/http-kernel": "~3.4|~4.0",
- "symfony/intl": "^4.3",
- "symfony/property-access": "~3.4|~4.0",
- "symfony/property-info": "~3.4|~4.0",
- "symfony/translation": "~4.2",
- "symfony/var-dumper": "~3.4|~4.0",
- "symfony/yaml": "~3.4|~4.0"
+ "doctrine/doctrine-bundle": "^2.4.3",
+ "doctrine/orm": "^2.8 | 3.0",
+ "phpstan/phpstan": "^1.10",
+ "symfony/debug-bundle": "^5.4|^6.0|^7.0",
+ "symfony/expression-language": "^5.4|^6.0|^7.0",
+ "symfony/form": "^5.4|^6.0|^7.0",
+ "symfony/framework-bundle": "^5.4|^6.0|^7.0",
+ "symfony/mercure-bundle": "^0.3.7",
+ "symfony/messenger": "^5.4|^6.0|^7.0",
+ "symfony/panther": "^1.0|^2.0",
+ "symfony/phpunit-bridge": "^5.4|^6.0|^7.0",
+ "symfony/process": "^5.4|6.3.*|^7.0",
+ "symfony/property-access": "^5.4|^6.0|^7.0",
+ "symfony/security-core": "^5.4|^6.0|^7.0",
+ "symfony/stopwatch": "^5.4|^6.0|^7.0",
+ "symfony/twig-bundle": "^5.4|^6.0|^7.0",
+ "symfony/web-profiler-bundle": "^5.4|^6.0|^7.0",
+ "symfony/webpack-encore-bundle": "^2.1.1"
},
- "suggest": {
- "doctrine/annotations": "For using the annotation mapping. You will also need doctrine/cache.",
- "doctrine/cache": "For using the default cached annotation reader and metadata cache.",
- "egulias/email-validator": "Strict (RFC compliant) email validation",
- "psr/cache-implementation": "For using the metadata cache.",
- "symfony/config": "",
- "symfony/expression-language": "For using the Expression validator",
- "symfony/http-foundation": "",
- "symfony/intl": "",
- "symfony/property-access": "For accessing properties within comparison constraints",
- "symfony/property-info": "To automatically add NotNull and Type constraints",
- "symfony/translation": "For translating validation errors.",
- "symfony/yaml": ""
- },
- "type": "library",
+ "type": "symfony-bundle",
"extra": {
- "branch-alias": {
- "dev-master": "4.3-dev"
+ "thanks": {
+ "name": "symfony/ux",
+ "url": "https://github.com/symfony/ux"
}
},
+ "autoload": {
+ "psr-4": {
+ "Symfony\\UX\\Turbo\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Kévin Dunglas",
+ "email": "kevin@dunglas.fr"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Hotwire Turbo integration for Symfony",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "hotwire",
+ "javascript",
+ "mercure",
+ "symfony-ux",
+ "turbo",
+ "turbo-stream"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/ux-turbo/tree/v2.17.0"
+ },
+ "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-04-22T13:58:54+00:00"
+ },
+ {
+ "name": "symfony/validator",
+ "version": "v7.0.7",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/validator.git",
+ "reference": "ab4e75b9d23ba70e78480aecbe4d8da15adf10eb"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/validator/zipball/ab4e75b9d23ba70e78480aecbe4d8da15adf10eb",
+ "reference": "ab4e75b9d23ba70e78480aecbe4d8da15adf10eb",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.2",
+ "symfony/polyfill-ctype": "~1.8",
+ "symfony/polyfill-mbstring": "~1.0",
+ "symfony/polyfill-php83": "^1.27",
+ "symfony/translation-contracts": "^2.5|^3"
+ },
+ "conflict": {
+ "doctrine/lexer": "<1.1",
+ "symfony/dependency-injection": "<6.4",
+ "symfony/doctrine-bridge": "<7.0",
+ "symfony/expression-language": "<6.4",
+ "symfony/http-kernel": "<6.4",
+ "symfony/intl": "<6.4",
+ "symfony/property-info": "<6.4",
+ "symfony/translation": "<6.4.3|>=7.0,<7.0.3",
+ "symfony/yaml": "<6.4"
+ },
+ "require-dev": {
+ "egulias/email-validator": "^2.1.10|^3|^4",
+ "symfony/cache": "^6.4|^7.0",
+ "symfony/config": "^6.4|^7.0",
+ "symfony/console": "^6.4|^7.0",
+ "symfony/dependency-injection": "^6.4|^7.0",
+ "symfony/expression-language": "^6.4|^7.0",
+ "symfony/finder": "^6.4|^7.0",
+ "symfony/http-client": "^6.4|^7.0",
+ "symfony/http-foundation": "^6.4|^7.0",
+ "symfony/http-kernel": "^6.4|^7.0",
+ "symfony/intl": "^6.4|^7.0",
+ "symfony/mime": "^6.4|^7.0",
+ "symfony/property-access": "^6.4|^7.0",
+ "symfony/property-info": "^6.4|^7.0",
+ "symfony/translation": "^6.4.3|^7.0.3",
+ "symfony/yaml": "^6.4|^7.0"
+ },
+ "type": "library",
"autoload": {
"psr-4": {
"Symfony\\Component\\Validator\\": ""
@@ -3799,33 +5473,131 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony Validator Component",
+ "description": "Provides tools to validate values",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/validator/tree/v4.3.11"
+ "source": "https://github.com/symfony/validator/tree/v7.0.7"
},
- "time": "2020-01-31T09:10:37+00:00"
+ "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-04-28T11:44:19+00:00"
},
{
- "name": "symfony/var-exporter",
- "version": "v4.4.43",
+ "name": "symfony/var-dumper",
+ "version": "v7.0.7",
"source": {
"type": "git",
- "url": "https://github.com/symfony/var-exporter.git",
- "reference": "4a7a3a3d55c471d396e6d28011368b7b83cb518b"
+ "url": "https://github.com/symfony/var-dumper.git",
+ "reference": "d1627b66fd87c8b4d90cabe5671c29d575690924"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/var-exporter/zipball/4a7a3a3d55c471d396e6d28011368b7b83cb518b",
- "reference": "4a7a3a3d55c471d396e6d28011368b7b83cb518b",
+ "url": "https://api.github.com/repos/symfony/var-dumper/zipball/d1627b66fd87c8b4d90cabe5671c29d575690924",
+ "reference": "d1627b66fd87c8b4d90cabe5671c29d575690924",
"shasum": ""
},
"require": {
- "php": ">=7.1.3",
- "symfony/polyfill-php80": "^1.16"
+ "php": ">=8.2",
+ "symfony/polyfill-mbstring": "~1.0"
+ },
+ "conflict": {
+ "symfony/console": "<6.4"
},
"require-dev": {
- "symfony/var-dumper": "^4.4.9|^5.0.9"
+ "ext-iconv": "*",
+ "symfony/console": "^6.4|^7.0",
+ "symfony/http-kernel": "^6.4|^7.0",
+ "symfony/process": "^6.4|^7.0",
+ "symfony/uid": "^6.4|^7.0",
+ "twig/twig": "^3.0.4"
+ },
+ "bin": [
+ "Resources/bin/var-dump-server"
+ ],
+ "type": "library",
+ "autoload": {
+ "files": [
+ "Resources/functions/dump.php"
+ ],
+ "psr-4": {
+ "Symfony\\Component\\VarDumper\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Provides mechanisms for walking through any arbitrary PHP variable",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "debug",
+ "dump"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/var-dumper/tree/v7.0.7"
+ },
+ "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-04-18T09:29:19+00:00"
+ },
+ {
+ "name": "symfony/var-exporter",
+ "version": "v7.0.7",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/var-exporter.git",
+ "reference": "cdecc0022e40e90340ba1a59a3d5ccf069777078"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/var-exporter/zipball/cdecc0022e40e90340ba1a59a3d5ccf069777078",
+ "reference": "cdecc0022e40e90340ba1a59a3d5ccf069777078",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.2"
+ },
+ "require-dev": {
+ "symfony/property-access": "^6.4|^7.0",
+ "symfony/serializer": "^6.4|^7.0",
+ "symfony/var-dumper": "^6.4|^7.0"
},
"type": "library",
"autoload": {
@@ -3858,10 +5630,12 @@
"export",
"hydrate",
"instantiate",
+ "lazy-loading",
+ "proxy",
"serialize"
],
"support": {
- "source": "https://github.com/symfony/var-exporter/tree/v4.4.43"
+ "source": "https://github.com/symfony/var-exporter/tree/v7.0.7"
},
"funding": [
{
@@ -3877,41 +5651,119 @@
"type": "tidelift"
}
],
- "time": "2022-05-27T11:44:32+00:00"
+ "time": "2024-04-18T09:29:19+00:00"
},
{
- "name": "symfony/yaml",
- "version": "v4.3.11",
+ "name": "symfony/web-link",
+ "version": "v7.0.7",
"source": {
"type": "git",
- "url": "https://github.com/symfony/yaml.git",
- "reference": "8e0a95493b734ca8195acf3e1f3d89e88b957db5"
+ "url": "https://github.com/symfony/web-link.git",
+ "reference": "19312f38543e77b09f04f374368b73530bfb9482"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/yaml/zipball/8e0a95493b734ca8195acf3e1f3d89e88b957db5",
- "reference": "8e0a95493b734ca8195acf3e1f3d89e88b957db5",
+ "url": "https://api.github.com/repos/symfony/web-link/zipball/19312f38543e77b09f04f374368b73530bfb9482",
+ "reference": "19312f38543e77b09f04f374368b73530bfb9482",
"shasum": ""
},
"require": {
- "php": "^7.1.3",
- "symfony/polyfill-ctype": "~1.8"
+ "php": ">=8.2",
+ "psr/link": "^1.1|^2.0"
},
"conflict": {
- "symfony/console": "<3.4"
+ "symfony/http-kernel": "<6.4"
+ },
+ "provide": {
+ "psr/link-implementation": "1.0|2.0"
},
"require-dev": {
- "symfony/console": "~3.4|~4.0"
- },
- "suggest": {
- "symfony/console": "For validating YAML files using the lint command"
+ "symfony/http-kernel": "^6.4|^7.0"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.3-dev"
- }
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\WebLink\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
},
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Kévin Dunglas",
+ "email": "dunglas@gmail.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Manages links between resources",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "dns-prefetch",
+ "http",
+ "http2",
+ "link",
+ "performance",
+ "prefetch",
+ "preload",
+ "prerender",
+ "psr13",
+ "push"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/web-link/tree/v7.0.7"
+ },
+ "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-04-18T09:29:19+00:00"
+ },
+ {
+ "name": "symfony/yaml",
+ "version": "v7.0.7",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/yaml.git",
+ "reference": "0d3916ae69ea28b59d94b60c4f2b50f4e25adb5c"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/yaml/zipball/0d3916ae69ea28b59d94b60c4f2b50f4e25adb5c",
+ "reference": "0d3916ae69ea28b59d94b60c4f2b50f4e25adb5c",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.2",
+ "symfony/polyfill-ctype": "^1.8"
+ },
+ "conflict": {
+ "symfony/console": "<6.4"
+ },
+ "require-dev": {
+ "symfony/console": "^6.4|^7.0"
+ },
+ "bin": [
+ "Resources/bin/yaml-lint"
+ ],
+ "type": "library",
"autoload": {
"psr-4": {
"Symfony\\Component\\Yaml\\": ""
@@ -3934,50 +5786,66 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony Yaml Component",
+ "description": "Loads and dumps YAML files",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/yaml/tree/4.3"
+ "source": "https://github.com/symfony/yaml/tree/v7.0.7"
},
- "time": "2020-01-21T11:09:03+00:00"
+ "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-04-28T11:44:19+00:00"
},
{
- "name": "twig/extensions",
- "version": "v1.5.4",
+ "name": "twig/extra-bundle",
+ "version": "v3.10.0",
"source": {
"type": "git",
- "url": "https://github.com/twigphp/Twig-extensions.git",
- "reference": "57873c8b0c1be51caa47df2cdb824490beb16202"
+ "url": "https://github.com/twigphp/twig-extra-bundle.git",
+ "reference": "cdc6e23aeb7f4953c1039568c3439aab60c56454"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/twigphp/Twig-extensions/zipball/57873c8b0c1be51caa47df2cdb824490beb16202",
- "reference": "57873c8b0c1be51caa47df2cdb824490beb16202",
+ "url": "https://api.github.com/repos/twigphp/twig-extra-bundle/zipball/cdc6e23aeb7f4953c1039568c3439aab60c56454",
+ "reference": "cdc6e23aeb7f4953c1039568c3439aab60c56454",
"shasum": ""
},
"require": {
- "twig/twig": "^1.27|^2.0"
+ "php": ">=7.2.5",
+ "symfony/framework-bundle": "^5.4|^6.4|^7.0",
+ "symfony/twig-bundle": "^5.4|^6.4|^7.0",
+ "twig/twig": "^3.0"
},
"require-dev": {
- "symfony/phpunit-bridge": "^3.4",
- "symfony/translation": "^2.7|^3.4"
- },
- "suggest": {
- "symfony/translation": "Allow the time_diff output to be translated"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.5-dev"
- }
+ "league/commonmark": "^1.0|^2.0",
+ "symfony/phpunit-bridge": "^6.4|^7.0",
+ "twig/cache-extra": "^3.0",
+ "twig/cssinliner-extra": "^3.0",
+ "twig/html-extra": "^3.0",
+ "twig/inky-extra": "^3.0",
+ "twig/intl-extra": "^3.0",
+ "twig/markdown-extra": "^3.0",
+ "twig/string-extra": "^3.0"
},
+ "type": "symfony-bundle",
"autoload": {
- "psr-0": {
- "Twig_Extensions_": "lib/"
- },
"psr-4": {
- "Twig\\Extensions\\": "src/"
- }
+ "Twig\\Extra\\TwigExtraBundle\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -3986,49 +5854,66 @@
"authors": [
{
"name": "Fabien Potencier",
- "email": "fabien@symfony.com"
+ "email": "fabien@symfony.com",
+ "homepage": "http://fabien.potencier.org",
+ "role": "Lead Developer"
}
],
- "description": "Common additional features for Twig that do not directly belong in core",
+ "description": "A Symfony bundle for extra Twig extensions",
+ "homepage": "https://twig.symfony.com",
"keywords": [
- "i18n",
- "text"
+ "bundle",
+ "extra",
+ "twig"
],
- "time": "2018-12-05T18:34:18+00:00"
+ "support": {
+ "source": "https://github.com/twigphp/twig-extra-bundle/tree/v3.10.0"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/twig/twig",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2024-05-11T07:35:57+00:00"
},
{
"name": "twig/twig",
- "version": "v2.12.5",
+ "version": "v3.10.2",
"source": {
"type": "git",
"url": "https://github.com/twigphp/Twig.git",
- "reference": "18772e0190734944277ee97a02a9a6c6555fcd94"
+ "reference": "7aaed0b8311a557cc8c4047a71fd03153a00e755"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/twigphp/Twig/zipball/18772e0190734944277ee97a02a9a6c6555fcd94",
- "reference": "18772e0190734944277ee97a02a9a6c6555fcd94",
+ "url": "https://api.github.com/repos/twigphp/Twig/zipball/7aaed0b8311a557cc8c4047a71fd03153a00e755",
+ "reference": "7aaed0b8311a557cc8c4047a71fd03153a00e755",
"shasum": ""
},
"require": {
- "php": "^7.0",
+ "php": ">=7.2.5",
+ "symfony/deprecation-contracts": "^2.5|^3",
"symfony/polyfill-ctype": "^1.8",
- "symfony/polyfill-mbstring": "^1.3"
+ "symfony/polyfill-mbstring": "^1.3",
+ "symfony/polyfill-php80": "^1.22"
},
"require-dev": {
- "psr/container": "^1.0",
- "symfony/phpunit-bridge": "^4.4|^5.0"
+ "psr/container": "^1.0|^2.0",
+ "symfony/phpunit-bridge": "^5.4.9|^6.4|^7.0"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.12-dev"
- }
- },
"autoload": {
- "psr-0": {
- "Twig_": "lib/"
- },
+ "files": [
+ "src/Resources/core.php",
+ "src/Resources/debug.php",
+ "src/Resources/escaper.php",
+ "src/Resources/string_loader.php"
+ ],
"psr-4": {
"Twig\\": "src/"
}
@@ -4059,27 +5944,99 @@
"keywords": [
"templating"
],
- "time": "2020-02-11T15:31:23+00:00"
+ "support": {
+ "issues": "https://github.com/twigphp/Twig/issues",
+ "source": "https://github.com/twigphp/Twig/tree/v3.10.2"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/twig/twig",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2024-05-14T06:04:16+00:00"
},
{
- "name": "willdurand/jsonp-callback-validator",
- "version": "v1.1.0",
+ "name": "webmozart/assert",
+ "version": "1.11.0",
"source": {
"type": "git",
- "url": "https://github.com/willdurand/JsonpCallbackValidator.git",
- "reference": "1a7d388bb521959e612ef50c5c7b1691b097e909"
+ "url": "https://github.com/webmozarts/assert.git",
+ "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/willdurand/JsonpCallbackValidator/zipball/1a7d388bb521959e612ef50c5c7b1691b097e909",
- "reference": "1a7d388bb521959e612ef50c5c7b1691b097e909",
+ "url": "https://api.github.com/repos/webmozarts/assert/zipball/11cb2199493b2f8a3b53e7f19068fc6aac760991",
+ "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991",
"shasum": ""
},
"require": {
- "php": ">=5.3.0"
+ "ext-ctype": "*",
+ "php": "^7.2 || ^8.0"
+ },
+ "conflict": {
+ "phpstan/phpstan": "<0.12.20",
+ "vimeo/psalm": "<4.6.1 || 4.6.2"
},
"require-dev": {
- "phpunit/phpunit": "~3.7"
+ "phpunit/phpunit": "^8.5.13"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.10-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Webmozart\\Assert\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Bernhard Schussek",
+ "email": "bschussek@gmail.com"
+ }
+ ],
+ "description": "Assertions to validate method input/output with nice error messages.",
+ "keywords": [
+ "assert",
+ "check",
+ "validate"
+ ],
+ "support": {
+ "issues": "https://github.com/webmozarts/assert/issues",
+ "source": "https://github.com/webmozarts/assert/tree/1.11.0"
+ },
+ "time": "2022-06-03T18:03:27+00:00"
+ },
+ {
+ "name": "willdurand/jsonp-callback-validator",
+ "version": "v2.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/willdurand/JsonpCallbackValidator.git",
+ "reference": "738c36e91d4d7e0ff0cac145f77057e0fb88526e"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/willdurand/JsonpCallbackValidator/zipball/738c36e91d4d7e0ff0cac145f77057e0fb88526e",
+ "reference": "738c36e91d4d7e0ff0cac145f77057e0fb88526e",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.1.0"
+ },
+ "require-dev": {
+ "symfony/phpunit-bridge": "^5.0"
},
"type": "library",
"autoload": {
@@ -4094,27 +6051,2244 @@
"authors": [
{
"name": "William Durand",
- "email": "william.durand1@gmail.com",
- "homepage": "http://www.willdurand.fr"
+ "email": "will+git@drnd.me"
}
],
"description": "JSONP callback validator.",
- "time": "2014-01-20T22:35:06+00:00"
+ "support": {
+ "issues": "https://github.com/willdurand/JsonpCallbackValidator/issues",
+ "source": "https://github.com/willdurand/JsonpCallbackValidator/tree/v2.0.0"
+ },
+ "time": "2022-01-30T20:33:09+00:00"
}
],
"packages-dev": [
{
- "name": "symfony/phpunit-bridge",
- "version": "v7.0.6",
+ "name": "doctrine/inflector",
+ "version": "2.0.10",
"source": {
"type": "git",
- "url": "https://github.com/symfony/phpunit-bridge.git",
- "reference": "a014167aa1f66cb9990675840da65609d3e61612"
+ "url": "https://github.com/doctrine/inflector.git",
+ "reference": "5817d0659c5b50c9b950feb9af7b9668e2c436bc"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/a014167aa1f66cb9990675840da65609d3e61612",
- "reference": "a014167aa1f66cb9990675840da65609d3e61612",
+ "url": "https://api.github.com/repos/doctrine/inflector/zipball/5817d0659c5b50c9b950feb9af7b9668e2c436bc",
+ "reference": "5817d0659c5b50c9b950feb9af7b9668e2c436bc",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.2 || ^8.0"
+ },
+ "require-dev": {
+ "doctrine/coding-standard": "^11.0",
+ "phpstan/phpstan": "^1.8",
+ "phpstan/phpstan-phpunit": "^1.1",
+ "phpstan/phpstan-strict-rules": "^1.3",
+ "phpunit/phpunit": "^8.5 || ^9.5",
+ "vimeo/psalm": "^4.25 || ^5.4"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Doctrine\\Inflector\\": "lib/Doctrine/Inflector"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Guilherme Blanco",
+ "email": "guilhermeblanco@gmail.com"
+ },
+ {
+ "name": "Roman Borschel",
+ "email": "roman@code-factory.org"
+ },
+ {
+ "name": "Benjamin Eberlei",
+ "email": "kontakt@beberlei.de"
+ },
+ {
+ "name": "Jonathan Wage",
+ "email": "jonwage@gmail.com"
+ },
+ {
+ "name": "Johannes Schmitt",
+ "email": "schmittjoh@gmail.com"
+ }
+ ],
+ "description": "PHP Doctrine Inflector is a small library that can perform string manipulations with regard to upper/lowercase and singular/plural forms of words.",
+ "homepage": "https://www.doctrine-project.org/projects/inflector.html",
+ "keywords": [
+ "inflection",
+ "inflector",
+ "lowercase",
+ "manipulation",
+ "php",
+ "plural",
+ "singular",
+ "strings",
+ "uppercase",
+ "words"
+ ],
+ "support": {
+ "issues": "https://github.com/doctrine/inflector/issues",
+ "source": "https://github.com/doctrine/inflector/tree/2.0.10"
+ },
+ "funding": [
+ {
+ "url": "https://www.doctrine-project.org/sponsorship.html",
+ "type": "custom"
+ },
+ {
+ "url": "https://www.patreon.com/phpdoctrine",
+ "type": "patreon"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finflector",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2024-02-18T20:23:39+00:00"
+ },
+ {
+ "name": "doctrine/instantiator",
+ "version": "2.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/doctrine/instantiator.git",
+ "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/doctrine/instantiator/zipball/c6222283fa3f4ac679f8b9ced9a4e23f163e80d0",
+ "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^8.1"
+ },
+ "require-dev": {
+ "doctrine/coding-standard": "^11",
+ "ext-pdo": "*",
+ "ext-phar": "*",
+ "phpbench/phpbench": "^1.2",
+ "phpstan/phpstan": "^1.9.4",
+ "phpstan/phpstan-phpunit": "^1.3",
+ "phpunit/phpunit": "^9.5.27",
+ "vimeo/psalm": "^5.4"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Marco Pivetta",
+ "email": "ocramius@gmail.com",
+ "homepage": "https://ocramius.github.io/"
+ }
+ ],
+ "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
+ "homepage": "https://www.doctrine-project.org/projects/instantiator.html",
+ "keywords": [
+ "constructor",
+ "instantiate"
+ ],
+ "support": {
+ "issues": "https://github.com/doctrine/instantiator/issues",
+ "source": "https://github.com/doctrine/instantiator/tree/2.0.0"
+ },
+ "funding": [
+ {
+ "url": "https://www.doctrine-project.org/sponsorship.html",
+ "type": "custom"
+ },
+ {
+ "url": "https://www.patreon.com/phpdoctrine",
+ "type": "patreon"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-12-30T00:23:10+00:00"
+ },
+ {
+ "name": "masterminds/html5",
+ "version": "2.9.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/Masterminds/html5-php.git",
+ "reference": "f5ac2c0b0a2eefca70b2ce32a5809992227e75a6"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/f5ac2c0b0a2eefca70b2ce32a5809992227e75a6",
+ "reference": "f5ac2c0b0a2eefca70b2ce32a5809992227e75a6",
+ "shasum": ""
+ },
+ "require": {
+ "ext-dom": "*",
+ "php": ">=5.3.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^4.8.35 || ^5.7.21 || ^6 || ^7 || ^8 || ^9"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.7-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Masterminds\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Matt Butcher",
+ "email": "technosophos@gmail.com"
+ },
+ {
+ "name": "Matt Farina",
+ "email": "matt@mattfarina.com"
+ },
+ {
+ "name": "Asmir Mustafic",
+ "email": "goetas@gmail.com"
+ }
+ ],
+ "description": "An HTML5 parser and serializer.",
+ "homepage": "http://masterminds.github.io/html5-php",
+ "keywords": [
+ "HTML5",
+ "dom",
+ "html",
+ "parser",
+ "querypath",
+ "serializer",
+ "xml"
+ ],
+ "support": {
+ "issues": "https://github.com/Masterminds/html5-php/issues",
+ "source": "https://github.com/Masterminds/html5-php/tree/2.9.0"
+ },
+ "time": "2024-03-31T07:05:07+00:00"
+ },
+ {
+ "name": "myclabs/deep-copy",
+ "version": "1.11.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/myclabs/DeepCopy.git",
+ "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/7284c22080590fb39f2ffa3e9057f10a4ddd0e0c",
+ "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.1 || ^8.0"
+ },
+ "conflict": {
+ "doctrine/collections": "<1.6.8",
+ "doctrine/common": "<2.13.3 || >=3,<3.2.2"
+ },
+ "require-dev": {
+ "doctrine/collections": "^1.6.8",
+ "doctrine/common": "^2.13.3 || ^3.2.2",
+ "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13"
+ },
+ "type": "library",
+ "autoload": {
+ "files": [
+ "src/DeepCopy/deep_copy.php"
+ ],
+ "psr-4": {
+ "DeepCopy\\": "src/DeepCopy/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "description": "Create deep copies (clones) of your objects",
+ "keywords": [
+ "clone",
+ "copy",
+ "duplicate",
+ "object",
+ "object graph"
+ ],
+ "support": {
+ "issues": "https://github.com/myclabs/DeepCopy/issues",
+ "source": "https://github.com/myclabs/DeepCopy/tree/1.11.1"
+ },
+ "funding": [
+ {
+ "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-03-08T13:26:56+00:00"
+ },
+ {
+ "name": "nikic/php-parser",
+ "version": "v5.0.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/nikic/PHP-Parser.git",
+ "reference": "139676794dc1e9231bf7bcd123cfc0c99182cb13"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/139676794dc1e9231bf7bcd123cfc0c99182cb13",
+ "reference": "139676794dc1e9231bf7bcd123cfc0c99182cb13",
+ "shasum": ""
+ },
+ "require": {
+ "ext-ctype": "*",
+ "ext-json": "*",
+ "ext-tokenizer": "*",
+ "php": ">=7.4"
+ },
+ "require-dev": {
+ "ircmaxell/php-yacc": "^0.0.7",
+ "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0"
+ },
+ "bin": [
+ "bin/php-parse"
+ ],
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "5.0-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "PhpParser\\": "lib/PhpParser"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Nikita Popov"
+ }
+ ],
+ "description": "A PHP parser written in PHP",
+ "keywords": [
+ "parser",
+ "php"
+ ],
+ "support": {
+ "issues": "https://github.com/nikic/PHP-Parser/issues",
+ "source": "https://github.com/nikic/PHP-Parser/tree/v5.0.2"
+ },
+ "time": "2024-03-05T20:51:40+00:00"
+ },
+ {
+ "name": "phar-io/manifest",
+ "version": "2.0.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phar-io/manifest.git",
+ "reference": "54750ef60c58e43759730615a392c31c80e23176"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phar-io/manifest/zipball/54750ef60c58e43759730615a392c31c80e23176",
+ "reference": "54750ef60c58e43759730615a392c31c80e23176",
+ "shasum": ""
+ },
+ "require": {
+ "ext-dom": "*",
+ "ext-libxml": "*",
+ "ext-phar": "*",
+ "ext-xmlwriter": "*",
+ "phar-io/version": "^3.0.1",
+ "php": "^7.2 || ^8.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0.x-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Arne Blankerts",
+ "email": "arne@blankerts.de",
+ "role": "Developer"
+ },
+ {
+ "name": "Sebastian Heuer",
+ "email": "sebastian@phpeople.de",
+ "role": "Developer"
+ },
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "Developer"
+ }
+ ],
+ "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)",
+ "support": {
+ "issues": "https://github.com/phar-io/manifest/issues",
+ "source": "https://github.com/phar-io/manifest/tree/2.0.4"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/theseer",
+ "type": "github"
+ }
+ ],
+ "time": "2024-03-03T12:33:53+00:00"
+ },
+ {
+ "name": "phar-io/version",
+ "version": "3.2.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phar-io/version.git",
+ "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74",
+ "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.2 || ^8.0"
+ },
+ "type": "library",
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Arne Blankerts",
+ "email": "arne@blankerts.de",
+ "role": "Developer"
+ },
+ {
+ "name": "Sebastian Heuer",
+ "email": "sebastian@phpeople.de",
+ "role": "Developer"
+ },
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "Developer"
+ }
+ ],
+ "description": "Library for handling version information and constraints",
+ "support": {
+ "issues": "https://github.com/phar-io/version/issues",
+ "source": "https://github.com/phar-io/version/tree/3.2.1"
+ },
+ "time": "2022-02-21T01:04:05+00:00"
+ },
+ {
+ "name": "phpunit/php-code-coverage",
+ "version": "9.2.31",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
+ "reference": "48c34b5d8d983006bd2adc2d0de92963b9155965"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/48c34b5d8d983006bd2adc2d0de92963b9155965",
+ "reference": "48c34b5d8d983006bd2adc2d0de92963b9155965",
+ "shasum": ""
+ },
+ "require": {
+ "ext-dom": "*",
+ "ext-libxml": "*",
+ "ext-xmlwriter": "*",
+ "nikic/php-parser": "^4.18 || ^5.0",
+ "php": ">=7.3",
+ "phpunit/php-file-iterator": "^3.0.3",
+ "phpunit/php-text-template": "^2.0.2",
+ "sebastian/code-unit-reverse-lookup": "^2.0.2",
+ "sebastian/complexity": "^2.0",
+ "sebastian/environment": "^5.1.2",
+ "sebastian/lines-of-code": "^1.0.3",
+ "sebastian/version": "^3.0.1",
+ "theseer/tokenizer": "^1.2.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "suggest": {
+ "ext-pcov": "PHP extension that provides line coverage",
+ "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "9.2-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.",
+ "homepage": "https://github.com/sebastianbergmann/php-code-coverage",
+ "keywords": [
+ "coverage",
+ "testing",
+ "xunit"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
+ "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy",
+ "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.31"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2024-03-02T06:37:42+00:00"
+ },
+ {
+ "name": "phpunit/php-file-iterator",
+ "version": "3.0.6",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/php-file-iterator.git",
+ "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf",
+ "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "FilterIterator implementation that filters files based on a list of suffixes.",
+ "homepage": "https://github.com/sebastianbergmann/php-file-iterator/",
+ "keywords": [
+ "filesystem",
+ "iterator"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues",
+ "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.6"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2021-12-02T12:48:52+00:00"
+ },
+ {
+ "name": "phpunit/php-invoker",
+ "version": "3.1.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/php-invoker.git",
+ "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67",
+ "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "ext-pcntl": "*",
+ "phpunit/phpunit": "^9.3"
+ },
+ "suggest": {
+ "ext-pcntl": "*"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.1-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Invoke callables with a timeout",
+ "homepage": "https://github.com/sebastianbergmann/php-invoker/",
+ "keywords": [
+ "process"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/php-invoker/issues",
+ "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-09-28T05:58:55+00:00"
+ },
+ {
+ "name": "phpunit/php-text-template",
+ "version": "2.0.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/php-text-template.git",
+ "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28",
+ "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Simple template engine.",
+ "homepage": "https://github.com/sebastianbergmann/php-text-template/",
+ "keywords": [
+ "template"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/php-text-template/issues",
+ "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-10-26T05:33:50+00:00"
+ },
+ {
+ "name": "phpunit/php-timer",
+ "version": "5.0.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/php-timer.git",
+ "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2",
+ "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "5.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Utility class for timing",
+ "homepage": "https://github.com/sebastianbergmann/php-timer/",
+ "keywords": [
+ "timer"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/php-timer/issues",
+ "source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-10-26T13:16:10+00:00"
+ },
+ {
+ "name": "phpunit/phpunit",
+ "version": "9.6.19",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/phpunit.git",
+ "reference": "a1a54a473501ef4cdeaae4e06891674114d79db8"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/a1a54a473501ef4cdeaae4e06891674114d79db8",
+ "reference": "a1a54a473501ef4cdeaae4e06891674114d79db8",
+ "shasum": ""
+ },
+ "require": {
+ "doctrine/instantiator": "^1.3.1 || ^2",
+ "ext-dom": "*",
+ "ext-json": "*",
+ "ext-libxml": "*",
+ "ext-mbstring": "*",
+ "ext-xml": "*",
+ "ext-xmlwriter": "*",
+ "myclabs/deep-copy": "^1.10.1",
+ "phar-io/manifest": "^2.0.3",
+ "phar-io/version": "^3.0.2",
+ "php": ">=7.3",
+ "phpunit/php-code-coverage": "^9.2.28",
+ "phpunit/php-file-iterator": "^3.0.5",
+ "phpunit/php-invoker": "^3.1.1",
+ "phpunit/php-text-template": "^2.0.3",
+ "phpunit/php-timer": "^5.0.2",
+ "sebastian/cli-parser": "^1.0.1",
+ "sebastian/code-unit": "^1.0.6",
+ "sebastian/comparator": "^4.0.8",
+ "sebastian/diff": "^4.0.3",
+ "sebastian/environment": "^5.1.3",
+ "sebastian/exporter": "^4.0.5",
+ "sebastian/global-state": "^5.0.1",
+ "sebastian/object-enumerator": "^4.0.3",
+ "sebastian/resource-operations": "^3.0.3",
+ "sebastian/type": "^3.2",
+ "sebastian/version": "^3.0.2"
+ },
+ "suggest": {
+ "ext-soap": "To be able to generate mocks based on WSDL files",
+ "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage"
+ },
+ "bin": [
+ "phpunit"
+ ],
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "9.6-dev"
+ }
+ },
+ "autoload": {
+ "files": [
+ "src/Framework/Assert/Functions.php"
+ ],
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "The PHP Unit Testing framework.",
+ "homepage": "https://phpunit.de/",
+ "keywords": [
+ "phpunit",
+ "testing",
+ "xunit"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/phpunit/issues",
+ "security": "https://github.com/sebastianbergmann/phpunit/security/policy",
+ "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.19"
+ },
+ "funding": [
+ {
+ "url": "https://phpunit.de/sponsors.html",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2024-04-05T04:35:58+00:00"
+ },
+ {
+ "name": "sebastian/cli-parser",
+ "version": "1.0.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/cli-parser.git",
+ "reference": "2b56bea83a09de3ac06bb18b92f068e60cc6f50b"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/2b56bea83a09de3ac06bb18b92f068e60cc6f50b",
+ "reference": "2b56bea83a09de3ac06bb18b92f068e60cc6f50b",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Library for parsing CLI options",
+ "homepage": "https://github.com/sebastianbergmann/cli-parser",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/cli-parser/issues",
+ "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.2"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2024-03-02T06:27:43+00:00"
+ },
+ {
+ "name": "sebastian/code-unit",
+ "version": "1.0.8",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/code-unit.git",
+ "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120",
+ "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Collection of value objects that represent the PHP code units",
+ "homepage": "https://github.com/sebastianbergmann/code-unit",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/code-unit/issues",
+ "source": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-10-26T13:08:54+00:00"
+ },
+ {
+ "name": "sebastian/code-unit-reverse-lookup",
+ "version": "2.0.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git",
+ "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5",
+ "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ }
+ ],
+ "description": "Looks up which function or method a line of code belongs to",
+ "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues",
+ "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-09-28T05:30:19+00:00"
+ },
+ {
+ "name": "sebastian/comparator",
+ "version": "4.0.8",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/comparator.git",
+ "reference": "fa0f136dd2334583309d32b62544682ee972b51a"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/fa0f136dd2334583309d32b62544682ee972b51a",
+ "reference": "fa0f136dd2334583309d32b62544682ee972b51a",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3",
+ "sebastian/diff": "^4.0",
+ "sebastian/exporter": "^4.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "4.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ },
+ {
+ "name": "Jeff Welch",
+ "email": "whatthejeff@gmail.com"
+ },
+ {
+ "name": "Volker Dusch",
+ "email": "github@wallbash.com"
+ },
+ {
+ "name": "Bernhard Schussek",
+ "email": "bschussek@2bepublished.at"
+ }
+ ],
+ "description": "Provides the functionality to compare PHP values for equality",
+ "homepage": "https://github.com/sebastianbergmann/comparator",
+ "keywords": [
+ "comparator",
+ "compare",
+ "equality"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/comparator/issues",
+ "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.8"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2022-09-14T12:41:17+00:00"
+ },
+ {
+ "name": "sebastian/complexity",
+ "version": "2.0.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/complexity.git",
+ "reference": "25f207c40d62b8b7aa32f5ab026c53561964053a"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/25f207c40d62b8b7aa32f5ab026c53561964053a",
+ "reference": "25f207c40d62b8b7aa32f5ab026c53561964053a",
+ "shasum": ""
+ },
+ "require": {
+ "nikic/php-parser": "^4.18 || ^5.0",
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Library for calculating the complexity of PHP code units",
+ "homepage": "https://github.com/sebastianbergmann/complexity",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/complexity/issues",
+ "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.3"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2023-12-22T06:19:30+00:00"
+ },
+ {
+ "name": "sebastian/diff",
+ "version": "4.0.6",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/diff.git",
+ "reference": "ba01945089c3a293b01ba9badc29ad55b106b0bc"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/ba01945089c3a293b01ba9badc29ad55b106b0bc",
+ "reference": "ba01945089c3a293b01ba9badc29ad55b106b0bc",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3",
+ "symfony/process": "^4.2 || ^5"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "4.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ },
+ {
+ "name": "Kore Nordmann",
+ "email": "mail@kore-nordmann.de"
+ }
+ ],
+ "description": "Diff implementation",
+ "homepage": "https://github.com/sebastianbergmann/diff",
+ "keywords": [
+ "diff",
+ "udiff",
+ "unidiff",
+ "unified diff"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/diff/issues",
+ "source": "https://github.com/sebastianbergmann/diff/tree/4.0.6"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2024-03-02T06:30:58+00:00"
+ },
+ {
+ "name": "sebastian/environment",
+ "version": "5.1.5",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/environment.git",
+ "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/830c43a844f1f8d5b7a1f6d6076b784454d8b7ed",
+ "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "suggest": {
+ "ext-posix": "*"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "5.1-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ }
+ ],
+ "description": "Provides functionality to handle HHVM/PHP environments",
+ "homepage": "http://www.github.com/sebastianbergmann/environment",
+ "keywords": [
+ "Xdebug",
+ "environment",
+ "hhvm"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/environment/issues",
+ "source": "https://github.com/sebastianbergmann/environment/tree/5.1.5"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2023-02-03T06:03:51+00:00"
+ },
+ {
+ "name": "sebastian/exporter",
+ "version": "4.0.6",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/exporter.git",
+ "reference": "78c00df8f170e02473b682df15bfcdacc3d32d72"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/78c00df8f170e02473b682df15bfcdacc3d32d72",
+ "reference": "78c00df8f170e02473b682df15bfcdacc3d32d72",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3",
+ "sebastian/recursion-context": "^4.0"
+ },
+ "require-dev": {
+ "ext-mbstring": "*",
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "4.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ },
+ {
+ "name": "Jeff Welch",
+ "email": "whatthejeff@gmail.com"
+ },
+ {
+ "name": "Volker Dusch",
+ "email": "github@wallbash.com"
+ },
+ {
+ "name": "Adam Harvey",
+ "email": "aharvey@php.net"
+ },
+ {
+ "name": "Bernhard Schussek",
+ "email": "bschussek@gmail.com"
+ }
+ ],
+ "description": "Provides the functionality to export PHP variables for visualization",
+ "homepage": "https://www.github.com/sebastianbergmann/exporter",
+ "keywords": [
+ "export",
+ "exporter"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/exporter/issues",
+ "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.6"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2024-03-02T06:33:00+00:00"
+ },
+ {
+ "name": "sebastian/global-state",
+ "version": "5.0.7",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/global-state.git",
+ "reference": "bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9",
+ "reference": "bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3",
+ "sebastian/object-reflector": "^2.0",
+ "sebastian/recursion-context": "^4.0"
+ },
+ "require-dev": {
+ "ext-dom": "*",
+ "phpunit/phpunit": "^9.3"
+ },
+ "suggest": {
+ "ext-uopz": "*"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "5.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ }
+ ],
+ "description": "Snapshotting of global state",
+ "homepage": "http://www.github.com/sebastianbergmann/global-state",
+ "keywords": [
+ "global state"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/global-state/issues",
+ "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.7"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2024-03-02T06:35:11+00:00"
+ },
+ {
+ "name": "sebastian/lines-of-code",
+ "version": "1.0.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/lines-of-code.git",
+ "reference": "e1e4a170560925c26d424b6a03aed157e7dcc5c5"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/e1e4a170560925c26d424b6a03aed157e7dcc5c5",
+ "reference": "e1e4a170560925c26d424b6a03aed157e7dcc5c5",
+ "shasum": ""
+ },
+ "require": {
+ "nikic/php-parser": "^4.18 || ^5.0",
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Library for counting the lines of code in PHP source code",
+ "homepage": "https://github.com/sebastianbergmann/lines-of-code",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/lines-of-code/issues",
+ "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.4"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2023-12-22T06:20:34+00:00"
+ },
+ {
+ "name": "sebastian/object-enumerator",
+ "version": "4.0.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/object-enumerator.git",
+ "reference": "5c9eeac41b290a3712d88851518825ad78f45c71"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71",
+ "reference": "5c9eeac41b290a3712d88851518825ad78f45c71",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3",
+ "sebastian/object-reflector": "^2.0",
+ "sebastian/recursion-context": "^4.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "4.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ }
+ ],
+ "description": "Traverses array structures and object graphs to enumerate all referenced objects",
+ "homepage": "https://github.com/sebastianbergmann/object-enumerator/",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/object-enumerator/issues",
+ "source": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-10-26T13:12:34+00:00"
+ },
+ {
+ "name": "sebastian/object-reflector",
+ "version": "2.0.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/object-reflector.git",
+ "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7",
+ "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ }
+ ],
+ "description": "Allows reflection of object attributes, including inherited and non-public ones",
+ "homepage": "https://github.com/sebastianbergmann/object-reflector/",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/object-reflector/issues",
+ "source": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-10-26T13:14:26+00:00"
+ },
+ {
+ "name": "sebastian/recursion-context",
+ "version": "4.0.5",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/recursion-context.git",
+ "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1",
+ "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "4.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ },
+ {
+ "name": "Jeff Welch",
+ "email": "whatthejeff@gmail.com"
+ },
+ {
+ "name": "Adam Harvey",
+ "email": "aharvey@php.net"
+ }
+ ],
+ "description": "Provides functionality to recursively process PHP variables",
+ "homepage": "https://github.com/sebastianbergmann/recursion-context",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/recursion-context/issues",
+ "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.5"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2023-02-03T06:07:39+00:00"
+ },
+ {
+ "name": "sebastian/resource-operations",
+ "version": "3.0.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/resource-operations.git",
+ "reference": "05d5692a7993ecccd56a03e40cd7e5b09b1d404e"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/05d5692a7993ecccd56a03e40cd7e5b09b1d404e",
+ "reference": "05d5692a7993ecccd56a03e40cd7e5b09b1d404e",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "3.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ }
+ ],
+ "description": "Provides a list of PHP built-in functions that operate on resources",
+ "homepage": "https://www.github.com/sebastianbergmann/resource-operations",
+ "support": {
+ "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.4"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2024-03-14T16:00:52+00:00"
+ },
+ {
+ "name": "sebastian/type",
+ "version": "3.2.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/type.git",
+ "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7",
+ "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.5"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.2-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Collection of value objects that represent the types of the PHP type system",
+ "homepage": "https://github.com/sebastianbergmann/type",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/type/issues",
+ "source": "https://github.com/sebastianbergmann/type/tree/3.2.1"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2023-02-03T06:13:03+00:00"
+ },
+ {
+ "name": "sebastian/version",
+ "version": "3.0.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/version.git",
+ "reference": "c6c1022351a901512170118436c764e473f6de8c"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c",
+ "reference": "c6c1022351a901512170118436c764e473f6de8c",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Library that helps with managing the version number of Git-hosted PHP projects",
+ "homepage": "https://github.com/sebastianbergmann/version",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/version/issues",
+ "source": "https://github.com/sebastianbergmann/version/tree/3.0.2"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-09-28T06:39:44+00:00"
+ },
+ {
+ "name": "symfony/browser-kit",
+ "version": "v7.0.7",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/browser-kit.git",
+ "reference": "0a48e67a7975c07d8cc0661fbbdddce56c58425e"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/browser-kit/zipball/0a48e67a7975c07d8cc0661fbbdddce56c58425e",
+ "reference": "0a48e67a7975c07d8cc0661fbbdddce56c58425e",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.2",
+ "symfony/dom-crawler": "^6.4|^7.0"
+ },
+ "require-dev": {
+ "symfony/css-selector": "^6.4|^7.0",
+ "symfony/http-client": "^6.4|^7.0",
+ "symfony/mime": "^6.4|^7.0",
+ "symfony/process": "^6.4|^7.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\BrowserKit\\": ""
+ },
+ "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": "Simulates the behavior of a web browser, allowing you to make requests, click on links and submit forms programmatically",
+ "homepage": "https://symfony.com",
+ "support": {
+ "source": "https://github.com/symfony/browser-kit/tree/v7.0.7"
+ },
+ "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-04-18T09:29:19+00:00"
+ },
+ {
+ "name": "symfony/css-selector",
+ "version": "v7.0.7",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/css-selector.git",
+ "reference": "b08a4ad89e84b29cec285b7b1f781a7ae51cf4bc"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/css-selector/zipball/b08a4ad89e84b29cec285b7b1f781a7ae51cf4bc",
+ "reference": "b08a4ad89e84b29cec285b7b1f781a7ae51cf4bc",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.2"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\CssSelector\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Jean-François Simon",
+ "email": "jeanfrancois.simon@sensiolabs.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Converts CSS selectors to XPath expressions",
+ "homepage": "https://symfony.com",
+ "support": {
+ "source": "https://github.com/symfony/css-selector/tree/v7.0.7"
+ },
+ "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-04-18T09:29:19+00:00"
+ },
+ {
+ "name": "symfony/debug-bundle",
+ "version": "v7.0.7",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/debug-bundle.git",
+ "reference": "4b013a2c886cfd0292d90a9a9cebfa29ec7b578c"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/debug-bundle/zipball/4b013a2c886cfd0292d90a9a9cebfa29ec7b578c",
+ "reference": "4b013a2c886cfd0292d90a9a9cebfa29ec7b578c",
+ "shasum": ""
+ },
+ "require": {
+ "ext-xml": "*",
+ "php": ">=8.2",
+ "symfony/dependency-injection": "^6.4|^7.0",
+ "symfony/http-kernel": "^6.4|^7.0",
+ "symfony/twig-bridge": "^6.4|^7.0",
+ "symfony/var-dumper": "^6.4|^7.0"
+ },
+ "conflict": {
+ "symfony/config": "<6.4",
+ "symfony/dependency-injection": "<6.4"
+ },
+ "require-dev": {
+ "symfony/config": "^6.4|^7.0",
+ "symfony/web-profiler-bundle": "^6.4|^7.0"
+ },
+ "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/v7.0.7"
+ },
+ "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-04-18T09:29:19+00:00"
+ },
+ {
+ "name": "symfony/dom-crawler",
+ "version": "v7.0.7",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/dom-crawler.git",
+ "reference": "7cb4ae7166a8a36916be390dbb3819474fb06a29"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/7cb4ae7166a8a36916be390dbb3819474fb06a29",
+ "reference": "7cb4ae7166a8a36916be390dbb3819474fb06a29",
+ "shasum": ""
+ },
+ "require": {
+ "masterminds/html5": "^2.6",
+ "php": ">=8.2",
+ "symfony/polyfill-ctype": "~1.8",
+ "symfony/polyfill-mbstring": "~1.0"
+ },
+ "require-dev": {
+ "symfony/css-selector": "^6.4|^7.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\DomCrawler\\": ""
+ },
+ "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": "Eases DOM navigation for HTML and XML documents",
+ "homepage": "https://symfony.com",
+ "support": {
+ "source": "https://github.com/symfony/dom-crawler/tree/v7.0.7"
+ },
+ "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-04-18T09:29:19+00:00"
+ },
+ {
+ "name": "symfony/maker-bundle",
+ "version": "v1.59.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/maker-bundle.git",
+ "reference": "b87b1b25c607a8a50832395bc751c784946a0350"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/maker-bundle/zipball/b87b1b25c607a8a50832395bc751c784946a0350",
+ "reference": "b87b1b25c607a8a50832395bc751c784946a0350",
+ "shasum": ""
+ },
+ "require": {
+ "doctrine/inflector": "^2.0",
+ "nikic/php-parser": "^4.18|^5.0",
+ "php": ">=8.1",
+ "symfony/config": "^6.4|^7.0",
+ "symfony/console": "^6.4|^7.0",
+ "symfony/dependency-injection": "^6.4|^7.0",
+ "symfony/deprecation-contracts": "^2.2|^3",
+ "symfony/filesystem": "^6.4|^7.0",
+ "symfony/finder": "^6.4|^7.0",
+ "symfony/framework-bundle": "^6.4|^7.0",
+ "symfony/http-kernel": "^6.4|^7.0",
+ "symfony/process": "^6.4|^7.0"
+ },
+ "conflict": {
+ "doctrine/doctrine-bundle": "<2.10",
+ "doctrine/orm": "<2.15"
+ },
+ "require-dev": {
+ "composer/semver": "^3.0",
+ "doctrine/doctrine-bundle": "^2.5.0",
+ "doctrine/orm": "^2.15|^3",
+ "symfony/http-client": "^6.4|^7.0",
+ "symfony/phpunit-bridge": "^6.4.1|^7.0",
+ "symfony/security-core": "^6.4|^7.0",
+ "symfony/yaml": "^6.4|^7.0",
+ "twig/twig": "^3.0|^4.x-dev"
+ },
+ "type": "symfony-bundle",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "1.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Bundle\\MakerBundle\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony Maker helps you create empty commands, controllers, form classes, tests and more so you can forget about writing boilerplate code.",
+ "homepage": "https://symfony.com/doc/current/bundles/SymfonyMakerBundle/index.html",
+ "keywords": [
+ "code generator",
+ "dev",
+ "generator",
+ "scaffold",
+ "scaffolding"
+ ],
+ "support": {
+ "issues": "https://github.com/symfony/maker-bundle/issues",
+ "source": "https://github.com/symfony/maker-bundle/tree/v1.59.1"
+ },
+ "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-06T03:59:59+00:00"
+ },
+ {
+ "name": "symfony/phpunit-bridge",
+ "version": "v7.0.7",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/phpunit-bridge.git",
+ "reference": "0a0b90ba08b9a03e09ad49f8d613bdf3eca3a7a9"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/0a0b90ba08b9a03e09ad49f8d613bdf3eca3a7a9",
+ "reference": "0a0b90ba08b9a03e09ad49f8d613bdf3eca3a7a9",
"shasum": ""
},
"require": {
@@ -4166,7 +8340,7 @@
"description": "Provides utilities for PHPUnit, especially user deprecation notices management",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/phpunit-bridge/tree/v7.0.6"
+ "source": "https://github.com/symfony/phpunit-bridge/tree/v7.0.7"
},
"funding": [
{
@@ -4182,34 +8356,30 @@
"type": "tidelift"
}
],
- "time": "2024-03-19T11:57:22+00:00"
+ "time": "2024-04-18T09:29:19+00:00"
},
{
- "name": "symfony/process",
- "version": "v4.3.11",
+ "name": "symfony/stopwatch",
+ "version": "v7.0.7",
"source": {
"type": "git",
- "url": "https://github.com/symfony/process.git",
- "reference": "61ab103012c3072fb340447a34598714ba74ba6f"
+ "url": "https://github.com/symfony/stopwatch.git",
+ "reference": "41a7a24aa1dc82adf46a06bc292d1923acfe6b84"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/process/zipball/61ab103012c3072fb340447a34598714ba74ba6f",
- "reference": "61ab103012c3072fb340447a34598714ba74ba6f",
+ "url": "https://api.github.com/repos/symfony/stopwatch/zipball/41a7a24aa1dc82adf46a06bc292d1923acfe6b84",
+ "reference": "41a7a24aa1dc82adf46a06bc292d1923acfe6b84",
"shasum": ""
},
"require": {
- "php": "^7.1.3"
+ "php": ">=8.2",
+ "symfony/service-contracts": "^2.5|^3"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.3-dev"
- }
- },
"autoload": {
"psr-4": {
- "Symfony\\Component\\Process\\": ""
+ "Symfony\\Component\\Stopwatch\\": ""
},
"exclude-from-classmap": [
"/Tests/"
@@ -4229,49 +8399,65 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony Process Component",
+ "description": "Provides a way to profile code",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/process/tree/v4.3.10"
+ "source": "https://github.com/symfony/stopwatch/tree/v7.0.7"
},
- "time": "2020-01-09T09:39:05+00:00"
+ "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-04-18T09:29:19+00:00"
},
{
- "name": "symfony/web-server-bundle",
- "version": "v4.3.11",
+ "name": "symfony/web-profiler-bundle",
+ "version": "v7.0.7",
"source": {
"type": "git",
- "url": "https://github.com/symfony/web-server-bundle.git",
- "reference": "2338445b78f1fb212a96f4286abdc77ee1e92607"
+ "url": "https://github.com/symfony/web-profiler-bundle.git",
+ "reference": "a9a722210b391d7f6d97f140a5f2f7eee604d81a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/web-server-bundle/zipball/2338445b78f1fb212a96f4286abdc77ee1e92607",
- "reference": "2338445b78f1fb212a96f4286abdc77ee1e92607",
+ "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/a9a722210b391d7f6d97f140a5f2f7eee604d81a",
+ "reference": "a9a722210b391d7f6d97f140a5f2f7eee604d81a",
"shasum": ""
},
"require": {
- "php": "^7.1.3",
- "symfony/config": "~3.4|~4.0",
- "symfony/console": "~3.4|~4.0",
- "symfony/dependency-injection": "~3.4|~4.0",
- "symfony/http-kernel": "~3.4|~4.0",
- "symfony/polyfill-ctype": "~1.8",
- "symfony/process": "^3.4.2|^4.0.2"
+ "php": ">=8.2",
+ "symfony/config": "^6.4|^7.0",
+ "symfony/framework-bundle": "^6.4|^7.0",
+ "symfony/http-kernel": "^6.4|^7.0",
+ "symfony/routing": "^6.4|^7.0",
+ "symfony/twig-bundle": "^6.4|^7.0",
+ "twig/twig": "^3.0.4"
},
- "suggest": {
- "symfony/expression-language": "For using the filter option of the log server.",
- "symfony/monolog-bridge": "For using the log server."
+ "conflict": {
+ "symfony/form": "<6.4",
+ "symfony/mailer": "<6.4",
+ "symfony/messenger": "<6.4"
+ },
+ "require-dev": {
+ "symfony/browser-kit": "^6.4|^7.0",
+ "symfony/console": "^6.4|^7.0",
+ "symfony/css-selector": "^6.4|^7.0",
+ "symfony/stopwatch": "^6.4|^7.0"
},
"type": "symfony-bundle",
- "extra": {
- "branch-alias": {
- "dev-master": "4.3-dev"
- }
- },
"autoload": {
"psr-4": {
- "Symfony\\Bundle\\WebServerBundle\\": ""
+ "Symfony\\Bundle\\WebProfilerBundle\\": ""
},
"exclude-from-classmap": [
"/Tests/"
@@ -4291,26 +8477,91 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony WebServerBundle",
+ "description": "Provides a development tool that gives detailed information about the execution of any request",
"homepage": "https://symfony.com",
+ "keywords": [
+ "dev"
+ ],
"support": {
- "source": "https://github.com/symfony/web-server-bundle/tree/4.3"
+ "source": "https://github.com/symfony/web-profiler-bundle/tree/v7.0.7"
},
- "abandoned": true,
- "time": "2020-01-04T12:24:57+00:00"
+ "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-04-18T09:29:19+00:00"
+ },
+ {
+ "name": "theseer/tokenizer",
+ "version": "1.2.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/theseer/tokenizer.git",
+ "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/theseer/tokenizer/zipball/737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2",
+ "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2",
+ "shasum": ""
+ },
+ "require": {
+ "ext-dom": "*",
+ "ext-tokenizer": "*",
+ "ext-xmlwriter": "*",
+ "php": "^7.2 || ^8.0"
+ },
+ "type": "library",
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Arne Blankerts",
+ "email": "arne@blankerts.de",
+ "role": "Developer"
+ }
+ ],
+ "description": "A small library for converting tokenized PHP source code into XML and potentially other formats",
+ "support": {
+ "issues": "https://github.com/theseer/tokenizer/issues",
+ "source": "https://github.com/theseer/tokenizer/tree/1.2.3"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/theseer",
+ "type": "github"
+ }
+ ],
+ "time": "2024-03-03T12:36:25+00:00"
}
],
"aliases": [],
"minimum-stability": "stable",
"stability-flags": [],
- "prefer-stable": false,
+ "prefer-stable": true,
"prefer-lowest": false,
"platform": {
- "php": "^7.1.3",
+ "php": ">=8.2",
"ext-ctype": "*",
- "ext-iconv": "*",
"ext-curl": "*",
- "ext-json": "*"
+ "ext-iconv": "*"
},
"platform-dev": [],
"plugin-api-version": "2.6.0"
diff --git a/config/bundles.php b/config/bundles.php
index 5922acd..350627f 100644
--- a/config/bundles.php
+++ b/config/bundles.php
@@ -2,10 +2,15 @@
return [
Symfony\Bundle\FrameworkBundle\FrameworkBundle::class => ['all' => true],
- Symfony\Bundle\WebServerBundle\WebServerBundle::class => ['dev' => true],
- Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle::class => ['all' => true],
Symfony\Bundle\SecurityBundle\SecurityBundle::class => ['all' => true],
+ Symfony\Bundle\DebugBundle\DebugBundle::class => ['dev' => true],
Symfony\Bundle\TwigBundle\TwigBundle::class => ['all' => true],
+ Symfony\Bundle\WebProfilerBundle\WebProfilerBundle::class => ['dev' => true, 'test' => true],
FOS\JsRoutingBundle\FOSJsRoutingBundle::class => ['all' => true],
Craue\FormFlowBundle\CraueFormFlowBundle::class => ['all' => true],
+ Twig\Extra\TwigExtraBundle\TwigExtraBundle::class => ['all' => true],
+ Symfony\UX\StimulusBundle\StimulusBundle::class => ['all' => true],
+ Symfony\UX\Turbo\TurboBundle::class => ['all' => true],
+ Symfony\Bundle\MonologBundle\MonologBundle::class => ['all' => true],
+ Symfony\Bundle\MakerBundle\MakerBundle::class => ['dev' => true],
];
diff --git a/config/packages/asset_mapper.yaml b/config/packages/asset_mapper.yaml
new file mode 100644
index 0000000..d1ac653
--- /dev/null
+++ b/config/packages/asset_mapper.yaml
@@ -0,0 +1,5 @@
+framework:
+ asset_mapper:
+ # The paths to make available to the asset mapper.
+ paths:
+ - assets/
diff --git a/config/packages/debug.yaml b/config/packages/debug.yaml
new file mode 100644
index 0000000..ad874af
--- /dev/null
+++ b/config/packages/debug.yaml
@@ -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)%"
diff --git a/config/packages/dev/routing.yaml b/config/packages/dev/routing.yaml
deleted file mode 100644
index 4116679..0000000
--- a/config/packages/dev/routing.yaml
+++ /dev/null
@@ -1,3 +0,0 @@
-framework:
- router:
- strict_requirements: true
diff --git a/config/packages/framework.yaml b/config/packages/framework.yaml
index 6089f4b..4bb2dcd 100644
--- a/config/packages/framework.yaml
+++ b/config/packages/framework.yaml
@@ -1,16 +1,16 @@
+# see https://symfony.com/doc/current/reference/configuration/framework.html
framework:
secret: '%env(APP_SECRET)%'
#csrf_protection: true
- #http_method_override: true
- # Enables session support. Note that the session will ONLY be started if you read or write from it.
- # Remove or comment this section to explicitly disable session support.
- session:
- handler_id: null
- cookie_secure: auto
- cookie_samesite: lax
+ # Note that the session will be started ONLY if you read or write from it.
+ session: true
#esi: true
#fragments: true
- php_errors:
- log: true
+
+when@test:
+ framework:
+ test: true
+ session:
+ storage_factory_id: session.storage.factory.mock_file
\ No newline at end of file
diff --git a/config/packages/routing.yaml b/config/packages/routing.yaml
index 3d69e1e..66a2979 100644
--- a/config/packages/routing.yaml
+++ b/config/packages/routing.yaml
@@ -1,4 +1,10 @@
framework:
router:
- strict_requirements: null
- utf8: true
+ # Configure how to generate URLs in non-HTTP contexts, such as CLI commands.
+ # See https://symfony.com/doc/current/routing.html#generating-urls-in-commands
+ #default_uri: http://localhost
+
+when@prod:
+ framework:
+ router:
+ strict_requirements: null
\ No newline at end of file
diff --git a/config/packages/security.yaml b/config/packages/security.yaml
index 009c79d..dfa6bf9 100644
--- a/config/packages/security.yaml
+++ b/config/packages/security.yaml
@@ -1,13 +1,19 @@
security:
+ # https://symfony.com/doc/current/security.html#registering-the-user-hashing-passwords
+ password_hashers:
+ Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface: 'auto'
# https://symfony.com/doc/current/security.html#where-do-users-come-from-user-providers
providers:
- in_memory: { memory: ~ }
+ # used to reload user from session & other features (e.g. switch_user)
+ app_user_provider:
+ id: App\Security\UserProvider
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
main:
- anonymous: ~
+ lazy: true
+ provider: app_user_provider
logout:
path: logout
@@ -23,3 +29,16 @@ security:
# - { path: ^/admin, roles: ROLE_ADMIN }
- { path: ^/(%languages%)?/schedule, roles: ROLE_USER }
- { path: ^/(%languages%)?/scheduled, roles: ROLE_USER }
+
+when@test:
+ security:
+ password_hashers:
+ # By default, password hashers are resource intensive and take time. This is
+ # important to generate secure password hashes. In tests however, secure hashes
+ # are not important, waste resources and increase test times. The following
+ # reduces the work factor to the lowest possible values.
+ Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface:
+ algorithm: auto
+ cost: 4 # Lowest possible value for bcrypt
+ time_cost: 3 # Lowest possible value for argon
+ memory_cost: 10 # Lowest possible value for argon
\ No newline at end of file
diff --git a/config/packages/sensio_framework_extra.yaml b/config/packages/sensio_framework_extra.yaml
deleted file mode 100644
index 1821ccc..0000000
--- a/config/packages/sensio_framework_extra.yaml
+++ /dev/null
@@ -1,3 +0,0 @@
-sensio_framework_extra:
- router:
- annotations: false
diff --git a/config/packages/test/framework.yaml b/config/packages/test/framework.yaml
deleted file mode 100644
index d051c84..0000000
--- a/config/packages/test/framework.yaml
+++ /dev/null
@@ -1,4 +0,0 @@
-framework:
- test: true
- session:
- storage_id: session.storage.mock_file
diff --git a/config/packages/test/routing.yaml b/config/packages/test/routing.yaml
deleted file mode 100644
index 4116679..0000000
--- a/config/packages/test/routing.yaml
+++ /dev/null
@@ -1,3 +0,0 @@
-framework:
- router:
- strict_requirements: true
diff --git a/config/packages/test/validator.yaml b/config/packages/test/validator.yaml
deleted file mode 100644
index 1e5ab78..0000000
--- a/config/packages/test/validator.yaml
+++ /dev/null
@@ -1,3 +0,0 @@
-framework:
- validation:
- not_compromised_password: false
diff --git a/config/packages/twig.yaml b/config/packages/twig.yaml
index d1582a2..688ea45 100644
--- a/config/packages/twig.yaml
+++ b/config/packages/twig.yaml
@@ -1,4 +1,6 @@
twig:
- default_path: '%kernel.project_dir%/templates'
- debug: '%kernel.debug%'
- strict_variables: '%kernel.debug%'
+ file_name_pattern: '*.twig'
+
+when@test:
+ twig:
+ strict_variables: true
\ No newline at end of file
diff --git a/config/packages/validator.yaml b/config/packages/validator.yaml
index 350786a..14a2f4b 100644
--- a/config/packages/validator.yaml
+++ b/config/packages/validator.yaml
@@ -1,8 +1,11 @@
framework:
validation:
- email_validation_mode: html5
+ # Enables validator auto-mapping support.
+ # For instance, basic validation constraints will be inferred from Doctrine's metadata.
+ #auto_mapping:
+ # App\Entity\: []
- # Enables validator auto-mapping support.
- # For instance, basic validation constraints will be inferred from Doctrine's metadata.
- #auto_mapping:
- # App\Entity\: []
+when@test:
+ framework:
+ validation:
+ not_compromised_password: false
diff --git a/config/packages/web_profiler.yaml b/config/packages/web_profiler.yaml
new file mode 100644
index 0000000..b946111
--- /dev/null
+++ b/config/packages/web_profiler.yaml
@@ -0,0 +1,17 @@
+when@dev:
+ web_profiler:
+ toolbar: true
+ intercept_redirects: false
+
+ framework:
+ profiler:
+ only_exceptions: false
+ collect_serializer_data: true
+
+when@test:
+ web_profiler:
+ toolbar: false
+ intercept_redirects: false
+
+ framework:
+ profiler: { collect: false }
diff --git a/config/preload.php b/config/preload.php
new file mode 100644
index 0000000..5ebcdb2
--- /dev/null
+++ b/config/preload.php
@@ -0,0 +1,5 @@
+ [
+ 'path' => './assets/app.js',
+ 'entrypoint' => true,
+ ],
+ '@hotwired/stimulus' => [
+ 'version' => '3.2.2',
+ ],
+ '@symfony/stimulus-bundle' => [
+ 'path' => './vendor/symfony/stimulus-bundle/assets/dist/loader.js',
+ ],
+ '@hotwired/turbo' => [
+ 'version' => '7.3.0',
+ ],
+];
diff --git a/public/index.php b/public/index.php
index e30f90c..9982c21 100644
--- a/public/index.php
+++ b/public/index.php
@@ -1,27 +1,9 @@
handle($request);
-$response->send();
-$kernel->terminate($request, $response);
+return function (array $context) {
+ return new Kernel($context['APP_ENV'], (bool) $context['APP_DEBUG']);
+};
diff --git a/public/js/emojionearea.js b/public/js/emojionearea.js
index 99835bf..32266a1 100644
--- a/public/js/emojionearea.js
+++ b/public/js/emojionearea.js
@@ -1400,13 +1400,14 @@ document = window.document || {};
self.editor.html(self.content = '');
}
source[sourceValFunc](self.getText());
- let inputText;
- inputText = self.getText();
- inputText = inputText
- .replace(/(^|[^\/\w])@(([a-z0-9_]+)@[a-z0-9.-]+[a-z0-9]+)/ig, '$1@$3')
- .replace(/(http(s)?:\/\/.)?(www\.)?[-a-zA-Z0-9@:%._+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_+.~#?&/=]*)/g, 'xxxxxxxxxxxxxxxxxxxxxxx');
-
- $("#count").text(inputText.length);
+ var count = 0;
+ $('.emojionearea-editor').each(function() {
+ var currentElement = $(this);
+ count += currentElement.text()
+ .replace(/(^|[^\/\w])@(([a-z0-9_]+)@[a-z0-9.-]+[a-z0-9]+)/ig, '$1@$3')
+ .replace(/(http(s)?:\/\/.)?(www\.)?[-a-zA-Z0-9@:%._+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_+.~#?&/=]*)/g, 'xxxxxxxxxxxxxxxxxxxxxxx').length;
+ });
+ $("#count").text(count);
});
if (options.shortcuts) {
self.on("@keydown", function(_, e) {
@@ -1456,12 +1457,11 @@ document = window.document || {};
id: css_class,
match: /\B((:[\-+\w]*)|(@[\-+\w]*)|(#[\-+\w]*))$/,
search: function (term, callback) {
-
if (term.startsWith(":")) {
callback($.map(map, function (emoji) {
return emoji.indexOf(term) === 0 ? emoji : null;
}));
- } else if (term.startsWith("@")){
+ } else if (term.startsWith("@") && term.substring(1).length > 1){
$.ajax({
url: "https://"+$('#data_api').attr('data-instance')+"/api/v2/search?type=accounts&q="+term.substring(1),
headers: {"Authorization": $('#data_api').attr('data-token')},
@@ -1471,7 +1471,7 @@ document = window.document || {};
return value;
}));
});
- }else if (term.startsWith("#")){
+ }else if (term.startsWith("#") && term.substring(1).length > 1){
$.ajax({
url: "https://"+$('#data_api').attr('data-instance')+"/api/v2/search?type=hashtags&q="+term.substring(1),
headers: {"Authorization": $('#data_api').attr('data-token')},
@@ -1481,6 +1481,10 @@ document = window.document || {};
return value;
}));
});
+ } else {
+ callback($.map(map, function () {
+ return null;
+ }));
}
},
template: function (value) {
@@ -1500,7 +1504,6 @@ document = window.document || {};
}else if (typeof value.name != 'undefined') {
return "#"+value.name+ " ";
}else{
-
return shortnameTo(value, self.emojiTemplate);
}
},
diff --git a/src/Controller/FediPlanController.php b/src/Controller/FediPlanController.php
index 02fa059..2fdf5ed 100644
--- a/src/Controller/FediPlanController.php
+++ b/src/Controller/FediPlanController.php
@@ -1,8 +1,4 @@
- '%allowed_language%'],
+ defaults: ['_locale'=>'en']
+ )]
+ public function index(Request $request, AuthorizationCheckerInterface $authorizationChecker, ConnectMastodonAccountFlow $flow, Mastodon_api $mastodon_api, TranslatorInterface $translator, EventDispatcherInterface $eventDispatcher): RedirectResponse|Response
{
if ($authorizationChecker->isGranted('IS_AUTHENTICATED_FULLY')) {
@@ -72,15 +73,11 @@ class FediPlanController extends AbstractController
// form for the next step
$mastodon_api->set_client($createApp['response']['client_id'], $createApp['response']['client_secret']);
$urlToMastodon = $mastodon_api->getAuthorizationUrl();
- if (isset($createApp['error'])) {
- $form->get('host')->addError(new FormError($translator->trans('error.instance.mastodon_oauth_url', [], 'fediplan', 'en')));
- } else {
- $flow->saveCurrentStepData($form);
- $client_id = $createApp['response']['client_id'];
- $client_secret = $createApp['response']['client_secret'];
- $flow->nextStep();
- $form = $flow->createForm();
- }
+ $flow->saveCurrentStepData($form);
+ $client_id = $createApp['response']['client_id'];
+ $client_secret = $createApp['response']['client_secret'];
+ $flow->nextStep();
+ $form = $flow->createForm();
}
}
@@ -102,14 +99,23 @@ class FediPlanController extends AbstractController
if (isset($accountReply['error'])) {
$form->get('code')->addError(new FormError($translator->trans('error.instance.mastodon_account', [], 'fediplan', 'en')));
} else {
- $Account = $mastodon_api->getSingleAccount($accountReply['response']);
- $Account->setInstance($host);
- $Account->setToken($token_type . " " . $access_token);
- $token = new UsernamePasswordToken($Account, null, 'main', array('ROLE_USER'));
- $this->get('security.token_storage')->setToken($token);
- $event = new InteractiveLoginEvent($request, $token);
- $eventDispatcher->dispatch($event, "security.interactive_login");
- return $this->redirectToRoute('schedule');
+ $account = $mastodon_api->getSingleAccount($accountReply['response']);
+ $instanceReply = $mastodon_api->get_instance();
+ $instance = $mastodon_api->getInstanceConfiguration($instanceReply['response']);
+ $session = $request->getSession();
+ $session->set("instance",$instance);
+ $account->setInstance($host);
+ $account->setToken($token_type . " " . $access_token);
+ $token = new UsernamePasswordToken($account, 'main', array('ROLE_USER'));
+ try {
+ $this->container->get('security.token_storage')->setToken($token);
+ $event = new InteractiveLoginEvent($request, $token);
+ $eventDispatcher->dispatch($event, "security.interactive_login");
+ return $this->redirectToRoute('schedule');
+ } catch (NotFoundExceptionInterface|ContainerExceptionInterface $e) {
+ $form->get('code')->addError(new FormError($translator->trans('error.instance.mastodon_account', [], 'fediplan', 'en')));
+ }
+
}
}
}
@@ -128,27 +134,31 @@ class FediPlanController extends AbstractController
}
- /**
- * @Route("/{_locale}/schedule", name="schedule", defaults={"_locale"="en"}, requirements={"_locale": "%allowed_language%"})
- */
- public function schedule(Request $request, Mastodon_api $mastodon_api, TranslatorInterface $translator)
+ #[Route(
+ '/{_locale}/schedule',
+ name: 'schedule',
+ requirements: ['_locale' => '%allowed_language%'],
+ defaults: ['_locale'=>'en']
+ )]
+ public function schedule(Request $request, Mastodon_api $mastodon_api, TranslatorInterface $translator): Response
{
$compose = new Compose();
$pollOption1 = new PollOption();
$pollOption1->setTitle("");
- $compose->getPollOptions()->add($pollOption1);
+ $options = $compose->getPollOptions();
+ $options[] = $pollOption1;
$pollOption2 = new PollOption();
$pollOption2->setTitle("");
- $compose->getPollOptions()->add($pollOption2);
- $form = $this->createForm(ComposeType::class, $compose, ['user' => $this->getUser()]);
+ $options[] = $pollOption2;
+ $compose->setPollOptions($options);
+ $user = $this->getUser();
+ $form = $this->createForm(ComposeType::class, $compose, ['user' => $user]);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
/** @var $data Compose */
$data = $form->getData();
- /* @var $user MastodonAccount */
- $user = $this->getUser();
$mastodon_api->set_url("https://" . $user->getInstance());
$token = explode(" ", $user->getToken())[1];
$type = explode(" ", $user->getToken())[0];
@@ -157,8 +167,7 @@ class FediPlanController extends AbstractController
//Update media description and store their id
foreach ($_POST as $key => $value) {
if ($key != "compose") {
-
- if (strpos($key, 'media_id_') !== false) {
+ if (str_contains($key, 'media_id_')) {
$mediaId = $value;
$description = $_POST['media_description_' . $mediaId];
@@ -182,7 +191,12 @@ class FediPlanController extends AbstractController
}
$params['sensitive'] = ($data->getSensitive() == null || !$data->getSensitive()) ? false : true;
- $pollOptions = $data->getPollOptions();
+ if($data->getAttachPoll() > 0) {
+ $pollOptions = $data->getPollOptions();
+ } else{
+ $pollOptions = array();
+ }
+
$pollExpiresAt = $data->getPollExpiresAt();
$isPollMultiple = $data->isPollMultiple();
if (count($pollOptions) > 0) {
@@ -227,10 +241,12 @@ class FediPlanController extends AbstractController
$compose = new Compose();
$pollOption1 = new PollOption();
$pollOption1->setTitle("");
- $compose->getPollOptions()->add($pollOption1);
+ $options = $compose->getPollOptions();
+ $options[] = $pollOption1;
$pollOption2 = new PollOption();
$pollOption2->setTitle("");
- $compose->getPollOptions()->add($pollOption2);
+ $options[] = $pollOption2;
+ $compose->setPollOptions($options);
$session->getFlashBag()->add(
'Success',
$translator->trans('common.schedule_success', [], 'fediplan', 'en')
@@ -249,20 +265,24 @@ class FediPlanController extends AbstractController
}
-
- /**
- * @Route("/{_locale}/scheduled", name="scheduled", defaults={"_locale"="en"}, requirements={"_locale": "%allowed_language%"})
- */
- public function scheduled()
+ #[Route(
+ '/{_locale}/scheduled',
+ name: 'scheduled',
+ requirements: ['_locale' => '%allowed_language%'],
+ defaults: ['_locale'=>'en']
+ )]
+ public function scheduled(): Response
{
return $this->render("fediplan/scheduled.html.twig");
}
- /**
- * @Route("/{_locale}/scheduled/messages/{max_id}", options={"expose"=true}, name="load_more")
- */
- public function loadMoreAction(Mastodon_api $mastodon_api, string $max_id = null)
+ #[Route(
+ '/{_locale}/scheduled/messages/{max_id}',
+ name: 'load_more',
+ options: ['expose' => true]
+ )]
+ public function loadMoreAction(Mastodon_api $mastodon_api, string $max_id = null): JsonResponse
{
$user = $this->getUser();
@@ -281,10 +301,15 @@ class FediPlanController extends AbstractController
return new JsonResponse($data);
}
- /**
- * @Route("/{_locale}/scheduled/delete/messages/{id}", options={"expose"=true}, name="delete_message", methods={"POST"}, defaults={"_locale"="en"}, requirements={"_locale": "%allowed_language%"})
- */
- public function deleteMessage(Mastodon_api $mastodon_api, string $id = null)
+ #[Route(
+ '/{_locale}/scheduled/delete/messages/{id}',
+ name: 'delete_message',
+ requirements: ['_locale' => '%allowed_language%'],
+ options: ['expose' => true],
+ defaults: ['_locale'=>'en'],
+ methods: ['POST']
+ )]
+ public function deleteMessage(Mastodon_api $mastodon_api, string $id = null): JsonResponse
{
$user = $this->getUser();
$mastodon_api->set_url("https://" . $user->getInstance());
@@ -295,19 +320,23 @@ class FediPlanController extends AbstractController
return new JsonResponse($response);
}
- /**
- * @Route("/about",defaults={"_locale"="en"})
- * @Route("/{_locale}/about", name="about", defaults={"_locale":"en"}, requirements={"_locale": "%allowed_language%"})
- */
- public function about()
+
+ #[Route(
+ '/{_locale}/about',
+ name: 'about',
+ requirements: ['_locale' => '%allowed_language%'],
+ defaults: ['_locale'=>'en']
+ )]
+ public function about(): Response
{
return $this->render("fediplan/about.html.twig");
}
- /**
- * @Route("/logout", name="logout")
- */
- public function logout()
+ #[Route(
+ '/logout',
+ name: 'logout'
+ )]
+ public function logout(): Response
{
return $this->render("fediplan/index.html.twig");
}
diff --git a/src/EventSubscriber/LocaleSubscriber.php b/src/EventSubscriber/LocaleSubscriber.php
index 6ee600c..3b149b4 100644
--- a/src/EventSubscriber/LocaleSubscriber.php
+++ b/src/EventSubscriber/LocaleSubscriber.php
@@ -15,14 +15,14 @@ use Symfony\Component\HttpKernel\KernelEvents;
class LocaleSubscriber implements EventSubscriberInterface
{
- private $defaultLocale;
+ private string $defaultLocale;
public function __construct($defaultLocale = 'en')
{
$this->defaultLocale = $defaultLocale;
}
- public static function getSubscribedEvents()
+ public static function getSubscribedEvents(): array
{
return [
// must be registered before (i.e. with a higher priority than) the default Locale listener
@@ -30,7 +30,7 @@ class LocaleSubscriber implements EventSubscriberInterface
];
}
- public function onKernelRequest(RequestEvent $event)
+ public function onKernelRequest(RequestEvent $event): void
{
$request = $event->getRequest();
if (!$request->hasPreviousSession()) {
diff --git a/src/Form/ComposeType.php b/src/Form/ComposeType.php
index b73ae59..4f30b69 100644
--- a/src/Form/ComposeType.php
+++ b/src/Form/ComposeType.php
@@ -10,28 +10,29 @@
namespace App\Form;
+use App\Security\MastodonAccount;
use App\SocialEntity\Compose;
-use App\SocialEntity\MastodonAccount;
use DateTime;
+use Symfony\Bundle\SecurityBundle\Security;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\Form\Extension\Core\Type\CollectionType;
use Symfony\Component\Form\Extension\Core\Type\DateTimeType;
+use Symfony\Component\Form\Extension\Core\Type\HiddenType;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
use Symfony\Component\Form\Extension\Core\Type\TextareaType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\Extension\Core\Type\TimezoneType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
-use Symfony\Component\Security\Core\Security;
use Symfony\Component\Translation\Translator;
class ComposeType extends AbstractType
{
- private $securityContext;
+ private Security $securityContext;
private $translator;
public function __construct(Security $securityContext, Translator $translator)
@@ -40,7 +41,7 @@ class ComposeType extends AbstractType
$this->translator = $translator;
}
- public function buildForm(FormBuilderInterface $builder, array $options)
+ public function buildForm(FormBuilderInterface $builder, array $options): void
{
/**@var $user MastodonAccount */
$user = $options['user'];
@@ -76,6 +77,8 @@ class ComposeType extends AbstractType
'data' => $user->getDefaultVisibility(),
'label' => 'page.schedule.form.visibility',
'translation_domain' => 'fediplan']);
+ $builder->add('attach_poll', HiddenType::class, ['required' => true, 'empty_data' => 0]);
+
$builder->add('timeZone', TimezoneType::class,
[
'label' => 'page.schedule.form.timeZone',
@@ -123,7 +126,7 @@ class ComposeType extends AbstractType
}
- public function configureOptions(OptionsResolver $resolver)
+ public function configureOptions(OptionsResolver $resolver): void
{
$resolver->setDefaults([
'data_class' => Compose::class,
diff --git a/src/Form/ConnectMastodonAccountFlow.php b/src/Form/ConnectMastodonAccountFlow.php
index 68521a9..26e80b5 100644
--- a/src/Form/ConnectMastodonAccountFlow.php
+++ b/src/Form/ConnectMastodonAccountFlow.php
@@ -14,7 +14,7 @@ use Craue\FormFlowBundle\Form\FormFlow;
class ConnectMastodonAccountFlow extends FormFlow
{
- protected function loadStepsConfig()
+ protected function loadStepsConfig(): array
{
return [
[
diff --git a/src/Form/ConnectMastodonAccountType.php b/src/Form/ConnectMastodonAccountType.php
index 4b4c9b0..fbb9cb5 100644
--- a/src/Form/ConnectMastodonAccountType.php
+++ b/src/Form/ConnectMastodonAccountType.php
@@ -17,7 +17,7 @@ use Symfony\Component\OptionsResolver\OptionsResolver;
class ConnectMastodonAccountType extends AbstractType
{
- public function buildForm(FormBuilderInterface $builder, array $options)
+ public function buildForm(FormBuilderInterface $builder, array $options): void
{
switch ($options['flow_step']) {
case 1:
@@ -38,12 +38,12 @@ class ConnectMastodonAccountType extends AbstractType
}
}
- public function getBlockPrefix()
+ public function getBlockPrefix(): string
{
return 'addMastodonAccount';
}
- public function configureOptions(OptionsResolver $resolver)
+ public function configureOptions(OptionsResolver $resolver): void
{
$resolver->setDefaults([
'validation_groups' => ['registration'],
diff --git a/src/Form/PollOptionType.php b/src/Form/PollOptionType.php
index 7671b87..08317f1 100644
--- a/src/Form/PollOptionType.php
+++ b/src/Form/PollOptionType.php
@@ -7,36 +7,42 @@
namespace App\Form;
+use App\SocialEntity\Instance;
use App\SocialEntity\PollOption;
+use Symfony\Bundle\SecurityBundle\Security;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\FormBuilderInterface;
+use Symfony\Component\HttpFoundation\RequestStack;
+use Symfony\Component\HttpFoundation\Session\SessionInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
-use Symfony\Component\Security\Core\Security;
class PollOptionType extends AbstractType
{
- private $securityContext;
+ private Security $securityContext;
+ private Instance $instance;
- public function __construct(Security $securityContext)
+ public function __construct(Security $securityContext, RequestStack $requestStack)
{
$this->securityContext = $securityContext;
+ $this->instance = $requestStack->getSession()->get('instance');
}
- public function buildForm(FormBuilderInterface $builder, array $options)
+ public function buildForm(FormBuilderInterface $builder, array $options): void
{
+ $max_char = $this->instance->getConfiguration()->getPolls()->getMaxCharactersPerOption();
$builder->add('title', TextType::class,
[
'required' => false,
- 'attr' => ['class' => 'form-control'],
+ 'attr' => ['class' => 'form-control', 'maxlength' => $max_char],
'label' => 'page.schedule.form.poll_item',
]);
}
- public function configureOptions(OptionsResolver $resolver)
+ public function configureOptions(OptionsResolver $resolver): void
{
$resolver->setDefaults([
'data_class' => PollOption::class,
diff --git a/src/Kernel.php b/src/Kernel.php
index 11636c2..779cd1f 100644
--- a/src/Kernel.php
+++ b/src/Kernel.php
@@ -3,52 +3,9 @@
namespace App;
use Symfony\Bundle\FrameworkBundle\Kernel\MicroKernelTrait;
-use Symfony\Component\Config\Loader\LoaderInterface;
-use Symfony\Component\Config\Resource\FileResource;
-use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\HttpKernel\Kernel as BaseKernel;
-use Symfony\Component\Routing\RouteCollectionBuilder;
-use function dirname;
class Kernel extends BaseKernel
{
use MicroKernelTrait;
-
- private const CONFIG_EXTS = '.{php,xml,yaml,yml}';
-
- public function registerBundles(): iterable
- {
- $contents = require $this->getProjectDir() . '/config/bundles.php';
- foreach ($contents as $class => $envs) {
- if ($envs[$this->environment] ?? $envs['all'] ?? false) {
- yield new $class();
- }
- }
- }
-
- public function getProjectDir(): string
- {
- return dirname(__DIR__);
- }
-
- protected function configureContainer(ContainerBuilder $container, LoaderInterface $loader): void
- {
- $container->addResource(new FileResource($this->getProjectDir() . '/config/bundles.php'));
- $container->setParameter('container.dumper.inline_class_loader', true);
- $confDir = $this->getProjectDir() . '/config';
-
- $loader->load($confDir . '/{packages}/*' . self::CONFIG_EXTS, 'glob');
- $loader->load($confDir . '/{packages}/' . $this->environment . '/**/*' . self::CONFIG_EXTS, 'glob');
- $loader->load($confDir . '/{services}' . self::CONFIG_EXTS, 'glob');
- $loader->load($confDir . '/{services}_' . $this->environment . self::CONFIG_EXTS, 'glob');
- }
-
- protected function configureRoutes(RouteCollectionBuilder $routes): void
- {
- $confDir = $this->getProjectDir() . '/config';
-
- $routes->import($confDir . '/{routes}/' . $this->environment . '/**/*' . self::CONFIG_EXTS, '/', 'glob');
- $routes->import($confDir . '/{routes}/*' . self::CONFIG_EXTS, '/', 'glob');
- $routes->import($confDir . '/{routes}' . self::CONFIG_EXTS, '/', 'glob');
- }
}
diff --git a/src/SocialEntity/MastodonAccount.php b/src/Security/MastodonAccount.php
similarity index 71%
rename from src/SocialEntity/MastodonAccount.php
rename to src/Security/MastodonAccount.php
index ea4f702..872a049 100644
--- a/src/SocialEntity/MastodonAccount.php
+++ b/src/Security/MastodonAccount.php
@@ -1,70 +1,68 @@
Fields = new ArrayCollection();
- $this->Emojis = new ArrayCollection();
+ $this->Fields = array();
+ $this->Emojis = array();
}
@@ -121,12 +119,12 @@ class MastodonAccount
return $this;
}
- public function getCreatedAt(): ?DateTimeInterface
+ public function getCreatedAt(): ?\DateTime
{
return $this->created_at;
}
- public function setCreatedAt(DateTimeInterface $created_at): self
+ public function setCreatedAt(\DateTime $created_at): self
{
$this->created_at = $created_at;
@@ -324,59 +322,52 @@ class MastodonAccount
return $this;
}
- /**
- * @return Collection|CustomField[]
- */
- public function getFields(): Collection
+
+ public function getFields(): array
{
return $this->Fields;
}
public function addField(CustomField $field): self
{
- if (!$this->Fields->contains($field)) {
+ if (in_array($field, $this->Fields) !== false) {
$this->Fields[] = $field;
$field->setMastodonAccount($this);
}
-
return $this;
}
public function removeField(CustomField $field): self
{
- if ($this->Fields->contains($field)) {
- $this->Fields->removeElement($field);
+
+ if (($key = array_search($field, $this->Fields)) !== false) {
+ unset($this->Fields[$key]);
// set the owning side to null (unless already changed)
if ($field->getMastodonAccount() === $this) {
$field->setMastodonAccount(null);
}
}
-
return $this;
}
- /**
- * @return Collection|Emoji[]
- */
- public function getEmojis(): Collection
+ public function getEmojis(): array
{
return $this->Emojis;
}
public function addEmoji(Emoji $emoji): self
{
- if (!$this->Emojis->contains($emoji)) {
+ if (in_array($emoji, $this->Emojis) !== false) {
$this->Emojis[] = $emoji;
$emoji->setMastodonAccount($this);
}
-
return $this;
}
public function removeEmoji(Emoji $emoji): self
{
- if ($this->Emojis->contains($emoji)) {
- $this->Emojis->removeElement($emoji);
+ if (($key = array_search($emoji, $this->Emojis)) !== false) {
+ unset($this->Emojis[$key]);
// set the owning side to null (unless already changed)
if ($emoji->getMastodonAccount() === $this) {
$emoji->setMastodonAccount(null);
@@ -390,7 +381,7 @@ class MastodonAccount
/**
* @return mixed
*/
- public function getDefaultSensitivity()
+ public function getDefaultSensitivity(): mixed
{
return $this->default_sensitivity;
}
@@ -418,6 +409,52 @@ class MastodonAccount
{
$this->default_visibility = $default_visibility;
}
+ /**
+ * @var list The user roles
+ */
+ private $roles = [];
+ /**
+ * A visual identifier that represents this user.
+ *
+ * @see UserInterface
+ */
+ public function getUserIdentifier(): string
+ {
+ return (string) $this->acct;
+ }
+
+ /**
+ * @see UserInterface
+ *
+ * @return list
+ */
+ public function getRoles(): array
+ {
+ $roles = $this->roles;
+ // guarantee every user at least has ROLE_USER
+ $roles[] = 'ROLE_USER';
+
+ return array_unique($roles);
+ }
+
+ /**
+ * @param list $roles
+ */
+ public function setRoles(array $roles): static
+ {
+ $this->roles = $roles;
+
+ return $this;
+ }
+
+ /**
+ * @see UserInterface
+ */
+ public function eraseCredentials(): void
+ {
+ // If you store any temporary, sensitive data on the user, clear it here
+ // $this->plainPassword = null;
+ }
}
diff --git a/src/Security/UserProvider.php b/src/Security/UserProvider.php
new file mode 100644
index 0000000..9c9c760
--- /dev/null
+++ b/src/Security/UserProvider.php
@@ -0,0 +1,79 @@
+loadUserByIdentifier($username);
+ }
+
+ /**
+ * Refreshes the user after being reloaded from the session.
+ *
+ * When a user is logged in, at the beginning of each request, the
+ * User object is loaded from the session and then this method is
+ * called. Your job is to make sure the user's data is still fresh by,
+ * for example, re-querying for fresh User data.
+ *
+ * If your firewall is "stateless: true" (for a pure API), this
+ * method is not called.
+ */
+ public function refreshUser(UserInterface $user): UserInterface
+ {
+ if (!$user instanceof MastodonAccount) {
+ throw new UnsupportedUserException(sprintf('Invalid user class "%s".', $user::class));
+ }
+
+ // Return a User object after making sure its data is "fresh".
+ // Or throw a UsernameNotFoundException if the user no longer exists.
+ return $user;
+ }
+
+ /**
+ * Tells Symfony to use this provider for this User class.
+ */
+ public function supportsClass(string $class): bool
+ {
+ return MastodonAccount::class === $class || is_subclass_of($class, MastodonAccount::class);
+ }
+
+ /**
+ * Upgrades the hashed password of a user, typically for using a better hash algorithm.
+ */
+ public function upgradePassword(PasswordAuthenticatedUserInterface $user, string $newHashedPassword): void
+ {
+ // TODO: when hashed passwords are in use, this method should:
+ // 1. persist the new password in the user storage
+ // 2. update the $user object with $user->setPassword($newHashedPassword);
+ }
+}
diff --git a/src/Services/Mastodon_api.php b/src/Services/Mastodon_api.php
index 47a5c83..fcea41d 100644
--- a/src/Services/Mastodon_api.php
+++ b/src/Services/Mastodon_api.php
@@ -11,17 +11,22 @@
namespace App\Services;
+use App\Security\MastodonAccount;
use App\Services\Curl as Curl;
use App\SocialEntity\Application;
use App\SocialEntity\Attachment;
+use App\SocialEntity\Configuration;
use App\SocialEntity\CustomField;
use App\SocialEntity\Emoji;
-use App\SocialEntity\MastodonAccount;
+use App\SocialEntity\Instance;
+use App\SocialEntity\MediaAttachments;
use App\SocialEntity\Mention;
use App\SocialEntity\Notification;
use App\SocialEntity\Poll;
use App\SocialEntity\PollOption;
+use App\SocialEntity\Polls;
use App\SocialEntity\Status;
+use App\SocialEntity\Statuses;
use App\SocialEntity\Tag;
use CURLFile;
use DateTime;
@@ -66,7 +71,7 @@ class Mastodon_api
*
* @param string $path
*/
- public function set_url($path)
+ public function set_url(string $path): void
{
$this->mastodon_url = $path;
}
@@ -77,7 +82,7 @@ class Mastodon_api
* @param string $id
* @param string $secret
*/
- public function set_client($id, $secret)
+ public function set_client(string $id, string $secret): void
{
$this->client_id = $id;
$this->client_secret = $secret;
@@ -89,7 +94,7 @@ class Mastodon_api
* @param string $token
* @param string $type
*/
- public function set_token($token, $type)
+ public function set_token(string $token, string $type): void
{
$this->token['access_token'] = $token;
$this->token['token_type'] = $type;
@@ -100,7 +105,7 @@ class Mastodon_api
*
* @param array $scopes read / write / follow
*/
- public function set_scopes($scopes)
+ public function set_scopes(array $scopes): void
{
$this->scopes = $scopes;
}
@@ -119,7 +124,7 @@ class Mastodon_api
* string $response['client_id']
* string $response['client_secret']
*/
- public function create_app($client_name, $scopes = array(), $redirect_uris = '', $website = '')
+ public function create_app(string $client_name, array $scopes = array(), string $redirect_uris = '', string $website = ''): array
{
$parameters = array();
@@ -162,7 +167,7 @@ class Mastodon_api
*
* @return array $response
*/
- private function _post($url, $parameters = array())
+ private function _post(string $url, array $parameters = array()): array
{
$params["method"] = "POST";
@@ -185,7 +190,7 @@ class Mastodon_api
*
* @return array $data
*/
- public function get_content_remote($url, $parameters = array())
+ public function get_content_remote(string $url, array $parameters = array()): array
{
$data = array();
@@ -304,7 +309,7 @@ class Mastodon_api
* string $response['scope'] read
* int $response['created_at'] time
*/
- public function login($id, $password)
+ public function login(string $id, string $password): array
{
$parameters = array();
$parameters['client_id'] = $this->client_id;
@@ -340,7 +345,7 @@ class Mastodon_api
* string $response['scope'] read
* int $response['created_at'] time
*/
- public function loginAuthorization($code, $redirect_uri = '')
+ public function loginAuthorization(string $code, string $redirect_uri = ''): array
{
$parameters = array();
$parameters['client_id'] = $this->client_id;
@@ -367,7 +372,7 @@ class Mastodon_api
*
* @return string $response Authorization code
*/
- public function getAuthorizationUrl($redirect_uri = '')
+ public function getAuthorizationUrl(string $redirect_uri = ''): string
{
if (empty($redirect_uri))
$redirect_uri = 'urn:ietf:wg:oauth:2.0:oob';
@@ -389,7 +394,7 @@ class Mastodon_api
*
* @see https://your-domain/web/accounts/:id
*
- * @param int $id
+ * @param string $id
*
* @return array $response
* int $response['id']
@@ -408,7 +413,7 @@ class Mastodon_api
* string $response['header'] A base64 encoded image to display as the user's header image
* string $response['header_static']
*/
- public function accounts($id)
+ public function accounts(string $id): array
{
return $this->_get('/api/v1/accounts/' . $id);
}
@@ -421,7 +426,7 @@ class Mastodon_api
*
* @return array $response
*/
- private function _get($url, $parameters = array())
+ private function _get(string $url, array $parameters = array()): array
{
$params["method"] = "GET";
@@ -433,7 +438,6 @@ class Mastodon_api
}
$params['body'] = $parameters;
$url = $this->mastodon_url . $url;
-
return $this->get_content_remote($url, $params);
}
@@ -444,7 +448,7 @@ class Mastodon_api
*
* @return array $response
*/
- public function accounts_verify_credentials()
+ public function accounts_verify_credentials(): array
{
return $this->_get('/api/v1/accounts/verify_credentials');
}
@@ -462,7 +466,7 @@ class Mastodon_api
*
* @return array $response
*/
- public function accounts_update_credentials($parameters)
+ public function accounts_update_credentials($parameters): array
{
return $this->_patch('/api/v1/accounts/update_credentials', $parameters);
}
@@ -475,7 +479,7 @@ class Mastodon_api
*
* @return array $parameters
*/
- private function _patch($url, $parameters = array())
+ private function _patch(string $url, array $parameters = array()): array
{
$params["method"] = "PATCH";
@@ -497,11 +501,11 @@ class Mastodon_api
*
* @see https://your-domain/web/accounts/:id
*
- * @param int $id
+ * @param string $id
*
* @return array $response
*/
- public function accounts_followers($id)
+ public function accounts_followers(string $id): array
{
return $this->_get('/api/v1/accounts/' . $id . '/followers');
}
@@ -511,11 +515,11 @@ class Mastodon_api
*
* @see https://your-domain/web/accounts/:id
*
- * @param int $id
+ * @param string $id
*
* @return array $response
*/
- public function accounts_following($id)
+ public function accounts_following(string $id): array
{
return $this->_get('/api/v1/accounts/' . $id . '/following');
}
@@ -525,11 +529,11 @@ class Mastodon_api
*
* @see https://your-domain/web/accounts/:id
*
- * @param int $id
+ * @param string $id
*
* @return array $response
*/
- public function accounts_statuses($id)
+ public function accounts_statuses(string $id): array
{
return $this->_get('/api/v1/accounts/' . $id . '/statuses');
}
@@ -539,11 +543,11 @@ class Mastodon_api
*
* @see https://your-domain/web/accounts/:id
*
- * @param int $id
+ * @param string $id
*
* @return array $response
*/
- public function accounts_own_statuses($id)
+ public function accounts_own_statuses(string $id): array
{
$response = $this->_get('/api/v1/accounts/' . $id . '/statuses?exclude_replies=1');
$result = [];
@@ -563,11 +567,11 @@ class Mastodon_api
*
* @see https://your-domain/web/accounts/:id
*
- * @param int $id
+ * @param string $id
*
* @return array $response
*/
- public function accounts_follow($id)
+ public function accounts_follow(string $id): array
{
return $this->_post('/api/v1/accounts/' . $id . '/follow');
}
@@ -577,11 +581,11 @@ class Mastodon_api
*
* @see https://your-domain/web/accounts/:id
*
- * @param int $id
+ * @param string $id
*
* @return array $response
*/
- public function accounts_unfollow($id)
+ public function accounts_unfollow(string $id): array
{
return $this->_post('/api/v1/accounts/' . $id . '/unfollow');
}
@@ -591,11 +595,11 @@ class Mastodon_api
*
* @see https://your-domain/web/accounts/:id
*
- * @param int $id
+ * @param string $id
*
* @return array $response
*/
- public function accounts_block($id)
+ public function accounts_block(string $id): array
{
return $this->_post('/api/v1/accounts/' . $id . '/block');
}
@@ -605,11 +609,11 @@ class Mastodon_api
*
* @see https://your-domain/web/accounts/:id
*
- * @param int $id
+ * @param string $id
*
* @return array $response
*/
- public function accounts_unblock($id)
+ public function accounts_unblock(string $id): array
{
return $this->_post('/api/v1/accounts/' . $id . '/unblock');
}
@@ -619,11 +623,11 @@ class Mastodon_api
*
* @see https://your-domain/web/accounts/:id
*
- * @param int $id
+ * @param string $id
*
* @return array $response
*/
- public function accounts_mute($id)
+ public function accounts_mute(string $id): array
{
return $this->_post('/api/v1/accounts/' . $id . '/mute');
}
@@ -633,11 +637,11 @@ class Mastodon_api
*
* @see https://your-domain/web/accounts/:id
*
- * @param int $id
+ * @param string $id
*
* @return array $response
*/
- public function accounts_unmute($id)
+ public function accounts_unmute(string $id): array
{
return $this->_post('/api/v1/accounts/' . $id . '/unmute');
}
@@ -658,7 +662,7 @@ class Mastodon_api
* bool $response['muting']
* bool $response['requested']
*/
- public function accounts_relationships($parameters)
+ public function accounts_relationships(array $parameters): array
{
return $this->_get('/api/v1/accounts/relationships', $parameters);
}
@@ -672,7 +676,7 @@ class Mastodon_api
*
* @return array $response
*/
- public function accounts_search($parameters)
+ public function accounts_search(array $parameters): array
{
return $this->_get('/api/v1/accounts/search', $parameters);
}
@@ -682,7 +686,7 @@ class Mastodon_api
*
* @return array $response
*/
- public function blocks()
+ public function blocks(): array
{
return $this->_get('/api/v1/blocks');
}
@@ -692,7 +696,7 @@ class Mastodon_api
*
* @return array $response
*/
- public function favourites()
+ public function favourites(): array
{
return $this->_get('/api/v1/favourites');
}
@@ -702,7 +706,7 @@ class Mastodon_api
*
* @return array $response
*/
- public function follow_requests()
+ public function follow_requests(): array
{
return $this->_get('/api/v1/follow_requests');
}
@@ -712,11 +716,11 @@ class Mastodon_api
*
* @see https://your-domain/web/accounts/:id
*
- * @param int $id
+ * @param string $id
*
* @return array $response
*/
- public function follow_requests_authorize($id)
+ public function follow_requests_authorize(string $id): array
{
return $this->_post('/api/v1/follow_requests/authorize', array('id' => $id));
}
@@ -726,10 +730,10 @@ class Mastodon_api
*
* @see https://your-domain/web/accounts/:id
*
- * @param int $id
+ * @param string $id
* @return array $response
*/
- public function follow_requests_reject($id)
+ public function follow_requests_reject(string $id): array
{
return $this->_post('/api/v1/follow_requests/reject', array('id' => $id));
}
@@ -742,27 +746,11 @@ class Mastodon_api
* @param string $uri username@domain of the person you want to follow
* @return array $response
*/
- public function follows($uri)
+ public function follows($uri): array
{
return $this->_post('/api/v1/follows', array('uri' => $uri));
}
- /**
- * instance
- *
- * Getting instance information
- *
- * @return array $response
- * string $response['uri']
- * string $response['title']
- * string $response['description']
- * string $response['email']
- */
- public function instance()
- {
- return $this->_get('/api/v1/instance');
- }
-
/**
* mutes
*
@@ -770,7 +758,7 @@ class Mastodon_api
*
* @return array $response
*/
- public function mutes()
+ public function mutes(): array
{
return $this->_get('/api/v1/mutes');
}
@@ -783,7 +771,7 @@ class Mastodon_api
*
* @return array $response
*/
- public function notifications($parameters)
+ public function notifications($parameters): array
{
$url = '/api/v1/notifications';
@@ -797,7 +785,7 @@ class Mastodon_api
*
* @return array $response
*/
- public function notifications_clear()
+ public function notifications_clear(): array
{
return $this->_post('/api/v1/notifications/clear');
}
@@ -809,7 +797,7 @@ class Mastodon_api
*
* @return array $response
*/
- public function get_reports()
+ public function get_reports(): array
{
return $this->_get('/api/v1/reports');
}
@@ -826,7 +814,7 @@ class Mastodon_api
*
* @return array $response
*/
- public function post_reports($parameters)
+ public function post_reports(array $parameters): array
{
return $this->_post('/api/v1/reports', $parameters);
}
@@ -842,7 +830,7 @@ class Mastodon_api
*
* @return array $response
*/
- public function search($parameters)
+ public function search(array $parameters): array
{
return $this->_get('/api/v1/search', $parameters);
}
@@ -852,11 +840,11 @@ class Mastodon_api
*
* Fetching a status
*
- * @param int $id
+ * @param string $id
*
* @return array $response
*/
- public function statuses($id)
+ public function statuses(string $id): array
{
return $this->_get('/api/v1/statuses/' . $id);
}
@@ -866,11 +854,11 @@ class Mastodon_api
*
* Getting status context
*
- * @param int $id
+ * @param string $id
*
* @return array $response
*/
- public function statuses_context($id)
+ public function statuses_context(string $id): array
{
return $this->_get('/api/v1/statuses/' . $id . '/context');
}
@@ -880,11 +868,11 @@ class Mastodon_api
*
* Getting a card associated with a status
*
- * @param int $id
+ * @param string $id
*
* @return array $response
*/
- public function statuses_card($id)
+ public function statuses_card(string $id): array
{
return $this->_get('/api/v1/statuses/' . $id . '/card');
}
@@ -894,11 +882,11 @@ class Mastodon_api
*
* Getting who reblogged a status
*
- * @param int $id
+ * @param string $id
*
* @return array $response
*/
- public function statuses_reblogged_by($id)
+ public function statuses_reblogged_by(string $id): array
{
return $this->_get('/api/v1/statuses/' . $id . '/reblogged_by');
}
@@ -908,11 +896,11 @@ class Mastodon_api
*
* Getting who favourited a status
*
- * @param int $id
+ * @param string $id
*
* @return array $response
*/
- public function statuses_favourited_by($id)
+ public function statuses_favourited_by(string $id): array
{
return $this->_get('/api/v1/statuses/' . $id . '/favourited_by');
}
@@ -927,7 +915,7 @@ class Mastodon_api
*
* @return array $response
*/
- public function post_media($parameters)
+ public function post_media(array $parameters): array
{
return $this->_post('/api/v1/media', $parameters);
}
@@ -943,7 +931,7 @@ class Mastodon_api
* @param $parameters
* @return array $response
*/
- public function update_media($id, $parameters)
+ public function update_media(string $id, array $parameters): array
{
return $this->_put('/api/v1/media/' . $id, $parameters);
}
@@ -958,7 +946,7 @@ class Mastodon_api
*
* @return array $response
*/
- private function _put($url, $parameters = array())
+ private function _put(string $url, array $parameters = array()): array
{
$params["method"] = "PUT";
@@ -986,7 +974,7 @@ class Mastodon_api
*
* @return array $response
*/
- public function post_statuses($parameters)
+ public function post_statuses(array $parameters): array
{
return $this->_post('/api/v1/statuses', $parameters);
}
@@ -996,11 +984,11 @@ class Mastodon_api
*
* Deleting a status
*
- * @param int $id
+ * @param string $id
*
* @return array $response empty
*/
- public function delete_statuses($id)
+ public function delete_statuses(string $id): array
{
return $this->_delete('/api/v1/statuses/' . $id);
}
@@ -1014,7 +1002,7 @@ class Mastodon_api
*
*/
- private function _delete($url)
+ private function _delete(string $url): array
{
$parameters = array();
$parameters["method"] = "DELETE";
@@ -1034,11 +1022,11 @@ class Mastodon_api
*
* Deleting a scheduled status
*
- * @param int $id
+ * @param string $id
*
* @return array $response empty
*/
- public function delete_scheduled($id)
+ public function delete_scheduled(string $id): array
{
return $this->_delete('/api/v1/scheduled_statuses/' . $id);
}
@@ -1048,11 +1036,11 @@ class Mastodon_api
*
* Reblogging a status
*
- * @param int $id
+ * @param string $id
*
* @return array $response
*/
- public function statuses_reblog($id)
+ public function statuses_reblog(string $id): array
{
return $this->_post('/api/v1/statuses/' . $id . '/reblog');
}
@@ -1062,11 +1050,11 @@ class Mastodon_api
*
* Unreblogging a status
*
- * @param int $id
+ * @param string $id
*
* @return array $response
*/
- public function statuses_unreblog($id)
+ public function statuses_unreblog(string $id): array
{
return $this->_post('/api/v1/statuses/' . $id . '/unreblog');
}
@@ -1076,11 +1064,11 @@ class Mastodon_api
*
* Favouriting a status
*
- * @param int $id
+ * @param string $id
*
* @return array $response
*/
- public function statuses_favourite($id)
+ public function statuses_favourite(string $id): array
{
return $this->_post('/api/v1/statuses/' . $id . '/favourite');
}
@@ -1090,16 +1078,28 @@ class Mastodon_api
*
* Unfavouriting a status
*
- * @param int $id
+ * @param string $id
*
* @return array $response
*/
- public function statuses_unfavourite($id)
+ public function statuses_unfavourite(string $id): array
{
return $this->_post('/api/v1/statuses/' . $id . '/unfavourite');
}
+ /**
+ * scheduled_statuses
+ *
+ *
+ * @return array $response
+ */
+ public function get_instance(): array
+ {
+ return $this->_get('/api/v1/instance');
+ }
+
+
/**
* scheduled_statuses
*
@@ -1107,7 +1107,7 @@ class Mastodon_api
*
* @return array $response
*/
- public function get_scheduled($parameters = array())
+ public function get_scheduled($parameters = array()): array
{
return $this->_get('/api/v1/scheduled_statuses/', $parameters);
}
@@ -1117,7 +1117,7 @@ class Mastodon_api
*
* @return array $response
*/
- public function timelines_home()
+ public function timelines_home(): array
{
return $this->_get('/api/v1/timelines/home');
}
@@ -1130,7 +1130,7 @@ class Mastodon_api
*
* @return array $response
*/
- public function timelines_public($parameters = array())
+ public function timelines_public(array $parameters = array()): array
{
return $this->_get('/api/v1/timelines/public', $parameters);
}
@@ -1144,7 +1144,7 @@ class Mastodon_api
*
* @return array $response
*/
- public function timelines_tag($hashtag, $parameters = array())
+ public function timelines_tag(string $hashtag, array $parameters = array()): array
{
return $this->_get('/api/v1/timelines/tag/' . $hashtag, $parameters);
}
@@ -1160,13 +1160,12 @@ class Mastodon_api
* @param $host
* @return string|null
*/
- public function getInstanceNodeInfo($host)
+ public function getInstanceNodeInfo(string $host): ?string
{
$curl = new Curl();
$url = "https://" . $host . "/.well-known/nodeinfo";
$reply = $curl->get($url);
-
$responseArray = json_decode($reply->response, true);
if (empty($responseArray)) {
$curl = new Curl();
@@ -1193,7 +1192,7 @@ class Mastodon_api
* @param $accountParams array
* @return MastodonAccount
*/
- public function updateAccount(MastodonAccount $MastodonAccount, $accountParams)
+ public function updateAccount(MastodonAccount $MastodonAccount, array $accountParams): MastodonAccount
{
$MastodonAccount->setUsername($accountParams['username']);
@@ -1242,21 +1241,21 @@ class Mastodon_api
return $MastodonAccount;
}
- public function stringToDate($string_date)
+ public function stringToDate(?string $string_date): DateTime
{
try {
return new DateTime($string_date);
} catch (Exception $e) {
}
- return "";
+ return new DateTime();
}
/**
* getNotifications Hydrate an array of Notification from API reply
- * @param $notificationParams
+ * @param $notificationParams array
* @return array
*/
- public function getNotifications($notificationParams)
+ public function getNotifications(array $notificationParams): array
{
$notifications = [];
foreach ($notificationParams as $notificationParam)
@@ -1269,7 +1268,7 @@ class Mastodon_api
* @param $notificationParams
* @return Notification
*/
- public function getSingleNotification($notificationParams)
+ public function getSingleNotification($notificationParams): Notification
{
$notification = new Notification();
$notification->setId($notificationParams['id']);
@@ -1281,12 +1280,52 @@ class Mastodon_api
return $notification;
}
+ /**
+ * get instance configuration from API reply
+ * @param $instantParams array
+ * @return Instance
+ */
+ public function getInstanceConfiguration(array $instantParams): Instance
+ {
+ $Instance = new Instance();
+ $Configuration = new Configuration();
+ $Statuses = new Statuses();
+ $MediaAttachments = new MediaAttachments();
+ $Polls = new Polls();
+ if(isset($instantParams['configuration'])) {
+ //Dealing with statuses configuration
+ if(isset($instantParams['configuration']['statuses'])) {
+ $Statuses->setMaxCharacters($instantParams['configuration']['statuses']['max_characters']);
+ $Statuses->setMaxMediaAttachments($instantParams['configuration']['statuses']['max_media_attachments']);
+ $Statuses->setCharactersReservedPerUrl($instantParams['configuration']['statuses']['characters_reserved_per_url']);
+ }
+ if(isset($instantParams['configuration']['media_attachments'])) {
+ $MediaAttachments->setSupportedMimeTypes($instantParams['configuration']['media_attachments']['supported_mime_types']);
+ $MediaAttachments->setImageSizeLimit($instantParams['configuration']['media_attachments']['image_size_limit']);
+ $MediaAttachments->setImageMatrixLimit($instantParams['configuration']['media_attachments']['image_matrix_limit']);
+ $MediaAttachments->setVideoSizeLimit($instantParams['configuration']['media_attachments']['video_size_limit']);
+ $MediaAttachments->setVideoFrameRateLimit($instantParams['configuration']['media_attachments']['video_frame_rate_limit']);
+ $MediaAttachments->setVideoMatrixLimit($instantParams['configuration']['media_attachments']['video_matrix_limit']);
+ }
+ if(isset($instantParams['configuration']['polls'])) {
+ $Polls->setMaxOptions($instantParams['configuration']['polls']['max_options']);
+ $Polls->setMaxCharactersPerOption($instantParams['configuration']['polls']['max_characters_per_option']);
+ $Polls->setMinExpiration($instantParams['configuration']['polls']['min_expiration']);
+ $Polls->setMaxExpiration($instantParams['configuration']['polls']['max_expiration']);
+ }
+ }
+ $Configuration->setStatuses($Statuses);
+ $Configuration->setMediaAttachments($MediaAttachments);
+ $Configuration->setPolls($Polls);
+ $Instance->setConfiguration($Configuration);
+ return $Instance;
+ }
/**
* getSingleAccount Hydrate a MastodonAccount from API reply
- * @param $accountParams
+ * @param $accountParams array
* @return MastodonAccount
*/
- public function getSingleAccount($accountParams)
+ public function getSingleAccount(array $accountParams): MastodonAccount
{
$MastodonAccount = new MastodonAccount();
@@ -1343,10 +1382,10 @@ class Mastodon_api
/**
* getSingleStatus Hydrate a Status from API reply
- * @param $statusParams
+ * @param $statusParams array
* @return Status
*/
- public function getSingleStatus($statusParams)
+ public function getSingleStatus(array $statusParams): Status
{
$status = new Status();
@@ -1477,7 +1516,7 @@ class Mastodon_api
* @param $statusParams
* @return array
*/
- public function getStatuses($statusParams)
+ public function getStatuses($statusParams): array
{
$statuses = [];
foreach ($statusParams as $statusParam)
@@ -1487,11 +1526,11 @@ class Mastodon_api
/**
* getScheduledStatuses Hydrate an array of Scheduled Status from API reply
- * @param $statusParams
- * @param $account
+ * @param $statusParams array
+ * @param $account MastodonAccount
* @return array
*/
- public function getScheduledStatuses($statusParams, $account)
+ public function getScheduledStatuses(array $statusParams, MastodonAccount $account): array
{
$statuses = [];
foreach ($statusParams as $statusParam)
@@ -1502,11 +1541,11 @@ class Mastodon_api
/**
* getSingleScheduledStatus Hydrate a scheduled Status from API reply
- * @param $statusParams
- * @param $account
+ * @param $statusParams array
+ * @param $account MastodonAccount
* @return Status
*/
- public function getSingleScheduledStatus($statusParams, $account)
+ public function getSingleScheduledStatus(array $statusParams, MastodonAccount $account): Status
{
$status = new Status();
@@ -1578,10 +1617,10 @@ class Mastodon_api
/**
* getSingleAttachment Hydrate an Attachment from API reply
- * @param $mediaParams
+ * @param $mediaParams array
* @return Attachment
*/
- public function getSingleAttachment($mediaParams)
+ public function getSingleAttachment(array $mediaParams): Attachment
{
$attachment = new Attachment();
diff --git a/src/SocialEntity/Application.php b/src/SocialEntity/Application.php
index 2e26c2e..798ebbd 100644
--- a/src/SocialEntity/Application.php
+++ b/src/SocialEntity/Application.php
@@ -6,10 +6,8 @@ namespace App\SocialEntity;
class Application
{
- /** @var string */
- private $name;
- /** @var string */
- private $website;
+ private string $name;
+ private string $website;
/**
* @return string
diff --git a/src/SocialEntity/Attachment.php b/src/SocialEntity/Attachment.php
index 09135a7..9043929 100644
--- a/src/SocialEntity/Attachment.php
+++ b/src/SocialEntity/Attachment.php
@@ -5,22 +5,15 @@ namespace App\SocialEntity;
class Attachment
{
- /** @var string */
- private $id;
- /** @var string */
- private $type;
- /** @var string */
- private $url;
- /** @var string */
- private $remote_url;
- /** @var string */
- private $preview_url;
- /** @var string */
- private $text_url;
- /** @var string */
- private $meta;
- /** @var string */
- private $description;
+
+ private string $id;
+ private string $type;
+ private string $url;
+ private string $remote_url;
+ private string $preview_url;
+ private string $text_url;
+ private string $meta;
+ private string $description;
/**
* @return string
diff --git a/src/SocialEntity/Card.php b/src/SocialEntity/Card.php
index 0918835..78fbf9e 100644
--- a/src/SocialEntity/Card.php
+++ b/src/SocialEntity/Card.php
@@ -5,30 +5,18 @@ namespace App\SocialEntity;
class Card
{
- /** @var string */
- private $url;
- /** @var string */
- private $title;
- /** @var string */
- private $description;
- /** @var string */
- private $image;
- /** @var string */
- private $type;
- /** @var string */
- private $author_name;
- /** @var string */
- private $author_url;
- /** @var string */
- private $provider_name;
- /** @var string */
- private $provider_url;
- /** @var string */
- private $html;
- /** @var int */
- private $width;
- /** @var int */
- private $height;
+ private string $url;
+ private string $title;
+ private string $description;
+ private string $image;
+ private string $type;
+ private string $author_name;
+ private string $author_url;
+ private string $provider_name;
+ private string $provider_url;
+ private string $html;
+ private int $width;
+ private int $height;
/**
* @return string
@@ -222,5 +210,4 @@ class Card
$this->height = $height;
}
-
}
diff --git a/src/SocialEntity/Client.php b/src/SocialEntity/Client.php
index 37c3c1b..a891aa4 100644
--- a/src/SocialEntity/Client.php
+++ b/src/SocialEntity/Client.php
@@ -3,20 +3,17 @@
namespace App\SocialEntity;
+use App\Security\MastodonAccount;
+
class Client
{
- private $id;
-
- private $host;
-
- private $client_id;
-
- private $client_secret;
-
- private $account;
-
- private $code;
+ private string $id;
+ private string $host;
+ private string $client_id;
+ private string $client_secret;
+ private MastodonAccount $account;
+ private string $code;
public function getId(): ?int
{
diff --git a/src/SocialEntity/Compose.php b/src/SocialEntity/Compose.php
index 927ac40..ed41b03 100644
--- a/src/SocialEntity/Compose.php
+++ b/src/SocialEntity/Compose.php
@@ -3,55 +3,52 @@
namespace App\SocialEntity;
use DateTime;
-use DateTimeInterface;
-use Doctrine\Common\Collections\ArrayCollection;
+
class Compose
{
- private $id;
+ private string $id;
+ private ?string $content_warning = null;
+ private ?string $content = null;
- private $content_warning;
+ private string $visibility;
+ private DateTime $created_at;
+ private DateTime $scheduled_at;
+ private DateTime $sent_at;
+ private bool $sensitive;
+ private ?string $in_reply_to_id = null;
- private $content;
+ private string $timeZone;
+ /** @var PollOption[] */
+ private ?array $poll_options = null;
+ private ?int $poll_expires_at = null;
+ private ?bool $poll_multiple = null;
- private $visibility;
+ public function getAttachPoll(): ?bool
+ {
+ return $this->attach_poll;
+ }
- private $created_at;
-
- private $scheduled_at;
-
- private $sent_at;
-
- private $sensitive;
-
- private $in_reply_to_id;
-
- private $timeZone;
-
- private $poll_options;
- /** @var int */
- private $poll_expires_at;
- /** @var bool */
- private $poll_multiple;
+ public function setAttachPoll(?bool $attach_poll): void
+ {
+ $this->attach_poll = $attach_poll;
+ }
+ private ?bool $attach_poll = null;
public function __construct()
{
- $this->poll_options = new ArrayCollection();
+ $this->poll_options = array();
}
- /**
- * @return mixed
- */
- public function getTimeZone()
+
+ public function getTimeZone(): string
{
return $this->timeZone;
}
- /**
- * @param mixed $timeZone
- */
+
public function setTimeZone($timeZone): void
{
$this->timeZone = $timeZone;
@@ -63,7 +60,7 @@ class Compose
public function getSent()
{
- return ($this->sent_at != null);
+ return ($this->sent_at != null && !empty($this->sent_at));
}
public function getId(): ?int
@@ -108,29 +105,23 @@ class Compose
}
- /**
- * @return boolean
- */
- public function getSensitive()
+ public function getSensitive(): bool
{
return $this->sensitive;
}
- /**
- * @param mixed $sensitive
- */
public function setSensitive(bool $sensitive): void
{
$this->sensitive = $sensitive;
}
- public function getCreatedAt(): ?DateTimeInterface
+ public function getCreatedAt(): ?DateTime
{
return $this->created_at;
}
- public function setCreatedAt(DateTimeInterface $created_at): self
+ public function setCreatedAt(DateTime $created_at): self
{
$this->created_at = $created_at;
@@ -161,41 +152,29 @@ class Compose
return $this;
}
- /**
- * @return ArrayCollection|null
- */
- public function getPollOptions(): ?ArrayCollection
+
+
+ public function getPollOptions(): ?array
{
return $this->poll_options;
}
- /**
- * @param ArrayCollection $poll_options
- */
- public function setPollOptions(?ArrayCollection $poll_options): void
+
+ public function setPollOptions(?array $poll_options): void
{
$this->poll_options = $poll_options;
}
- /**
- * @return int
- */
public function getPollExpiresAt(): ?int
{
return $this->poll_expires_at;
}
- /**
- * @param int $poll_expires_at
- */
public function setPollExpiresAt(?int $poll_expires_at): void
{
$this->poll_expires_at = $poll_expires_at;
}
- /**
- * @return bool
- */
public function isPollMultiple(): ?bool
{
return $this->poll_multiple;
diff --git a/src/SocialEntity/CustomField.php b/src/SocialEntity/CustomField.php
index e8de25f..1d02c86 100644
--- a/src/SocialEntity/CustomField.php
+++ b/src/SocialEntity/CustomField.php
@@ -3,20 +3,21 @@
namespace App\SocialEntity;
-use DateTimeInterface;
+use App\Security\MastodonAccount;
+use DateTime;
class CustomField
{
- private $id;
+ private string $id;
- private $name;
+ private string $name;
- private $value;
+ private string $value;
- private $verified_at;
+ private \DateTime $verified_at;
- private $mastodonAccount;
+ private MastodonAccount $mastodonAccount;
public function __construct()
@@ -40,12 +41,12 @@ class CustomField
return $this;
}
- public function getVerifiedAt(): ?DateTimeInterface
+ public function getVerifiedAt(): ?DateTime
{
return $this->verified_at;
}
- public function setVerifiedAt(?DateTimeInterface $verified_at): self
+ public function setVerifiedAt(?DateTime $verified_at): self
{
$this->verified_at = $verified_at;
diff --git a/src/SocialEntity/Emoji.php b/src/SocialEntity/Emoji.php
index 1ad59d0..41fc4ae 100644
--- a/src/SocialEntity/Emoji.php
+++ b/src/SocialEntity/Emoji.php
@@ -3,19 +3,21 @@
namespace App\SocialEntity;
+use App\Security\MastodonAccount;
+
class Emoji
{
- private $id;
+ private string $id;
- private $shortcode;
+ private string $shortcode;
- private $static_url;
+ private string $static_url;
- private $url;
+ private string $url;
- private $visible_in_picker;
+ private bool $visible_in_picker;
- private $mastodonAccount;
+ private MastodonAccount $mastodonAccount;
public function __construct()
diff --git a/src/SocialEntity/Instance.php b/src/SocialEntity/Instance.php
new file mode 100644
index 0000000..f013445
--- /dev/null
+++ b/src/SocialEntity/Instance.php
@@ -0,0 +1,225 @@
+max_characters;
+ }
+
+ public function setMaxCharacters(int $max_characters): void
+ {
+ $this->max_characters = $max_characters;
+ }
+
+ public function getMaxMediaAttachments(): int
+ {
+ return $this->max_media_attachments;
+ }
+
+ public function setMaxMediaAttachments(int $max_media_attachments): void
+ {
+ $this->max_media_attachments = $max_media_attachments;
+ }
+
+ public function getCharactersReservedPerUrl(): int
+ {
+ return $this->characters_reserved_per_url;
+ }
+
+ public function setCharactersReservedPerUrl(int $characters_reserved_per_url): void
+ {
+ $this->characters_reserved_per_url = $characters_reserved_per_url;
+ }
+}
+
+class MediaAttachments {
+ private array $supported_mime_types = ["image/jpeg","image/png","image/gif","image/heic","image/heif","image/webp","image/avif","video/webm","video/mp4","video/quicktime","video/ogg","audio/wave","audio/wav","audio/x-wav","audio/x-pn-wave","audio/vnd.wave","audio/ogg","audio/vorbis","audio/mpeg","audio/mp3","audio/webm","audio/flac","audio/aac","audio/m4a","audio/x-m4a","audio/mp4","audio/3gpp","video/x-ms-asf"];
+ private int $image_size_limit = 16777216;
+ private int $image_matrix_limit = 33177600;
+ private int $video_size_limit = 103809024;
+ private int $video_frame_rate_limit = 120;
+ private int $video_matrix_limit = 8294400;
+ public function getSupportedMimeTypes(): array
+ {
+ return $this->supported_mime_types;
+ }
+
+ public function setSupportedMimeTypes(array $supported_mime_types): void
+ {
+ $this->supported_mime_types = $supported_mime_types;
+ }
+
+ public function getSupportedFiles() : string {
+ $values = "/(\.|\/)(gif|jpe?g|apng|png|mp4|mp3|avi|mov|webm|wmv|flv|wav|ogg)$/i";
+ if(isset($this->supported_mime_types) && count($this->supported_mime_types) >0) {
+ $values = "/(\.|\/)(";
+ foreach ($this->supported_mime_types as $value) {
+ $cleanedValue = preg_replace("#(image/)|(video/)|(audio/)#","",$value,);
+ if(!str_contains($cleanedValue, '.') && !str_contains($cleanedValue, '-')) {
+ $values .= $cleanedValue.'|';
+ }
+ }
+ $values .= "jpg)$/i";
+ }
+ return $values;
+ }
+ public function getImageSizeLimit(): int
+ {
+ return $this->image_size_limit;
+ }
+
+ public function setImageSizeLimit(int $image_size_limit): void
+ {
+ $this->image_size_limit = $image_size_limit;
+ }
+
+ public function getImageMatrixLimit(): int
+ {
+ return $this->image_matrix_limit;
+ }
+
+ public function setImageMatrixLimit(int $image_matrix_limit): void
+ {
+ $this->image_matrix_limit = $image_matrix_limit;
+ }
+
+ public function getVideoSizeLimit(): int
+ {
+ return $this->video_size_limit;
+ }
+
+ public function setVideoSizeLimit(int $video_size_limit): void
+ {
+ $this->video_size_limit = $video_size_limit;
+ }
+
+ public function getVideoFrameRateLimit(): int
+ {
+ return $this->video_frame_rate_limit;
+ }
+
+ public function setVideoFrameRateLimit(int $video_frame_rate_limit): void
+ {
+ $this->video_frame_rate_limit = $video_frame_rate_limit;
+ }
+
+ public function getVideoMatrixLimit(): int
+ {
+ return $this->video_matrix_limit;
+ }
+
+ public function setVideoMatrixLimit(int $video_matrix_limit): void
+ {
+ $this->video_matrix_limit = $video_matrix_limit;
+ }
+}
+
+
+class Polls {
+ private int $max_options = 4;
+ private int $max_characters_per_option = 50;
+ private int $min_expiration = 300;
+ private int $max_expiration = 2629746;
+
+ public function getMaxOptions(): int
+ {
+ return $this->max_options;
+ }
+
+ public function setMaxOptions(int $max_options): void
+ {
+ $this->max_options = $max_options;
+ }
+
+ public function getMaxCharactersPerOption(): int
+ {
+ return $this->max_characters_per_option;
+ }
+
+ public function setMaxCharactersPerOption(int $max_characters_per_option): void
+ {
+ $this->max_characters_per_option = $max_characters_per_option;
+ }
+
+ public function getMinExpiration(): int
+ {
+ return $this->min_expiration;
+ }
+
+ public function setMinExpiration(int $min_expiration): void
+ {
+ $this->min_expiration = $min_expiration;
+ }
+
+ public function getMaxExpiration(): int
+ {
+ return $this->max_expiration;
+ }
+
+ public function setMaxExpiration(int $max_expiration): void
+ {
+ $this->max_expiration = $max_expiration;
+ }
+
+}
+
+class Configuration {
+ private Statuses $statuses;
+ private MediaAttachments $mediaAttachments;
+
+ public function getStatuses(): Statuses
+ {
+ return $this->statuses;
+ }
+
+ public function setStatuses(Statuses $statuses): void
+ {
+ $this->statuses = $statuses;
+ }
+
+ public function getMediaAttachments(): MediaAttachments
+ {
+ return $this->mediaAttachments;
+ }
+
+ public function setMediaAttachments(MediaAttachments $mediaAttachments): void
+ {
+ $this->mediaAttachments = $mediaAttachments;
+ }
+
+ public function getPolls(): Polls
+ {
+ return $this->polls;
+ }
+
+ public function setPolls(Polls $polls): void
+ {
+ $this->polls = $polls;
+ }
+ private Polls $polls;
+
+}
+
+
+class Instance
+{
+ private Configuration $configuration;
+
+ public function getConfiguration(): Configuration
+ {
+ return $this->configuration;
+ }
+
+ public function setConfiguration(Configuration $configuration): void
+ {
+ $this->configuration = $configuration;
+ }
+
+}
+
+
diff --git a/src/SocialEntity/Mention.php b/src/SocialEntity/Mention.php
index 138d195..20547ac 100644
--- a/src/SocialEntity/Mention.php
+++ b/src/SocialEntity/Mention.php
@@ -4,14 +4,10 @@ namespace App\SocialEntity;
class Mention
{
- /** @var string */
- private $url;
- /** @var string */
- private $username;
- /** @var string */
- private $acct;
- /** @var string */
- private $id;
+ private string $url;
+ private string $username;
+ private string $acct;
+ private string $id;
/**
diff --git a/src/SocialEntity/Notification.php b/src/SocialEntity/Notification.php
index 4ec628c..7c345df 100644
--- a/src/SocialEntity/Notification.php
+++ b/src/SocialEntity/Notification.php
@@ -3,20 +3,16 @@
namespace App\SocialEntity;
+use App\Security\MastodonAccount;
use DateTime;
class Notification
{
- /** @var string */
- private $id;
- /** @var string */
- private $type;
- /** @var DateTime */
- private $created_at;
- /** @var MastodonAccount */
- private $account;
- /** @var Status */
- private $status;
+ private string $id;
+ private string $type;
+ private DateTime $created_at;
+ private MastodonAccount $account;
+ private Status $status;
/**
diff --git a/src/SocialEntity/Poll.php b/src/SocialEntity/Poll.php
index a4b6bcd..3052e1f 100644
--- a/src/SocialEntity/Poll.php
+++ b/src/SocialEntity/Poll.php
@@ -8,26 +8,19 @@ use DateTime;
class Poll
{
- /** @var string */
- private $id;
- /** @var DateTime */
- private $expires_at;
- /** @var bool */
- private $expired;
- /** @var bool */
- private $multiple;
- /** @var int */
- private $votes_count;
- /** @var int */
- private $voters_count;
- /** @var bool */
- private $voted;
+ private string $id;
+ private DateTime $expires_at;
+ private bool $expired;
+ private bool $multiple;
+ private int $votes_count;
+ private int $voters_count;
+ private bool $voted;
/** @var int[] */
- private $own_votes;
+ private array $own_votes;
/** @var PollOption[] */
- private $options;
+ private array $options;
/** @var Emoji[] */
- private $emojis;
+ private array $emojis;
/**
* @return string
diff --git a/src/SocialEntity/PollOption.php b/src/SocialEntity/PollOption.php
index 271ea82..2490717 100644
--- a/src/SocialEntity/PollOption.php
+++ b/src/SocialEntity/PollOption.php
@@ -6,38 +6,27 @@ namespace App\SocialEntity;
class PollOption
{
- /** @var string */
- private $title;
- /** @var int */
- private $votes_count;
+ private ?string $title = null;
+ private ?int $votes_count = null;
+
- /**
- * @return string
- */
public function getTitle(): ?string
{
return $this->title;
}
- /**
- * @param string $title
- */
public function setTitle(?string $title): void
{
$this->title = $title;
}
- /**
- * @return int
- */
+
public function getVotesCount(): ?int
{
return $this->votes_count;
}
- /**
- * @param int $votes_count
- */
+
public function setVotesCount(?int $votes_count): void
{
$this->votes_count = $votes_count;
diff --git a/src/SocialEntity/Status.php b/src/SocialEntity/Status.php
index b99501f..b2bfb30 100644
--- a/src/SocialEntity/Status.php
+++ b/src/SocialEntity/Status.php
@@ -3,66 +3,43 @@
namespace App\SocialEntity;
+use App\Security\MastodonAccount;
use DateTime;
class Status
{
- /** @var string */
- private $id;
- /** @var string */
- private $uri;
- /** @var string */
- private $url;
- /** @var MastodonAccount */
- private $account;
- /** @var string */
- private $in_reply_to_id;
- /** @var string */
- private $in_reply_to_account_id;
- /** @var string */
- private $content;
- /** @var DateTime */
- private $created_at;
- /** @var DateTime */
- private $scheduled_at;
+ private string $id;
+ private string $uri;
+ private string $url;
+ private MastodonAccount $account;
+ private ?string $in_reply_to_id;
+ private ?string $in_reply_to_account_id;
+ private ?string $content;
+ private DateTime $created_at;
+ private DateTime $scheduled_at;
/** @var Emoji[] */
- private $emojis = [];
- /** @var int */
- private $replies_count;
- /** @var int */
- private $reblogs_count;
- /** @var int */
- private $favourites_count;
- /** @var boolean */
- private $reblogged;
- /** @var boolean */
- private $favourited;
- /** @var boolean */
- private $muted;
- /** @var boolean */
- private $sensitive_;
- /** @var string */
- private $spoiler_text;
- /** @var string */
- private $visibility;
+ private array $emojis = [];
+ private int $replies_count;
+ private int $reblogs_count;
+ private int $favourites_count;
+ private bool $reblogged;
+ private bool $favourited;
+ private bool $muted;
+ private bool $sensitive_;
+ private ?string $spoiler_text;
+ private string $visibility;
/** @var Attachment[] */
- private $media_attachments = [];
+ private array $media_attachments = [];
/** @var Mention[] */
- private $mentions = [];
+ private array $mentions = [];
/** @var Tag[] */
- private $tags = [];
- /** @var Card */
- private $card;
- /** @var Application */
- private $application;
- /** @var string */
- private $language;
- /** @var boolean */
- private $pinned;
- /** @var Status */
- private $reblog;
- /** @var Poll */
- private $poll;
+ private array $tags = [];
+ private Card $card;
+ private Application $application;
+ private string $language;
+ private bool $pinned;
+ private Status $reblog;
+ private Poll $poll;
/**
* @return string
@@ -129,15 +106,15 @@ class Status
}
/**
- * @return string
+ * @return string|null
*/
- public function getInReplyToId(): string
+ public function getInReplyToId(): ?string
{
return $this->in_reply_to_id;
}
/**
- * @param string $in_reply_to_id
+ * @param mixed $in_reply_to_id
*/
public function setInReplyToId(?string $in_reply_to_id): void
{
@@ -153,7 +130,7 @@ class Status
}
/**
- * @param string $in_reply_to_account_id
+ * @param mixed $in_reply_to_account_id
*/
public function setInReplyToAccountId(?string $in_reply_to_account_id): void
{
@@ -161,17 +138,17 @@ class Status
}
/**
- * @return string
+ * @return string|null
*/
- public function getContent(): string
+ public function getContent(): ?string
{
return $this->content;
}
/**
- * @param string $content
+ * @param mixed $content
*/
- public function setContent(string $content): void
+ public function setContent(?string $content): void
{
$this->content = $content;
}
@@ -185,7 +162,7 @@ class Status
}
/**
- * @param DateTime $created_at
+ * @param mixed $created_at
*/
public function setCreatedAt(?DateTime $created_at): void
{
@@ -346,7 +323,7 @@ class Status
}
/**
- * @param string $spoiler_text
+ * @param mixed $spoiler_text
*/
public function setSpoilerText(?string $spoiler_text): void
{
diff --git a/src/SocialEntity/Tag.php b/src/SocialEntity/Tag.php
index 6656168..cf395f5 100644
--- a/src/SocialEntity/Tag.php
+++ b/src/SocialEntity/Tag.php
@@ -6,14 +6,10 @@ namespace App\SocialEntity;
class Tag
{
- /** @var string */
- private $name;
- /** @var string */
- private $url;
- /** @var array */
- private $history = [];
- /** @var Status */
- private $status;
+ private string $name;
+ private string $url;
+ private array $history = [];
+ private Status $status;
/**
* @return string
diff --git a/src/Twig/AppExtension.php b/src/Twig/AppExtension.php
index d9567a8..b052154 100644
--- a/src/Twig/AppExtension.php
+++ b/src/Twig/AppExtension.php
@@ -8,7 +8,7 @@
namespace App\Twig;
-use App\SocialEntity\MastodonAccount;
+use App\Security\MastodonAccount;
use App\SocialEntity\Status;
use Twig\Extension\AbstractExtension;
use Twig\TwigFunction;
@@ -66,6 +66,14 @@ class AppExtension extends AbstractExtension
return "Català";
case "ar":
return "العربية";
+ case "ja":
+ return "日本語";
+ case "pl":
+ return "Polski";
+ case "ru":
+ return "Русский";
+ case "uk":
+ return "Украïна";
}
}
diff --git a/symfony.lock b/symfony.lock
index a917d55..7b2511f 100644
--- a/symfony.lock
+++ b/symfony.lock
@@ -1,166 +1,140 @@
{
"craue/formflow-bundle": {
- "version": "3.2.0"
- },
- "doctrine/annotations": {
- "version": "1.0",
- "recipe": {
- "repo": "github.com/symfony/recipes",
- "branch": "master",
- "version": "1.0",
- "ref": "cb4152ebcadbe620ea2261da1a1c5a9b8cea7672"
- },
- "files": [
- "config/routes/annotations.yaml"
- ]
- },
- "doctrine/collections": {
- "version": "1.6.4"
- },
- "doctrine/lexer": {
- "version": "1.1.0"
+ "version": "3.7.0"
},
"friendsofsymfony/jsrouting-bundle": {
- "version": "2.3",
+ "version": "3.5",
"recipe": {
"repo": "github.com/symfony/recipes-contrib",
- "branch": "master",
+ "branch": "main",
"version": "2.3",
"ref": "a9f2e49180f75cdc71ae279a929c4b2e0638de84"
- },
- "files": [
- "config/routes/fos_js_routing.yaml"
- ]
+ }
},
- "php": {
- "version": "7.3"
- },
- "psr/cache": {
- "version": "1.0.1"
- },
- "psr/container": {
- "version": "1.0.0"
- },
- "psr/log": {
- "version": "1.1.0"
- },
- "sensio/framework-extra-bundle": {
- "version": "5.2",
+ "phpunit/phpunit": {
+ "version": "9.6",
"recipe": {
"repo": "github.com/symfony/recipes",
- "branch": "master",
- "version": "5.2",
- "ref": "fb7e19da7f013d0d422fa9bce16f5c510e27609b"
+ "branch": "main",
+ "version": "9.6",
+ "ref": "7364a21d87e658eb363c5020c072ecfdc12e2326"
},
"files": [
- "config/packages/sensio_framework_extra.yaml"
+ "./.env.test",
+ "./phpunit.xml.dist",
+ "./tests/bootstrap.php"
]
},
- "symfony/asset": {
- "version": "v4.3.3"
- },
- "symfony/cache": {
- "version": "v4.3.3"
- },
- "symfony/cache-contracts": {
- "version": "v1.1.5"
- },
- "symfony/config": {
- "version": "v4.3.3"
+ "symfony/asset-mapper": {
+ "version": "7.0",
+ "recipe": {
+ "repo": "github.com/symfony/recipes",
+ "branch": "main",
+ "version": "6.4",
+ "ref": "6c28c471640cc2c6e60812ebcb961c526ef8997f"
+ },
+ "files": [
+ "./assets/app.js",
+ "./assets/styles/app.css",
+ "./config/packages/asset_mapper.yaml",
+ "./importmap.php"
+ ]
},
"symfony/console": {
- "version": "3.3",
+ "version": "7.0",
"recipe": {
"repo": "github.com/symfony/recipes",
- "branch": "master",
- "version": "3.3",
- "ref": "482d233eb8de91ebd042992077bbd5838858890c"
+ "branch": "main",
+ "version": "5.3",
+ "ref": "1781ff40d8a17d87cf53f8d4cf0c8346ed2bb461"
},
"files": [
- "bin/console",
- "config/bootstrap.php"
+ "./bin/console"
]
},
- "symfony/debug": {
- "version": "v4.3.3"
- },
- "symfony/dependency-injection": {
- "version": "v4.3.3"
- },
- "symfony/dotenv": {
- "version": "v4.3.3"
- },
- "symfony/event-dispatcher": {
- "version": "v4.3.3"
- },
- "symfony/event-dispatcher-contracts": {
- "version": "v1.1.5"
- },
- "symfony/filesystem": {
- "version": "v4.3.3"
- },
- "symfony/finder": {
- "version": "v4.3.3"
+ "symfony/debug-bundle": {
+ "version": "7.0",
+ "recipe": {
+ "repo": "github.com/symfony/recipes",
+ "branch": "main",
+ "version": "5.3",
+ "ref": "5aa8aa48234c8eb6dbdd7b3cd5d791485d2cec4b"
+ },
+ "files": [
+ "./config/packages/debug.yaml"
+ ]
},
"symfony/flex": {
- "version": "1.0",
+ "version": "2.4",
"recipe": {
"repo": "github.com/symfony/recipes",
- "branch": "master",
+ "branch": "main",
"version": "1.0",
- "ref": "dc3fc2e0334a4137c47cfd5a3ececc601fa61a0b"
+ "ref": "146251ae39e06a95be0fe3d13c807bcf3938b172"
},
"files": [
- ".env"
+ "./.env"
]
},
- "symfony/form": {
- "version": "v4.3.3"
- },
"symfony/framework-bundle": {
- "version": "4.2",
+ "version": "7.0",
"recipe": {
"repo": "github.com/symfony/recipes",
- "branch": "master",
- "version": "4.2",
- "ref": "61ad963f28c091b8bb9449507654b9c7d8bbb53c"
+ "branch": "main",
+ "version": "7.0",
+ "ref": "6356c19b9ae08e7763e4ba2d9ae63043efc75db5"
},
"files": [
- "config/bootstrap.php",
- "config/packages/cache.yaml",
- "config/packages/framework.yaml",
- "config/packages/test/framework.yaml",
- "config/services.yaml",
- "public/index.php",
- "src/Controller/.gitignore",
- "src/Kernel.php"
+ "./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/http-foundation": {
- "version": "v4.3.3"
+ "symfony/maker-bundle": {
+ "version": "1.59",
+ "recipe": {
+ "repo": "github.com/symfony/recipes",
+ "branch": "main",
+ "version": "1.0",
+ "ref": "fadbfe33303a76e25cb63401050439aa9b1a9c7f"
+ }
},
- "symfony/http-kernel": {
- "version": "v4.3.3"
+ "symfony/monolog-bundle": {
+ "version": "3.10",
+ "recipe": {
+ "repo": "github.com/symfony/recipes",
+ "branch": "main",
+ "version": "3.7",
+ "ref": "aff23899c4440dd995907613c1dd709b6f59503f"
+ },
+ "files": [
+ "./config/packages/monolog.yaml"
+ ]
},
- "symfony/inflector": {
- "version": "v4.3.3"
- },
- "symfony/intl": {
- "version": "v4.3.3"
- },
- "symfony/mime": {
- "version": "v4.3.3"
- },
- "symfony/options-resolver": {
- "version": "v4.3.3"
+ "symfony/notifier": {
+ "version": "7.0",
+ "recipe": {
+ "repo": "github.com/symfony/recipes",
+ "branch": "main",
+ "version": "5.0",
+ "ref": "178877daf79d2dbd62129dd03612cb1a2cb407cc"
+ },
+ "files": [
+ "./config/packages/notifier.yaml"
+ ]
},
"symfony/phpunit-bridge": {
"version": "7.0",
"recipe": {
"repo": "github.com/symfony/recipes",
"branch": "main",
- "version": "5.1",
- "ref": "2f91477d6efaed3fb857db87480f7d07d31cbb3e"
+ "version": "6.3",
+ "ref": "a411a0480041243d97382cac7984f7dce7813c08"
},
"files": [
"./.env.test",
@@ -169,152 +143,101 @@
"./tests/bootstrap.php"
]
},
- "symfony/polyfill-intl-icu": {
- "version": "v1.12.0"
- },
- "symfony/polyfill-intl-idn": {
- "version": "v1.12.0"
- },
- "symfony/polyfill-intl-messageformatter": {
- "version": "v1.15.0"
- },
- "symfony/polyfill-mbstring": {
- "version": "v1.12.0"
- },
- "symfony/polyfill-php72": {
- "version": "v1.12.0"
- },
- "symfony/polyfill-php73": {
- "version": "v1.12.0"
- },
- "symfony/process": {
- "version": "v4.3.3"
- },
- "symfony/property-access": {
- "version": "v4.3.3"
- },
"symfony/routing": {
- "version": "4.2",
+ "version": "7.0",
"recipe": {
"repo": "github.com/symfony/recipes",
- "branch": "master",
- "version": "4.2",
- "ref": "4c107a8d23a16b997178fbd4103b8d2f54f688b7"
+ "branch": "main",
+ "version": "7.0",
+ "ref": "21b72649d5622d8f7da329ffb5afb232a023619d"
},
"files": [
- "config/packages/dev/routing.yaml",
- "config/packages/routing.yaml",
- "config/packages/test/routing.yaml",
- "config/routes.yaml"
+ "./config/packages/routing.yaml",
+ "./config/routes.yaml"
]
},
"symfony/security-bundle": {
- "version": "3.3",
+ "version": "7.0",
"recipe": {
"repo": "github.com/symfony/recipes",
- "branch": "master",
- "version": "3.3",
- "ref": "e5a0228251d1dd2bca4c8ef918e14423c06db625"
+ "branch": "main",
+ "version": "6.4",
+ "ref": "2ae08430db28c8eb4476605894296c82a642028f"
},
"files": [
- "config/packages/security.yaml"
+ "./config/packages/security.yaml",
+ "./config/routes/security.yaml"
]
},
- "symfony/security-core": {
- "version": "v4.3.3"
- },
- "symfony/security-csrf": {
- "version": "v4.3.3"
- },
- "symfony/security-guard": {
- "version": "v4.3.3"
- },
- "symfony/security-http": {
- "version": "v4.3.3"
- },
- "symfony/serializer": {
- "version": "v4.3.3"
- },
- "symfony/service-contracts": {
- "version": "v1.1.5"
+ "symfony/stimulus-bundle": {
+ "version": "2.17",
+ "recipe": {
+ "repo": "github.com/symfony/recipes",
+ "branch": "main",
+ "version": "2.13",
+ "ref": "6acd9ff4f7fd5626d2962109bd4ebab351d43c43"
+ },
+ "files": [
+ "./assets/bootstrap.js",
+ "./assets/controllers.json",
+ "./assets/controllers/hello_controller.js"
+ ]
},
"symfony/translation": {
- "version": "3.3",
+ "version": "7.0",
"recipe": {
"repo": "github.com/symfony/recipes",
- "branch": "master",
- "version": "3.3",
- "ref": "2ad9d2545bce8ca1a863e50e92141f0b9d87ffcd"
+ "branch": "main",
+ "version": "6.3",
+ "ref": "e28e27f53663cc34f0be2837aba18e3a1bef8e7b"
},
"files": [
- "config/packages/translation.yaml",
- "translations/.gitignore"
+ "./config/packages/translation.yaml",
+ "./translations/.gitignore"
]
},
- "symfony/translation-contracts": {
- "version": "v1.1.5"
- },
- "symfony/twig-bridge": {
- "version": "v4.3.3"
- },
"symfony/twig-bundle": {
- "version": "3.3",
+ "version": "7.0",
"recipe": {
"repo": "github.com/symfony/recipes",
- "branch": "master",
- "version": "3.3",
- "ref": "369b5b29dc52b2c190002825ae7ec24ab6f962dd"
+ "branch": "main",
+ "version": "6.4",
+ "ref": "cab5fd2a13a45c266d45a7d9337e28dee6272877"
},
"files": [
- "config/packages/twig.yaml",
- "config/routes/dev/twig.yaml",
- "templates/base.html.twig"
+ "./config/packages/twig.yaml",
+ "./templates/base.html.twig"
]
},
+ "symfony/ux-turbo": {
+ "version": "v2.17.0"
+ },
"symfony/validator": {
- "version": "4.3",
+ "version": "7.0",
"recipe": {
"repo": "github.com/symfony/recipes",
- "branch": "master",
- "version": "4.3",
- "ref": "d902da3e4952f18d3bf05aab29512eb61cabd869"
+ "branch": "main",
+ "version": "7.0",
+ "ref": "8c1c4e28d26a124b0bb273f537ca8ce443472bfd"
},
"files": [
- "config/packages/test/validator.yaml",
- "config/packages/validator.yaml"
+ "./config/packages/validator.yaml"
]
},
- "symfony/var-exporter": {
- "version": "v4.3.3"
- },
- "symfony/web-server-bundle": {
- "version": "3.3",
+ "symfony/web-profiler-bundle": {
+ "version": "7.0",
"recipe": {
"repo": "github.com/symfony/recipes",
- "branch": "master",
- "version": "3.3",
- "ref": "dae9b39fd6717970be7601101ce5aa960bf53d9a"
- }
- },
- "symfony/yaml": {
- "version": "v4.3.3"
- },
- "twig/extensions": {
- "version": "1.0",
- "recipe": {
- "repo": "github.com/symfony/recipes",
- "branch": "master",
- "version": "1.0",
- "ref": "a86723ee8d8b2f9437c8ce60a5546a1c267da5ed"
+ "branch": "main",
+ "version": "6.1",
+ "ref": "e42b3f0177df239add25373083a564e5ead4e13a"
},
"files": [
- "config/packages/twig_extensions.yaml"
+ "./config/packages/web_profiler.yaml",
+ "./config/routes/web_profiler.yaml"
]
},
- "twig/twig": {
- "version": "v2.11.3"
- },
- "willdurand/jsonp-callback-validator": {
- "version": "v1.1.0"
+ "twig/extra-bundle": {
+ "version": "v3.9.3"
}
}
diff --git a/templates/fediplan/Ajax/layout.html.twig b/templates/fediplan/Ajax/layout.html.twig
index eddd89d..baa6542 100644
--- a/templates/fediplan/Ajax/layout.html.twig
+++ b/templates/fediplan/Ajax/layout.html.twig
@@ -14,10 +14,27 @@
{% if status.spoilerText is defined %}
{{ status.spoilerText }}
{% endif %}
- {{ status.content | nl2br }}
+ {% if status.content is not null %}
+ {{ status.content | nl2br }}
+ {% endif %}
+ {% if status.getMediaAttachments() is not null and status.getMediaAttachments() | length > 0%}
+
+
+ {% for media in status.getMediaAttachments() %}
+

+ {% endfor %}
+
+
+ {% endif %}
diff --git a/templates/fediplan/index.html.twig b/templates/fediplan/index.html.twig
index 27c2b19..97891b2 100644
--- a/templates/fediplan/index.html.twig
+++ b/templates/fediplan/index.html.twig
@@ -75,7 +75,7 @@
{{ 'page.index.about'|trans |raw}}
{{ 'page.index.data'|trans |raw}}
-
+
{{ form_end(form) }}
diff --git a/templates/fediplan/schedule.html.twig b/templates/fediplan/schedule.html.twig
index 28da1bb..834c982 100644
--- a/templates/fediplan/schedule.html.twig
+++ b/templates/fediplan/schedule.html.twig
@@ -3,6 +3,7 @@
{% block title %}{{ 'common.schedule'|trans }}{% endblock %}
{% block content %}
+ {% set instanceConfiguration = app.session.get("instance").getConfiguration() %}
{% include 'nav.html.twig' %}
Schedule for
{{ convertAccountEmoji(app.user, app.user.displayName) | raw }} (@{{ app.user.acct}}@{{ instance }})
@@ -55,7 +56,8 @@
- 0
+ 0
+ /{{ instanceConfiguration.statuses.maxCharacters }}