From 19b12bf6ee54bbfacb5b57a65ae124707e2accab Mon Sep 17 00:00:00 2001 From: rxu Date: Tue, 1 Dec 2020 13:10:45 +0700 Subject: [PATCH 01/11] [ticket/16649] Upgrade to Symfony 5 PHPBB3-16649 --- phpBB/common.php | 2 +- phpBB/config/default/container/services.yml | 2 + .../default/container/services_attachment.yml | 2 + .../default/container/services_auth.yml | 2 + .../default/container/services_avatar.yml | 2 + .../default/container/services_captcha.yml | 2 + .../default/container/services_console.yml | 2 + .../default/container/services_content.yml | 2 + .../default/container/services_cron.yml | 2 + .../config/default/container/services_db.yml | 2 + .../default/container/services_event.yml | 2 + .../default/container/services_extensions.yml | 2 + .../default/container/services_feed.yml | 2 + .../default/container/services_files.yml | 2 + .../default/container/services_filesystem.yml | 2 + .../default/container/services_help.yml | 2 + .../default/container/services_http.yml | 2 + .../default/container/services_language.yml | 2 + .../default/container/services_migrator.yml | 2 + .../container/services_mimetype_guesser.yml | 6 +- .../default/container/services_module.yml | 2 + .../container/services_notification.yml | 2 + .../default/container/services_password.yml | 2 + .../config/default/container/services_php.yml | 2 + .../container/services_profilefield.yml | 2 + .../default/container/services_report.yml | 2 + .../default/container/services_routing.yml | 2 + .../default/container/services_storage.yml | 1 + .../container/services_text_formatter.yml | 2 + .../container/services_text_reparser.yml | 2 + .../default/container/services_twig.yml | 2 + .../container/services_twig_extensions.yml | 2 + .../config/default/container/services_ucp.yml | 2 + .../default/container/services_user.yml | 2 + phpBB/config/installer/container/services.yml | 2 + .../container/services_file_updater.yml | 2 + .../container/services_install_console.yml | 2 + .../container/services_install_controller.yml | 2 + .../container/services_install_database.yml | 2 + .../container/services_install_filesystem.yml | 2 + .../container/services_install_finish.yml | 2 + .../container/services_install_navigation.yml | 2 + .../services_install_obtain_data.yml | 2 + .../services_install_requirements.yml | 2 + .../container/services_installer.yml | 2 + .../container/services_update_database.yml | 2 + .../container/services_update_filesystem.yml | 2 + .../container/services_update_obtain_data.yml | 2 + .../services_update_requirements.yml | 2 + phpBB/includes/acp/acp_main.php | 2 +- phpBB/includes/acp/acp_storage.php | 2 +- phpBB/includes/functions.php | 2 +- phpBB/includes/functions_display.php | 2 +- phpBB/includes/ucp/ucp_main.php | 2 +- phpBB/phpbb/console/command/cache/purge.php | 5 +- phpBB/phpbb/console/command/config/delete.php | 28 +++++---- phpBB/phpbb/console/command/config/get.php | 6 +- .../console/command/config/increment.php | 5 +- phpBB/phpbb/console/command/config/set.php | 5 +- .../console/command/config/set_atomic.php | 5 +- .../phpbb/console/command/cron/cron_list.php | 7 ++- .../phpbb/console/command/db/list_command.php | 16 +++++ phpBB/phpbb/console/command/db/migrate.php | 17 ++++- phpBB/phpbb/console/command/db/revert.php | 21 ++++++- .../console/command/dev/migration_tips.php | 16 +++++ .../console/command/extension/disable.php | 18 +++++- .../console/command/extension/enable.php | 24 +++++-- .../console/command/extension/install.php | 5 +- .../command/extension/list_available.php | 3 +- .../console/command/extension/manage.php | 7 ++- .../phpbb/console/command/extension/purge.php | 18 +++++- .../console/command/extension/remove.php | 5 +- .../phpbb/console/command/extension/show.php | 16 +++++ .../console/command/extension/update.php | 5 +- .../command/fixup/fix_left_right_ids.php | 4 +- .../console/command/fixup/update_hashes.php | 2 + .../console/command/reparser/list_all.php | 3 +- .../console/command/reparser/reparse.php | 3 +- .../console/command/thumbnail/delete.php | 7 ++- .../console/command/thumbnail/generate.php | 5 +- .../console/command/thumbnail/recreate.php | 3 +- phpBB/phpbb/console/command/update/check.php | 13 ++-- phpBB/phpbb/console/command/user/activate.php | 9 +-- phpBB/phpbb/console/command/user/add.php | 7 ++- phpBB/phpbb/console/command/user/delete.php | 5 +- phpBB/phpbb/console/command/user/reclean.php | 3 +- .../phpbb/cron/event/cron_runner_listener.php | 6 +- .../di/extension/container_configuration.php | 4 +- phpBB/phpbb/event/data.php | 2 +- phpBB/phpbb/event/dispatcher.php | 15 ++--- .../event/kernel_exception_subscriber.php | 8 +-- .../event/kernel_terminate_subscriber.php | 6 +- phpBB/phpbb/event/php_exporter.php | 16 +++-- phpBB/phpbb/filesystem/helper.php | 12 ++++ .../install/helper/container_factory.php | 2 +- phpBB/phpbb/mimetype/guesser.php | 7 ++- phpBB/phpbb/routing/router.php | 36 ++++------- phpBB/phpbb/session.php | 2 +- .../phpbb/template/twig/extension/avatar.php | 4 +- .../phpbb/template/twig/extension/config.php | 4 +- phpBB/phpbb/template/twig/extension/icon.php | 3 +- .../phpbb/template/twig/extension/routing.php | 62 ++++++++++++++++++- .../template/twig/extension/username.php | 4 +- phpBB/phpbb/user.php | 2 +- tests/attachment/upload_test.php | 4 +- tests/console/cache/purge_test.php | 5 +- tests/console/thumbnail_test.php | 3 +- tests/console/user/add_test.php | 2 +- tests/console/user/base.php | 9 --- tests/controller/config/services.yml | 1 + .../ext/vendor2/bar/config/services.yml | 1 + .../ext/vendor2/foo/config/services.yml | 1 + tests/di/create_container_test.php | 8 +-- .../production/container/environment.yml | 1 + .../config/test/container/environment.yml | 1 + .../production/container/environment.yml | 1 + .../test/container/environment.yml | 1 + tests/event/exception_listener_test.php | 2 +- .../controllers_compatibility_test.php | 2 +- .../functional/extension_controller_test.php | 2 +- tests/functional/feed_test.php | 18 +++--- .../fixtures/ext/foo/bar/config/services.yml | 1 + .../fixtures/ext/foo/foo/config/services.yml | 1 + tests/functional/posting_test.php | 4 +- tests/functional/private_messages_test.php | 6 +- tests/mimetype/guesser_test.php | 16 +++-- tests/mock/container_builder.php | 2 +- .../fixtures/services_notification.yml | 1 + .../phpbb_functional_test_case.php | 6 +- .../phpbb_test_case_helpers.php | 2 +- tests/upload/filespec_test.php | 4 +- tests/upload/fileupload_test.php | 4 +- travis/setup-phpbb.sh | 3 +- 133 files changed, 524 insertions(+), 190 deletions(-) diff --git a/phpBB/common.php b/phpBB/common.php index af2a344de6..5627ccd976 100644 --- a/phpBB/common.php +++ b/phpBB/common.php @@ -156,4 +156,4 @@ if (@is_file($phpbb_root_path . $config['exts_composer_vendor_dir'] . '/autoload * @event core.common * @since 3.1.0-a1 */ -$phpbb_dispatcher->dispatch('core.common'); +$phpbb_dispatcher->trigger_event('core.common'); diff --git a/phpBB/config/default/container/services.yml b/phpBB/config/default/container/services.yml index b34e5306e3..a977ff3f8b 100644 --- a/phpBB/config/default/container/services.yml +++ b/phpBB/config/default/container/services.yml @@ -36,6 +36,8 @@ imports: - { resource: parameters.yml } services: + _defaults: { public: true } + cache: class: phpbb\cache\service arguments: diff --git a/phpBB/config/default/container/services_attachment.yml b/phpBB/config/default/container/services_attachment.yml index c54b847685..8a3587113c 100644 --- a/phpBB/config/default/container/services_attachment.yml +++ b/phpBB/config/default/container/services_attachment.yml @@ -1,4 +1,6 @@ services: + _defaults: { public: true } + attachment.delete: class: phpbb\attachment\delete shared: false diff --git a/phpBB/config/default/container/services_auth.yml b/phpBB/config/default/container/services_auth.yml index 6c9d224ad2..cc415fb569 100644 --- a/phpBB/config/default/container/services_auth.yml +++ b/phpBB/config/default/container/services_auth.yml @@ -1,4 +1,6 @@ services: + _defaults: { public: true } + # ----- Auth management ----- auth: class: phpbb\auth\auth diff --git a/phpBB/config/default/container/services_avatar.yml b/phpBB/config/default/container/services_avatar.yml index 1cbc44115d..ae6179698a 100644 --- a/phpBB/config/default/container/services_avatar.yml +++ b/phpBB/config/default/container/services_avatar.yml @@ -1,4 +1,6 @@ services: + _defaults: { public: true } + avatar.manager: class: phpbb\avatar\manager arguments: diff --git a/phpBB/config/default/container/services_captcha.yml b/phpBB/config/default/container/services_captcha.yml index ba10264093..af9bbec2de 100644 --- a/phpBB/config/default/container/services_captcha.yml +++ b/phpBB/config/default/container/services_captcha.yml @@ -1,4 +1,6 @@ services: + _defaults: { public: true } + captcha.factory: class: phpbb\captcha\factory arguments: diff --git a/phpBB/config/default/container/services_console.yml b/phpBB/config/default/container/services_console.yml index 74cfade99d..d44ca3590b 100644 --- a/phpBB/config/default/container/services_console.yml +++ b/phpBB/config/default/container/services_console.yml @@ -1,4 +1,6 @@ services: + _defaults: { public: true } + console.exception_subscriber: class: phpbb\console\exception_subscriber arguments: diff --git a/phpBB/config/default/container/services_content.yml b/phpBB/config/default/container/services_content.yml index 3cdd0cfe6f..b97496b437 100644 --- a/phpBB/config/default/container/services_content.yml +++ b/phpBB/config/default/container/services_content.yml @@ -1,4 +1,6 @@ services: + _defaults: { public: true } + content.visibility: class: phpbb\content_visibility arguments: diff --git a/phpBB/config/default/container/services_cron.yml b/phpBB/config/default/container/services_cron.yml index 70affbbaf4..aef6ccd75d 100644 --- a/phpBB/config/default/container/services_cron.yml +++ b/phpBB/config/default/container/services_cron.yml @@ -1,4 +1,6 @@ services: + _defaults: { public: true } + cron.manager: class: phpbb\cron\manager arguments: diff --git a/phpBB/config/default/container/services_db.yml b/phpBB/config/default/container/services_db.yml index fe7d42937d..22afeac6b1 100644 --- a/phpBB/config/default/container/services_db.yml +++ b/phpBB/config/default/container/services_db.yml @@ -1,4 +1,6 @@ services: + _defaults: { public: true } + dbal.conn: class: phpbb\db\driver\factory arguments: diff --git a/phpBB/config/default/container/services_event.yml b/phpBB/config/default/container/services_event.yml index 5696275e64..ef64821993 100644 --- a/phpBB/config/default/container/services_event.yml +++ b/phpBB/config/default/container/services_event.yml @@ -1,4 +1,6 @@ services: + _defaults: { public: true } + dispatcher: class: phpbb\event\dispatcher arguments: diff --git a/phpBB/config/default/container/services_extensions.yml b/phpBB/config/default/container/services_extensions.yml index 53e36f0fda..9e890f761c 100644 --- a/phpBB/config/default/container/services_extensions.yml +++ b/phpBB/config/default/container/services_extensions.yml @@ -1,4 +1,6 @@ services: + _defaults: { public: true } + ext.manager: class: phpbb\extension\manager arguments: diff --git a/phpBB/config/default/container/services_feed.yml b/phpBB/config/default/container/services_feed.yml index f32d0cb4d3..08f5adf919 100644 --- a/phpBB/config/default/container/services_feed.yml +++ b/phpBB/config/default/container/services_feed.yml @@ -1,4 +1,6 @@ services: + _defaults: { public: true } + phpbb.feed.controller: class: phpbb\feed\controller\feed arguments: diff --git a/phpBB/config/default/container/services_files.yml b/phpBB/config/default/container/services_files.yml index b6cb2f6a45..20ee9457e1 100644 --- a/phpBB/config/default/container/services_files.yml +++ b/phpBB/config/default/container/services_files.yml @@ -1,4 +1,6 @@ services: + _defaults: { public: true } + files.factory: class: phpbb\files\factory arguments: diff --git a/phpBB/config/default/container/services_filesystem.yml b/phpBB/config/default/container/services_filesystem.yml index 15206314b9..342f2a33c2 100644 --- a/phpBB/config/default/container/services_filesystem.yml +++ b/phpBB/config/default/container/services_filesystem.yml @@ -2,6 +2,8 @@ parameters: core.filesystem.cache_temp_dir: '%core.cache_dir%tmp/' services: + _defaults: { public: true } + filesystem: class: phpbb\filesystem\filesystem diff --git a/phpBB/config/default/container/services_help.yml b/phpBB/config/default/container/services_help.yml index 1bff001523..0574720099 100644 --- a/phpBB/config/default/container/services_help.yml +++ b/phpBB/config/default/container/services_help.yml @@ -1,4 +1,6 @@ services: + _defaults: { public: true } + phpbb.help.manager: class: phpbb\help\manager arguments: diff --git a/phpBB/config/default/container/services_http.yml b/phpBB/config/default/container/services_http.yml index 49cfbf5b84..20710a5d01 100644 --- a/phpBB/config/default/container/services_http.yml +++ b/phpBB/config/default/container/services_http.yml @@ -1,4 +1,6 @@ services: + _defaults: { public: true } + http_kernel: class: Symfony\Component\HttpKernel\HttpKernel arguments: diff --git a/phpBB/config/default/container/services_language.yml b/phpBB/config/default/container/services_language.yml index 8201fbf9b6..fe5764214f 100644 --- a/phpBB/config/default/container/services_language.yml +++ b/phpBB/config/default/container/services_language.yml @@ -1,4 +1,6 @@ services: + _defaults: { public: true } + language.helper.language_file: class: phpbb\language\language_file_helper arguments: diff --git a/phpBB/config/default/container/services_migrator.yml b/phpBB/config/default/container/services_migrator.yml index ce478050ea..37728ef6f3 100644 --- a/phpBB/config/default/container/services_migrator.yml +++ b/phpBB/config/default/container/services_migrator.yml @@ -1,4 +1,6 @@ services: + _defaults: { public: true } + # ----- Migrator ----- migrator: class: phpbb\db\migrator diff --git a/phpBB/config/default/container/services_mimetype_guesser.yml b/phpBB/config/default/container/services_mimetype_guesser.yml index 432470d40c..61421a555f 100644 --- a/phpBB/config/default/container/services_mimetype_guesser.yml +++ b/phpBB/config/default/container/services_mimetype_guesser.yml @@ -1,4 +1,6 @@ services: + _defaults: { public: true } + mimetype.guesser_collection: class: phpbb\di\service_collection arguments: @@ -7,12 +9,12 @@ services: - { name: service_collection, tag: mimetype.guessers } mimetype.fileinfo_mimetype_guesser: - class: Symfony\Component\HttpFoundation\File\MimeType\FileinfoMimeTypeGuesser + class: Symfony\Component\Mime\FileinfoMimeTypeGuesser tags: - { name: mimetype.guessers } mimetype.filebinary_mimetype_guesser: - class: Symfony\Component\HttpFoundation\File\MimeType\FileBinaryMimeTypeGuesser + class: Symfony\Component\Mime\FileBinaryMimeTypeGuesser tags: - { name: mimetype.guessers } diff --git a/phpBB/config/default/container/services_module.yml b/phpBB/config/default/container/services_module.yml index a057e55239..67453083c5 100644 --- a/phpBB/config/default/container/services_module.yml +++ b/phpBB/config/default/container/services_module.yml @@ -1,4 +1,6 @@ services: + _defaults: { public: true } + module.manager: class: phpbb\module\module_manager arguments: diff --git a/phpBB/config/default/container/services_notification.yml b/phpBB/config/default/container/services_notification.yml index c18e358114..20be74b82c 100644 --- a/phpBB/config/default/container/services_notification.yml +++ b/phpBB/config/default/container/services_notification.yml @@ -1,4 +1,6 @@ services: + _defaults: { public: true } + notification_manager: class: phpbb\notification\manager arguments: diff --git a/phpBB/config/default/container/services_password.yml b/phpBB/config/default/container/services_password.yml index 38f7404330..e1822d629c 100644 --- a/phpBB/config/default/container/services_password.yml +++ b/phpBB/config/default/container/services_password.yml @@ -5,6 +5,8 @@ parameters: passwords.driver.bcrypt_cost: 10 services: + _defaults: { public: true } + # ----- Password management ----- passwords.manager: class: phpbb\passwords\manager diff --git a/phpBB/config/default/container/services_php.yml b/phpBB/config/default/container/services_php.yml index 29349960f3..bf6992159a 100644 --- a/phpBB/config/default/container/services_php.yml +++ b/phpBB/config/default/container/services_php.yml @@ -1,3 +1,5 @@ services: + _defaults: { public: true } + php_ini: class: bantu\IniGetWrapper\IniGetWrapper diff --git a/phpBB/config/default/container/services_profilefield.yml b/phpBB/config/default/container/services_profilefield.yml index aca8b65db6..c326e66d2f 100644 --- a/phpBB/config/default/container/services_profilefield.yml +++ b/phpBB/config/default/container/services_profilefield.yml @@ -1,4 +1,6 @@ services: + _defaults: { public: true } + profilefields.manager: class: phpbb\profilefields\manager arguments: diff --git a/phpBB/config/default/container/services_report.yml b/phpBB/config/default/container/services_report.yml index 2c5b3bf3d5..076858678c 100644 --- a/phpBB/config/default/container/services_report.yml +++ b/phpBB/config/default/container/services_report.yml @@ -1,4 +1,6 @@ services: + _defaults: { public: true } + # ----- Report controller ----- phpbb.report.controller: class: phpbb\report\controller\report diff --git a/phpBB/config/default/container/services_routing.yml b/phpBB/config/default/container/services_routing.yml index 5b7fc35b5a..8734647749 100644 --- a/phpBB/config/default/container/services_routing.yml +++ b/phpBB/config/default/container/services_routing.yml @@ -1,4 +1,6 @@ services: + _defaults: { public: true } + router: class: phpbb\routing\router arguments: diff --git a/phpBB/config/default/container/services_storage.yml b/phpBB/config/default/container/services_storage.yml index 92f31779e6..fce8198e82 100644 --- a/phpBB/config/default/container/services_storage.yml +++ b/phpBB/config/default/container/services_storage.yml @@ -1,4 +1,5 @@ services: + _defaults: { public: true } # Storages storage.attachment: diff --git a/phpBB/config/default/container/services_text_formatter.yml b/phpBB/config/default/container/services_text_formatter.yml index 4e4abf6564..276c48a5b5 100644 --- a/phpBB/config/default/container/services_text_formatter.yml +++ b/phpBB/config/default/container/services_text_formatter.yml @@ -4,6 +4,8 @@ parameters: text_formatter.cache.renderer.key: _text_formatter_renderer services: + _defaults: { public: true } + text_formatter.acp_utils: class: phpbb\textformatter\s9e\acp_utils arguments: diff --git a/phpBB/config/default/container/services_text_reparser.yml b/phpBB/config/default/container/services_text_reparser.yml index 32377f2bb4..c0c531d509 100644 --- a/phpBB/config/default/container/services_text_reparser.yml +++ b/phpBB/config/default/container/services_text_reparser.yml @@ -1,4 +1,6 @@ services: + _defaults: { public: true } + text_reparser.manager: class: phpbb\textreparser\manager arguments: diff --git a/phpBB/config/default/container/services_twig.yml b/phpBB/config/default/container/services_twig.yml index 747d2ee155..b87c8cbb4e 100644 --- a/phpBB/config/default/container/services_twig.yml +++ b/phpBB/config/default/container/services_twig.yml @@ -2,6 +2,8 @@ parameters: core.template.cache_path: '%core.cache_dir%twig/' services: + _defaults: { public: true } + template.twig.environment: class: phpbb\template\twig\environment arguments: diff --git a/phpBB/config/default/container/services_twig_extensions.yml b/phpBB/config/default/container/services_twig_extensions.yml index 115d3f1417..736d07f7b0 100644 --- a/phpBB/config/default/container/services_twig_extensions.yml +++ b/phpBB/config/default/container/services_twig_extensions.yml @@ -1,6 +1,8 @@ # Twig extensions not needed by the installer services: + _defaults: { public: true } + template.twig.extensions.icon: class: phpbb\template\twig\extension\icon arguments: diff --git a/phpBB/config/default/container/services_ucp.yml b/phpBB/config/default/container/services_ucp.yml index 861fa4ac75..570f1a1de0 100644 --- a/phpBB/config/default/container/services_ucp.yml +++ b/phpBB/config/default/container/services_ucp.yml @@ -1,4 +1,6 @@ services: + _defaults: { public: true } + phpbb.ucp.controller.reset_password: class: phpbb\ucp\controller\reset_password arguments: diff --git a/phpBB/config/default/container/services_user.yml b/phpBB/config/default/container/services_user.yml index 7e634c60c3..b3663a8f35 100644 --- a/phpBB/config/default/container/services_user.yml +++ b/phpBB/config/default/container/services_user.yml @@ -1,4 +1,6 @@ services: + _defaults: { public: true } + acl.permissions: class: phpbb\permissions arguments: diff --git a/phpBB/config/installer/container/services.yml b/phpBB/config/installer/container/services.yml index 080b8a48e3..9d1daa840a 100644 --- a/phpBB/config/installer/container/services.yml +++ b/phpBB/config/installer/container/services.yml @@ -9,6 +9,8 @@ imports: - { resource: ../../default/container/services_twig.yml } services: + _defaults: { public: true } + cache.driver: class: '%cache.driver.class%' arguments: diff --git a/phpBB/config/installer/container/services_file_updater.yml b/phpBB/config/installer/container/services_file_updater.yml index 9d39bb8b89..188f0aea00 100644 --- a/phpBB/config/installer/container/services_file_updater.yml +++ b/phpBB/config/installer/container/services_file_updater.yml @@ -1,4 +1,6 @@ services: + _defaults: { public: true } + installer.file_updater.factory: class: phpbb\install\helper\file_updater\factory arguments: diff --git a/phpBB/config/installer/container/services_install_console.yml b/phpBB/config/installer/container/services_install_console.yml index 41d3aa4c1b..8dd57e9ed4 100644 --- a/phpBB/config/installer/container/services_install_console.yml +++ b/phpBB/config/installer/container/services_install_console.yml @@ -1,4 +1,6 @@ services: + _defaults: { public: true } + console.installer.command_collection: class: phpbb\di\service_collection arguments: diff --git a/phpBB/config/installer/container/services_install_controller.yml b/phpBB/config/installer/container/services_install_controller.yml index 5aaba0f47f..f32786921c 100644 --- a/phpBB/config/installer/container/services_install_controller.yml +++ b/phpBB/config/installer/container/services_install_controller.yml @@ -1,4 +1,6 @@ services: + _defaults: { public: true } + phpbb.installer.controller.welcome: class: phpbb\install\controller\installer_index arguments: diff --git a/phpBB/config/installer/container/services_install_database.yml b/phpBB/config/installer/container/services_install_database.yml index 14baed7e79..6cd9e09183 100644 --- a/phpBB/config/installer/container/services_install_database.yml +++ b/phpBB/config/installer/container/services_install_database.yml @@ -1,4 +1,6 @@ services: + _defaults: { public: true } + installer.install_database.create_schema_file: class: phpbb\install\module\install_database\task\create_schema_file arguments: diff --git a/phpBB/config/installer/container/services_install_filesystem.yml b/phpBB/config/installer/container/services_install_filesystem.yml index 996e593d15..c876d19d5c 100644 --- a/phpBB/config/installer/container/services_install_filesystem.yml +++ b/phpBB/config/installer/container/services_install_filesystem.yml @@ -1,4 +1,6 @@ services: + _defaults: { public: true } + installer.install_filesystem.create_config_file: class: phpbb\install\module\install_filesystem\task\create_config_file arguments: diff --git a/phpBB/config/installer/container/services_install_finish.yml b/phpBB/config/installer/container/services_install_finish.yml index b200118e11..14df61734d 100644 --- a/phpBB/config/installer/container/services_install_finish.yml +++ b/phpBB/config/installer/container/services_install_finish.yml @@ -1,4 +1,6 @@ services: + _defaults: { public: true } + installer.install_finish.populate_migrations: class: phpbb\install\module\install_finish\task\populate_migrations arguments: diff --git a/phpBB/config/installer/container/services_install_navigation.yml b/phpBB/config/installer/container/services_install_navigation.yml index d7151eb1c6..7a5497354e 100644 --- a/phpBB/config/installer/container/services_install_navigation.yml +++ b/phpBB/config/installer/container/services_install_navigation.yml @@ -1,4 +1,6 @@ services: + _defaults: { public: true } + installer.navigation.provider: class: phpbb\install\helper\navigation\navigation_provider arguments: diff --git a/phpBB/config/installer/container/services_install_obtain_data.yml b/phpBB/config/installer/container/services_install_obtain_data.yml index 04b6912853..b97cbb06e9 100644 --- a/phpBB/config/installer/container/services_install_obtain_data.yml +++ b/phpBB/config/installer/container/services_install_obtain_data.yml @@ -1,4 +1,6 @@ services: + _defaults: { public: true } + installer.obtain_data.obtain_admin_data: class: phpbb\install\module\obtain_data\task\obtain_admin_data arguments: diff --git a/phpBB/config/installer/container/services_install_requirements.yml b/phpBB/config/installer/container/services_install_requirements.yml index 93d123a0e9..4c51c0fb1b 100644 --- a/phpBB/config/installer/container/services_install_requirements.yml +++ b/phpBB/config/installer/container/services_install_requirements.yml @@ -1,4 +1,6 @@ services: + _defaults: { public: true } + installer.requirements.check_filesystem: class: phpbb\install\module\requirements\task\check_filesystem arguments: diff --git a/phpBB/config/installer/container/services_installer.yml b/phpBB/config/installer/container/services_installer.yml index 57181b21d4..f699b5fbd5 100644 --- a/phpBB/config/installer/container/services_installer.yml +++ b/phpBB/config/installer/container/services_installer.yml @@ -15,6 +15,8 @@ imports: - { resource: services_update_requirements.yml } services: + _defaults: { public: true } + # -------- Installer helpers ------------------------ installer.helper.config: class: phpbb\install\helper\config diff --git a/phpBB/config/installer/container/services_update_database.yml b/phpBB/config/installer/container/services_update_database.yml index 836b943670..d86c49fe8c 100644 --- a/phpBB/config/installer/container/services_update_database.yml +++ b/phpBB/config/installer/container/services_update_database.yml @@ -1,4 +1,6 @@ services: + _defaults: { public: true } + installer.update_database.update_task: class: phpbb\install\module\update_database\task\update arguments: diff --git a/phpBB/config/installer/container/services_update_filesystem.yml b/phpBB/config/installer/container/services_update_filesystem.yml index 1dce58eaad..6949a6f845 100644 --- a/phpBB/config/installer/container/services_update_filesystem.yml +++ b/phpBB/config/installer/container/services_update_filesystem.yml @@ -1,4 +1,6 @@ services: + _defaults: { public: true } + installer.update_filesystem.check_task: class: phpbb\install\module\update_filesystem\task\file_check arguments: diff --git a/phpBB/config/installer/container/services_update_obtain_data.yml b/phpBB/config/installer/container/services_update_obtain_data.yml index 37eb66ae01..531fca438f 100644 --- a/phpBB/config/installer/container/services_update_obtain_data.yml +++ b/phpBB/config/installer/container/services_update_obtain_data.yml @@ -1,4 +1,6 @@ services: + _defaults: { public: true } + installer.obtain_data.update_options: class: phpbb\install\module\obtain_data\task\obtain_update_settings arguments: diff --git a/phpBB/config/installer/container/services_update_requirements.yml b/phpBB/config/installer/container/services_update_requirements.yml index 7ca7c921d1..656b41cb2a 100644 --- a/phpBB/config/installer/container/services_update_requirements.yml +++ b/phpBB/config/installer/container/services_update_requirements.yml @@ -1,4 +1,6 @@ services: + _defaults: { public: true } + installer.requirements.check_filesystem_update: class: phpbb\install\module\requirements\task\check_filesystem arguments: diff --git a/phpBB/includes/acp/acp_main.php b/phpBB/includes/acp/acp_main.php index 424850c4bd..fcbb736eb6 100644 --- a/phpBB/includes/acp/acp_main.php +++ b/phpBB/includes/acp/acp_main.php @@ -484,7 +484,7 @@ class acp_main * @event core.acp_main_notice * @since 3.1.0-RC3 */ - $phpbb_dispatcher->dispatch('core.acp_main_notice'); + $phpbb_dispatcher->trigger_event('core.acp_main_notice'); // Get forum statistics $total_posts = $config['num_posts']; diff --git a/phpBB/includes/acp/acp_storage.php b/phpBB/includes/acp/acp_storage.php index 9ba84aafaf..f6dce91ff9 100644 --- a/phpBB/includes/acp/acp_storage.php +++ b/phpBB/includes/acp/acp_storage.php @@ -84,7 +84,7 @@ class acp_storage * @event core.acp_storage_load * @since 3.3.0-a1 */ - $phpbb_dispatcher->dispatch('core.acp_storage_load'); + $phpbb_dispatcher->trigger_event('core.acp_storage_load'); $this->overview($id, $mode); } diff --git a/phpBB/includes/functions.php b/phpBB/includes/functions.php index 9babde898f..d4c7db9248 100644 --- a/phpBB/includes/functions.php +++ b/phpBB/includes/functions.php @@ -4189,7 +4189,7 @@ function garbage_collection() * @event core.garbage_collection * @since 3.1.0-a1 */ - $phpbb_dispatcher->dispatch('core.garbage_collection'); + $phpbb_dispatcher->trigger_event('core.garbage_collection'); } // Unload cache, must be done before the DB connection if closed diff --git a/phpBB/includes/functions_display.php b/phpBB/includes/functions_display.php index b72f71d9b3..db6ae7e6f1 100644 --- a/phpBB/includes/functions_display.php +++ b/phpBB/includes/functions_display.php @@ -1152,7 +1152,7 @@ function display_custom_bbcodes() * @event core.display_custom_bbcodes * @since 3.1.0-a1 */ - $phpbb_dispatcher->dispatch('core.display_custom_bbcodes'); + $phpbb_dispatcher->trigger_event('core.display_custom_bbcodes'); } /** diff --git a/phpBB/includes/ucp/ucp_main.php b/phpBB/includes/ucp/ucp_main.php index 9c653fd466..afd0ca9941 100644 --- a/phpBB/includes/ucp/ucp_main.php +++ b/phpBB/includes/ucp/ucp_main.php @@ -262,7 +262,7 @@ class ucp_main * @event core.ucp_main_subscribed_post_data * @since 3.1.10-RC1 */ - $phpbb_dispatcher->dispatch('core.ucp_main_subscribed_post_data'); + $phpbb_dispatcher->trigger_event('core.ucp_main_subscribed_post_data'); if ($unwatch) { diff --git a/phpBB/phpbb/console/command/cache/purge.php b/phpBB/phpbb/console/command/cache/purge.php index b7a51b2bb4..338bfe362d 100644 --- a/phpBB/phpbb/console/command/cache/purge.php +++ b/phpBB/phpbb/console/command/cache/purge.php @@ -12,6 +12,7 @@ */ namespace phpbb\console\command\cache; +use Symfony\Component\Console\Command\Command as symfony_command; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Console\Style\SymfonyStyle; @@ -72,7 +73,7 @@ class purge extends \phpbb\console\command\command * @param InputInterface $input An InputInterface instance * @param OutputInterface $output An OutputInterface instance * - * @return void + * @return int */ protected function execute(InputInterface $input, OutputInterface $output) { @@ -87,5 +88,7 @@ class purge extends \phpbb\console\command\command $io = new SymfonyStyle($input, $output); $io->success($this->user->lang('PURGE_CACHE_SUCCESS')); + + return symfony_command::SUCCESS; } } diff --git a/phpBB/phpbb/console/command/config/delete.php b/phpBB/phpbb/console/command/config/delete.php index 2da0801337..ce73652ef7 100644 --- a/phpBB/phpbb/console/command/config/delete.php +++ b/phpBB/phpbb/console/command/config/delete.php @@ -12,6 +12,7 @@ */ namespace phpbb\console\command\config; +use Symfony\Component\Console\Command\Command as symfony_command; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; @@ -20,8 +21,8 @@ use Symfony\Component\Console\Style\SymfonyStyle; class delete extends command { /** - * {@inheritdoc} - */ + * {@inheritdoc} + */ protected function configure() { $this @@ -36,16 +37,16 @@ class delete extends command } /** - * Executes the command config:delete. - * - * Removes a configuration option - * - * @param InputInterface $input An InputInterface instance - * @param OutputInterface $output An OutputInterface instance - * - * @return void - * @see \phpbb\config\config::delete() - */ + * Executes the command config:delete. + * + * Removes a configuration option + * + * @param InputInterface $input An InputInterface instance + * @param OutputInterface $output An OutputInterface instance + * + * @return int + * @see \phpbb\config\config::delete() + */ protected function execute(InputInterface $input, OutputInterface $output) { $io = new SymfonyStyle($input, $output); @@ -57,10 +58,13 @@ class delete extends command $this->config->delete($key); $io->success($this->user->lang('CLI_CONFIG_DELETE_SUCCESS', $key)); + + return symfony_command::SUCCESS; } else { $io->error($this->user->lang('CLI_CONFIG_NOT_EXISTS', $key)); + return symfony_command::FAILURE; } } } diff --git a/phpBB/phpbb/console/command/config/get.php b/phpBB/phpbb/console/command/config/get.php index f065787110..eea5819da1 100644 --- a/phpBB/phpbb/console/command/config/get.php +++ b/phpBB/phpbb/console/command/config/get.php @@ -12,6 +12,7 @@ */ namespace phpbb\console\command\config; +use Symfony\Component\Console\Command\Command as symfony_command; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputOption; @@ -50,7 +51,7 @@ class get extends command * @param InputInterface $input An InputInterface instance * @param OutputInterface $output An OutputInterface instance * - * @return void + * @return int * @see \phpbb\config\config::offsetGet() */ protected function execute(InputInterface $input, OutputInterface $output) @@ -62,14 +63,17 @@ class get extends command if (isset($this->config[$key]) && $input->getOption('no-newline')) { $output->write($this->config[$key]); + return symfony_command::SUCCESS; } else if (isset($this->config[$key])) { $output->writeln($this->config[$key]); + return symfony_command::SUCCESS; } else { $io->error($this->user->lang('CLI_CONFIG_NOT_EXISTS', $key)); + return symfony_command::FAILURE; } } } diff --git a/phpBB/phpbb/console/command/config/increment.php b/phpBB/phpbb/console/command/config/increment.php index 647380a0bf..31078c5ecd 100644 --- a/phpBB/phpbb/console/command/config/increment.php +++ b/phpBB/phpbb/console/command/config/increment.php @@ -12,6 +12,7 @@ */ namespace phpbb\console\command\config; +use Symfony\Component\Console\Command\Command as symfony_command; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputOption; @@ -55,7 +56,7 @@ class increment extends command * @param InputInterface $input An InputInterface instance * @param OutputInterface $output An OutputInterface instance * - * @return void + * @return int * @see \phpbb\config\config::increment() */ protected function execute(InputInterface $input, OutputInterface $output) @@ -69,5 +70,7 @@ class increment extends command $this->config->increment($key, $increment, $use_cache); $io->success($this->user->lang('CLI_CONFIG_INCREMENT_SUCCESS', $key)); + + return symfony_command::SUCCESS; } } diff --git a/phpBB/phpbb/console/command/config/set.php b/phpBB/phpbb/console/command/config/set.php index e9f7f8f91e..d7e57697d2 100644 --- a/phpBB/phpbb/console/command/config/set.php +++ b/phpBB/phpbb/console/command/config/set.php @@ -12,6 +12,7 @@ */ namespace phpbb\console\command\config; +use Symfony\Component\Console\Command\Command as symfony_command; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputOption; @@ -55,7 +56,7 @@ class set extends command * @param InputInterface $input An InputInterface instance * @param OutputInterface $output An OutputInterface instance * - * @return void + * @return int * @see \phpbb\config\config::set() */ protected function execute(InputInterface $input, OutputInterface $output) @@ -69,5 +70,7 @@ class set extends command $this->config->set($key, $value, $use_cache); $io->success($this->user->lang('CLI_CONFIG_SET_SUCCESS', $key)); + + return symfony_command::SUCCESS; } } diff --git a/phpBB/phpbb/console/command/config/set_atomic.php b/phpBB/phpbb/console/command/config/set_atomic.php index 25752ee063..a2b79c0500 100644 --- a/phpBB/phpbb/console/command/config/set_atomic.php +++ b/phpBB/phpbb/console/command/config/set_atomic.php @@ -12,6 +12,7 @@ */ namespace phpbb\console\command\config; +use Symfony\Component\Console\Command\Command as symfony_command; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputOption; @@ -76,12 +77,12 @@ class set_atomic extends command if ($this->config->set_atomic($key, $old_value, $new_value, $use_cache)) { $io->success($this->user->lang('CLI_CONFIG_SET_SUCCESS', $key)); - return 0; + return symfony_command::SUCCESS; } else { $io->error($this->user->lang('CLI_CONFIG_SET_FAILURE', $key)); - return 1; + return symfony_command::FAILURE; } } } diff --git a/phpBB/phpbb/console/command/cron/cron_list.php b/phpBB/phpbb/console/command/cron/cron_list.php index ea61e45235..cacc17ff0e 100644 --- a/phpBB/phpbb/console/command/cron/cron_list.php +++ b/phpBB/phpbb/console/command/cron/cron_list.php @@ -12,6 +12,7 @@ */ namespace phpbb\console\command\cron; +use Symfony\Component\Console\Command\Command as symfony_command; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Console\Style\SymfonyStyle; @@ -52,7 +53,7 @@ class cron_list extends \phpbb\console\command\command * @param InputInterface $input An InputInterface instance * @param OutputInterface $output An OutputInterface instance * - * @return void + * @return int */ protected function execute(InputInterface $input, OutputInterface $output) { @@ -63,7 +64,7 @@ class cron_list extends \phpbb\console\command\command if (empty($tasks)) { $io->error($this->user->lang('CRON_NO_TASKS')); - return; + return symfony_command::FAILURE; } $ready_tasks = $not_ready_tasks = array(); @@ -90,5 +91,7 @@ class cron_list extends \phpbb\console\command\command $io->title($this->user->lang('TASKS_NOT_READY')); $io->listing($not_ready_tasks); } + + return symfony_command::SUCCESS; } } diff --git a/phpBB/phpbb/console/command/db/list_command.php b/phpBB/phpbb/console/command/db/list_command.php index 77f26dd786..edc9222009 100644 --- a/phpBB/phpbb/console/command/db/list_command.php +++ b/phpBB/phpbb/console/command/db/list_command.php @@ -12,6 +12,7 @@ */ namespace phpbb\console\command\db; +use Symfony\Component\Console\Command\Command as symfony_command; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputOption; use Symfony\Component\Console\Output\OutputInterface; @@ -19,6 +20,9 @@ use Symfony\Component\Console\Style\SymfonyStyle; class list_command extends \phpbb\console\command\db\migration_command { + /** + * {@inheritdoc} + */ protected function configure() { $this @@ -33,6 +37,16 @@ class list_command extends \phpbb\console\command\db\migration_command ; } + /** + * Executes the command db:list. + * + * Lists all installed and available migrations + * + * @param InputInterface $input An InputInterface instance + * @param OutputInterface $output An OutputInterface instance + * + * @return int + */ protected function execute(InputInterface $input, OutputInterface $output) { $io = new SymfonyStyle($input, $output); @@ -71,11 +85,13 @@ class list_command extends \phpbb\console\command\db\migration_command if (!empty($available)) { $io->listing($available); + return symfony_command::SUCCESS; } else { $io->text($this->user->lang('CLI_MIGRATIONS_EMPTY')); $io->newLine(); + return symfony_command::FAILURE; } } } diff --git a/phpBB/phpbb/console/command/db/migrate.php b/phpBB/phpbb/console/command/db/migrate.php index 4270e2d703..e60fb83887 100644 --- a/phpBB/phpbb/console/command/db/migrate.php +++ b/phpBB/phpbb/console/command/db/migrate.php @@ -12,6 +12,7 @@ */ namespace phpbb\console\command\db; +use Symfony\Component\Console\Command\Command as symfony_command; use phpbb\db\output_handler\log_wrapper_migrator_output_handler; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; @@ -41,6 +42,9 @@ class migrate extends \phpbb\console\command\db\migration_command $this->language->add_lang(array('common', 'install', 'migrator')); } + /** + * {@inheritdoc} + */ protected function configure() { $this @@ -49,6 +53,16 @@ class migrate extends \phpbb\console\command\db\migration_command ; } + /** + * Executes the command db:migrate. + * + * Updates the database by applying migrations + * + * @param InputInterface $input An InputInterface instance + * @param OutputInterface $output An OutputInterface instance + * + * @return int + */ protected function execute(InputInterface $input, OutputInterface $output) { $io = new SymfonyStyle($input, $output); @@ -71,7 +85,7 @@ class migrate extends \phpbb\console\command\db\migration_command { $io->error($e->getLocalisedMessage($this->user)); $this->finalise_update(); - return 1; + return symfony_command::FAILURE; } } @@ -82,5 +96,6 @@ class migrate extends \phpbb\console\command\db\migration_command $this->finalise_update(); $io->success($this->language->lang('INLINE_UPDATE_SUCCESSFUL')); + return symfony_command::SUCCESS; } } diff --git a/phpBB/phpbb/console/command/db/revert.php b/phpBB/phpbb/console/command/db/revert.php index 3c79d8c554..7814f00f94 100644 --- a/phpBB/phpbb/console/command/db/revert.php +++ b/phpBB/phpbb/console/command/db/revert.php @@ -12,6 +12,7 @@ */ namespace phpbb\console\command\db; +use Symfony\Component\Console\Command\Command as symfony_command; use phpbb\db\output_handler\log_wrapper_migrator_output_handler; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputInterface; @@ -20,6 +21,9 @@ use Symfony\Component\Console\Style\SymfonyStyle; class revert extends \phpbb\console\command\db\migrate { + /** + * {@inheritdoc} + */ protected function configure() { $this @@ -33,6 +37,16 @@ class revert extends \phpbb\console\command\db\migrate ; } + /** + * Executes the command db:revert. + * + * Reverts a migration + * + * @param InputInterface $input An InputInterface instance + * @param OutputInterface $output An OutputInterface instance + * + * @return int + */ protected function execute(InputInterface $input, OutputInterface $output) { $io = new SymfonyStyle($input, $output); @@ -46,12 +60,12 @@ class revert extends \phpbb\console\command\db\migrate if (!in_array($name, $this->load_migrations())) { $io->error($this->language->lang('MIGRATION_NOT_VALID', $name)); - return 1; + return symfony_command::FAILURE; } else if ($this->migrator->migration_state($name) === false) { $io->error($this->language->lang('MIGRATION_NOT_INSTALLED', $name)); - return 1; + return symfony_command::FAILURE; } try @@ -65,10 +79,11 @@ class revert extends \phpbb\console\command\db\migrate { $io->error($e->getLocalisedMessage($this->user)); $this->finalise_update(); - return 1; + return symfony_command::FAILURE; } $this->finalise_update(); $io->success($this->language->lang('INLINE_UPDATE_SUCCESSFUL')); + return symfony_command::SUCCESS; } } diff --git a/phpBB/phpbb/console/command/dev/migration_tips.php b/phpBB/phpbb/console/command/dev/migration_tips.php index 99aa27915a..885103118f 100644 --- a/phpBB/phpbb/console/command/dev/migration_tips.php +++ b/phpBB/phpbb/console/command/dev/migration_tips.php @@ -12,6 +12,7 @@ */ namespace phpbb\console\command\dev; +use Symfony\Component\Console\Command\Command as symfony_command; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; @@ -26,6 +27,9 @@ class migration_tips extends \phpbb\console\command\command parent::__construct($user); } + /** + * {@inheritdoc} + */ protected function configure() { $this @@ -34,6 +38,16 @@ class migration_tips extends \phpbb\console\command\command ; } + /** + * Executes the command dev:migration-tips. + * + * Finds migrations that are not depended upon + * + * @param InputInterface $input An InputInterface instance + * @param OutputInterface $output An OutputInterface instance + * + * @return int + */ protected function execute(InputInterface $input, OutputInterface $output) { $migrations = $this->extension_manager->get_finder() @@ -60,5 +74,7 @@ class migration_tips extends \phpbb\console\command\command $output->writeln("\t\t\t'{$migration}',"); } $output->writeln("\t\t];"); + + return symfony_command::SUCCESS; } } diff --git a/phpBB/phpbb/console/command/extension/disable.php b/phpBB/phpbb/console/command/extension/disable.php index 4d51bd7be5..9113ef0f33 100644 --- a/phpBB/phpbb/console/command/extension/disable.php +++ b/phpBB/phpbb/console/command/extension/disable.php @@ -12,6 +12,7 @@ */ namespace phpbb\console\command\extension; +use Symfony\Component\Console\Command\Command as symfony_command; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; @@ -19,6 +20,9 @@ use Symfony\Component\Console\Style\SymfonyStyle; class disable extends command { + /** + * {@inheritdoc} + */ protected function configure() { $this @@ -32,6 +36,16 @@ class disable extends command ; } + /** + * Executes the command extension:disable. + * + * Disables the specified extension + * + * @param InputInterface $input An InputInterface instance + * @param OutputInterface $output An OutputInterface instance + * + * @return int + */ protected function execute(InputInterface $input, OutputInterface $output) { $io = new SymfonyStyle($input, $output); @@ -50,14 +64,14 @@ class disable extends command if ($this->manager->is_enabled($name)) { $io->error($this->user->lang('CLI_EXTENSION_DISABLE_FAILURE', $name)); - return 1; + return symfony_command::FAILURE; } else { $this->log->add('admin', ANONYMOUS, '', 'LOG_EXT_DISABLE', time(), array($name)); $this->check_apcu_cache($io); $io->success($this->user->lang('CLI_EXTENSION_DISABLE_SUCCESS', $name)); - return 0; + return symfony_command::SUCCESS; } } } diff --git a/phpBB/phpbb/console/command/extension/enable.php b/phpBB/phpbb/console/command/extension/enable.php index 00decc8607..a83d4cf4af 100644 --- a/phpBB/phpbb/console/command/extension/enable.php +++ b/phpBB/phpbb/console/command/extension/enable.php @@ -12,6 +12,7 @@ */ namespace phpbb\console\command\extension; +use Symfony\Component\Console\Command\Command as symfony_command; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; @@ -19,6 +20,9 @@ use Symfony\Component\Console\Style\SymfonyStyle; class enable extends command { + /** + * {@inheritdoc} + */ protected function configure() { $this @@ -32,6 +36,16 @@ class enable extends command ; } + /** + * Executes the command extension:enable. + * + * Enables the specified extension + * + * @param InputInterface $input An InputInterface instance + * @param OutputInterface $output An OutputInterface instance + * + * @return int + */ protected function execute(InputInterface $input, OutputInterface $output) { $io = new SymfonyStyle($input, $output); @@ -41,7 +55,7 @@ class enable extends command if (!$this->manager->is_available($name)) { $io->error($this->user->lang('CLI_EXTENSION_NOT_EXIST', $name)); - return 1; + return symfony_command::FAILURE; } $extension = $this->manager->get_extension($name); @@ -51,13 +65,13 @@ class enable extends command $message = !empty($enableable) ? $enableable : $this->user->lang('CLI_EXTENSION_NOT_ENABLEABLE', $name); $message = is_array($message) ? implode(PHP_EOL, $message) : $message; $io->error($message); - return 1; + return symfony_command::FAILURE; } if ($this->manager->is_enabled($name)) { $io->error($this->user->lang('CLI_EXTENSION_ENABLED', $name)); - return 1; + return symfony_command::FAILURE; } $this->manager->enable($name); @@ -68,12 +82,12 @@ class enable extends command $this->log->add('admin', ANONYMOUS, '', 'LOG_EXT_ENABLE', time(), array($name)); $this->check_apcu_cache($io); $io->success($this->user->lang('CLI_EXTENSION_ENABLE_SUCCESS', $name)); - return 0; + return symfony_command::SUCCESS; } else { $io->error($this->user->lang('CLI_EXTENSION_ENABLE_FAILURE', $name)); - return 1; + return symfony_command::FAILURE; } } } diff --git a/phpBB/phpbb/console/command/extension/install.php b/phpBB/phpbb/console/command/extension/install.php index 8b11f9b5c8..7de0805754 100644 --- a/phpBB/phpbb/console/command/extension/install.php +++ b/phpBB/phpbb/console/command/extension/install.php @@ -16,6 +16,7 @@ namespace phpbb\console\command\extension; use phpbb\composer\extension_manager; use phpbb\composer\io\console_io; use phpbb\language\language; +use Symfony\Component\Console\Command\Command as symfony_command; use Symfony\Component\Console\Formatter\OutputFormatterStyle; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputInterface; @@ -83,7 +84,7 @@ class install extends \phpbb\console\command\command if (!$this->manager->check_requirements()) { $io->error($this->language->lang('EXTENSIONS_COMPOSER_NOT_WRITABLE')); - return 1; + return symfony_command::FAILURE; } $composer_io = new console_io($input, $output, $this->getHelperSet(), $this->language); @@ -98,6 +99,6 @@ class install extends \phpbb\console\command\command $io->success($this->language->lang('EXTENSIONS_INSTALLED')); - return 0; + return symfony_command::SUCCESS; } } diff --git a/phpBB/phpbb/console/command/extension/list_available.php b/phpBB/phpbb/console/command/extension/list_available.php index 7f9efe6771..40f58c372d 100644 --- a/phpBB/phpbb/console/command/extension/list_available.php +++ b/phpBB/phpbb/console/command/extension/list_available.php @@ -14,6 +14,7 @@ namespace phpbb\console\command\extension; use phpbb\composer\manager_interface; +use Symfony\Component\Console\Command\Command as symfony_command; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Console\Style\SymfonyStyle; @@ -68,6 +69,6 @@ class list_available extends \phpbb\console\command\command $io->listing($extensions); - return 0; + return symfony_command::SUCCESS; } } diff --git a/phpBB/phpbb/console/command/extension/manage.php b/phpBB/phpbb/console/command/extension/manage.php index fcd30cc707..a287557b04 100644 --- a/phpBB/phpbb/console/command/extension/manage.php +++ b/phpBB/phpbb/console/command/extension/manage.php @@ -17,6 +17,7 @@ use phpbb\composer\exception\managed_with_error_exception; use phpbb\composer\io\console_io; use phpbb\composer\manager_interface; use phpbb\language\language; +use Symfony\Component\Console\Command\Command as symfony_command; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; @@ -75,7 +76,7 @@ class manage extends \phpbb\console\command\command if (!$this->manager->check_requirements()) { $io->error($this->language->lang('EXTENSIONS_COMPOSER_NOT_WRITABLE')); - return 1; + return symfony_command::FAILURE; } $composer_io = new console_io($input, $output, $this->getHelperSet(), $this->language); @@ -89,11 +90,11 @@ class manage extends \phpbb\console\command\command catch (managed_with_error_exception $e) { $io->warning($this->language->lang_array($e->getMessage(), $e->get_parameters())); - return 1; + return symfony_command::FAILURE; } $io->success($this->language->lang('EXTENSION_MANAGED_SUCCESS', $extension)); - return 0; + return symfony_command::SUCCESS; } } diff --git a/phpBB/phpbb/console/command/extension/purge.php b/phpBB/phpbb/console/command/extension/purge.php index 9aa925e9f6..0ac47fb0a3 100644 --- a/phpBB/phpbb/console/command/extension/purge.php +++ b/phpBB/phpbb/console/command/extension/purge.php @@ -12,6 +12,7 @@ */ namespace phpbb\console\command\extension; +use Symfony\Component\Console\Command\Command as symfony_command; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; @@ -19,6 +20,9 @@ use Symfony\Component\Console\Style\SymfonyStyle; class purge extends command { + /** + * {@inheritdoc} + */ protected function configure() { $this @@ -32,6 +36,16 @@ class purge extends command ; } + /** + * Executes the command extension:purge. + * + * Purges the specified extension + * + * @param InputInterface $input An InputInterface instance + * @param OutputInterface $output An OutputInterface instance + * + * @return int + */ protected function execute(InputInterface $input, OutputInterface $output) { $io = new SymfonyStyle($input, $output); @@ -43,14 +57,14 @@ class purge extends command if ($this->manager->is_enabled($name)) { $io->error($this->user->lang('CLI_EXTENSION_PURGE_FAILURE', $name)); - return 1; + return symfony_command::FAILURE; } else { $this->log->add('admin', ANONYMOUS, '', 'LOG_EXT_PURGE', time(), array($name)); $this->check_apcu_cache($io); $io->success($this->user->lang('CLI_EXTENSION_PURGE_SUCCESS', $name)); - return 0; + return symfony_command::SUCCESS; } } } diff --git a/phpBB/phpbb/console/command/extension/remove.php b/phpBB/phpbb/console/command/extension/remove.php index d2f09657d5..629d55a7a9 100644 --- a/phpBB/phpbb/console/command/extension/remove.php +++ b/phpBB/phpbb/console/command/extension/remove.php @@ -16,6 +16,7 @@ namespace phpbb\console\command\extension; use phpbb\composer\extension_manager; use phpbb\composer\io\console_io; use phpbb\language\language; +use Symfony\Component\Console\Command\Command as symfony_command; use Symfony\Component\Console\Formatter\OutputFormatterStyle; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputInterface; @@ -83,7 +84,7 @@ class remove extends \phpbb\console\command\command if (!$this->manager->check_requirements()) { $io->error($this->language->lang('EXTENSIONS_COMPOSER_NOT_WRITABLE')); - return 1; + return symfony_command::FAILURE; } $composer_io = new console_io($input, $output, $this->getHelperSet(), $this->language); @@ -98,6 +99,6 @@ class remove extends \phpbb\console\command\command $io->success($this->language->lang('EXTENSIONS_REMOVED')); - return 0; + return symfony_command::SUCCESS; } } diff --git a/phpBB/phpbb/console/command/extension/show.php b/phpBB/phpbb/console/command/extension/show.php index 7bad0c0a5a..2986a3d96c 100644 --- a/phpBB/phpbb/console/command/extension/show.php +++ b/phpBB/phpbb/console/command/extension/show.php @@ -12,12 +12,16 @@ */ namespace phpbb\console\command\extension; +use Symfony\Component\Console\Command\Command as symfony_command; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Console\Style\SymfonyStyle; class show extends command { + /** + * {@inheritdoc} + */ protected function configure() { $this @@ -26,6 +30,16 @@ class show extends command ; } + /** + * Executes the command extension:show. + * + * Lists all extensions in the database and on the filesystem + * + * @param InputInterface $input An InputInterface instance + * @param OutputInterface $output An OutputInterface instance + * + * @return int + */ protected function execute(InputInterface $input, OutputInterface $output) { $io = new SymfonyStyle($input, $output); @@ -50,5 +64,7 @@ class show extends command $purged = array_diff($all, $enabled, $disabled); $io->section($this->user->lang('CLI_EXTENSIONS_AVAILABLE')); $io->listing($purged); + + return symfony_command::SUCCESS; } } diff --git a/phpBB/phpbb/console/command/extension/update.php b/phpBB/phpbb/console/command/extension/update.php index a8236e5366..8992b48241 100644 --- a/phpBB/phpbb/console/command/extension/update.php +++ b/phpBB/phpbb/console/command/extension/update.php @@ -16,6 +16,7 @@ namespace phpbb\console\command\extension; use phpbb\composer\io\console_io; use phpbb\composer\manager_interface; use phpbb\language\language; +use Symfony\Component\Console\Command\Command as symfony_command; use Symfony\Component\Console\Formatter\OutputFormatterStyle; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputInterface; @@ -75,7 +76,7 @@ class update extends \phpbb\console\command\command if (!$this->manager->check_requirements()) { $io->error($this->language->lang('EXTENSIONS_COMPOSER_NOT_WRITABLE')); - return 1; + return symfony_command::FAILURE; } $composer_io = new console_io($input, $output, $this->getHelperSet(), $this->language); @@ -85,6 +86,6 @@ class update extends \phpbb\console\command\command $io->success($this->language->lang('EXTENSIONS_UPDATED')); - return 0; + return symfony_command::SUCCESS; } } diff --git a/phpBB/phpbb/console/command/fixup/fix_left_right_ids.php b/phpBB/phpbb/console/command/fixup/fix_left_right_ids.php index 271b099a6c..778c7fe8e7 100644 --- a/phpBB/phpbb/console/command/fixup/fix_left_right_ids.php +++ b/phpBB/phpbb/console/command/fixup/fix_left_right_ids.php @@ -13,6 +13,7 @@ namespace phpbb\console\command\fixup; +use Symfony\Component\Console\Command\Command as symfony_command; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Console\Style\SymfonyStyle; @@ -64,7 +65,7 @@ class fix_left_right_ids extends \phpbb\console\command\command * @param InputInterface $input An InputInterface instance * @param OutputInterface $output An OutputInterface instance * - * @return void + * @return int */ protected function execute(InputInterface $input, OutputInterface $output) { @@ -87,6 +88,7 @@ class fix_left_right_ids extends \phpbb\console\command\command $this->cache->purge(); $io->success($this->user->lang('CLI_FIXUP_FIX_LEFT_RIGHT_IDS_SUCCESS')); + return symfony_command::SUCCESS; } /** diff --git a/phpBB/phpbb/console/command/fixup/update_hashes.php b/phpBB/phpbb/console/command/fixup/update_hashes.php index 8a2ef60771..d12d0e755d 100644 --- a/phpBB/phpbb/console/command/fixup/update_hashes.php +++ b/phpBB/phpbb/console/command/fixup/update_hashes.php @@ -12,6 +12,7 @@ */ namespace phpbb\console\command\fixup; +use Symfony\Component\Console\Command\Command as symfony_command; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Console\Helper\ProgressBar; @@ -114,5 +115,6 @@ class update_hashes extends \phpbb\console\command\command $progress_bar->finish(); $output->writeln('' . $this->user->lang('CLI_FIXUP_UPDATE_HASH_BCRYPT_SUCCESS') . ''); + return symfony_command::SUCCESS; } } diff --git a/phpBB/phpbb/console/command/reparser/list_all.php b/phpBB/phpbb/console/command/reparser/list_all.php index a79578abf0..16b7f50519 100644 --- a/phpBB/phpbb/console/command/reparser/list_all.php +++ b/phpBB/phpbb/console/command/reparser/list_all.php @@ -13,6 +13,7 @@ namespace phpbb\console\command\reparser; +use Symfony\Component\Console\Command\Command as symfony_command; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Console\Style\SymfonyStyle; @@ -67,6 +68,6 @@ class list_all extends \phpbb\console\command\command $io->section($this->user->lang('CLI_DESCRIPTION_REPARSER_AVAILABLE')); $io->listing($this->reparser_names); - return 0; + return symfony_command::SUCCESS; } } diff --git a/phpBB/phpbb/console/command/reparser/reparse.php b/phpBB/phpbb/console/command/reparser/reparse.php index f285977ea2..daefd4cebc 100644 --- a/phpBB/phpbb/console/command/reparser/reparse.php +++ b/phpBB/phpbb/console/command/reparser/reparse.php @@ -14,6 +14,7 @@ namespace phpbb\console\command\reparser; use phpbb\exception\runtime_exception; +use Symfony\Component\Console\Command\Command as symfony_command; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputOption; @@ -157,7 +158,7 @@ class reparse extends \phpbb\console\command\command $this->reparse_lock->release(); - return 0; + return symfony_command::SUCCESS; } /** diff --git a/phpBB/phpbb/console/command/thumbnail/delete.php b/phpBB/phpbb/console/command/thumbnail/delete.php index fe466835e7..1fca707eed 100644 --- a/phpBB/phpbb/console/command/thumbnail/delete.php +++ b/phpBB/phpbb/console/command/thumbnail/delete.php @@ -12,6 +12,7 @@ */ namespace phpbb\console\command\thumbnail; +use Symfony\Component\Console\Command\Command as symfony_command; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Console\Style\SymfonyStyle; @@ -90,7 +91,7 @@ class delete extends \phpbb\console\command\command if ($nb_missing_thumbnails === 0) { $io->warning($this->user->lang('CLI_THUMBNAIL_NOTHING_TO_DELETE')); - return 0; + return symfony_command::SUCCESS; } $sql = 'SELECT attach_id, physical_filename, extension, real_filename, mimetype @@ -105,7 +106,7 @@ class delete extends \phpbb\console\command\command $progress->start(); $thumbnail_deleted = array(); - $return = 0; + $return = symfony_command::SUCCESS; while ($row = $this->db->sql_fetchrow($result)) { $thumbnail_path = $this->phpbb_root_path . $this->config['upload_path'] . '/thumb_' . $row['physical_filename']; @@ -124,7 +125,7 @@ class delete extends \phpbb\console\command\command } else { - $return = 1; + $return = symfony_command::FAILURE; $progress->setMessage('' . $this->user->lang('CLI_THUMBNAIL_SKIPPED', $row['real_filename'], $row['physical_filename']) . ''); } diff --git a/phpBB/phpbb/console/command/thumbnail/generate.php b/phpBB/phpbb/console/command/thumbnail/generate.php index 0eec0c30ce..13104c201f 100644 --- a/phpBB/phpbb/console/command/thumbnail/generate.php +++ b/phpBB/phpbb/console/command/thumbnail/generate.php @@ -13,6 +13,7 @@ namespace phpbb\console\command\thumbnail; +use Symfony\Component\Console\Command\Command as symfony_command; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Console\Style\SymfonyStyle; @@ -107,7 +108,7 @@ class generate extends \phpbb\console\command\command if ($nb_missing_thumbnails === 0) { $io->warning($this->user->lang('CLI_THUMBNAIL_NOTHING_TO_GENERATE')); - return 0; + return symfony_command::SUCCESS; } $extensions = $this->cache->obtain_attach_extensions(true); @@ -168,7 +169,7 @@ class generate extends \phpbb\console\command\command $io->newLine(2); $io->success($this->user->lang('CLI_THUMBNAIL_GENERATING_DONE')); - return 0; + return symfony_command::SUCCESS; } /** diff --git a/phpBB/phpbb/console/command/thumbnail/recreate.php b/phpBB/phpbb/console/command/thumbnail/recreate.php index 382da290bf..ff7c41bbd3 100644 --- a/phpBB/phpbb/console/command/thumbnail/recreate.php +++ b/phpBB/phpbb/console/command/thumbnail/recreate.php @@ -12,6 +12,7 @@ */ namespace phpbb\console\command\thumbnail; +use Symfony\Component\Console\Command\Command as symfony_command; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\ArrayInput; use Symfony\Component\Console\Output\OutputInterface; @@ -57,7 +58,7 @@ class recreate extends \phpbb\console\command\command $input_delete = new ArrayInput($parameters); $return = $this->getApplication()->run($input_delete, $output); - if ($return === 0) + if ($return === symfony_command::SUCCESS) { $parameters['command'] = 'thumbnail:generate'; diff --git a/phpBB/phpbb/console/command/update/check.php b/phpBB/phpbb/console/command/update/check.php index d3f407c952..e7ca92e813 100644 --- a/phpBB/phpbb/console/command/update/check.php +++ b/phpBB/phpbb/console/command/update/check.php @@ -17,6 +17,7 @@ use phpbb\config\config; use phpbb\exception\exception_interface; use phpbb\language\language; use phpbb\user; +use Symfony\Component\Console\Command\Command as symfony_command; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputOption; @@ -155,7 +156,7 @@ class check extends \phpbb\console\command\command $this->display_versions($io, $updates_available); } - return 1; + return symfony_command::FAILURE; } else { @@ -164,14 +165,14 @@ class check extends \phpbb\console\command\command $io->success($this->language->lang('UPDATE_NOT_NEEDED')); } - return 0; + return symfony_command::SUCCESS; } } catch (\RuntimeException $e) { $io->error($this->language->lang('EXTENSION_NOT_INSTALLED', $ext_name)); - return 1; + return symfony_command::FAILURE; } } @@ -207,7 +208,7 @@ class check extends \phpbb\console\command\command $this->display_versions($io, $updates_available); } - return 1; + return symfony_command::FAILURE; } else { @@ -216,7 +217,7 @@ class check extends \phpbb\console\command\command $io->success($this->language->lang('UPDATE_NOT_NEEDED')); } - return 0; + return symfony_command::SUCCESS; } } @@ -292,7 +293,7 @@ class check extends \phpbb\console\command\command $this->language->lang('LATEST_VERSION'), ], $rows); - return 0; + return symfony_command::SUCCESS; } /** diff --git a/phpBB/phpbb/console/command/user/activate.php b/phpBB/phpbb/console/command/user/activate.php index 5cfd2d8bac..34fc94447c 100644 --- a/phpBB/phpbb/console/command/user/activate.php +++ b/phpBB/phpbb/console/command/user/activate.php @@ -20,6 +20,7 @@ use phpbb\log\log_interface; use phpbb\notification\manager; use phpbb\user; use phpbb\user_loader; +use Symfony\Component\Console\Command\Command as symfony_command; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputOption; @@ -137,19 +138,19 @@ class activate extends command if ($user_row['user_id'] == ANONYMOUS) { $io->error($this->language->lang('NO_USER')); - return 1; + return symfony_command::FAILURE; } // Check if the user is already active (or inactive) if ($mode == 'activate' && $user_row['user_type'] != USER_INACTIVE) { $io->error($this->language->lang('CLI_DESCRIPTION_USER_ACTIVATE_ACTIVE')); - return 1; + return symfony_command::FAILURE; } else if ($mode == 'deactivate' && $user_row['user_type'] == USER_INACTIVE) { $io->error($this->language->lang('CLI_DESCRIPTION_USER_ACTIVATE_INACTIVE')); - return 1; + return symfony_command::FAILURE; } // Activate the user account @@ -177,7 +178,7 @@ class activate extends command $io->success($this->language->lang($msg)); - return 0; + return symfony_command::SUCCESS; } /** diff --git a/phpBB/phpbb/console/command/user/add.php b/phpBB/phpbb/console/command/user/add.php index 10eb8c60ea..c846d2158a 100644 --- a/phpBB/phpbb/console/command/user/add.php +++ b/phpBB/phpbb/console/command/user/add.php @@ -20,6 +20,7 @@ use phpbb\exception\runtime_exception; use phpbb\language\language; use phpbb\passwords\manager; use phpbb\user; +use Symfony\Component\Console\Command\Command as symfony_command; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputOption; use Symfony\Component\Console\Output\OutputInterface; @@ -142,7 +143,7 @@ class add extends command catch (runtime_exception $e) { $io->error($e->getMessage()); - return 1; + return symfony_command::FAILURE; } $user_row = array( @@ -161,7 +162,7 @@ class add extends command if (!$user_id) { $io->error($this->language->lang('AUTH_NO_PROFILE_CREATED')); - return 1; + return symfony_command::FAILURE; } if ($input->getOption('send-email') && $this->config['email_enable']) @@ -171,7 +172,7 @@ class add extends command $io->success($this->language->lang('CLI_USER_ADD_SUCCESS', $this->data['username'])); - return 0; + return symfony_command::SUCCESS; } /** diff --git a/phpBB/phpbb/console/command/user/delete.php b/phpBB/phpbb/console/command/user/delete.php index dc06633fae..abda29fedf 100644 --- a/phpBB/phpbb/console/command/user/delete.php +++ b/phpBB/phpbb/console/command/user/delete.php @@ -18,6 +18,7 @@ use phpbb\language\language; use phpbb\log\log_interface; use phpbb\user; use phpbb\user_loader; +use Symfony\Component\Console\Command\Command as symfony_command; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputOption; @@ -122,7 +123,7 @@ class delete extends command if ($user_row['user_id'] == ANONYMOUS) { $io->error($this->language->lang('NO_USER')); - return 1; + return symfony_command::FAILURE; } if (!function_exists('user_delete')) @@ -137,7 +138,7 @@ class delete extends command $io->success($this->language->lang('USER_DELETED')); } - return 0; + return symfony_command::SUCCESS; } /** diff --git a/phpBB/phpbb/console/command/user/reclean.php b/phpBB/phpbb/console/command/user/reclean.php index 1a89f13382..6ad5ac4f92 100644 --- a/phpBB/phpbb/console/command/user/reclean.php +++ b/phpBB/phpbb/console/command/user/reclean.php @@ -17,6 +17,7 @@ use phpbb\console\command\command; use phpbb\db\driver\driver_interface; use phpbb\language\language; use phpbb\user; +use Symfony\Component\Console\Command\Command as symfony_command; use Symfony\Component\Console\Helper\ProgressBar; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; @@ -98,7 +99,7 @@ class reclean extends command $io->newLine(2); $io->success($this->language->lang('CLI_USER_RECLEAN_DONE', $this->processed)); - return 0; + return symfony_command::SUCCESS; } /** diff --git a/phpBB/phpbb/cron/event/cron_runner_listener.php b/phpBB/phpbb/cron/event/cron_runner_listener.php index c9c13ddc06..27450e0abd 100644 --- a/phpBB/phpbb/cron/event/cron_runner_listener.php +++ b/phpBB/phpbb/cron/event/cron_runner_listener.php @@ -18,7 +18,7 @@ use phpbb\lock\db; use phpbb\request\request_interface; use Symfony\Component\EventDispatcher\EventSubscriberInterface; use Symfony\Component\HttpKernel\KernelEvents; -use Symfony\Component\HttpKernel\Event\PostResponseEvent; +use Symfony\Component\HttpKernel\Event\TerminateEvent; /** * Event listener that executes cron tasks, after the response was served @@ -57,9 +57,9 @@ class cron_runner_listener implements EventSubscriberInterface /** * Runs the cron job after the response was sent * - * @param PostResponseEvent $event The event + * @param TerminateEvent $event The event */ - public function on_kernel_terminate(PostResponseEvent $event) + public function on_kernel_terminate(TerminateEvent $event) { $request = $event->getRequest(); $controller_name = $request->get('_route'); diff --git a/phpBB/phpbb/di/extension/container_configuration.php b/phpBB/phpbb/di/extension/container_configuration.php index dafdd548eb..697f083a4e 100644 --- a/phpBB/phpbb/di/extension/container_configuration.php +++ b/phpBB/phpbb/di/extension/container_configuration.php @@ -26,8 +26,8 @@ class container_configuration implements ConfigurationInterface */ public function getConfigTreeBuilder() { - $treeBuilder = new TreeBuilder(); - $rootNode = $treeBuilder->root('core'); + $treeBuilder = new TreeBuilder('core'); + $rootNode = $treeBuilder->getRootNode(); $rootNode ->children() ->booleanNode('require_dev_dependencies')->defaultValue(false)->end() diff --git a/phpBB/phpbb/event/data.php b/phpBB/phpbb/event/data.php index 276ab027f2..6095903067 100644 --- a/phpBB/phpbb/event/data.php +++ b/phpBB/phpbb/event/data.php @@ -13,7 +13,7 @@ namespace phpbb\event; -use Symfony\Component\EventDispatcher\Event; +use Symfony\Contracts\EventDispatcher\Event; class data extends Event implements \ArrayAccess { diff --git a/phpBB/phpbb/event/dispatcher.php b/phpBB/phpbb/event/dispatcher.php index 516a94cb3f..7b85edf600 100644 --- a/phpBB/phpbb/event/dispatcher.php +++ b/phpBB/phpbb/event/dispatcher.php @@ -14,7 +14,6 @@ namespace phpbb\event; use Symfony\Component\EventDispatcher\EventDispatcher; -use Symfony\Component\EventDispatcher\Event; /** * Extension of the Symfony EventDispatcher @@ -43,26 +42,24 @@ class dispatcher extends EventDispatcher implements dispatcher_interface public function trigger_event($eventName, $data = []) { $event = new \phpbb\event\data($data); - $this->dispatch($eventName, $event); + foreach ((array) $eventName as $name) + { + $this->dispatch($event, $name); + } return $event->get_data_filtered(array_keys($data)); } /** * {@inheritdoc} */ - public function dispatch($eventName, Event $event = null) + public function dispatch(object $event, string $eventName = null) : object { if ($this->disabled) { return $event; } - foreach ((array) $eventName as $name) - { - $event = parent::dispatch($name, $event); - } - - return $event; + return parent::dispatch($event, $eventName); } /** diff --git a/phpBB/phpbb/event/kernel_exception_subscriber.php b/phpBB/phpbb/event/kernel_exception_subscriber.php index 373e59b0c8..6b16d6d512 100644 --- a/phpBB/phpbb/event/kernel_exception_subscriber.php +++ b/phpBB/phpbb/event/kernel_exception_subscriber.php @@ -18,7 +18,7 @@ use Symfony\Component\HttpFoundation\JsonResponse; use Symfony\Component\HttpKernel\Exception\HttpExceptionInterface; use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; use Symfony\Component\HttpKernel\KernelEvents; -use Symfony\Component\HttpKernel\Event\GetResponseForExceptionEvent; +use Symfony\Component\HttpKernel\Event\ExceptionEvent; use Symfony\Component\HttpFoundation\Response; class kernel_exception_subscriber implements EventSubscriberInterface @@ -65,12 +65,12 @@ class kernel_exception_subscriber implements EventSubscriberInterface /** * This listener is run when the KernelEvents::EXCEPTION event is triggered * - * @param GetResponseForExceptionEvent $event + * @param ExceptionEvent $event * @return null */ - public function on_kernel_exception(GetResponseForExceptionEvent $event) + public function on_kernel_exception(ExceptionEvent $event) { - $exception = $event->getException(); + $exception = $event->getThrowable(); $message = $exception->getMessage(); $this->type_caster->set_var($message, $message, 'string', true, false); diff --git a/phpBB/phpbb/event/kernel_terminate_subscriber.php b/phpBB/phpbb/event/kernel_terminate_subscriber.php index eb7b16a7aa..68c38a3ba6 100644 --- a/phpBB/phpbb/event/kernel_terminate_subscriber.php +++ b/phpBB/phpbb/event/kernel_terminate_subscriber.php @@ -15,7 +15,7 @@ namespace phpbb\event; use Symfony\Component\EventDispatcher\EventSubscriberInterface; use Symfony\Component\HttpKernel\KernelEvents; -use Symfony\Component\HttpKernel\Event\PostResponseEvent; +use Symfony\Component\HttpKernel\Event\TerminateEvent; class kernel_terminate_subscriber implements EventSubscriberInterface { @@ -24,10 +24,10 @@ class kernel_terminate_subscriber implements EventSubscriberInterface * This comes after a Response has been sent to the server; this is * primarily cleanup stuff. * - * @param PostResponseEvent $event + * @param TerminateEvent $event * @return void */ - public function on_kernel_terminate(PostResponseEvent $event) + public function on_kernel_terminate(TerminateEvent $event) { garbage_collection(); diff --git a/phpBB/phpbb/event/php_exporter.php b/phpBB/phpbb/event/php_exporter.php index 71c94a681d..a68618d434 100644 --- a/phpBB/phpbb/event/php_exporter.php +++ b/phpBB/phpbb/event/php_exporter.php @@ -203,16 +203,20 @@ class php_exporter { $event_line = false; $found_trigger_event = strpos($this->file_lines[$i], 'dispatcher->trigger_event('); + $found_use_vars = strpos($this->file_lines[$i], ', compact($vars)'); $arguments = array(); if ($found_trigger_event !== false) { $event_line = $i; $this->set_current_event($this->get_event_name($event_line, false), $event_line); - // Find variables of the event - $arguments = $this->get_vars_from_array(); - $doc_vars = $this->get_vars_from_docblock(); - $this->validate_vars_docblock_array($arguments, $doc_vars); + if ($found_use_vars) + { + // Find variables of the event + $arguments = $this->get_vars_from_array(); + $doc_vars = $this->get_vars_from_docblock(); + $this->validate_vars_docblock_array($arguments, $doc_vars); + } } else { @@ -346,10 +350,10 @@ class php_exporter } else { - $regex = '#extract\(\$[a-z](?:[a-z0-9_]|->)*'; + $regex = '#(?:extract\()?\$[a-z](?:[a-z0-9_]|->)*'; $regex .= '->trigger_event\((\[)?'; $regex .= '\'' . $this->preg_match_event_name() . '(?(1)\', \'(?2))+\''; - $regex .= '(?(1)\]), compact\(\$vars\)\)\);#'; + $regex .= '(?(1)\])(?:, compact\(\$vars\)\))?\);#'; } $match = array(); diff --git a/phpBB/phpbb/filesystem/helper.php b/phpBB/phpbb/filesystem/helper.php index 0843e077ad..f1a123cfd6 100644 --- a/phpBB/phpbb/filesystem/helper.php +++ b/phpBB/phpbb/filesystem/helper.php @@ -212,6 +212,18 @@ class helper */ public static function make_path_relative($end_path, $start_path) { + // Ensure paths are absolute as passing relative paths to the + // Symsony's Filesystem::makePathRelative() method is removed since Symfony 4.0 + if (!self::is_absolute_path($end_path)) + { + $end_path = self::phpbb_own_realpath($end_path); + } + + if (!self::is_absolute_path($start_path)) + { + $start_path = self::phpbb_own_realpath($start_path); + } + return self::get_symfony_filesystem()->makePathRelative($end_path, $start_path); } diff --git a/phpBB/phpbb/install/helper/container_factory.php b/phpBB/phpbb/install/helper/container_factory.php index af7d4054bd..e689e44cde 100644 --- a/phpBB/phpbb/install/helper/container_factory.php +++ b/phpBB/phpbb/install/helper/container_factory.php @@ -161,7 +161,7 @@ class container_factory // Setting request is required for the compatibility globals as those are generated from // this container - if (!$this->container->isFrozen()) + if (!$this->container->isCompiled()) { $this->container->register('request')->setSynthetic(true); $this->container->register('language')->setSynthetic(true); diff --git a/phpBB/phpbb/mimetype/guesser.php b/phpBB/phpbb/mimetype/guesser.php index f8cbffe8f5..9b2c184eeb 100644 --- a/phpBB/phpbb/mimetype/guesser.php +++ b/phpBB/phpbb/mimetype/guesser.php @@ -49,6 +49,7 @@ class guesser { $is_supported = (method_exists($guesser, 'is_supported')) ? 'is_supported' : ''; $is_supported = (method_exists($guesser, 'isSupported')) ? 'isSupported' : $is_supported; + $is_supported = (method_exists($guesser, 'isGuesserSupported')) ? 'isGuesserSupported' : $is_supported; if (empty($is_supported)) { @@ -117,9 +118,13 @@ class guesser $mimetype = 'application/octet-stream'; + $args = (array) func_get_args(); foreach ($this->guessers as $guesser) { - $mimetype_guess = $guesser->guess($file, $file_name); + $guess = (method_exists($guesser, 'guess')) ? 'guess' : ''; + $guess = (method_exists($guesser, 'guessMimeType')) ? 'guessMimeType' : $guess; + + $mimetype_guess = $guesser->$guess(...$args); $mimetype = $this->choose_mime_type($mimetype, $mimetype_guess); } diff --git a/phpBB/phpbb/routing/router.php b/phpBB/phpbb/routing/router.php index 9bd9a6bb36..18285c06d5 100644 --- a/phpBB/phpbb/routing/router.php +++ b/phpBB/phpbb/routing/router.php @@ -20,9 +20,11 @@ use Symfony\Component\DependencyInjection\ContainerInterface; use Symfony\Component\DependencyInjection\Exception\ParameterNotFoundException; use Symfony\Component\DependencyInjection\Exception\RuntimeException; use Symfony\Component\Filesystem\Exception\IOException; -use Symfony\Component\Routing\Generator\Dumper\PhpGeneratorDumper; +use Symfony\Component\Routing\Generator\Dumper\CompiledUrlGeneratorDumper; +use Symfony\Component\Routing\Generator\CompiledUrlGenerator; use Symfony\Component\Routing\Generator\UrlGenerator; -use Symfony\Component\Routing\Matcher\Dumper\PhpMatcherDumper; +use Symfony\Component\Routing\Matcher\Dumper\CompiledUrlMatcherDumper; +use Symfony\Component\Routing\Matcher\CompiledUrlMatcher; use Symfony\Component\Routing\Matcher\UrlMatcher; use Symfony\Component\Routing\RequestContext; use Symfony\Component\Routing\RouteCollection; @@ -217,19 +219,12 @@ class router implements RouterInterface $cache = new ConfigCache("{$this->cache_dir}url_matcher.{$this->php_ext}", $this->debug_url_matcher); if (!$cache->isFresh()) { - $dumper = new PhpMatcherDumper($this->get_routes()); - - $options = array( - 'class' => 'phpbb_url_matcher', - 'base_class' => 'Symfony\\Component\\Routing\\Matcher\\UrlMatcher', - ); - - $cache->write($dumper->dump($options), $this->get_routes()->getResources()); + $dumper = new CompiledUrlMatcherDumper($this->get_routes()); + $cache->write($dumper->dump(), $this->get_routes()->getResources()); } - require_once($cache->getPath()); - - $this->matcher = new \phpbb_url_matcher($this->context); + $compiled_routes = require_once($cache->getPath()); + $this->matcher = new CompiledUrlMatcher($compiled_routes, $this->context); } catch (IOException $e) { @@ -272,19 +267,12 @@ class router implements RouterInterface $cache = new ConfigCache("{$this->cache_dir}url_generator.{$this->php_ext}", $this->debug_url_generator); if (!$cache->isFresh()) { - $dumper = new PhpGeneratorDumper($this->get_routes()); - - $options = array( - 'class' => 'phpbb_url_generator', - 'base_class' => 'Symfony\\Component\\Routing\\Generator\\UrlGenerator', - ); - - $cache->write($dumper->dump($options), $this->get_routes()->getResources()); + $dumper = new CompiledUrlGeneratorDumper($this->get_routes()); + $cache->write($dumper->dump(), $this->get_routes()->getResources()); } - require_once($cache->getPath()); - - $this->generator = new \phpbb_url_generator($this->context); + $compiled_routes = require_once($cache->getPath()); + $this->generator = new CompiledUrlGenerator($compiled_routes, $this->context); } catch (IOException $e) { diff --git a/phpBB/phpbb/session.php b/phpBB/phpbb/session.php index 1ba29f81c9..e3dcd3a37f 100644 --- a/phpBB/phpbb/session.php +++ b/phpBB/phpbb/session.php @@ -1054,7 +1054,7 @@ class session * @event core.session_gc_after * @since 3.1.6-RC1 */ - $phpbb_dispatcher->dispatch('core.session_gc_after'); + $phpbb_dispatcher->trigger_event('core.session_gc_after'); return; } diff --git a/phpBB/phpbb/template/twig/extension/avatar.php b/phpBB/phpbb/template/twig/extension/avatar.php index c699fcf5b3..d8b27fed9f 100644 --- a/phpBB/phpbb/template/twig/extension/avatar.php +++ b/phpBB/phpbb/template/twig/extension/avatar.php @@ -13,7 +13,9 @@ namespace phpbb\template\twig\extension; -class avatar extends \Twig_Extension +use Twig\Extension\AbstractExtension; + +class avatar extends AbstractExtension { /** * Get the name of this extension diff --git a/phpBB/phpbb/template/twig/extension/config.php b/phpBB/phpbb/template/twig/extension/config.php index a752890fe6..a7f1189d27 100644 --- a/phpBB/phpbb/template/twig/extension/config.php +++ b/phpBB/phpbb/template/twig/extension/config.php @@ -13,7 +13,9 @@ namespace phpbb\template\twig\extension; -class config extends \Twig_Extension +use Twig\Extension\AbstractExtension; + +class config extends AbstractExtension { /** @var \phpbb\config\config */ protected $config; diff --git a/phpBB/phpbb/template/twig/extension/icon.php b/phpBB/phpbb/template/twig/extension/icon.php index 3869c63b2e..0bd52d6ad9 100644 --- a/phpBB/phpbb/template/twig/extension/icon.php +++ b/phpBB/phpbb/template/twig/extension/icon.php @@ -14,8 +14,9 @@ namespace phpbb\template\twig\extension; use phpbb\template\twig\environment; +use Twig\Extension\AbstractExtension; -class icon extends \Twig\Extension\AbstractExtension +class icon extends AbstractExtension { /** @var \phpbb\user */ protected $user; diff --git a/phpBB/phpbb/template/twig/extension/routing.php b/phpBB/phpbb/template/twig/extension/routing.php index 829ce738eb..9c404e55d3 100644 --- a/phpBB/phpbb/template/twig/extension/routing.php +++ b/phpBB/phpbb/template/twig/extension/routing.php @@ -13,10 +13,14 @@ namespace phpbb\template\twig\extension; -use Symfony\Bridge\Twig\Extension\RoutingExtension; use Symfony\Component\Routing\Generator\UrlGeneratorInterface; +use Twig\Extension\AbstractExtension; +use Twig\Node\Expression\ArrayExpression; +use Twig\Node\Expression\ConstantExpression; +use Twig\Node\Node; +use Twig\TwigFunction; -class routing extends RoutingExtension +class routing extends AbstractExtension { /** @var \phpbb\controller\helper */ protected $helper; @@ -31,6 +35,17 @@ class routing extends RoutingExtension $this->helper = $helper; } + /** + * {@inheritdoc} + */ + public function getFunctions(): array + { + return [ + new TwigFunction('url', [$this, 'getUrl'], ['is_safe_callback' => [$this, 'isUrlGenerationSafe']]), + new TwigFunction('path', [$this, 'getPath'], ['is_safe_callback' => [$this, 'isUrlGenerationSafe']]), + ]; + } + public function getPath($name, $parameters = array(), $relative = false) { return $this->helper->route($name, $parameters, true, false, $relative ? UrlGeneratorInterface::RELATIVE_PATH : UrlGeneratorInterface::ABSOLUTE_PATH); @@ -40,4 +55,47 @@ class routing extends RoutingExtension { return $this->helper->route($name, $parameters, true, false, $schemeRelative ? UrlGeneratorInterface::NETWORK_PATH : UrlGeneratorInterface::ABSOLUTE_URL); } + + /** + * Borrowed from the Symfony Twig bridge routing extension + * + * @author Fabien Potencier + * + * Determines at compile time whether the generated URL will be safe and thus + * saving the unneeded automatic escaping for performance reasons. + * + * The URL generation process percent encodes non-alphanumeric characters. So there is no risk + * that malicious/invalid characters are part of the URL. The only character within an URL that + * must be escaped in html is the ampersand ("&") which separates query params. So we cannot mark + * the URL generation as always safe, but only when we are sure there won't be multiple query + * params. This is the case when there are none or only one constant parameter given. + * E.g. we know beforehand this will be safe: + * - path('route') + * - path('route', {'param': 'value'}) + * But the following may not: + * - path('route', var) + * - path('route', {'param': ['val1', 'val2'] }) // a sub-array + * - path('route', {'param1': 'value1', 'param2': 'value2'}) + * If param1 and param2 reference placeholder in the route, it would still be safe. But we don't know. + * + * @param Node $argsNode The arguments of the path/url function + * + * @return array An array with the contexts the URL is safe + */ + public function isUrlGenerationSafe(Node $argsNode): array + { + // support named arguments + $paramsNode = $argsNode->hasNode('parameters') ? $argsNode->getNode('parameters') : ( + $argsNode->hasNode(1) ? $argsNode->getNode(1) : null + ); + + if (null === $paramsNode || $paramsNode instanceof ArrayExpression && \count($paramsNode) <= 2 && + (!$paramsNode->hasNode(1) || $paramsNode->getNode(1) instanceof ConstantExpression) + ) + { + return ['html']; + } + + return []; + } } diff --git a/phpBB/phpbb/template/twig/extension/username.php b/phpBB/phpbb/template/twig/extension/username.php index f419c6ff0f..83cbebe29a 100644 --- a/phpBB/phpbb/template/twig/extension/username.php +++ b/phpBB/phpbb/template/twig/extension/username.php @@ -13,7 +13,9 @@ namespace phpbb\template\twig\extension; -class username extends \Twig_Extension +use Twig\Extension\AbstractExtension; + +class username extends AbstractExtension { /** * Get the name of this extension diff --git a/phpBB/phpbb/user.php b/phpBB/phpbb/user.php index fb3f666426..6b3b2044e5 100644 --- a/phpBB/phpbb/user.php +++ b/phpBB/phpbb/user.php @@ -342,7 +342,7 @@ class user extends \phpbb\session * @event core.user_setup_after * @since 3.1.6-RC1 */ - $phpbb_dispatcher->dispatch('core.user_setup_after'); + $phpbb_dispatcher->trigger_event('core.user_setup_after'); // If this function got called from the error handler we are finished here. if (defined('IN_ERROR_HANDLER')) diff --git a/tests/attachment/upload_test.php b/tests/attachment/upload_test.php index 69714d93f9..ba23db0414 100644 --- a/tests/attachment/upload_test.php +++ b/tests/attachment/upload_test.php @@ -93,8 +93,8 @@ class phpbb_attachment_upload_test extends \phpbb_database_test_case $this->language = new \phpbb\language\language(new \phpbb\language\language_file_loader($phpbb_root_path, $phpEx)); $this->php_ini = new \bantu\IniGetWrapper\IniGetWrapper; $guessers = array( - new \Symfony\Component\HttpFoundation\File\MimeType\FileinfoMimeTypeGuesser(), - new \Symfony\Component\HttpFoundation\File\MimeType\FileBinaryMimeTypeGuesser(), + new \Symfony\Component\Mime\FileinfoMimeTypeGuesser(), + new \Symfony\Component\Mime\FileBinaryMimeTypeGuesser(), new \phpbb\mimetype\content_guesser(), new \phpbb\mimetype\extension_guesser(), ); diff --git a/tests/console/cache/purge_test.php b/tests/console/cache/purge_test.php index 95525bd933..420b213fd1 100644 --- a/tests/console/cache/purge_test.php +++ b/tests/console/cache/purge_test.php @@ -28,6 +28,8 @@ class phpbb_console_command_cache_purge_test extends phpbb_test_case protected function setUp(): void { + global $phpbb_root_path, $phpEx; + $this->cache_dir = dirname(__FILE__) . '/tmp/cache/'; if (file_exists($this->cache_dir)) @@ -43,7 +45,8 @@ class phpbb_console_command_cache_purge_test extends phpbb_test_case $this->db = $this->createMock('\phpbb\db\driver\driver_interface'); $this->config = new \phpbb\config\config(array('assets_version' => 1)); - $this->user = $this->createMock('\phpbb\user'); + $this->language = new \phpbb\language\language(new \phpbb\language\language_file_loader($phpbb_root_path, $phpEx)); + $this->user = new \phpbb\user($this->language, '\phpbb\datetime'); } public function test_purge() diff --git a/tests/console/thumbnail_test.php b/tests/console/thumbnail_test.php index cbe743bdef..0d8885f4b5 100644 --- a/tests/console/thumbnail_test.php +++ b/tests/console/thumbnail_test.php @@ -50,7 +50,8 @@ class phpbb_console_command_thumbnail_test extends phpbb_database_test_case )); $this->db = $this->db = $this->new_dbal(); - $this->user = $this->createMock('\phpbb\user'); + $this->language = new \phpbb\language\language(new \phpbb\language\language_file_loader($phpbb_root_path, $phpEx)); + $this->user = new \phpbb\user($this->language, '\phpbb\datetime'); $this->phpbb_root_path = $phpbb_root_path; $this->phpEx = $phpEx; diff --git a/tests/console/user/add_test.php b/tests/console/user/add_test.php index 126771c7c6..8cdb706cf6 100644 --- a/tests/console/user/add_test.php +++ b/tests/console/user/add_test.php @@ -106,7 +106,7 @@ class phpbb_console_user_add_test extends phpbb_console_user_base $this->assertEquals(2, $this->get_user_id('Admin')); - $this->question->setInputStream($this->getInputStream("bar\npassword\npassword\nbar@test.com\n")); + $command_tester->setInputs(['bar\npassword\npassword\nbar@test.com']); $command_tester->execute(array( 'command' => $this->command_name, diff --git a/tests/console/user/base.php b/tests/console/user/base.php index fd8acf935c..31999d4865 100644 --- a/tests/console/user/base.php +++ b/tests/console/user/base.php @@ -117,13 +117,4 @@ abstract class phpbb_console_user_base extends phpbb_database_test_case $user_id = $row ? $row['user_id'] : null; return $user_id; } - - public function getInputStream($input) - { - $stream = fopen('php://memory', 'r+', false); - fputs($stream, $input); - rewind($stream); - - return $stream; - } } diff --git a/tests/controller/config/services.yml b/tests/controller/config/services.yml index e4412af3d7..4a86537e62 100644 --- a/tests/controller/config/services.yml +++ b/tests/controller/config/services.yml @@ -1,3 +1,4 @@ services: + _defaults: { public: true } core_foo.controller: class: phpbb\controller\foo diff --git a/tests/controller/ext/vendor2/bar/config/services.yml b/tests/controller/ext/vendor2/bar/config/services.yml index 05a8a1994d..569b9432be 100644 --- a/tests/controller/ext/vendor2/bar/config/services.yml +++ b/tests/controller/ext/vendor2/bar/config/services.yml @@ -1,3 +1,4 @@ services: + _defaults: { public: true } bar.controller: class: bar\controller diff --git a/tests/controller/ext/vendor2/foo/config/services.yml b/tests/controller/ext/vendor2/foo/config/services.yml index 9ed67d5bc2..47eaf62210 100644 --- a/tests/controller/ext/vendor2/foo/config/services.yml +++ b/tests/controller/ext/vendor2/foo/config/services.yml @@ -1,3 +1,4 @@ services: + _defaults: { public: true } foo.controller: class: foo\controller diff --git a/tests/di/create_container_test.php b/tests/di/create_container_test.php index bb87a57a7b..170e9be214 100644 --- a/tests/di/create_container_test.php +++ b/tests/di/create_container_test.php @@ -52,7 +52,7 @@ namespace $this->assertTrue($container->hasParameter('core')); // Checks compile_container - $this->assertTrue($container->isFrozen()); + $this->assertTrue($container->isCompiled()); // Checks inject_config $this->assertTrue($container->hasParameter('core.table_prefix')); @@ -74,7 +74,7 @@ namespace // Checks the construction of a dumped container $container = $this->builder->get_container(); $this->assertInstanceOf('phpbb_cache_container', $container); - $this->assertTrue($container->isFrozen()); + $this->assertTrue($container->isCompiled()); } public function test_tables_mapping() @@ -102,7 +102,7 @@ namespace $container = $this->builder->get_container(); $this->assertNotInstanceOf('phpbb_cache_container', $container); $this->assertInstanceOf('Symfony\Component\DependencyInjection\ContainerBuilder', $container); - $this->assertTrue($container->isFrozen()); + $this->assertTrue($container->isCompiled()); } public function test_without_extensions() @@ -127,7 +127,7 @@ namespace $this->assertInstanceOf('Symfony\Component\DependencyInjection\ContainerBuilder', $container); // Checks compile_container - $this->assertFalse($container->isFrozen()); + $this->assertFalse($container->isCompiled()); } public function test_with_config_path() diff --git a/tests/di/fixtures/config/production/container/environment.yml b/tests/di/fixtures/config/production/container/environment.yml index 2792b24162..c9316ee100 100644 --- a/tests/di/fixtures/config/production/container/environment.yml +++ b/tests/di/fixtures/config/production/container/environment.yml @@ -5,6 +5,7 @@ parameters: tables.acl_roles: '%core.table_prefix%acl_roles' services: + _defaults: { public: true } config.php: synthetic: true diff --git a/tests/di/fixtures/config/test/container/environment.yml b/tests/di/fixtures/config/test/container/environment.yml index 356eb4b008..70f49c6e1a 100644 --- a/tests/di/fixtures/config/test/container/environment.yml +++ b/tests/di/fixtures/config/test/container/environment.yml @@ -5,6 +5,7 @@ parameters: tables.acl_roles: '%core.table_prefix%acl_roles' services: + _defaults: { public: true } config.php: synthetic: true diff --git a/tests/di/fixtures/other_config/production/container/environment.yml b/tests/di/fixtures/other_config/production/container/environment.yml index aeb552eeb7..4944010ad7 100644 --- a/tests/di/fixtures/other_config/production/container/environment.yml +++ b/tests/di/fixtures/other_config/production/container/environment.yml @@ -2,6 +2,7 @@ parameters: other_config: true services: + _defaults: { public: true } config.php: synthetic: true diff --git a/tests/di/fixtures/other_config/test/container/environment.yml b/tests/di/fixtures/other_config/test/container/environment.yml index b9f6d05018..766717fa61 100644 --- a/tests/di/fixtures/other_config/test/container/environment.yml +++ b/tests/di/fixtures/other_config/test/container/environment.yml @@ -2,6 +2,7 @@ parameters: other_config: true services: + _defaults: { public: true } config.php: synthetic: true diff --git a/tests/event/exception_listener_test.php b/tests/event/exception_listener_test.php index 346bc5f3ec..75c3704f74 100644 --- a/tests/event/exception_listener_test.php +++ b/tests/event/exception_listener_test.php @@ -84,7 +84,7 @@ class exception_listener extends phpbb_test_case $exception_listener = new \phpbb\event\kernel_exception_subscriber($template, $lang); - $event = new \Symfony\Component\HttpKernel\Event\GetResponseForExceptionEvent($this->createMock('Symfony\Component\HttpKernel\HttpKernelInterface'), $request, \Symfony\Component\HttpKernel\HttpKernelInterface::MASTER_REQUEST, $exception); + $event = new \Symfony\Component\HttpKernel\Event\ExceptionEvent($this->createMock('Symfony\Component\HttpKernel\HttpKernelInterface'), $request, \Symfony\Component\HttpKernel\HttpKernelInterface::MASTER_REQUEST, $exception); $exception_listener->on_kernel_exception($event); $response = $event->getResponse(); diff --git a/tests/functional/controllers_compatibility_test.php b/tests/functional/controllers_compatibility_test.php index 36a34aa7c8..03fe6f07ef 100644 --- a/tests/functional/controllers_compatibility_test.php +++ b/tests/functional/controllers_compatibility_test.php @@ -58,7 +58,7 @@ class phpbb_functional_controllers_compatibility_test extends phpbb_functional_t $location = substr($location, 0, -1); } - $this->assertEquals(301, self::$client->getResponse()->getStatus()); + $this->assertEquals(301, self::$client->getResponse()->getStatusCode()); $this->assertStringEndsWith($to, $location); } } diff --git a/tests/functional/extension_controller_test.php b/tests/functional/extension_controller_test.php index 17b5803041..75ab51091d 100644 --- a/tests/functional/extension_controller_test.php +++ b/tests/functional/extension_controller_test.php @@ -107,7 +107,7 @@ class phpbb_functional_extension_controller_test extends phpbb_functional_test_c $this->phpbb_extension_manager->enable('foo/bar'); $crawler = self::request('GET', 'app.php/foo/baz', array(), false); $this->assert_response_html(500); - $this->assertStringContainsString('Missing value for argument #1: test in class foo\bar\controller\controller:baz', $crawler->filter('body')->text()); + $this->assertStringContainsString('Controller "foo\bar\controller\controller::baz()" requires that you provide a value for the "$test" argument', $crawler->filter('body')->text()); $this->phpbb_extension_manager->purge('foo/bar'); } diff --git a/tests/functional/feed_test.php b/tests/functional/feed_test.php index 16ef468eea..159703744f 100644 --- a/tests/functional/feed_test.php +++ b/tests/functional/feed_test.php @@ -51,14 +51,14 @@ class phpbb_functional_feed_test extends phpbb_functional_test_case self::$init_values['topic_base_items'] = (int) $values['config[feed_limit_topic]']; // Enable all feeds - $values['config[feed_enable]'] = true; - $values['config[feed_forum]'] = true; - $values['config[feed_item_statistics]'] = true; - $values['config[feed_overall]'] = true; - $values['config[feed_overall_forums]'] = true; - $values['config[feed_topic]'] = true; - $values['config[feed_topics_active]'] = true; - $values['config[feed_topics_new]'] = true; + $values['config[feed_enable]'] = 1; + $values['config[feed_forum]'] = 1; + $values['config[feed_item_statistics]'] = 1; + $values['config[feed_overall]'] = 1; + $values['config[feed_overall_forums]'] = 1; + $values['config[feed_topic]'] = 1; + $values['config[feed_topics_active]'] = 1; + $values['config[feed_topics_new]'] = 1; $form->setValues($values); @@ -68,7 +68,7 @@ class phpbb_functional_feed_test extends phpbb_functional_test_case // Disable showing unapproved posts to users $crawler = self::request('GET', "adm/index.php?sid={$this->sid}&i=acp_board&mode=features"); $form = $crawler->selectButton('Submit')->form(); - $form->setValues(['config[display_unapproved_posts]' => false]); + $form->setValues(['config[display_unapproved_posts]' => 0]); $crawler = self::submit($form); self::assertContainsLang('CONFIG_UPDATED', $crawler->filter('.successbox')->text()); diff --git a/tests/functional/fixtures/ext/foo/bar/config/services.yml b/tests/functional/fixtures/ext/foo/bar/config/services.yml index 495c775a1f..e5353ed0e9 100644 --- a/tests/functional/fixtures/ext/foo/bar/config/services.yml +++ b/tests/functional/fixtures/ext/foo/bar/config/services.yml @@ -1,4 +1,5 @@ services: + _defaults: { public: true } foo_bar.controller: class: foo\bar\controller\controller arguments: diff --git a/tests/functional/fixtures/ext/foo/foo/config/services.yml b/tests/functional/fixtures/ext/foo/foo/config/services.yml index b3c7719715..3f15226b85 100644 --- a/tests/functional/fixtures/ext/foo/foo/config/services.yml +++ b/tests/functional/fixtures/ext/foo/foo/config/services.yml @@ -1,3 +1,4 @@ services: + _defaults: { public: true } foo_foo.controller: class: foo\foo\controller\controller diff --git a/tests/functional/posting_test.php b/tests/functional/posting_test.php index 38edcf6767..7a6559f293 100644 --- a/tests/functional/posting_test.php +++ b/tests/functional/posting_test.php @@ -70,7 +70,7 @@ class phpbb_functional_posting_test extends phpbb_functional_test_case public function test_quote() { $text = 'Test post "\' &&amp;'; - $expected = "(\\[quote=admin[^\\]]*\\]\n" . preg_quote($text) . "\n\\[/quote\\])"; + $expected = "(\[quote=admin[^\]]*\]\s?" . preg_quote($text) . "\s?\[\/quote\])"; $this->login(); $topic = $this->create_topic(2, 'Test Topic 1', 'Test topic'); @@ -123,7 +123,7 @@ class phpbb_functional_posting_test extends phpbb_functional_test_case $this->set_quote_depth($quote_depth); $crawler = self::request('GET', $quote_url); $this->assertRegexp( - "(\\[quote=admin[^\\]]*\\]\n?" . preg_quote($expected_text) . "\n?\\[/quote\\])", + "(\[quote=admin[^\]]*\]\s?" . preg_quote($expected_text) . "\s?\[\/quote\])", $crawler->filter('textarea#message')->text() ); } diff --git a/tests/functional/private_messages_test.php b/tests/functional/private_messages_test.php index 6f94eac35c..087f6d5891 100644 --- a/tests/functional/private_messages_test.php +++ b/tests/functional/private_messages_test.php @@ -85,7 +85,7 @@ class phpbb_functional_private_messages_test extends phpbb_functional_test_case public function test_quote_pm() { $text = 'This is a test private message sent by the testing framework.'; - $expected = "(\\[quote=admin msg_id=\\d+ time=\\d+ user_id=2\\]\n" . $text . "\n\\[/quote\\])"; + $expected = "(\[quote=admin msg_id=[\d]+ time=[\d]+ user_id=2\]\s?" . $text . "\s?\[\/quote\])"; $this->login(); $message_id = $this->create_private_message('Test', $text, array(2)); @@ -98,13 +98,13 @@ class phpbb_functional_private_messages_test extends phpbb_functional_test_case public function test_quote_forward() { $text = 'This is a test private message sent by the testing framework.'; - $expected = "[quote=admin]\n" . $text . "\n[/quote]"; + $expected = "(\[quote=admin\]\s?" . $text . "\s?\[\/quote\])"; $this->login(); $message_id = $this->create_private_message('Test', $text, array(2)); $crawler = self::request('GET', 'ucp.php?i=pm&mode=compose&action=forward&f=0&p=' . $message_id . '&sid=' . $this->sid); - $this->assertStringContainsString($expected, $crawler->filter('textarea#message')->text()); + $this->assertRegexp($expected, $crawler->filter('textarea#message')->text()); } } diff --git a/tests/mimetype/guesser_test.php b/tests/mimetype/guesser_test.php index 2b6423f1ee..5f3c07ab46 100644 --- a/tests/mimetype/guesser_test.php +++ b/tests/mimetype/guesser_test.php @@ -32,14 +32,14 @@ class guesser_test extends \phpbb_test_case global $phpbb_root_path; $guessers = array( - new \Symfony\Component\HttpFoundation\File\MimeType\FileinfoMimeTypeGuesser(), - new \Symfony\Component\HttpFoundation\File\MimeType\FileBinaryMimeTypeGuesser(), + new \Symfony\Component\Mime\FileinfoMimeTypeGuesser(), + new \Symfony\Component\Mime\FileBinaryMimeTypeGuesser(), new \phpbb\mimetype\extension_guesser, new \phpbb\mimetype\content_guesser, ); // Check if any guesser except the extension_guesser is available - $this->fileinfo_supported = $guessers[0]->isSupported() | $guessers[1]->isSupported() | $guessers[3]->is_supported(); + $this->fileinfo_supported = $guessers[0]->isGuesserSupported() | $guessers[1]->isGuesserSupported() | $guessers[3]->is_supported(); // Also create a guesser that emulates not having fileinfo available $this->guesser_no_fileinfo = new \phpbb\mimetype\guesser(array($guessers[2])); @@ -175,7 +175,11 @@ class guesser_test extends \phpbb_test_case // Cover possible LogicExceptions foreach ($guessers as $cur_guesser) { - $supported += $cur_guesser->is_supported(); + $is_supported = (method_exists($cur_guesser, 'is_supported')) ? 'is_supported' : ''; + $is_supported = (method_exists($cur_guesser, 'isSupported')) ? 'isSupported' : $is_supported; + $is_supported = (method_exists($cur_guesser, 'isGuesserSupported')) ? 'isGuesserSupported' : $is_supported; + + $supported += $cur_guesser->$is_supported(); } if (!$supported) @@ -194,9 +198,9 @@ class guesser_test extends \phpbb_test_case public function test_sort_priority() { $guessers = array( - 'FileinfoMimeTypeGuesser' => new \Symfony\Component\HttpFoundation\File\MimeType\FileinfoMimeTypeGuesser, + 'FileinfoMimeTypeGuesser' => new \Symfony\Component\Mime\FileinfoMimeTypeGuesser, 'extension_guesser' => new \phpbb\mimetype\extension_guesser, - 'FileBinaryMimeTypeGuesser' => new \Symfony\Component\HttpFoundation\File\MimeType\FileBinaryMimeTypeGuesser, + 'FileBinaryMimeTypeGuesser' => new \Symfony\Component\Mime\FileBinaryMimeTypeGuesser, 'content_guesser' => new \phpbb\mimetype\content_guesser, ); $guessers['content_guesser']->set_priority(5); diff --git a/tests/mock/container_builder.php b/tests/mock/container_builder.php index 31513d0f31..22241528d3 100644 --- a/tests/mock/container_builder.php +++ b/tests/mock/container_builder.php @@ -195,7 +195,7 @@ class phpbb_mock_container_builder implements ContainerInterface { } - public function isFrozen() + public function isCompiled() { return false; } diff --git a/tests/notification/fixtures/services_notification.yml b/tests/notification/fixtures/services_notification.yml index 470768d986..3d45280ef0 100644 --- a/tests/notification/fixtures/services_notification.yml +++ b/tests/notification/fixtures/services_notification.yml @@ -2,6 +2,7 @@ imports: - { resource: ../../../phpBB/config/default/container/services_notification.yml } services: + _defaults: { public: true } notification_manager: synthetic: true diff --git a/tests/test_framework/phpbb_functional_test_case.php b/tests/test_framework/phpbb_functional_test_case.php index 97ff1f62cc..a441eaa3b6 100644 --- a/tests/test_framework/phpbb_functional_test_case.php +++ b/tests/test_framework/phpbb_functional_test_case.php @@ -1017,12 +1017,12 @@ class phpbb_functional_test_case extends phpbb_test_case */ static public function assert_response_status_code($status_code = 200) { - if ($status_code != self::$client->getResponse()->getStatus() && - preg_match('/^5[0-9]{2}/', self::$client->getResponse()->getStatus())) + if ($status_code != self::$client->getResponse()->getStatusCode() && + preg_match('/^5[0-9]{2}/', self::$client->getResponse()->getStatusCode())) { self::fail("Encountered unexpected server error:\n" . self::$client->getResponse()->getContent()); } - self::assertEquals($status_code, self::$client->getResponse()->getStatus(), 'HTTP status code does not match'); + self::assertEquals($status_code, self::$client->getResponse()->getStatusCode(), 'HTTP status code does not match'); } public function assert_filter($crawler, $expr, $msg = null) diff --git a/tests/test_framework/phpbb_test_case_helpers.php b/tests/test_framework/phpbb_test_case_helpers.php index d20d8bdf82..5a93d65206 100644 --- a/tests/test_framework/phpbb_test_case_helpers.php +++ b/tests/test_framework/phpbb_test_case_helpers.php @@ -455,7 +455,7 @@ class phpbb_test_case_helpers $cache_key_renderer = $prefix . '_renderer'; $container->set('cache.driver', $cache); - if (!$container->isFrozen()) + if (!$container->isCompiled()) { $container->setParameter('cache.dir', $cache_dir); } diff --git a/tests/upload/filespec_test.php b/tests/upload/filespec_test.php index 9b01eb73fd..c501788829 100644 --- a/tests/upload/filespec_test.php +++ b/tests/upload/filespec_test.php @@ -66,8 +66,8 @@ class phpbb_filespec_test extends phpbb_test_case } $guessers = array( - new \Symfony\Component\HttpFoundation\File\MimeType\FileinfoMimeTypeGuesser(), - new \Symfony\Component\HttpFoundation\File\MimeType\FileBinaryMimeTypeGuesser(), + new \Symfony\Component\Mime\FileinfoMimeTypeGuesser(), + new \Symfony\Component\Mime\FileBinaryMimeTypeGuesser(), new \phpbb\mimetype\content_guesser(), new \phpbb\mimetype\extension_guesser(), ); diff --git a/tests/upload/fileupload_test.php b/tests/upload/fileupload_test.php index f72187167f..2cedb79604 100644 --- a/tests/upload/fileupload_test.php +++ b/tests/upload/fileupload_test.php @@ -59,8 +59,8 @@ class phpbb_fileupload_test extends phpbb_test_case $this->filesystem = new \phpbb\filesystem\filesystem(); $this->language = new \phpbb\language\language(new \phpbb\language\language_file_loader($phpbb_root_path, $phpEx)); $guessers = array( - new \Symfony\Component\HttpFoundation\File\MimeType\FileinfoMimeTypeGuesser(), - new \Symfony\Component\HttpFoundation\File\MimeType\FileBinaryMimeTypeGuesser(), + new \Symfony\Component\Mime\FileinfoMimeTypeGuesser(), + new \Symfony\Component\Mime\FileBinaryMimeTypeGuesser(), new \phpbb\mimetype\content_guesser(), new \phpbb\mimetype\extension_guesser(), ); diff --git a/travis/setup-phpbb.sh b/travis/setup-phpbb.sh index 208b715dfe..20d8ae7d29 100755 --- a/travis/setup-phpbb.sh +++ b/travis/setup-phpbb.sh @@ -46,7 +46,6 @@ cd phpBB php ../composer.phar install --dev --no-interaction if [[ "$TRAVIS_PHP_VERSION" =~ ^nightly$ || "$TRAVIS_PHP_VERSION" =~ ^8 ]] then - php ../composer.phar remove phpunit/dbunit --dev --update-with-dependencies \ - && php ../composer.phar require symfony/yaml:~4.4 misantron/dbunit:~5.0 phpunit/phpunit:^9.3 --dev --update-with-all-dependencies --ignore-platform-reqs + php ../composer.phar require symfony/filesystem:5.2.x-dev phpunit/phpunit:^9.3 --update-with-all-dependencies --ignore-platform-reqs --no-interaction fi cd .. From 157a8aca01691906d4e91cc4d6e885fc5c1efa32 Mon Sep 17 00:00:00 2001 From: rubencm Date: Mon, 7 Dec 2020 03:54:52 +0100 Subject: [PATCH 02/11] [ticket/16649] Changes for Symfony 5 PHPBB3-16649 --- phpBB/composer.json | 2 +- phpBB/phpbb/console/command/cron/run.php | 4 +++- phpBB/phpbb/console/command/db/list_command.php | 4 ++-- phpBB/phpbb/console/command/extension/install.php | 2 +- phpBB/phpbb/console/command/extension/list_available.php | 2 +- phpBB/phpbb/console/command/extension/manage.php | 2 +- phpBB/phpbb/console/command/extension/show.php | 2 +- phpBB/phpbb/console/command/reparser/list_all.php | 2 +- phpBB/phpbb/console/command/reparser/reparse.php | 2 +- phpBB/phpbb/console/command/update/check.php | 2 +- phpBB/phpbb/install/event/kernel_exception_subscriber.php | 8 ++++---- phpBB/phpbb/install/installer_configuration.php | 4 ++-- phpBB/phpbb/install/updater_configuration.php | 4 ++-- tests/console/user/add_test.php | 2 +- 14 files changed, 22 insertions(+), 20 deletions(-) diff --git a/phpBB/composer.json b/phpBB/composer.json index 21b0b5e7ba..1808c4c7c7 100644 --- a/phpBB/composer.json +++ b/phpBB/composer.json @@ -59,7 +59,7 @@ }, "require-dev": { "fabpot/goutte": "~3.2", - "laravel/homestead": "~7.0", + "laravel/homestead": "~9.4", "phing/phing": "~2.4", "phpunit/dbunit": "~4.0", "phpunit/phpunit": "^7.0", diff --git a/phpBB/phpbb/console/command/cron/run.php b/phpBB/phpbb/console/command/cron/run.php index 511c6bc01b..e105911511 100644 --- a/phpBB/phpbb/console/command/cron/run.php +++ b/phpBB/phpbb/console/command/cron/run.php @@ -14,6 +14,7 @@ namespace phpbb\console\command\cron; use phpbb\exception\runtime_exception; +use Symfony\Component\Console\Command\Command as symfony_command; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Output\OutputInterface; @@ -90,7 +91,8 @@ class run extends \phpbb\console\command\command } $this->lock_db->release(); - return $exit_status; + + return !$exit_status ? symfony_command::SUCCESS : symfony_command::FAILURE; } else { diff --git a/phpBB/phpbb/console/command/db/list_command.php b/phpBB/phpbb/console/command/db/list_command.php index edc9222009..4e2b298baa 100644 --- a/phpBB/phpbb/console/command/db/list_command.php +++ b/phpBB/phpbb/console/command/db/list_command.php @@ -85,13 +85,13 @@ class list_command extends \phpbb\console\command\db\migration_command if (!empty($available)) { $io->listing($available); - return symfony_command::SUCCESS; } else { $io->text($this->user->lang('CLI_MIGRATIONS_EMPTY')); $io->newLine(); - return symfony_command::FAILURE; } + + return symfony_command::SUCCESS; } } diff --git a/phpBB/phpbb/console/command/extension/install.php b/phpBB/phpbb/console/command/extension/install.php index 7de0805754..0e59abd212 100644 --- a/phpBB/phpbb/console/command/extension/install.php +++ b/phpBB/phpbb/console/command/extension/install.php @@ -73,7 +73,7 @@ class install extends \phpbb\console\command\command * * @param InputInterface $input * @param OutputInterface $output - * @return integer + * @return int */ protected function execute(InputInterface $input, OutputInterface $output) { diff --git a/phpBB/phpbb/console/command/extension/list_available.php b/phpBB/phpbb/console/command/extension/list_available.php index 40f58c372d..1c38b8922f 100644 --- a/phpBB/phpbb/console/command/extension/list_available.php +++ b/phpBB/phpbb/console/command/extension/list_available.php @@ -53,7 +53,7 @@ class list_available extends \phpbb\console\command\command * * @param InputInterface $input * @param OutputInterface $output - * @return integer + * @return int */ protected function execute(InputInterface $input, OutputInterface $output) { diff --git a/phpBB/phpbb/console/command/extension/manage.php b/phpBB/phpbb/console/command/extension/manage.php index a287557b04..cb97c6d141 100644 --- a/phpBB/phpbb/console/command/extension/manage.php +++ b/phpBB/phpbb/console/command/extension/manage.php @@ -67,7 +67,7 @@ class manage extends \phpbb\console\command\command * * @param InputInterface $input * @param OutputInterface $output - * @return integer + * @return int */ protected function execute(InputInterface $input, OutputInterface $output) { diff --git a/phpBB/phpbb/console/command/extension/show.php b/phpBB/phpbb/console/command/extension/show.php index 2986a3d96c..e825950a19 100644 --- a/phpBB/phpbb/console/command/extension/show.php +++ b/phpBB/phpbb/console/command/extension/show.php @@ -50,7 +50,7 @@ class show extends command if (empty($all)) { $io->note($this->user->lang('CLI_EXTENSION_NOT_FOUND')); - return 3; + return symfony_command::FAILURE; } $enabled = array_keys($this->manager->all_enabled()); diff --git a/phpBB/phpbb/console/command/reparser/list_all.php b/phpBB/phpbb/console/command/reparser/list_all.php index 16b7f50519..ae90c1a68f 100644 --- a/phpBB/phpbb/console/command/reparser/list_all.php +++ b/phpBB/phpbb/console/command/reparser/list_all.php @@ -60,7 +60,7 @@ class list_all extends \phpbb\console\command\command * * @param InputInterface $input * @param OutputInterface $output - * @return integer + * @return int */ protected function execute(InputInterface $input, OutputInterface $output) { diff --git a/phpBB/phpbb/console/command/reparser/reparse.php b/phpBB/phpbb/console/command/reparser/reparse.php index daefd4cebc..529035233d 100644 --- a/phpBB/phpbb/console/command/reparser/reparse.php +++ b/phpBB/phpbb/console/command/reparser/reparse.php @@ -127,7 +127,7 @@ class reparse extends \phpbb\console\command\command * * @param InputInterface $input * @param OutputInterface $output - * @return integer + * @return int */ protected function execute(InputInterface $input, OutputInterface $output) { diff --git a/phpBB/phpbb/console/command/update/check.php b/phpBB/phpbb/console/command/update/check.php index e7ca92e813..bb9114652a 100644 --- a/phpBB/phpbb/console/command/update/check.php +++ b/phpBB/phpbb/console/command/update/check.php @@ -99,7 +99,7 @@ class check extends \phpbb\console\command\command if (!($stability == 'stable') && !($stability == 'unstable')) { $io->error($this->language->lang('CLI_ERROR_INVALID_STABILITY', $stability)); - return 3; + return symfony_command::FAILURE; } } diff --git a/phpBB/phpbb/install/event/kernel_exception_subscriber.php b/phpBB/phpbb/install/event/kernel_exception_subscriber.php index 60b7d9a400..d4f939dfc6 100644 --- a/phpBB/phpbb/install/event/kernel_exception_subscriber.php +++ b/phpBB/phpbb/install/event/kernel_exception_subscriber.php @@ -20,7 +20,7 @@ use phpbb\template\template; use Symfony\Component\EventDispatcher\EventSubscriberInterface; use Symfony\Component\HttpKernel\Exception\HttpExceptionInterface; use Symfony\Component\HttpKernel\KernelEvents; -use Symfony\Component\HttpKernel\Event\GetResponseForExceptionEvent; +use Symfony\Component\HttpKernel\Event\ExceptionEvent; use Symfony\Component\HttpFoundation\JsonResponse; /** @@ -60,11 +60,11 @@ class kernel_exception_subscriber implements EventSubscriberInterface /** * This listener is run when the KernelEvents::EXCEPTION event is triggered * - * @param GetResponseForExceptionEvent $event + * @param ExceptionEvent $event */ - public function on_kernel_exception(GetResponseForExceptionEvent $event) + public function on_kernel_exception(ExceptionEvent $event) { - $exception = $event->getException(); + $exception = $event->getThrowable(); $message = $exception->getMessage(); if ($exception instanceof exception_interface) diff --git a/phpBB/phpbb/install/installer_configuration.php b/phpBB/phpbb/install/installer_configuration.php index efd0229571..efa2a922c3 100644 --- a/phpBB/phpbb/install/installer_configuration.php +++ b/phpBB/phpbb/install/installer_configuration.php @@ -26,8 +26,8 @@ class installer_configuration implements ConfigurationInterface */ public function getConfigTreeBuilder() { - $treeBuilder = new TreeBuilder(); - $rootNode = $treeBuilder->root('installer'); + $treeBuilder = new TreeBuilder('installer'); + $rootNode = $treeBuilder->getRootNode(); $rootNode ->children() ->arrayNode('admin') diff --git a/phpBB/phpbb/install/updater_configuration.php b/phpBB/phpbb/install/updater_configuration.php index 9795ed2cd9..2afdb44dfc 100644 --- a/phpBB/phpbb/install/updater_configuration.php +++ b/phpBB/phpbb/install/updater_configuration.php @@ -26,8 +26,8 @@ class updater_configuration implements ConfigurationInterface */ public function getConfigTreeBuilder() { - $treeBuilder = new TreeBuilder(); - $rootNode = $treeBuilder->root('updater'); + $treeBuilder = new TreeBuilder('updater'); + $rootNode = $treeBuilder->getRootNode(); $rootNode ->addDefaultsIfNotSet() ->children() diff --git a/tests/console/user/add_test.php b/tests/console/user/add_test.php index 8cdb706cf6..d70f837e57 100644 --- a/tests/console/user/add_test.php +++ b/tests/console/user/add_test.php @@ -106,7 +106,7 @@ class phpbb_console_user_add_test extends phpbb_console_user_base $this->assertEquals(2, $this->get_user_id('Admin')); - $command_tester->setInputs(['bar\npassword\npassword\nbar@test.com']); + $command_tester->setInputs(['bar', 'password', 'password', 'bar@test.com']); $command_tester->execute(array( 'command' => $this->command_name, From 302632d240ad1a4ee6b4bce981fa636044340c64 Mon Sep 17 00:00:00 2001 From: rxu Date: Wed, 9 Dec 2020 00:28:38 +0700 Subject: [PATCH 03/11] [ticket/16649] Add compiler pass to make all services public This also handles BC for phpBB extensions PHPBB3-16639 --- phpBB/config/default/container/services.yml | 2 - .../default/container/services_attachment.yml | 2 - .../default/container/services_auth.yml | 2 - .../default/container/services_avatar.yml | 2 - .../default/container/services_captcha.yml | 2 - .../default/container/services_console.yml | 2 - .../default/container/services_content.yml | 2 - .../default/container/services_cron.yml | 2 - .../config/default/container/services_db.yml | 2 - .../default/container/services_event.yml | 2 - .../default/container/services_extensions.yml | 2 - .../default/container/services_feed.yml | 2 - .../default/container/services_files.yml | 2 - .../default/container/services_filesystem.yml | 2 - .../default/container/services_help.yml | 2 - .../default/container/services_http.yml | 2 - .../default/container/services_language.yml | 2 - .../default/container/services_migrator.yml | 2 - .../container/services_mimetype_guesser.yml | 2 - .../default/container/services_module.yml | 2 - .../container/services_notification.yml | 2 - .../default/container/services_password.yml | 2 - .../config/default/container/services_php.yml | 2 - .../container/services_profilefield.yml | 2 - .../default/container/services_report.yml | 2 - .../default/container/services_routing.yml | 2 - .../default/container/services_storage.yml | 1 - .../container/services_text_formatter.yml | 2 - .../container/services_text_reparser.yml | 2 - .../default/container/services_twig.yml | 2 - .../container/services_twig_extensions.yml | 2 - .../config/default/container/services_ucp.yml | 2 - .../default/container/services_user.yml | 2 - phpBB/config/installer/container/services.yml | 2 - .../container/services_file_updater.yml | 2 - .../container/services_install_console.yml | 2 - .../container/services_install_controller.yml | 2 - .../container/services_install_database.yml | 2 - .../container/services_install_filesystem.yml | 2 - .../container/services_install_finish.yml | 2 - .../container/services_install_navigation.yml | 2 - .../services_install_obtain_data.yml | 2 - .../services_install_requirements.yml | 2 - .../container/services_installer.yml | 2 - .../container/services_update_database.yml | 2 - .../container/services_update_filesystem.yml | 2 - .../container/services_update_obtain_data.yml | 2 - .../services_update_requirements.yml | 2 - phpBB/phpbb/di/container_builder.php | 3 ++ phpBB/phpbb/di/pass/markpublic_pass.php | 40 +++++++++++++++++++ tests/controller/config/services.yml | 1 - .../ext/vendor2/bar/config/services.yml | 1 - .../ext/vendor2/foo/config/services.yml | 1 - .../production/container/environment.yml | 1 - .../config/test/container/environment.yml | 1 - .../production/container/environment.yml | 1 - .../test/container/environment.yml | 1 - .../fixtures/ext/foo/bar/config/services.yml | 1 - .../fixtures/ext/foo/foo/config/services.yml | 1 - .../fixtures/services_notification.yml | 1 - 60 files changed, 43 insertions(+), 105 deletions(-) create mode 100644 phpBB/phpbb/di/pass/markpublic_pass.php diff --git a/phpBB/config/default/container/services.yml b/phpBB/config/default/container/services.yml index a977ff3f8b..b34e5306e3 100644 --- a/phpBB/config/default/container/services.yml +++ b/phpBB/config/default/container/services.yml @@ -36,8 +36,6 @@ imports: - { resource: parameters.yml } services: - _defaults: { public: true } - cache: class: phpbb\cache\service arguments: diff --git a/phpBB/config/default/container/services_attachment.yml b/phpBB/config/default/container/services_attachment.yml index 8a3587113c..c54b847685 100644 --- a/phpBB/config/default/container/services_attachment.yml +++ b/phpBB/config/default/container/services_attachment.yml @@ -1,6 +1,4 @@ services: - _defaults: { public: true } - attachment.delete: class: phpbb\attachment\delete shared: false diff --git a/phpBB/config/default/container/services_auth.yml b/phpBB/config/default/container/services_auth.yml index cc415fb569..6c9d224ad2 100644 --- a/phpBB/config/default/container/services_auth.yml +++ b/phpBB/config/default/container/services_auth.yml @@ -1,6 +1,4 @@ services: - _defaults: { public: true } - # ----- Auth management ----- auth: class: phpbb\auth\auth diff --git a/phpBB/config/default/container/services_avatar.yml b/phpBB/config/default/container/services_avatar.yml index ae6179698a..1cbc44115d 100644 --- a/phpBB/config/default/container/services_avatar.yml +++ b/phpBB/config/default/container/services_avatar.yml @@ -1,6 +1,4 @@ services: - _defaults: { public: true } - avatar.manager: class: phpbb\avatar\manager arguments: diff --git a/phpBB/config/default/container/services_captcha.yml b/phpBB/config/default/container/services_captcha.yml index af9bbec2de..ba10264093 100644 --- a/phpBB/config/default/container/services_captcha.yml +++ b/phpBB/config/default/container/services_captcha.yml @@ -1,6 +1,4 @@ services: - _defaults: { public: true } - captcha.factory: class: phpbb\captcha\factory arguments: diff --git a/phpBB/config/default/container/services_console.yml b/phpBB/config/default/container/services_console.yml index d44ca3590b..74cfade99d 100644 --- a/phpBB/config/default/container/services_console.yml +++ b/phpBB/config/default/container/services_console.yml @@ -1,6 +1,4 @@ services: - _defaults: { public: true } - console.exception_subscriber: class: phpbb\console\exception_subscriber arguments: diff --git a/phpBB/config/default/container/services_content.yml b/phpBB/config/default/container/services_content.yml index b97496b437..3cdd0cfe6f 100644 --- a/phpBB/config/default/container/services_content.yml +++ b/phpBB/config/default/container/services_content.yml @@ -1,6 +1,4 @@ services: - _defaults: { public: true } - content.visibility: class: phpbb\content_visibility arguments: diff --git a/phpBB/config/default/container/services_cron.yml b/phpBB/config/default/container/services_cron.yml index aef6ccd75d..70affbbaf4 100644 --- a/phpBB/config/default/container/services_cron.yml +++ b/phpBB/config/default/container/services_cron.yml @@ -1,6 +1,4 @@ services: - _defaults: { public: true } - cron.manager: class: phpbb\cron\manager arguments: diff --git a/phpBB/config/default/container/services_db.yml b/phpBB/config/default/container/services_db.yml index 22afeac6b1..fe7d42937d 100644 --- a/phpBB/config/default/container/services_db.yml +++ b/phpBB/config/default/container/services_db.yml @@ -1,6 +1,4 @@ services: - _defaults: { public: true } - dbal.conn: class: phpbb\db\driver\factory arguments: diff --git a/phpBB/config/default/container/services_event.yml b/phpBB/config/default/container/services_event.yml index ef64821993..5696275e64 100644 --- a/phpBB/config/default/container/services_event.yml +++ b/phpBB/config/default/container/services_event.yml @@ -1,6 +1,4 @@ services: - _defaults: { public: true } - dispatcher: class: phpbb\event\dispatcher arguments: diff --git a/phpBB/config/default/container/services_extensions.yml b/phpBB/config/default/container/services_extensions.yml index 9e890f761c..53e36f0fda 100644 --- a/phpBB/config/default/container/services_extensions.yml +++ b/phpBB/config/default/container/services_extensions.yml @@ -1,6 +1,4 @@ services: - _defaults: { public: true } - ext.manager: class: phpbb\extension\manager arguments: diff --git a/phpBB/config/default/container/services_feed.yml b/phpBB/config/default/container/services_feed.yml index 08f5adf919..f32d0cb4d3 100644 --- a/phpBB/config/default/container/services_feed.yml +++ b/phpBB/config/default/container/services_feed.yml @@ -1,6 +1,4 @@ services: - _defaults: { public: true } - phpbb.feed.controller: class: phpbb\feed\controller\feed arguments: diff --git a/phpBB/config/default/container/services_files.yml b/phpBB/config/default/container/services_files.yml index 20ee9457e1..b6cb2f6a45 100644 --- a/phpBB/config/default/container/services_files.yml +++ b/phpBB/config/default/container/services_files.yml @@ -1,6 +1,4 @@ services: - _defaults: { public: true } - files.factory: class: phpbb\files\factory arguments: diff --git a/phpBB/config/default/container/services_filesystem.yml b/phpBB/config/default/container/services_filesystem.yml index 342f2a33c2..15206314b9 100644 --- a/phpBB/config/default/container/services_filesystem.yml +++ b/phpBB/config/default/container/services_filesystem.yml @@ -2,8 +2,6 @@ parameters: core.filesystem.cache_temp_dir: '%core.cache_dir%tmp/' services: - _defaults: { public: true } - filesystem: class: phpbb\filesystem\filesystem diff --git a/phpBB/config/default/container/services_help.yml b/phpBB/config/default/container/services_help.yml index 0574720099..1bff001523 100644 --- a/phpBB/config/default/container/services_help.yml +++ b/phpBB/config/default/container/services_help.yml @@ -1,6 +1,4 @@ services: - _defaults: { public: true } - phpbb.help.manager: class: phpbb\help\manager arguments: diff --git a/phpBB/config/default/container/services_http.yml b/phpBB/config/default/container/services_http.yml index 20710a5d01..49cfbf5b84 100644 --- a/phpBB/config/default/container/services_http.yml +++ b/phpBB/config/default/container/services_http.yml @@ -1,6 +1,4 @@ services: - _defaults: { public: true } - http_kernel: class: Symfony\Component\HttpKernel\HttpKernel arguments: diff --git a/phpBB/config/default/container/services_language.yml b/phpBB/config/default/container/services_language.yml index fe5764214f..8201fbf9b6 100644 --- a/phpBB/config/default/container/services_language.yml +++ b/phpBB/config/default/container/services_language.yml @@ -1,6 +1,4 @@ services: - _defaults: { public: true } - language.helper.language_file: class: phpbb\language\language_file_helper arguments: diff --git a/phpBB/config/default/container/services_migrator.yml b/phpBB/config/default/container/services_migrator.yml index 37728ef6f3..ce478050ea 100644 --- a/phpBB/config/default/container/services_migrator.yml +++ b/phpBB/config/default/container/services_migrator.yml @@ -1,6 +1,4 @@ services: - _defaults: { public: true } - # ----- Migrator ----- migrator: class: phpbb\db\migrator diff --git a/phpBB/config/default/container/services_mimetype_guesser.yml b/phpBB/config/default/container/services_mimetype_guesser.yml index 61421a555f..f304ac845c 100644 --- a/phpBB/config/default/container/services_mimetype_guesser.yml +++ b/phpBB/config/default/container/services_mimetype_guesser.yml @@ -1,6 +1,4 @@ services: - _defaults: { public: true } - mimetype.guesser_collection: class: phpbb\di\service_collection arguments: diff --git a/phpBB/config/default/container/services_module.yml b/phpBB/config/default/container/services_module.yml index 67453083c5..a057e55239 100644 --- a/phpBB/config/default/container/services_module.yml +++ b/phpBB/config/default/container/services_module.yml @@ -1,6 +1,4 @@ services: - _defaults: { public: true } - module.manager: class: phpbb\module\module_manager arguments: diff --git a/phpBB/config/default/container/services_notification.yml b/phpBB/config/default/container/services_notification.yml index 20be74b82c..c18e358114 100644 --- a/phpBB/config/default/container/services_notification.yml +++ b/phpBB/config/default/container/services_notification.yml @@ -1,6 +1,4 @@ services: - _defaults: { public: true } - notification_manager: class: phpbb\notification\manager arguments: diff --git a/phpBB/config/default/container/services_password.yml b/phpBB/config/default/container/services_password.yml index e1822d629c..38f7404330 100644 --- a/phpBB/config/default/container/services_password.yml +++ b/phpBB/config/default/container/services_password.yml @@ -5,8 +5,6 @@ parameters: passwords.driver.bcrypt_cost: 10 services: - _defaults: { public: true } - # ----- Password management ----- passwords.manager: class: phpbb\passwords\manager diff --git a/phpBB/config/default/container/services_php.yml b/phpBB/config/default/container/services_php.yml index bf6992159a..29349960f3 100644 --- a/phpBB/config/default/container/services_php.yml +++ b/phpBB/config/default/container/services_php.yml @@ -1,5 +1,3 @@ services: - _defaults: { public: true } - php_ini: class: bantu\IniGetWrapper\IniGetWrapper diff --git a/phpBB/config/default/container/services_profilefield.yml b/phpBB/config/default/container/services_profilefield.yml index c326e66d2f..aca8b65db6 100644 --- a/phpBB/config/default/container/services_profilefield.yml +++ b/phpBB/config/default/container/services_profilefield.yml @@ -1,6 +1,4 @@ services: - _defaults: { public: true } - profilefields.manager: class: phpbb\profilefields\manager arguments: diff --git a/phpBB/config/default/container/services_report.yml b/phpBB/config/default/container/services_report.yml index 076858678c..2c5b3bf3d5 100644 --- a/phpBB/config/default/container/services_report.yml +++ b/phpBB/config/default/container/services_report.yml @@ -1,6 +1,4 @@ services: - _defaults: { public: true } - # ----- Report controller ----- phpbb.report.controller: class: phpbb\report\controller\report diff --git a/phpBB/config/default/container/services_routing.yml b/phpBB/config/default/container/services_routing.yml index 8734647749..5b7fc35b5a 100644 --- a/phpBB/config/default/container/services_routing.yml +++ b/phpBB/config/default/container/services_routing.yml @@ -1,6 +1,4 @@ services: - _defaults: { public: true } - router: class: phpbb\routing\router arguments: diff --git a/phpBB/config/default/container/services_storage.yml b/phpBB/config/default/container/services_storage.yml index fce8198e82..92f31779e6 100644 --- a/phpBB/config/default/container/services_storage.yml +++ b/phpBB/config/default/container/services_storage.yml @@ -1,5 +1,4 @@ services: - _defaults: { public: true } # Storages storage.attachment: diff --git a/phpBB/config/default/container/services_text_formatter.yml b/phpBB/config/default/container/services_text_formatter.yml index 276c48a5b5..4e4abf6564 100644 --- a/phpBB/config/default/container/services_text_formatter.yml +++ b/phpBB/config/default/container/services_text_formatter.yml @@ -4,8 +4,6 @@ parameters: text_formatter.cache.renderer.key: _text_formatter_renderer services: - _defaults: { public: true } - text_formatter.acp_utils: class: phpbb\textformatter\s9e\acp_utils arguments: diff --git a/phpBB/config/default/container/services_text_reparser.yml b/phpBB/config/default/container/services_text_reparser.yml index c0c531d509..32377f2bb4 100644 --- a/phpBB/config/default/container/services_text_reparser.yml +++ b/phpBB/config/default/container/services_text_reparser.yml @@ -1,6 +1,4 @@ services: - _defaults: { public: true } - text_reparser.manager: class: phpbb\textreparser\manager arguments: diff --git a/phpBB/config/default/container/services_twig.yml b/phpBB/config/default/container/services_twig.yml index b87c8cbb4e..747d2ee155 100644 --- a/phpBB/config/default/container/services_twig.yml +++ b/phpBB/config/default/container/services_twig.yml @@ -2,8 +2,6 @@ parameters: core.template.cache_path: '%core.cache_dir%twig/' services: - _defaults: { public: true } - template.twig.environment: class: phpbb\template\twig\environment arguments: diff --git a/phpBB/config/default/container/services_twig_extensions.yml b/phpBB/config/default/container/services_twig_extensions.yml index 736d07f7b0..115d3f1417 100644 --- a/phpBB/config/default/container/services_twig_extensions.yml +++ b/phpBB/config/default/container/services_twig_extensions.yml @@ -1,8 +1,6 @@ # Twig extensions not needed by the installer services: - _defaults: { public: true } - template.twig.extensions.icon: class: phpbb\template\twig\extension\icon arguments: diff --git a/phpBB/config/default/container/services_ucp.yml b/phpBB/config/default/container/services_ucp.yml index 570f1a1de0..861fa4ac75 100644 --- a/phpBB/config/default/container/services_ucp.yml +++ b/phpBB/config/default/container/services_ucp.yml @@ -1,6 +1,4 @@ services: - _defaults: { public: true } - phpbb.ucp.controller.reset_password: class: phpbb\ucp\controller\reset_password arguments: diff --git a/phpBB/config/default/container/services_user.yml b/phpBB/config/default/container/services_user.yml index b3663a8f35..7e634c60c3 100644 --- a/phpBB/config/default/container/services_user.yml +++ b/phpBB/config/default/container/services_user.yml @@ -1,6 +1,4 @@ services: - _defaults: { public: true } - acl.permissions: class: phpbb\permissions arguments: diff --git a/phpBB/config/installer/container/services.yml b/phpBB/config/installer/container/services.yml index 9d1daa840a..080b8a48e3 100644 --- a/phpBB/config/installer/container/services.yml +++ b/phpBB/config/installer/container/services.yml @@ -9,8 +9,6 @@ imports: - { resource: ../../default/container/services_twig.yml } services: - _defaults: { public: true } - cache.driver: class: '%cache.driver.class%' arguments: diff --git a/phpBB/config/installer/container/services_file_updater.yml b/phpBB/config/installer/container/services_file_updater.yml index 188f0aea00..9d39bb8b89 100644 --- a/phpBB/config/installer/container/services_file_updater.yml +++ b/phpBB/config/installer/container/services_file_updater.yml @@ -1,6 +1,4 @@ services: - _defaults: { public: true } - installer.file_updater.factory: class: phpbb\install\helper\file_updater\factory arguments: diff --git a/phpBB/config/installer/container/services_install_console.yml b/phpBB/config/installer/container/services_install_console.yml index 8dd57e9ed4..41d3aa4c1b 100644 --- a/phpBB/config/installer/container/services_install_console.yml +++ b/phpBB/config/installer/container/services_install_console.yml @@ -1,6 +1,4 @@ services: - _defaults: { public: true } - console.installer.command_collection: class: phpbb\di\service_collection arguments: diff --git a/phpBB/config/installer/container/services_install_controller.yml b/phpBB/config/installer/container/services_install_controller.yml index f32786921c..5aaba0f47f 100644 --- a/phpBB/config/installer/container/services_install_controller.yml +++ b/phpBB/config/installer/container/services_install_controller.yml @@ -1,6 +1,4 @@ services: - _defaults: { public: true } - phpbb.installer.controller.welcome: class: phpbb\install\controller\installer_index arguments: diff --git a/phpBB/config/installer/container/services_install_database.yml b/phpBB/config/installer/container/services_install_database.yml index 6cd9e09183..14baed7e79 100644 --- a/phpBB/config/installer/container/services_install_database.yml +++ b/phpBB/config/installer/container/services_install_database.yml @@ -1,6 +1,4 @@ services: - _defaults: { public: true } - installer.install_database.create_schema_file: class: phpbb\install\module\install_database\task\create_schema_file arguments: diff --git a/phpBB/config/installer/container/services_install_filesystem.yml b/phpBB/config/installer/container/services_install_filesystem.yml index c876d19d5c..996e593d15 100644 --- a/phpBB/config/installer/container/services_install_filesystem.yml +++ b/phpBB/config/installer/container/services_install_filesystem.yml @@ -1,6 +1,4 @@ services: - _defaults: { public: true } - installer.install_filesystem.create_config_file: class: phpbb\install\module\install_filesystem\task\create_config_file arguments: diff --git a/phpBB/config/installer/container/services_install_finish.yml b/phpBB/config/installer/container/services_install_finish.yml index 14df61734d..b200118e11 100644 --- a/phpBB/config/installer/container/services_install_finish.yml +++ b/phpBB/config/installer/container/services_install_finish.yml @@ -1,6 +1,4 @@ services: - _defaults: { public: true } - installer.install_finish.populate_migrations: class: phpbb\install\module\install_finish\task\populate_migrations arguments: diff --git a/phpBB/config/installer/container/services_install_navigation.yml b/phpBB/config/installer/container/services_install_navigation.yml index 7a5497354e..d7151eb1c6 100644 --- a/phpBB/config/installer/container/services_install_navigation.yml +++ b/phpBB/config/installer/container/services_install_navigation.yml @@ -1,6 +1,4 @@ services: - _defaults: { public: true } - installer.navigation.provider: class: phpbb\install\helper\navigation\navigation_provider arguments: diff --git a/phpBB/config/installer/container/services_install_obtain_data.yml b/phpBB/config/installer/container/services_install_obtain_data.yml index b97cbb06e9..04b6912853 100644 --- a/phpBB/config/installer/container/services_install_obtain_data.yml +++ b/phpBB/config/installer/container/services_install_obtain_data.yml @@ -1,6 +1,4 @@ services: - _defaults: { public: true } - installer.obtain_data.obtain_admin_data: class: phpbb\install\module\obtain_data\task\obtain_admin_data arguments: diff --git a/phpBB/config/installer/container/services_install_requirements.yml b/phpBB/config/installer/container/services_install_requirements.yml index 4c51c0fb1b..93d123a0e9 100644 --- a/phpBB/config/installer/container/services_install_requirements.yml +++ b/phpBB/config/installer/container/services_install_requirements.yml @@ -1,6 +1,4 @@ services: - _defaults: { public: true } - installer.requirements.check_filesystem: class: phpbb\install\module\requirements\task\check_filesystem arguments: diff --git a/phpBB/config/installer/container/services_installer.yml b/phpBB/config/installer/container/services_installer.yml index f699b5fbd5..57181b21d4 100644 --- a/phpBB/config/installer/container/services_installer.yml +++ b/phpBB/config/installer/container/services_installer.yml @@ -15,8 +15,6 @@ imports: - { resource: services_update_requirements.yml } services: - _defaults: { public: true } - # -------- Installer helpers ------------------------ installer.helper.config: class: phpbb\install\helper\config diff --git a/phpBB/config/installer/container/services_update_database.yml b/phpBB/config/installer/container/services_update_database.yml index d86c49fe8c..836b943670 100644 --- a/phpBB/config/installer/container/services_update_database.yml +++ b/phpBB/config/installer/container/services_update_database.yml @@ -1,6 +1,4 @@ services: - _defaults: { public: true } - installer.update_database.update_task: class: phpbb\install\module\update_database\task\update arguments: diff --git a/phpBB/config/installer/container/services_update_filesystem.yml b/phpBB/config/installer/container/services_update_filesystem.yml index 6949a6f845..1dce58eaad 100644 --- a/phpBB/config/installer/container/services_update_filesystem.yml +++ b/phpBB/config/installer/container/services_update_filesystem.yml @@ -1,6 +1,4 @@ services: - _defaults: { public: true } - installer.update_filesystem.check_task: class: phpbb\install\module\update_filesystem\task\file_check arguments: diff --git a/phpBB/config/installer/container/services_update_obtain_data.yml b/phpBB/config/installer/container/services_update_obtain_data.yml index 531fca438f..37eb66ae01 100644 --- a/phpBB/config/installer/container/services_update_obtain_data.yml +++ b/phpBB/config/installer/container/services_update_obtain_data.yml @@ -1,6 +1,4 @@ services: - _defaults: { public: true } - installer.obtain_data.update_options: class: phpbb\install\module\obtain_data\task\obtain_update_settings arguments: diff --git a/phpBB/config/installer/container/services_update_requirements.yml b/phpBB/config/installer/container/services_update_requirements.yml index 656b41cb2a..7ca7c921d1 100644 --- a/phpBB/config/installer/container/services_update_requirements.yml +++ b/phpBB/config/installer/container/services_update_requirements.yml @@ -1,6 +1,4 @@ services: - _defaults: { public: true } - installer.requirements.check_filesystem_update: class: phpbb\install\module\requirements\task\check_filesystem arguments: diff --git a/phpBB/phpbb/di/container_builder.php b/phpBB/phpbb/di/container_builder.php index dfb29ed27c..1913d38696 100644 --- a/phpBB/phpbb/di/container_builder.php +++ b/phpBB/phpbb/di/container_builder.php @@ -198,6 +198,9 @@ class container_builder $this->container = $this->create_container($this->container_extensions); + // Mark all services public + $this->container->addCompilerPass(new pass\markpublic_pass()); + // Easy collections through tags $this->container->addCompilerPass(new pass\collection_pass()); diff --git a/phpBB/phpbb/di/pass/markpublic_pass.php b/phpBB/phpbb/di/pass/markpublic_pass.php new file mode 100644 index 0000000000..93b62d0816 --- /dev/null +++ b/phpBB/phpbb/di/pass/markpublic_pass.php @@ -0,0 +1,40 @@ + +* @license GNU General Public License, version 2 (GPL-2.0) +* +* For full copyright and license information, please see +* the docs/CREDITS.txt file. +* +*/ + +namespace phpbb\di\pass; + +use Symfony\Component\DependencyInjection\ContainerBuilder; +use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; + +/** +* Marks all services public +*/ +class markpublic_pass implements CompilerPassInterface +{ + /** + * Modify the container before it is passed to the rest of the code + * + * @param ContainerBuilder $container ContainerBuilder object + * @return null + */ + public function process(ContainerBuilder $container) + { + foreach ($container->getDefinitions() as $definition) + { + if ($definition->isPrivate()) + { + $definition->setPublic(true); + } + } + } +} diff --git a/tests/controller/config/services.yml b/tests/controller/config/services.yml index 4a86537e62..e4412af3d7 100644 --- a/tests/controller/config/services.yml +++ b/tests/controller/config/services.yml @@ -1,4 +1,3 @@ services: - _defaults: { public: true } core_foo.controller: class: phpbb\controller\foo diff --git a/tests/controller/ext/vendor2/bar/config/services.yml b/tests/controller/ext/vendor2/bar/config/services.yml index 569b9432be..05a8a1994d 100644 --- a/tests/controller/ext/vendor2/bar/config/services.yml +++ b/tests/controller/ext/vendor2/bar/config/services.yml @@ -1,4 +1,3 @@ services: - _defaults: { public: true } bar.controller: class: bar\controller diff --git a/tests/controller/ext/vendor2/foo/config/services.yml b/tests/controller/ext/vendor2/foo/config/services.yml index 47eaf62210..9ed67d5bc2 100644 --- a/tests/controller/ext/vendor2/foo/config/services.yml +++ b/tests/controller/ext/vendor2/foo/config/services.yml @@ -1,4 +1,3 @@ services: - _defaults: { public: true } foo.controller: class: foo\controller diff --git a/tests/di/fixtures/config/production/container/environment.yml b/tests/di/fixtures/config/production/container/environment.yml index c9316ee100..2792b24162 100644 --- a/tests/di/fixtures/config/production/container/environment.yml +++ b/tests/di/fixtures/config/production/container/environment.yml @@ -5,7 +5,6 @@ parameters: tables.acl_roles: '%core.table_prefix%acl_roles' services: - _defaults: { public: true } config.php: synthetic: true diff --git a/tests/di/fixtures/config/test/container/environment.yml b/tests/di/fixtures/config/test/container/environment.yml index 70f49c6e1a..356eb4b008 100644 --- a/tests/di/fixtures/config/test/container/environment.yml +++ b/tests/di/fixtures/config/test/container/environment.yml @@ -5,7 +5,6 @@ parameters: tables.acl_roles: '%core.table_prefix%acl_roles' services: - _defaults: { public: true } config.php: synthetic: true diff --git a/tests/di/fixtures/other_config/production/container/environment.yml b/tests/di/fixtures/other_config/production/container/environment.yml index 4944010ad7..aeb552eeb7 100644 --- a/tests/di/fixtures/other_config/production/container/environment.yml +++ b/tests/di/fixtures/other_config/production/container/environment.yml @@ -2,7 +2,6 @@ parameters: other_config: true services: - _defaults: { public: true } config.php: synthetic: true diff --git a/tests/di/fixtures/other_config/test/container/environment.yml b/tests/di/fixtures/other_config/test/container/environment.yml index 766717fa61..b9f6d05018 100644 --- a/tests/di/fixtures/other_config/test/container/environment.yml +++ b/tests/di/fixtures/other_config/test/container/environment.yml @@ -2,7 +2,6 @@ parameters: other_config: true services: - _defaults: { public: true } config.php: synthetic: true diff --git a/tests/functional/fixtures/ext/foo/bar/config/services.yml b/tests/functional/fixtures/ext/foo/bar/config/services.yml index e5353ed0e9..495c775a1f 100644 --- a/tests/functional/fixtures/ext/foo/bar/config/services.yml +++ b/tests/functional/fixtures/ext/foo/bar/config/services.yml @@ -1,5 +1,4 @@ services: - _defaults: { public: true } foo_bar.controller: class: foo\bar\controller\controller arguments: diff --git a/tests/functional/fixtures/ext/foo/foo/config/services.yml b/tests/functional/fixtures/ext/foo/foo/config/services.yml index 3f15226b85..b3c7719715 100644 --- a/tests/functional/fixtures/ext/foo/foo/config/services.yml +++ b/tests/functional/fixtures/ext/foo/foo/config/services.yml @@ -1,4 +1,3 @@ services: - _defaults: { public: true } foo_foo.controller: class: foo\foo\controller\controller diff --git a/tests/notification/fixtures/services_notification.yml b/tests/notification/fixtures/services_notification.yml index 3d45280ef0..470768d986 100644 --- a/tests/notification/fixtures/services_notification.yml +++ b/tests/notification/fixtures/services_notification.yml @@ -2,7 +2,6 @@ imports: - { resource: ../../../phpBB/config/default/container/services_notification.yml } services: - _defaults: { public: true } notification_manager: synthetic: true From 538ff83ccc435f97815f316b72a63f4fa534f142 Mon Sep 17 00:00:00 2001 From: rubencm Date: Wed, 9 Dec 2020 02:28:09 +0100 Subject: [PATCH 04/11] [ticket/16649] Add compiler pass to tests PHPBB3-16649 --- phpBB/phpbb/di/container_builder.php | 6 +++--- phpBB/phpbb/di/pass/markpublic_pass.php | 8 ++++++++ tests/notification/base.php | 3 +++ tests/notification/notification_method_email_test.php | 3 +++ tests/notification/submit_post_base.php | 1 + 5 files changed, 18 insertions(+), 3 deletions(-) diff --git a/phpBB/phpbb/di/container_builder.php b/phpBB/phpbb/di/container_builder.php index 1913d38696..bb3856fc60 100644 --- a/phpBB/phpbb/di/container_builder.php +++ b/phpBB/phpbb/di/container_builder.php @@ -198,9 +198,6 @@ class container_builder $this->container = $this->create_container($this->container_extensions); - // Mark all services public - $this->container->addCompilerPass(new pass\markpublic_pass()); - // Easy collections through tags $this->container->addCompilerPass(new pass\collection_pass()); @@ -220,6 +217,9 @@ class container_builder $this->inject_custom_parameters(); + // Mark all services public + $this->container->addCompilerPass(new pass\markpublic_pass()); + if ($this->compile_container) { $this->container->compile(); diff --git a/phpBB/phpbb/di/pass/markpublic_pass.php b/phpBB/phpbb/di/pass/markpublic_pass.php index 93b62d0816..7e5a8ae8ac 100644 --- a/phpBB/phpbb/di/pass/markpublic_pass.php +++ b/phpBB/phpbb/di/pass/markpublic_pass.php @@ -36,5 +36,13 @@ class markpublic_pass implements CompilerPassInterface $definition->setPublic(true); } } + + foreach ($container->getAliases() as $alias) + { + if ($alias->isPrivate()) + { + $alias->setPublic(true); + } + } } } diff --git a/tests/notification/base.php b/tests/notification/base.php index e9de0daac1..f6152f25ca 100644 --- a/tests/notification/base.php +++ b/tests/notification/base.php @@ -125,6 +125,9 @@ abstract class phpbb_tests_notification_base extends phpbb_database_test_case ); $phpbb_container->set('notification_manager', $this->notifications); + + $phpbb_container->addCompilerPass(new phpbb\di\pass\markpublic_pass()); + $phpbb_container->compile(); $this->notifications->setDependencies($this->auth, $this->config); diff --git a/tests/notification/notification_method_email_test.php b/tests/notification/notification_method_email_test.php index d944846f76..ea9949d719 100644 --- a/tests/notification/notification_method_email_test.php +++ b/tests/notification/notification_method_email_test.php @@ -129,6 +129,9 @@ class notification_method_email_test extends phpbb_tests_notification_base ); $phpbb_container->set('notification_manager', $this->notifications); + + $phpbb_container->addCompilerPass(new phpbb\di\pass\markpublic_pass()); + $phpbb_container->compile(); $this->notifications->setDependencies($this->auth, $this->config); diff --git a/tests/notification/submit_post_base.php b/tests/notification/submit_post_base.php index f144e486a3..d5307a8f7f 100644 --- a/tests/notification/submit_post_base.php +++ b/tests/notification/submit_post_base.php @@ -137,6 +137,7 @@ abstract class phpbb_notification_submit_post_base extends phpbb_database_test_c $phpbb_container->setParameter('tables.notification_types', 'phpbb_notification_types'); $phpbb_container->setParameter('tables.notification_emails', 'phpbb_notification_emails'); $phpbb_container->set('content.visibility', new \phpbb\content_visibility($auth, $config, $phpbb_dispatcher, $db, $user, $phpbb_root_path, $phpEx, FORUMS_TABLE, POSTS_TABLE, TOPICS_TABLE, USERS_TABLE)); + $phpbb_container->addCompilerPass(new phpbb\di\pass\markpublic_pass()); $phpbb_container->compile(); // Notification Types From 497d2965f94fc5e4f560c3dd072f7f200ba0c6bb Mon Sep 17 00:00:00 2001 From: rubencm Date: Wed, 9 Dec 2020 05:24:19 +0100 Subject: [PATCH 05/11] [ticket/16649] Update homestead PHPBB3-16649 --- phpBB/composer.json | 47 +++++++++++++++++++++--------------------- vagrant/bootstrap.yaml | 3 +++ 2 files changed, 26 insertions(+), 24 deletions(-) diff --git a/phpBB/composer.json b/phpBB/composer.json index 1808c4c7c7..bbb3c93f8f 100644 --- a/phpBB/composer.json +++ b/phpBB/composer.json @@ -25,48 +25,47 @@ "phpbb/phpbb-core": "self.version" }, "require": { - "php": "^7.3 || ^8.0", + "php": "^7.2.5", "ext-json": "*", "ext-mbstring": "*", - "ext-pdo": "*", "bantu/ini-get-wrapper": "~1.0", "chita/topological_sort": "^3.0", "composer/composer": "^2.0", "composer/installers": "^1.9", "composer/package-versions-deprecated": "^1.11", - "doctrine/dbal": "^3.0", "google/recaptcha": "~1.1", "guzzlehttp/guzzle": "~6.3", "lusitanian/oauth": "^0.8.1", "marc1706/fast-image-size": "^1.1", "patchwork/utf8": "^1.1", "s9e/text-formatter": "^2.0", - "symfony/config": "~3.4", - "symfony/console": "~3.4", - "symfony/debug": "~3.4", - "symfony/dependency-injection": "~3.4", - "symfony/event-dispatcher": "~3.4", - "symfony/filesystem": "~3.4", - "symfony/finder": "~3.4", - "symfony/http-foundation": "~3.4", - "symfony/http-kernel": "~3.4", - "symfony/process": "^3.4", - "symfony/proxy-manager-bridge": "~3.4", - "symfony/routing": "~3.4", - "symfony/twig-bridge": "~3.4", - "symfony/yaml": "~3.4", + "symfony/config": "~5.2", + "symfony/console": "~5.2", + "symfony/debug": "~4.4", + "symfony/dependency-injection": "~5.2", + "symfony/event-dispatcher": "~5.2", + "symfony/filesystem": "~5.2", + "symfony/finder": "~5.2", + "symfony/http-foundation": "~5.2", + "symfony/http-kernel": "~5.2", + "symfony/process": "^5.2", + "symfony/proxy-manager-bridge": "~5.2", + "symfony/routing": "~5.2", + "symfony/twig-bridge": "~5.2", + "symfony/yaml": "~5.2", + "symfony/mime": "~5.2", "twig/twig": "^1.0 || ^2.0" }, "require-dev": { "fabpot/goutte": "~3.2", - "laravel/homestead": "~9.4", + "laravel/homestead": "~10.17", "phing/phing": "~2.4", - "phpunit/dbunit": "~4.0", - "phpunit/phpunit": "^7.0", + "misantron/dbunit": "~5.0", + "phpunit/phpunit": "^8.5 || ^9.2", "squizlabs/php_codesniffer": "~3.4", - "symfony/browser-kit": "~3.4", - "symfony/css-selector": "~3.4", - "symfony/dom-crawler": "~3.4" + "symfony/browser-kit": "~5.2", + "symfony/css-selector": "~5.2", + "symfony/dom-crawler": "~5.2" }, "extra": { "branch-alias": { @@ -75,7 +74,7 @@ }, "config": { "platform": { - "php": "7.3.0" + "php": "7.2.5" } } } diff --git a/vagrant/bootstrap.yaml b/vagrant/bootstrap.yaml index 0877c506aa..5900ba11e0 100644 --- a/vagrant/bootstrap.yaml +++ b/vagrant/bootstrap.yaml @@ -24,6 +24,9 @@ sites: databases: - phpbb +features: + - mariadb: true + # blackfire: # - id: foo # token: bar From 929acfb64cdaa9c4fb3959fca36a595998a3c8bc Mon Sep 17 00:00:00 2001 From: rxu Date: Thu, 10 Dec 2020 01:24:15 +0700 Subject: [PATCH 06/11] [ticket/16649] Correctly handle marking services as private PHPBB3-16649 --- phpBB/phpbb/di/container_builder.php | 6 +++--- phpBB/phpbb/di/pass/markpublic_pass.php | 18 +++++++++++++++--- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/phpBB/phpbb/di/container_builder.php b/phpBB/phpbb/di/container_builder.php index bb3856fc60..415a2e9202 100644 --- a/phpBB/phpbb/di/container_builder.php +++ b/phpBB/phpbb/di/container_builder.php @@ -201,6 +201,9 @@ class container_builder // Easy collections through tags $this->container->addCompilerPass(new pass\collection_pass()); + // Mark all services public + $this->container->addCompilerPass(new pass\markpublic_pass()); + // Event listeners "phpBB style" $this->container->addCompilerPass(new RegisterListenersPass('dispatcher', 'event.listener_listener', 'event.listener')); @@ -217,9 +220,6 @@ class container_builder $this->inject_custom_parameters(); - // Mark all services public - $this->container->addCompilerPass(new pass\markpublic_pass()); - if ($this->compile_container) { $this->container->compile(); diff --git a/phpBB/phpbb/di/pass/markpublic_pass.php b/phpBB/phpbb/di/pass/markpublic_pass.php index 7e5a8ae8ac..a24ba32a68 100644 --- a/phpBB/phpbb/di/pass/markpublic_pass.php +++ b/phpBB/phpbb/di/pass/markpublic_pass.php @@ -23,15 +23,24 @@ class markpublic_pass implements CompilerPassInterface { /** * Modify the container before it is passed to the rest of the code + * Mark services as public by default unless they were explicitly marked as private * * @param ContainerBuilder $container ContainerBuilder object * @return null */ public function process(ContainerBuilder $container) { - foreach ($container->getDefinitions() as $definition) + $service_definitions = $container->getDefinitions(); + foreach ($service_definitions as $definition) { - if ($definition->isPrivate()) + $changes = $definition->getChanges(); + + /* Check if service definition contains explicit 'public' key (changed default state) + * If it does and the service is private, then service was explicitly marked as private + * Don't mark it as public then + */ + $definition_override_public = isset($changes['public']) && $changes['public']; + if (!$definition_override_public && $definition->isPrivate()) { $definition->setPublic(true); } @@ -39,7 +48,10 @@ class markpublic_pass implements CompilerPassInterface foreach ($container->getAliases() as $alias) { - if ($alias->isPrivate()) + $aliased_service_id = $alias->__toString(); + + // Only mark alias as public if original service is public too + if ($service_definitions[$aliased_service_id]->isPublic() && $alias->isPrivate()) { $alias->setPublic(true); } From 818a5c1ac4567dbecaa5f0ce24af3b2643a24e90 Mon Sep 17 00:00:00 2001 From: rxu Date: Fri, 18 Dec 2020 21:02:34 +0700 Subject: [PATCH 07/11] [ticket/16649] Do not require symfony/filesystem 5.2.x as bugfixed 5.2.1 is out PHPBB3-16649 --- phpBB/composer.json | 2 +- travis/setup-phpbb.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/phpBB/composer.json b/phpBB/composer.json index bbb3c93f8f..84fcde80e6 100644 --- a/phpBB/composer.json +++ b/phpBB/composer.json @@ -61,7 +61,7 @@ "laravel/homestead": "~10.17", "phing/phing": "~2.4", "misantron/dbunit": "~5.0", - "phpunit/phpunit": "^8.5 || ^9.2", + "phpunit/phpunit": "^8.5 || ^9.3", "squizlabs/php_codesniffer": "~3.4", "symfony/browser-kit": "~5.2", "symfony/css-selector": "~5.2", diff --git a/travis/setup-phpbb.sh b/travis/setup-phpbb.sh index 20d8ae7d29..dcbe4f144d 100755 --- a/travis/setup-phpbb.sh +++ b/travis/setup-phpbb.sh @@ -46,6 +46,6 @@ cd phpBB php ../composer.phar install --dev --no-interaction if [[ "$TRAVIS_PHP_VERSION" =~ ^nightly$ || "$TRAVIS_PHP_VERSION" =~ ^8 ]] then - php ../composer.phar require symfony/filesystem:5.2.x-dev phpunit/phpunit:^9.3 --update-with-all-dependencies --ignore-platform-reqs --no-interaction + php ../composer.phar require phpunit/phpunit:^9.3 --update-with-all-dependencies --ignore-platform-reqs --no-interaction fi cd .. From 9d91d2f1437f3c67039eaec66ce22b6242a32015 Mon Sep 17 00:00:00 2001 From: rxu Date: Fri, 8 Jan 2021 21:04:18 +0700 Subject: [PATCH 08/11] [ticket/16649] Adjust markpublic di pass PHPBB3-16649 --- phpBB/phpbb/di/pass/markpublic_pass.php | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/phpBB/phpbb/di/pass/markpublic_pass.php b/phpBB/phpbb/di/pass/markpublic_pass.php index a24ba32a68..7bbcb9045f 100644 --- a/phpBB/phpbb/di/pass/markpublic_pass.php +++ b/phpBB/phpbb/di/pass/markpublic_pass.php @@ -48,10 +48,8 @@ class markpublic_pass implements CompilerPassInterface foreach ($container->getAliases() as $alias) { - $aliased_service_id = $alias->__toString(); - // Only mark alias as public if original service is public too - if ($service_definitions[$aliased_service_id]->isPublic() && $alias->isPrivate()) + if ($service_definitions[(string) $alias]->isPublic() && $alias->isPrivate()) { $alias->setPublic(true); } From 9c64ee8d617fda1a7347faa2b1cd08a476635ca8 Mon Sep 17 00:00:00 2001 From: rxu Date: Sun, 10 Jan 2021 15:56:29 +0700 Subject: [PATCH 09/11] [ticket/16649] Set PHP 7.3.0 as a minimum required version Also rebase and fix composer.lock conflict PHPBB3-16649 --- phpBB/composer.json | 6 +- phpBB/composer.lock | 3406 +++++++++++++++++++++++++----------- phpBB/docs/INSTALL.html | 2 +- phpBB/includes/startup.php | 6 +- 4 files changed, 2425 insertions(+), 995 deletions(-) diff --git a/phpBB/composer.json b/phpBB/composer.json index 84fcde80e6..4859bb8f94 100644 --- a/phpBB/composer.json +++ b/phpBB/composer.json @@ -25,14 +25,16 @@ "phpbb/phpbb-core": "self.version" }, "require": { - "php": "^7.2.5", + "php": "^7.3 || ^8.0", "ext-json": "*", "ext-mbstring": "*", + "ext-pdo": "*", "bantu/ini-get-wrapper": "~1.0", "chita/topological_sort": "^3.0", "composer/composer": "^2.0", "composer/installers": "^1.9", "composer/package-versions-deprecated": "^1.11", + "doctrine/dbal": "^3.0", "google/recaptcha": "~1.1", "guzzlehttp/guzzle": "~6.3", "lusitanian/oauth": "^0.8.1", @@ -74,7 +76,7 @@ }, "config": { "platform": { - "php": "7.2.5" + "php": "7.3.0" } } } diff --git a/phpBB/composer.lock b/phpBB/composer.lock index 934bae5274..42b09575d1 100644 --- a/phpBB/composer.lock +++ b/phpBB/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "98c49df46e2368bee9696e5a87c82fcc", + "content-hash": "a5aa7f42a32cfdfb78e3650c3a985022", "packages": [ { "name": "bantu/ini-get-wrapper", @@ -161,16 +161,16 @@ }, { "name": "composer/composer", - "version": "2.0.8", + "version": "2.0.9", "source": { "type": "git", "url": "https://github.com/composer/composer.git", - "reference": "62139b2806178adb979d76bd3437534a1a9fd490" + "reference": "591c2c155cac0d2d7f34af41d3b1e29bcbfc685e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/composer/zipball/62139b2806178adb979d76bd3437534a1a9fd490", - "reference": "62139b2806178adb979d76bd3437534a1a9fd490", + "url": "https://api.github.com/repos/composer/composer/zipball/591c2c155cac0d2d7f34af41d3b1e29bcbfc685e", + "reference": "591c2c155cac0d2d7f34af41d3b1e29bcbfc685e", "shasum": "" }, "require": { @@ -238,7 +238,7 @@ "support": { "irc": "irc://irc.freenode.org/composer", "issues": "https://github.com/composer/composer/issues", - "source": "https://github.com/composer/composer/tree/2.0.8" + "source": "https://github.com/composer/composer/tree/2.0.9" }, "funding": [ { @@ -254,7 +254,7 @@ "type": "tidelift" } ], - "time": "2020-12-03T16:20:39+00:00" + "time": "2021-01-27T15:09:27+00:00" }, { "name": "composer/installers", @@ -1005,6 +1005,88 @@ ], "time": "2020-05-29T18:28:51+00:00" }, + { + "name": "friendsofphp/proxy-manager-lts", + "version": "v1.0.3", + "source": { + "type": "git", + "url": "https://github.com/FriendsOfPHP/proxy-manager-lts.git", + "reference": "121af47c9aee9c03031bdeca3fac0540f59aa5c3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/FriendsOfPHP/proxy-manager-lts/zipball/121af47c9aee9c03031bdeca3fac0540f59aa5c3", + "reference": "121af47c9aee9c03031bdeca3fac0540f59aa5c3", + "shasum": "" + }, + "require": { + "laminas/laminas-code": "~3.4.1|^4.0", + "php": ">=7.1", + "symfony/filesystem": "^4.4.17|^5.0" + }, + "conflict": { + "laminas/laminas-stdlib": "<3.2.1", + "zendframework/zend-stdlib": "<3.2.1" + }, + "replace": { + "ocramius/proxy-manager": "^2.1" + }, + "require-dev": { + "ext-phar": "*", + "symfony/phpunit-bridge": "^5.2" + }, + "type": "library", + "extra": { + "thanks": { + "name": "ocramius/proxy-manager", + "url": "https://github.com/Ocramius/ProxyManager" + } + }, + "autoload": { + "psr-4": { + "ProxyManager\\": "src/ProxyManager" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com", + "homepage": "http://ocramius.github.io/" + }, + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + } + ], + "description": "Adding support for a wider range of PHP versions to ocramius/proxy-manager", + "homepage": "https://github.com/FriendsOfPHP/proxy-manager-lts", + "keywords": [ + "aop", + "lazy loading", + "proxy", + "proxy pattern", + "service proxies" + ], + "support": { + "issues": "https://github.com/FriendsOfPHP/proxy-manager-lts/issues", + "source": "https://github.com/FriendsOfPHP/proxy-manager-lts/tree/v1.0.3" + }, + "funding": [ + { + "url": "https://github.com/Ocramius", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/ocramius/proxy-manager", + "type": "tidelift" + } + ], + "time": "2021-01-14T21:52:44+00:00" + }, { "name": "google/recaptcha", "version": "1.2.4", @@ -1328,6 +1410,207 @@ }, "time": "2020-05-27T16:41:55+00:00" }, + { + "name": "laminas/laminas-code", + "version": "3.4.1", + "source": { + "type": "git", + "url": "https://github.com/laminas/laminas-code.git", + "reference": "1cb8f203389ab1482bf89c0e70a04849bacd7766" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laminas/laminas-code/zipball/1cb8f203389ab1482bf89c0e70a04849bacd7766", + "reference": "1cb8f203389ab1482bf89c0e70a04849bacd7766", + "shasum": "" + }, + "require": { + "laminas/laminas-eventmanager": "^2.6 || ^3.0", + "laminas/laminas-zendframework-bridge": "^1.0", + "php": "^7.1" + }, + "conflict": { + "phpspec/prophecy": "<1.9.0" + }, + "replace": { + "zendframework/zend-code": "self.version" + }, + "require-dev": { + "doctrine/annotations": "^1.7", + "ext-phar": "*", + "laminas/laminas-coding-standard": "^1.0", + "laminas/laminas-stdlib": "^2.7 || ^3.0", + "phpunit/phpunit": "^7.5.16 || ^8.4" + }, + "suggest": { + "doctrine/annotations": "Doctrine\\Common\\Annotations >=1.0 for annotation features", + "laminas/laminas-stdlib": "Laminas\\Stdlib component" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.4.x-dev", + "dev-develop": "3.5.x-dev", + "dev-dev-4.0": "4.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Laminas\\Code\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "Extensions to the PHP Reflection API, static code scanning, and code generation", + "homepage": "https://laminas.dev", + "keywords": [ + "code", + "laminas" + ], + "support": { + "chat": "https://laminas.dev/chat", + "docs": "https://docs.laminas.dev/laminas-code/", + "forum": "https://discourse.laminas.dev", + "issues": "https://github.com/laminas/laminas-code/issues", + "rss": "https://github.com/laminas/laminas-code/releases.atom", + "source": "https://github.com/laminas/laminas-code" + }, + "time": "2019-12-31T16:28:24+00:00" + }, + { + "name": "laminas/laminas-eventmanager", + "version": "3.3.0", + "source": { + "type": "git", + "url": "https://github.com/laminas/laminas-eventmanager.git", + "reference": "1940ccf30e058b2fd66f5a9d696f1b5e0027b082" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laminas/laminas-eventmanager/zipball/1940ccf30e058b2fd66f5a9d696f1b5e0027b082", + "reference": "1940ccf30e058b2fd66f5a9d696f1b5e0027b082", + "shasum": "" + }, + "require": { + "laminas/laminas-zendframework-bridge": "^1.0", + "php": "^7.3 || ^8.0" + }, + "replace": { + "zendframework/zend-eventmanager": "^3.2.1" + }, + "require-dev": { + "container-interop/container-interop": "^1.1", + "laminas/laminas-coding-standard": "~1.0.0", + "laminas/laminas-stdlib": "^2.7.3 || ^3.0", + "phpbench/phpbench": "^0.17.1", + "phpunit/phpunit": "^8.5.8" + }, + "suggest": { + "container-interop/container-interop": "^1.1, to use the lazy listeners feature", + "laminas/laminas-stdlib": "^2.7.3 || ^3.0, to use the FilterChain feature" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.3.x-dev", + "dev-develop": "3.4.x-dev" + } + }, + "autoload": { + "psr-4": { + "Laminas\\EventManager\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "Trigger and listen to events within a PHP application", + "homepage": "https://laminas.dev", + "keywords": [ + "event", + "eventmanager", + "events", + "laminas" + ], + "support": { + "chat": "https://laminas.dev/chat", + "docs": "https://docs.laminas.dev/laminas-eventmanager/", + "forum": "https://discourse.laminas.dev", + "issues": "https://github.com/laminas/laminas-eventmanager/issues", + "rss": "https://github.com/laminas/laminas-eventmanager/releases.atom", + "source": "https://github.com/laminas/laminas-eventmanager" + }, + "funding": [ + { + "url": "https://funding.communitybridge.org/projects/laminas-project", + "type": "community_bridge" + } + ], + "time": "2020-08-25T11:10:44+00:00" + }, + { + "name": "laminas/laminas-zendframework-bridge", + "version": "1.1.1", + "source": { + "type": "git", + "url": "https://github.com/laminas/laminas-zendframework-bridge.git", + "reference": "6ede70583e101030bcace4dcddd648f760ddf642" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laminas/laminas-zendframework-bridge/zipball/6ede70583e101030bcace4dcddd648f760ddf642", + "reference": "6ede70583e101030bcace4dcddd648f760ddf642", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0 || ^8.0" + }, + "require-dev": { + "phpunit/phpunit": "^5.7 || ^6.5 || ^7.5 || ^8.1 || ^9.3", + "squizlabs/php_codesniffer": "^3.5" + }, + "type": "library", + "extra": { + "laminas": { + "module": "Laminas\\ZendFrameworkBridge" + } + }, + "autoload": { + "files": [ + "src/autoload.php" + ], + "psr-4": { + "Laminas\\ZendFrameworkBridge\\": "src//" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "Alias legacy ZF class names to Laminas Project equivalents.", + "keywords": [ + "ZendFramework", + "autoloading", + "laminas", + "zf" + ], + "support": { + "forum": "https://discourse.laminas.dev/", + "issues": "https://github.com/laminas/laminas-zendframework-bridge/issues", + "rss": "https://github.com/laminas/laminas-zendframework-bridge/releases.atom", + "source": "https://github.com/laminas/laminas-zendframework-bridge" + }, + "funding": [ + { + "url": "https://funding.communitybridge.org/projects/laminas-project", + "type": "community_bridge" + } + ], + "time": "2020-09-14T14:23:00+00:00" + }, { "name": "lusitanian/oauth", "version": "v0.8.11", @@ -1460,80 +1743,6 @@ }, "time": "2019-12-07T08:02:07+00:00" }, - { - "name": "ocramius/proxy-manager", - "version": "2.2.3", - "source": { - "type": "git", - "url": "https://github.com/Ocramius/ProxyManager.git", - "reference": "4d154742e31c35137d5374c998e8f86b54db2e2f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Ocramius/ProxyManager/zipball/4d154742e31c35137d5374c998e8f86b54db2e2f", - "reference": "4d154742e31c35137d5374c998e8f86b54db2e2f", - "shasum": "" - }, - "require": { - "ocramius/package-versions": "^1.1.3", - "php": "^7.2.0", - "zendframework/zend-code": "^3.3.0" - }, - "require-dev": { - "couscous/couscous": "^1.6.1", - "ext-phar": "*", - "humbug/humbug": "1.0.0-RC.0@RC", - "nikic/php-parser": "^3.1.1", - "padraic/phpunit-accelerator": "dev-master@DEV", - "phpbench/phpbench": "^0.12.2", - "phpstan/phpstan": "dev-master#856eb10a81c1d27c701a83f167dc870fd8f4236a as 0.9.999", - "phpstan/phpstan-phpunit": "dev-master#5629c0a1f4a9c417cb1077cf6693ad9753895761", - "phpunit/phpunit": "^6.4.3", - "squizlabs/php_codesniffer": "^2.9.1" - }, - "suggest": { - "ocramius/generated-hydrator": "To have very fast object to array to object conversion for ghost objects", - "zendframework/zend-json": "To have the JsonRpc adapter (Remote Object feature)", - "zendframework/zend-soap": "To have the Soap adapter (Remote Object feature)", - "zendframework/zend-xmlrpc": "To have the XmlRpc adapter (Remote Object feature)" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0.x-dev" - } - }, - "autoload": { - "psr-0": { - "ProxyManager\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.io/" - } - ], - "description": "A library providing utilities to generate, instantiate and generally operate with Object Proxies", - "homepage": "https://github.com/Ocramius/ProxyManager", - "keywords": [ - "aop", - "lazy loading", - "proxy", - "proxy pattern", - "service proxies" - ], - "support": { - "issues": "https://github.com/Ocramius/ProxyManager/issues", - "source": "https://github.com/Ocramius/ProxyManager/tree/2.2.x" - }, - "time": "2019-08-10T08:37:15+00:00" - }, { "name": "patchwork/utf8", "version": "v1.3.3", @@ -1664,6 +1873,56 @@ }, "time": "2017-02-14T16:28:37+00:00" }, + { + "name": "psr/event-dispatcher", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/event-dispatcher.git", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", + "shasum": "" + }, + "require": { + "php": ">=7.2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\EventDispatcher\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Standard interfaces for event handling.", + "keywords": [ + "events", + "psr", + "psr-14" + ], + "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": "psr/http-message", "version": "1.0.1", @@ -1949,16 +2208,16 @@ }, { "name": "s9e/text-formatter", - "version": "2.8.1", + "version": "2.8.3", "source": { "type": "git", "url": "https://github.com/s9e/TextFormatter.git", - "reference": "2ac2ab8c28849311424a78ea21a8368423053ce3" + "reference": "46ff5bf0a660caae4291f19a50bc742d93b6bf3e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/s9e/TextFormatter/zipball/2ac2ab8c28849311424a78ea21a8368423053ce3", - "reference": "2ac2ab8c28849311424a78ea21a8368423053ce3", + "url": "https://api.github.com/repos/s9e/TextFormatter/zipball/46ff5bf0a660caae4291f19a50bc742d93b6bf3e", + "reference": "46ff5bf0a660caae4291f19a50bc742d93b6bf3e", "shasum": "" }, "require": { @@ -1985,7 +2244,7 @@ }, "type": "library", "extra": { - "version": "2.8.1" + "version": "2.8.3" }, "autoload": { "psr-4": { @@ -2017,9 +2276,9 @@ ], "support": { "issues": "https://github.com/s9e/TextFormatter/issues", - "source": "https://github.com/s9e/TextFormatter/tree/2.8.1" + "source": "https://github.com/s9e/TextFormatter/tree/2.8.3" }, - "time": "2020-12-27T17:14:06+00:00" + "time": "2021-02-10T23:46:49+00:00" }, { "name": "seld/jsonlint", @@ -2134,32 +2393,34 @@ }, { "name": "symfony/config", - "version": "v3.4.47", + "version": "v5.2.3", "source": { "type": "git", "url": "https://github.com/symfony/config.git", - "reference": "bc6b3fd3930d4b53a60b42fe2ed6fc466b75f03f" + "reference": "50e0e1314a3b2609d32b6a5a0d0fb5342494c4ab" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/bc6b3fd3930d4b53a60b42fe2ed6fc466b75f03f", - "reference": "bc6b3fd3930d4b53a60b42fe2ed6fc466b75f03f", + "url": "https://api.github.com/repos/symfony/config/zipball/50e0e1314a3b2609d32b6a5a0d0fb5342494c4ab", + "reference": "50e0e1314a3b2609d32b6a5a0d0fb5342494c4ab", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8", - "symfony/filesystem": "~2.8|~3.0|~4.0", - "symfony/polyfill-ctype": "~1.8" + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", + "symfony/filesystem": "^4.4|^5.0", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-php80": "^1.15" }, "conflict": { - "symfony/dependency-injection": "<3.3", - "symfony/finder": "<3.3" + "symfony/finder": "<4.4" }, "require-dev": { - "symfony/dependency-injection": "~3.3|~4.0", - "symfony/event-dispatcher": "~3.3|~4.0", - "symfony/finder": "~3.3|~4.0", - "symfony/yaml": "~3.0|~4.0" + "symfony/event-dispatcher": "^4.4|^5.0", + "symfony/finder": "^4.4|^5.0", + "symfony/messenger": "^4.4|^5.0", + "symfony/service-contracts": "^1.1|^2", + "symfony/yaml": "^4.4|^5.0" }, "suggest": { "symfony/yaml": "To use the yaml reference dumper" @@ -2187,10 +2448,10 @@ "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/v3.4.47" + "source": "https://github.com/symfony/config/tree/v5.2.3" }, "funding": [ { @@ -2206,41 +2467,48 @@ "type": "tidelift" } ], - "time": "2020-10-24T10:57:07+00:00" + "time": "2021-01-27T10:15:41+00:00" }, { "name": "symfony/console", - "version": "v3.4.47", + "version": "v5.2.3", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "a10b1da6fc93080c180bba7219b5ff5b7518fe81" + "reference": "89d4b176d12a2946a1ae4e34906a025b7b6b135a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/a10b1da6fc93080c180bba7219b5ff5b7518fe81", - "reference": "a10b1da6fc93080c180bba7219b5ff5b7518fe81", + "url": "https://api.github.com/repos/symfony/console/zipball/89d4b176d12a2946a1ae4e34906a025b7b6b135a", + "reference": "89d4b176d12a2946a1ae4e34906a025b7b6b135a", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8", - "symfony/debug": "~2.8|~3.0|~4.0", - "symfony/polyfill-mbstring": "~1.0" + "php": ">=7.2.5", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php73": "^1.8", + "symfony/polyfill-php80": "^1.15", + "symfony/service-contracts": "^1.1|^2", + "symfony/string": "^5.1" }, "conflict": { - "symfony/dependency-injection": "<3.4", - "symfony/process": "<3.3" + "symfony/dependency-injection": "<4.4", + "symfony/dotenv": "<5.1", + "symfony/event-dispatcher": "<4.4", + "symfony/lock": "<4.4", + "symfony/process": "<4.4" }, "provide": { "psr/log-implementation": "1.0" }, "require-dev": { "psr/log": "~1.0", - "symfony/config": "~3.3|~4.0", - "symfony/dependency-injection": "~3.4|~4.0", - "symfony/event-dispatcher": "~2.8|~3.0|~4.0", - "symfony/lock": "~3.4|~4.0", - "symfony/process": "~3.3|~4.0" + "symfony/config": "^4.4|^5.0", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/event-dispatcher": "^4.4|^5.0", + "symfony/lock": "^4.4|^5.0", + "symfony/process": "^4.4|^5.0", + "symfony/var-dumper": "^4.4|^5.0" }, "suggest": { "psr/log": "For using the console logger", @@ -2271,10 +2539,16 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Console Component", + "description": "Eases the creation of beautiful and testable command line interfaces", "homepage": "https://symfony.com", + "keywords": [ + "cli", + "command line", + "console", + "terminal" + ], "support": { - "source": "https://github.com/symfony/console/tree/v3.4.47" + "source": "https://github.com/symfony/console/tree/v5.2.3" }, "funding": [ { @@ -2290,31 +2564,32 @@ "type": "tidelift" } ], - "time": "2020-10-24T10:57:07+00:00" + "time": "2021-01-28T22:06:19+00:00" }, { "name": "symfony/debug", - "version": "v3.4.47", + "version": "v4.4.19", "source": { "type": "git", "url": "https://github.com/symfony/debug.git", - "reference": "ab42889de57fdfcfcc0759ab102e2fd4ea72dcae" + "reference": "af4987aa4a5630e9615be9d9c3ed1b0f24ca449c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/ab42889de57fdfcfcc0759ab102e2fd4ea72dcae", - "reference": "ab42889de57fdfcfcc0759ab102e2fd4ea72dcae", + "url": "https://api.github.com/repos/symfony/debug/zipball/af4987aa4a5630e9615be9d9c3ed1b0f24ca449c", + "reference": "af4987aa4a5630e9615be9d9c3ed1b0f24ca449c", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8", - "psr/log": "~1.0" + "php": ">=7.1.3", + "psr/log": "~1.0", + "symfony/polyfill-php80": "^1.15" }, "conflict": { - "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2" + "symfony/http-kernel": "<3.4" }, "require-dev": { - "symfony/http-kernel": "~2.8|~3.0|~4.0" + "symfony/http-kernel": "^3.4|^4.0|^5.0" }, "type": "library", "autoload": { @@ -2339,10 +2614,10 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Debug Component", + "description": "Provides tools to ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/debug/tree/v3.4.47" + "source": "https://github.com/symfony/debug/tree/v4.4.19" }, "funding": [ { @@ -2358,39 +2633,43 @@ "type": "tidelift" } ], - "time": "2020-10-24T10:57:07+00:00" + "time": "2021-01-27T09:09:26+00:00" }, { "name": "symfony/dependency-injection", - "version": "v3.4.47", + "version": "v5.2.3", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "51d2a2708c6ceadad84393f8581df1dcf9e5e84b" + "reference": "62f72187be689540385dce6c68a5d4c16f034139" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/51d2a2708c6ceadad84393f8581df1dcf9e5e84b", - "reference": "51d2a2708c6ceadad84393f8581df1dcf9e5e84b", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/62f72187be689540385dce6c68a5d4c16f034139", + "reference": "62f72187be689540385dce6c68a5d4c16f034139", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8", - "psr/container": "^1.0" + "php": ">=7.2.5", + "psr/container": "^1.0", + "symfony/deprecation-contracts": "^2.1", + "symfony/polyfill-php80": "^1.15", + "symfony/service-contracts": "^1.1.6|^2" }, "conflict": { - "symfony/config": "<3.3.7", - "symfony/finder": "<3.3", - "symfony/proxy-manager-bridge": "<3.4", - "symfony/yaml": "<3.4" + "symfony/config": "<5.1", + "symfony/finder": "<4.4", + "symfony/proxy-manager-bridge": "<4.4", + "symfony/yaml": "<4.4" }, "provide": { - "psr/container-implementation": "1.0" + "psr/container-implementation": "1.0", + "symfony/service-implementation": "1.0" }, "require-dev": { - "symfony/config": "~3.3|~4.0", - "symfony/expression-language": "~2.8|~3.0|~4.0", - "symfony/yaml": "~3.4|~4.0" + "symfony/config": "^5.1", + "symfony/expression-language": "^4.4|^5.0", + "symfony/yaml": "^4.4|^5.0" }, "suggest": { "symfony/config": "", @@ -2422,10 +2701,10 @@ "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/v3.4.47" + "source": "https://github.com/symfony/dependency-injection/tree/v5.2.3" }, "funding": [ { @@ -2441,35 +2720,180 @@ "type": "tidelift" } ], - "time": "2020-10-24T10:57:07+00:00" + "time": "2021-01-27T12:56:27+00:00" }, { - "name": "symfony/event-dispatcher", - "version": "v3.4.47", + "name": "symfony/deprecation-contracts", + "version": "v2.2.0", "source": { "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "31fde73757b6bad247c54597beef974919ec6860" + "url": "https://github.com/symfony/deprecation-contracts.git", + "reference": "5fa56b4074d1ae755beb55617ddafe6f5d78f665" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/31fde73757b6bad247c54597beef974919ec6860", - "reference": "31fde73757b6bad247c54597beef974919ec6860", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/5fa56b4074d1ae755beb55617ddafe6f5d78f665", + "reference": "5fa56b4074d1ae755beb55617ddafe6f5d78f665", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8" + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.2-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/master" + }, + "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": "2020-09-07T11:33:47+00:00" + }, + { + "name": "symfony/error-handler", + "version": "v5.2.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/error-handler.git", + "reference": "48f18b3609e120ea66d59142c23dc53e9562c26d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/48f18b3609e120ea66d59142c23dc53e9562c26d", + "reference": "48f18b3609e120ea66d59142c23dc53e9562c26d", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "psr/log": "^1.0", + "symfony/polyfill-php80": "^1.15", + "symfony/var-dumper": "^4.4|^5.0" + }, + "require-dev": { + "symfony/deprecation-contracts": "^2.1", + "symfony/http-kernel": "^4.4|^5.0", + "symfony/serializer": "^4.4|^5.0" + }, + "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/v5.2.3" + }, + "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": "2021-01-28T22:06:19+00:00" + }, + { + "name": "symfony/event-dispatcher", + "version": "v5.2.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher.git", + "reference": "4f9760f8074978ad82e2ce854dff79a71fe45367" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/4f9760f8074978ad82e2ce854dff79a71fe45367", + "reference": "4f9760f8074978ad82e2ce854dff79a71fe45367", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", + "symfony/event-dispatcher-contracts": "^2", + "symfony/polyfill-php80": "^1.15" }, "conflict": { - "symfony/dependency-injection": "<3.3" + "symfony/dependency-injection": "<4.4" + }, + "provide": { + "psr/event-dispatcher-implementation": "1.0", + "symfony/event-dispatcher-implementation": "2.0" }, "require-dev": { "psr/log": "~1.0", - "symfony/config": "~2.8|~3.0|~4.0", - "symfony/debug": "~3.4|~4.4", - "symfony/dependency-injection": "~3.3|~4.0", - "symfony/expression-language": "~2.8|~3.0|~4.0", - "symfony/stopwatch": "~2.8|~3.0|~4.0" + "symfony/config": "^4.4|^5.0", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/error-handler": "^4.4|^5.0", + "symfony/expression-language": "^4.4|^5.0", + "symfony/http-foundation": "^4.4|^5.0", + "symfony/service-contracts": "^1.1|^2", + "symfony/stopwatch": "^4.4|^5.0" }, "suggest": { "symfony/dependency-injection": "", @@ -2498,10 +2922,10 @@ "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/v3.4.47" + "source": "https://github.com/symfony/event-dispatcher/tree/v5.2.3" }, "funding": [ { @@ -2517,24 +2941,103 @@ "type": "tidelift" } ], - "time": "2020-10-24T10:57:07+00:00" + "time": "2021-01-27T10:36:42+00:00" }, { - "name": "symfony/filesystem", - "version": "v3.4.47", + "name": "symfony/event-dispatcher-contracts", + "version": "v2.2.0", "source": { "type": "git", - "url": "https://github.com/symfony/filesystem.git", - "reference": "e58d7841cddfed6e846829040dca2cca0ebbbbb3" + "url": "https://github.com/symfony/event-dispatcher-contracts.git", + "reference": "0ba7d54483095a198fa51781bc608d17e84dffa2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/e58d7841cddfed6e846829040dca2cca0ebbbbb3", - "reference": "e58d7841cddfed6e846829040dca2cca0ebbbbb3", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/0ba7d54483095a198fa51781bc608d17e84dffa2", + "reference": "0ba7d54483095a198fa51781bc608d17e84dffa2", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8", + "php": ">=7.2.5", + "psr/event-dispatcher": "^1" + }, + "suggest": { + "symfony/event-dispatcher-implementation": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.2-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\EventDispatcher\\": "" + } + }, + "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 dispatching event", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v2.2.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": "2020-09-07T11:33:47+00:00" + }, + { + "name": "symfony/filesystem", + "version": "v5.2.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/filesystem.git", + "reference": "262d033b57c73e8b59cd6e68a45c528318b15038" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/262d033b57c73e8b59cd6e68a45c528318b15038", + "reference": "262d033b57c73e8b59cd6e68a45c528318b15038", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", "symfony/polyfill-ctype": "~1.8" }, "type": "library", @@ -2560,10 +3063,10 @@ "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/v3.4.47" + "source": "https://github.com/symfony/filesystem/tree/v5.2.3" }, "funding": [ { @@ -2579,24 +3082,24 @@ "type": "tidelift" } ], - "time": "2020-10-24T10:57:07+00:00" + "time": "2021-01-27T10:01:46+00:00" }, { "name": "symfony/finder", - "version": "v3.4.47", + "version": "v5.2.3", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "b6b6ad3db3edb1b4b1c1896b1975fb684994de6e" + "reference": "4adc8d172d602008c204c2e16956f99257248e03" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/b6b6ad3db3edb1b4b1c1896b1975fb684994de6e", - "reference": "b6b6ad3db3edb1b4b1c1896b1975fb684994de6e", + "url": "https://api.github.com/repos/symfony/finder/zipball/4adc8d172d602008c204c2e16956f99257248e03", + "reference": "4adc8d172d602008c204c2e16956f99257248e03", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8" + "php": ">=7.2.5" }, "type": "library", "autoload": { @@ -2621,10 +3124,10 @@ "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/v3.4.47" + "source": "https://github.com/symfony/finder/tree/v5.2.3" }, "funding": [ { @@ -2640,29 +3143,115 @@ "type": "tidelift" } ], - "time": "2020-11-16T17:02:08+00:00" + "time": "2021-01-28T22:06:19+00:00" }, { - "name": "symfony/http-foundation", - "version": "v3.4.47", + "name": "symfony/http-client-contracts", + "version": "v2.3.1", "source": { "type": "git", - "url": "https://github.com/symfony/http-foundation.git", - "reference": "b9885fcce6fe494201da4f70a9309770e9d13dc8" + "url": "https://github.com/symfony/http-client-contracts.git", + "reference": "41db680a15018f9c1d4b23516059633ce280ca33" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/b9885fcce6fe494201da4f70a9309770e9d13dc8", - "reference": "b9885fcce6fe494201da4f70a9309770e9d13dc8", + "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/41db680a15018f9c1d4b23516059633ce280ca33", + "reference": "41db680a15018f9c1d4b23516059633ce280ca33", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8", + "php": ">=7.2.5" + }, + "suggest": { + "symfony/http-client-implementation": "" + }, + "type": "library", + "extra": { + "branch-version": "2.3", + "branch-alias": { + "dev-main": "2.3-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\HttpClient\\": "" + } + }, + "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/v2.3.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": "2020-10-14T17:08:19+00:00" + }, + { + "name": "symfony/http-foundation", + "version": "v5.2.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-foundation.git", + "reference": "20c554c0f03f7cde5ce230ed248470cccbc34c36" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/20c554c0f03f7cde5ce230ed248470cccbc34c36", + "reference": "20c554c0f03f7cde5ce230ed248470cccbc34c36", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", "symfony/polyfill-mbstring": "~1.1", - "symfony/polyfill-php70": "~1.6" + "symfony/polyfill-php80": "^1.15" }, "require-dev": { - "symfony/expression-language": "~2.8|~3.0|~4.0" + "predis/predis": "~1.0", + "symfony/cache": "^4.4|^5.0", + "symfony/expression-language": "^4.4|^5.0", + "symfony/mime": "^4.4|^5.0" + }, + "suggest": { + "symfony/mime": "To use the file extension guesser" }, "type": "library", "autoload": { @@ -2687,10 +3276,10 @@ "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/v3.4.47" + "source": "https://github.com/symfony/http-foundation/tree/v5.2.3" }, "funding": [ { @@ -2706,65 +3295,75 @@ "type": "tidelift" } ], - "time": "2020-10-24T10:57:07+00:00" + "time": "2021-02-03T04:42:09+00:00" }, { "name": "symfony/http-kernel", - "version": "v3.4.47", + "version": "v5.2.3", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "a98a4c30089e6a2d52a9fa236f718159b539f6f5" + "reference": "89bac04f29e7b0b52f9fa6a4288ca7a8f90a1a05" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/a98a4c30089e6a2d52a9fa236f718159b539f6f5", - "reference": "a98a4c30089e6a2d52a9fa236f718159b539f6f5", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/89bac04f29e7b0b52f9fa6a4288ca7a8f90a1a05", + "reference": "89bac04f29e7b0b52f9fa6a4288ca7a8f90a1a05", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8", + "php": ">=7.2.5", "psr/log": "~1.0", - "symfony/debug": "^3.3.3|~4.0", - "symfony/event-dispatcher": "~2.8|~3.0|~4.0", - "symfony/http-foundation": "~3.4.12|~4.0.12|^4.1.1", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-php56": "~1.8" + "symfony/deprecation-contracts": "^2.1", + "symfony/error-handler": "^4.4|^5.0", + "symfony/event-dispatcher": "^5.0", + "symfony/http-client-contracts": "^1.1|^2", + "symfony/http-foundation": "^4.4|^5.0", + "symfony/polyfill-ctype": "^1.8", + "symfony/polyfill-php73": "^1.9", + "symfony/polyfill-php80": "^1.15" }, "conflict": { - "symfony/config": "<2.8", - "symfony/dependency-injection": "<3.4.10|<4.0.10,>=4", - "symfony/var-dumper": "<3.3", - "twig/twig": "<1.34|<2.4,>=2" + "symfony/browser-kit": "<4.4", + "symfony/cache": "<5.0", + "symfony/config": "<5.0", + "symfony/console": "<4.4", + "symfony/dependency-injection": "<5.1.8", + "symfony/doctrine-bridge": "<5.0", + "symfony/form": "<5.0", + "symfony/http-client": "<5.0", + "symfony/mailer": "<5.0", + "symfony/messenger": "<5.0", + "symfony/translation": "<5.0", + "symfony/twig-bridge": "<5.0", + "symfony/validator": "<5.0", + "twig/twig": "<2.13" }, "provide": { "psr/log-implementation": "1.0" }, "require-dev": { "psr/cache": "~1.0", - "symfony/browser-kit": "~2.8|~3.0|~4.0", - "symfony/class-loader": "~2.8|~3.0", - "symfony/config": "~2.8|~3.0|~4.0", - "symfony/console": "~2.8|~3.0|~4.0", - "symfony/css-selector": "~2.8|~3.0|~4.0", - "symfony/dependency-injection": "^3.4.10|^4.0.10", - "symfony/dom-crawler": "~2.8|~3.0|~4.0", - "symfony/expression-language": "~2.8|~3.0|~4.0", - "symfony/finder": "~2.8|~3.0|~4.0", - "symfony/process": "~2.8|~3.0|~4.0", - "symfony/routing": "~3.4|~4.0", - "symfony/stopwatch": "~2.8|~3.0|~4.0", - "symfony/templating": "~2.8|~3.0|~4.0", - "symfony/translation": "~2.8|~3.0|~4.0", - "symfony/var-dumper": "~3.3|~4.0" + "symfony/browser-kit": "^4.4|^5.0", + "symfony/config": "^5.0", + "symfony/console": "^4.4|^5.0", + "symfony/css-selector": "^4.4|^5.0", + "symfony/dependency-injection": "^5.1.8", + "symfony/dom-crawler": "^4.4|^5.0", + "symfony/expression-language": "^4.4|^5.0", + "symfony/finder": "^4.4|^5.0", + "symfony/process": "^4.4|^5.0", + "symfony/routing": "^4.4|^5.0", + "symfony/stopwatch": "^4.4|^5.0", + "symfony/translation": "^4.4|^5.0", + "symfony/translation-contracts": "^1.1|^2", + "twig/twig": "^2.13|^3.0.4" }, "suggest": { "symfony/browser-kit": "", "symfony/config": "", "symfony/console": "", - "symfony/dependency-injection": "", - "symfony/finder": "", - "symfony/var-dumper": "" + "symfony/dependency-injection": "" }, "type": "library", "autoload": { @@ -2789,10 +3388,10 @@ "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/v3.4.47" + "source": "https://github.com/symfony/http-kernel/tree/v5.2.3" }, "funding": [ { @@ -2808,11 +3407,93 @@ "type": "tidelift" } ], - "time": "2020-11-27T08:42:42+00:00" + "time": "2021-02-03T04:51:58+00:00" + }, + { + "name": "symfony/mime", + "version": "v5.2.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/mime.git", + "reference": "7dee6a43493f39b51ff6c5bb2bd576fe40a76c86" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/mime/zipball/7dee6a43493f39b51ff6c5bb2bd576fe40a76c86", + "reference": "7dee6a43493f39b51ff6c5bb2bd576fe40a76c86", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", + "symfony/polyfill-intl-idn": "^1.10", + "symfony/polyfill-mbstring": "^1.0", + "symfony/polyfill-php80": "^1.15" + }, + "conflict": { + "phpdocumentor/reflection-docblock": "<3.2.2", + "phpdocumentor/type-resolver": "<1.4.0", + "symfony/mailer": "<4.4" + }, + "require-dev": { + "egulias/email-validator": "^2.1.10", + "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/property-access": "^4.4|^5.1", + "symfony/property-info": "^4.4|^5.1", + "symfony/serializer": "^5.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Mime\\": "" + }, + "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": "Allows manipulating MIME messages", + "homepage": "https://symfony.com", + "keywords": [ + "mime", + "mime-type" + ], + "support": { + "source": "https://github.com/symfony/mime/tree/v5.2.3" + }, + "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": "2021-02-02T06:10:15+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.22.0", + "version": "v1.22.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", @@ -2871,7 +3552,7 @@ "portable" ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.22.0" + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.22.1" }, "funding": [ { @@ -2890,17 +3571,98 @@ "time": "2021-01-07T16:49:33+00:00" }, { - "name": "symfony/polyfill-intl-idn", - "version": "v1.22.0", + "name": "symfony/polyfill-intl-grapheme", + "version": "v1.22.1", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "0eb8293dbbcd6ef6bf81404c9ce7d95bcdf34f44" + "url": "https://github.com/symfony/polyfill-intl-grapheme.git", + "reference": "5601e09b69f26c1828b13b6bb87cb07cddba3170" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/0eb8293dbbcd6ef6bf81404c9ce7d95bcdf34f44", - "reference": "0eb8293dbbcd6ef6bf81404c9ce7d95bcdf34f44", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/5601e09b69f26c1828b13b6bb87cb07cddba3170", + "reference": "5601e09b69f26c1828b13b6bb87cb07cddba3170", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.22-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Intl\\Grapheme\\": "" + }, + "files": [ + "bootstrap.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": "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.22.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": "2021-01-22T09:19:47+00:00" + }, + { + "name": "symfony/polyfill-intl-idn", + "version": "v1.22.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-idn.git", + "reference": "2d63434d922daf7da8dd863e7907e67ee3031483" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/2d63434d922daf7da8dd863e7907e67ee3031483", + "reference": "2d63434d922daf7da8dd863e7907e67ee3031483", "shasum": "" }, "require": { @@ -2958,7 +3720,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.22.0" + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.22.1" }, "funding": [ { @@ -2974,20 +3736,20 @@ "type": "tidelift" } ], - "time": "2021-01-07T16:49:33+00:00" + "time": "2021-01-22T09:19:47+00:00" }, { "name": "symfony/polyfill-intl-normalizer", - "version": "v1.22.0", + "version": "v1.22.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "6e971c891537eb617a00bb07a43d182a6915faba" + "reference": "43a0283138253ed1d48d352ab6d0bdb3f809f248" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/6e971c891537eb617a00bb07a43d182a6915faba", - "reference": "6e971c891537eb617a00bb07a43d182a6915faba", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/43a0283138253ed1d48d352ab6d0bdb3f809f248", + "reference": "43a0283138253ed1d48d352ab6d0bdb3f809f248", "shasum": "" }, "require": { @@ -3042,7 +3804,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.22.0" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.22.1" }, "funding": [ { @@ -3058,20 +3820,20 @@ "type": "tidelift" } ], - "time": "2021-01-07T17:09:11+00:00" + "time": "2021-01-22T09:19:47+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.22.0", + "version": "v1.22.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "f377a3dd1fde44d37b9831d68dc8dea3ffd28e13" + "reference": "5232de97ee3b75b0360528dae24e73db49566ab1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/f377a3dd1fde44d37b9831d68dc8dea3ffd28e13", - "reference": "f377a3dd1fde44d37b9831d68dc8dea3ffd28e13", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/5232de97ee3b75b0360528dae24e73db49566ab1", + "reference": "5232de97ee3b75b0360528dae24e73db49566ab1", "shasum": "" }, "require": { @@ -3122,7 +3884,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.22.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.22.1" }, "funding": [ { @@ -3138,147 +3900,11 @@ "type": "tidelift" } ], - "time": "2021-01-07T16:49:33+00:00" - }, - { - "name": "symfony/polyfill-php56", - "version": "v1.20.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php56.git", - "reference": "54b8cd7e6c1643d78d011f3be89f3ef1f9f4c675" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/54b8cd7e6c1643d78d011f3be89f3ef1f9f4c675", - "reference": "54b8cd7e6c1643d78d011f3be89f3ef1f9f4c675", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "metapackage", - "extra": { - "branch-alias": { - "dev-main": "1.20-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "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 5.6+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php56/tree/v1.20.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": "2020-10-23T14:02:19+00:00" - }, - { - "name": "symfony/polyfill-php70", - "version": "v1.20.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php70.git", - "reference": "5f03a781d984aae42cebd18e7912fa80f02ee644" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/5f03a781d984aae42cebd18e7912fa80f02ee644", - "reference": "5f03a781d984aae42cebd18e7912fa80f02ee644", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "metapackage", - "extra": { - "branch-alias": { - "dev-main": "1.20-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "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.0+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php70/tree/v1.20.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": "2020-10-23T14:02:19+00:00" + "time": "2021-01-22T09:19:47+00:00" }, { "name": "symfony/polyfill-php72", - "version": "v1.22.0", + "version": "v1.22.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php72.git", @@ -3334,7 +3960,169 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php72/tree/v1.22.0" + "source": "https://github.com/symfony/polyfill-php72/tree/v1.22.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": "2021-01-07T16:49:33+00:00" + }, + { + "name": "symfony/polyfill-php73", + "version": "v1.22.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php73.git", + "reference": "a678b42e92f86eca04b7fa4c0f6f19d097fb69e2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/a678b42e92f86eca04b7fa4c0f6f19d097fb69e2", + "reference": "a678b42e92f86eca04b7fa4c0f6f19d097fb69e2", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.22-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php73\\": "" + }, + "files": [ + "bootstrap.php" + ], + "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 backporting some PHP 7.3+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php73/tree/v1.22.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": "2021-01-07T16:49:33+00:00" + }, + { + "name": "symfony/polyfill-php80", + "version": "v1.22.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php80.git", + "reference": "dc3063ba22c2a1fd2f45ed856374d79114998f91" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/dc3063ba22c2a1fd2f45ed856374d79114998f91", + "reference": "dc3063ba22c2a1fd2f45ed856374d79114998f91", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.22-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php80\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ion Bazan", + "email": "ion.bazan@gmail.com" + }, + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php80/tree/v1.22.1" }, "funding": [ { @@ -3354,20 +4142,21 @@ }, { "name": "symfony/process", - "version": "v3.4.47", + "version": "v5.2.3", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "b8648cf1d5af12a44a51d07ef9bf980921f15fca" + "reference": "313a38f09c77fbcdc1d223e57d368cea76a2fd2f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/b8648cf1d5af12a44a51d07ef9bf980921f15fca", - "reference": "b8648cf1d5af12a44a51d07ef9bf980921f15fca", + "url": "https://api.github.com/repos/symfony/process/zipball/313a38f09c77fbcdc1d223e57d368cea76a2fd2f", + "reference": "313a38f09c77fbcdc1d223e57d368cea76a2fd2f", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8" + "php": ">=7.2.5", + "symfony/polyfill-php80": "^1.15" }, "type": "library", "autoload": { @@ -3392,10 +4181,10 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Process Component", + "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v3.4.47" + "source": "https://github.com/symfony/process/tree/v5.2.3" }, "funding": [ { @@ -3411,30 +4200,30 @@ "type": "tidelift" } ], - "time": "2020-10-24T10:57:07+00:00" + "time": "2021-01-27T10:15:41+00:00" }, { "name": "symfony/proxy-manager-bridge", - "version": "v3.4.47", + "version": "v5.2.3", "source": { "type": "git", "url": "https://github.com/symfony/proxy-manager-bridge.git", - "reference": "25351bb4d5a60cfeddbaf6cf6faebd3a700e2ff4" + "reference": "fd6bb40190b1719abbe831be09adf38e0744d5f5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/proxy-manager-bridge/zipball/25351bb4d5a60cfeddbaf6cf6faebd3a700e2ff4", - "reference": "25351bb4d5a60cfeddbaf6cf6faebd3a700e2ff4", + "url": "https://api.github.com/repos/symfony/proxy-manager-bridge/zipball/fd6bb40190b1719abbe831be09adf38e0744d5f5", + "reference": "fd6bb40190b1719abbe831be09adf38e0744d5f5", "shasum": "" }, "require": { "composer/package-versions-deprecated": "^1.8", - "ocramius/proxy-manager": "~0.4|~1.0|~2.0", - "php": "^5.5.9|>=7.0.8", - "symfony/dependency-injection": "~3.4|~4.0" + "friendsofphp/proxy-manager-lts": "^1.0.2", + "php": ">=7.2.5", + "symfony/dependency-injection": "^5.0" }, "require-dev": { - "symfony/config": "~2.8|~3.0|~4.0" + "symfony/config": "^4.4|^5.0" }, "type": "symfony-bridge", "autoload": { @@ -3459,10 +4248,10 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony ProxyManager Bridge", + "description": "Provides integration for ProxyManager with various Symfony components", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/proxy-manager-bridge/tree/v3.4.47" + "source": "https://github.com/symfony/proxy-manager-bridge/tree/v5.2.3" }, "funding": [ { @@ -3478,38 +4267,40 @@ "type": "tidelift" } ], - "time": "2020-10-27T11:56:04+00:00" + "time": "2021-01-27T10:01:46+00:00" }, { "name": "symfony/routing", - "version": "v3.4.47", + "version": "v5.2.3", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "3e522ac69cadffd8131cc2b22157fa7662331a6c" + "reference": "348b5917e56546c6d96adbf21d7f92c9ef563661" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/3e522ac69cadffd8131cc2b22157fa7662331a6c", - "reference": "3e522ac69cadffd8131cc2b22157fa7662331a6c", + "url": "https://api.github.com/repos/symfony/routing/zipball/348b5917e56546c6d96adbf21d7f92c9ef563661", + "reference": "348b5917e56546c6d96adbf21d7f92c9ef563661", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8" + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", + "symfony/polyfill-php80": "^1.15" }, "conflict": { - "symfony/config": "<3.3.1", - "symfony/dependency-injection": "<3.3", - "symfony/yaml": "<3.4" + "symfony/config": "<5.0", + "symfony/dependency-injection": "<4.4", + "symfony/yaml": "<4.4" }, "require-dev": { - "doctrine/annotations": "~1.0", + "doctrine/annotations": "^1.10.4", "psr/log": "~1.0", - "symfony/config": "^3.3.1|~4.0", - "symfony/dependency-injection": "~3.3|~4.0", - "symfony/expression-language": "~2.8|~3.0|~4.0", - "symfony/http-foundation": "~2.8|~3.0|~4.0", - "symfony/yaml": "~3.4|~4.0" + "symfony/config": "^5.0", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/expression-language": "^4.4|^5.0", + "symfony/http-foundation": "^4.4|^5.0", + "symfony/yaml": "^4.4|^5.0" }, "suggest": { "doctrine/annotations": "For using the annotation loader", @@ -3541,7 +4332,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", @@ -3550,7 +4341,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v3.4.47" + "source": "https://github.com/symfony/routing/tree/v5.2.3" }, "funding": [ { @@ -3566,51 +4357,306 @@ "type": "tidelift" } ], - "time": "2020-10-24T10:57:07+00:00" + "time": "2021-01-27T10:15:41+00:00" }, { - "name": "symfony/twig-bridge", - "version": "v3.4.47", + "name": "symfony/service-contracts", + "version": "v2.2.0", "source": { "type": "git", - "url": "https://github.com/symfony/twig-bridge.git", - "reference": "090d19d6f1ea5b9e1d79f372785aa5e5c9cd4042" + "url": "https://github.com/symfony/service-contracts.git", + "reference": "d15da7ba4957ffb8f1747218be9e1a121fd298a1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/090d19d6f1ea5b9e1d79f372785aa5e5c9cd4042", - "reference": "090d19d6f1ea5b9e1d79f372785aa5e5c9cd4042", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/d15da7ba4957ffb8f1747218be9e1a121fd298a1", + "reference": "d15da7ba4957ffb8f1747218be9e1a121fd298a1", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8", - "twig/twig": "^1.41|^2.10" + "php": ">=7.2.5", + "psr/container": "^1.0" }, - "conflict": { - "symfony/console": "<3.4", - "symfony/form": "<3.4.31|>=4.0,<4.3.4" + "suggest": { + "symfony/service-implementation": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.2-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Service\\": "" + } + }, + "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 writing services", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/service-contracts/tree/master" + }, + "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": "2020-09-07T11:33:47+00:00" + }, + { + "name": "symfony/string", + "version": "v5.2.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/string.git", + "reference": "c95468897f408dd0aca2ff582074423dd0455122" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/string/zipball/c95468897f408dd0aca2ff582074423dd0455122", + "reference": "c95468897f408dd0aca2ff582074423dd0455122", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-intl-grapheme": "~1.0", + "symfony/polyfill-intl-normalizer": "~1.0", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php80": "~1.15" }, "require-dev": { - "fig/link-util": "^1.0", - "symfony/asset": "~2.8|~3.0|~4.0", - "symfony/console": "~3.4|~4.0", - "symfony/dependency-injection": "~2.8|~3.0|~4.0", - "symfony/expression-language": "~2.8|~3.0|~4.0", - "symfony/finder": "~2.8|~3.0|~4.0", - "symfony/form": "^3.4.31|^4.3.4", - "symfony/http-foundation": "^3.3.11|~4.0", - "symfony/http-kernel": "~3.2|~4.0", + "symfony/error-handler": "^4.4|^5.0", + "symfony/http-client": "^4.4|^5.0", + "symfony/translation-contracts": "^1.1|^2", + "symfony/var-exporter": "^4.4|^5.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\String\\": "" + }, + "files": [ + "Resources/functions.php" + ], + "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/v5.2.3" + }, + "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": "2021-01-25T15:14:59+00:00" + }, + { + "name": "symfony/translation-contracts", + "version": "v2.3.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/translation-contracts.git", + "reference": "e2eaa60b558f26a4b0354e1bbb25636efaaad105" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/e2eaa60b558f26a4b0354e1bbb25636efaaad105", + "reference": "e2eaa60b558f26a4b0354e1bbb25636efaaad105", + "shasum": "" + }, + "require": { + "php": ">=7.2.5" + }, + "suggest": { + "symfony/translation-implementation": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.3-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Translation\\": "" + } + }, + "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 translation", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/translation-contracts/tree/v2.3.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": "2020-09-28T13:05:58+00:00" + }, + { + "name": "symfony/twig-bridge", + "version": "v5.2.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/twig-bridge.git", + "reference": "3e8a56f4a8ab4db819f5ec726afad29d470b452d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/3e8a56f4a8ab4db819f5ec726afad29d470b452d", + "reference": "3e8a56f4a8ab4db819f5ec726afad29d470b452d", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-php80": "^1.15", + "symfony/translation-contracts": "^1.1|^2", + "twig/twig": "^2.13|^3.0.4" + }, + "conflict": { + "phpdocumentor/reflection-docblock": "<3.2.2", + "phpdocumentor/type-resolver": "<1.4.0", + "symfony/console": "<4.4", + "symfony/form": "<5.1", + "symfony/http-foundation": "<4.4", + "symfony/http-kernel": "<4.4", + "symfony/translation": "<5.2", + "symfony/workflow": "<5.2" + }, + "require-dev": { + "egulias/email-validator": "^2.1.10", + "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", + "symfony/asset": "^4.4|^5.0", + "symfony/console": "^4.4|^5.0", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/expression-language": "^4.4|^5.0", + "symfony/finder": "^4.4|^5.0", + "symfony/form": "^5.1.9", + "symfony/http-foundation": "^4.4|^5.0", + "symfony/http-kernel": "^4.4|^5.0", + "symfony/mime": "^5.2", "symfony/polyfill-intl-icu": "~1.0", - "symfony/routing": "~2.8|~3.0|~4.0", - "symfony/security": "^2.8.31|^3.3.13|~4.0", - "symfony/security-acl": "~2.8|~3.0", - "symfony/stopwatch": "~2.8|~3.0|~4.0", - "symfony/templating": "~2.8|~3.0|~4.0", - "symfony/translation": "~2.8|~3.0|~4.0", - "symfony/var-dumper": "~2.8.10|~3.1.4|~3.2|~4.0", - "symfony/web-link": "~3.3|~4.0", - "symfony/workflow": "~3.3|~4.0", - "symfony/yaml": "~2.8|~3.0|~4.0" + "symfony/property-info": "^4.4|^5.1", + "symfony/routing": "^4.4|^5.0", + "symfony/security-acl": "^2.8|^3.0", + "symfony/security-core": "^4.4|^5.0", + "symfony/security-csrf": "^4.4|^5.0", + "symfony/security-http": "^4.4|^5.0", + "symfony/serializer": "^5.2", + "symfony/stopwatch": "^4.4|^5.0", + "symfony/translation": "^5.2", + "symfony/web-link": "^4.4|^5.0", + "symfony/workflow": "^5.2", + "symfony/yaml": "^4.4|^5.0", + "twig/cssinliner-extra": "^2.12", + "twig/inky-extra": "^2.12", + "twig/markdown-extra": "^2.12" }, "suggest": { "symfony/asset": "For using the AssetExtension", @@ -3619,9 +4665,10 @@ "symfony/form": "For using the FormExtension", "symfony/http-kernel": "For using the HttpKernelExtension", "symfony/routing": "For using the RoutingExtension", - "symfony/security": "For using the SecurityExtension", + "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", @@ -3650,10 +4697,10 @@ "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/v3.4.47" + "source": "https://github.com/symfony/twig-bridge/tree/v5.2.3" }, "funding": [ { @@ -3669,35 +4716,127 @@ "type": "tidelift" } ], - "time": "2020-10-24T10:57:07+00:00" + "time": "2021-02-03T04:42:09+00:00" }, { - "name": "symfony/yaml", - "version": "v3.4.47", + "name": "symfony/var-dumper", + "version": "v5.2.3", "source": { "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "88289caa3c166321883f67fe5130188ebbb47094" + "url": "https://github.com/symfony/var-dumper.git", + "reference": "72ca213014a92223a5d18651ce79ef441c12b694" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/88289caa3c166321883f67fe5130188ebbb47094", - "reference": "88289caa3c166321883f67fe5130188ebbb47094", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/72ca213014a92223a5d18651ce79ef441c12b694", + "reference": "72ca213014a92223a5d18651ce79ef441c12b694", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8", + "php": ">=7.2.5", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php80": "^1.15" + }, + "conflict": { + "phpunit/phpunit": "<5.4.3", + "symfony/console": "<4.4" + }, + "require-dev": { + "ext-iconv": "*", + "symfony/console": "^4.4|^5.0", + "symfony/process": "^4.4|^5.0", + "twig/twig": "^2.13|^3.0.4" + }, + "suggest": { + "ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).", + "ext-intl": "To show region name in time zone dump", + "symfony/console": "To use the ServerDumpCommand and/or the bin/var-dump-server script" + }, + "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/v5.2.3" + }, + "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": "2021-01-27T10:15:41+00:00" + }, + { + "name": "symfony/yaml", + "version": "v5.2.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/yaml.git", + "reference": "338cddc6d74929f6adf19ca5682ac4b8e109cdb0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/yaml/zipball/338cddc6d74929f6adf19ca5682ac4b8e109cdb0", + "reference": "338cddc6d74929f6adf19ca5682ac4b8e109cdb0", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", "symfony/polyfill-ctype": "~1.8" }, "conflict": { - "symfony/console": "<3.4" + "symfony/console": "<4.4" }, "require-dev": { - "symfony/console": "~3.4|~4.0" + "symfony/console": "^4.4|^5.0" }, "suggest": { "symfony/console": "For validating YAML files using the lint command" }, + "bin": [ + "Resources/bin/yaml-lint" + ], "type": "library", "autoload": { "psr-4": { @@ -3721,10 +4860,10 @@ "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/v3.4.47" + "source": "https://github.com/symfony/yaml/tree/v5.2.3" }, "funding": [ { @@ -3740,7 +4879,7 @@ "type": "tidelift" } ], - "time": "2020-10-24T10:57:07+00:00" + "time": "2021-02-03T04:42:09+00:00" }, { "name": "twig/twig", @@ -3820,131 +4959,6 @@ } ], "time": "2021-01-05T15:34:33+00:00" - }, - { - "name": "zendframework/zend-code", - "version": "3.4.1", - "source": { - "type": "git", - "url": "https://github.com/zendframework/zend-code.git", - "reference": "268040548f92c2bfcba164421c1add2ba43abaaa" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-code/zipball/268040548f92c2bfcba164421c1add2ba43abaaa", - "reference": "268040548f92c2bfcba164421c1add2ba43abaaa", - "shasum": "" - }, - "require": { - "php": "^7.1", - "zendframework/zend-eventmanager": "^2.6 || ^3.0" - }, - "conflict": { - "phpspec/prophecy": "<1.9.0" - }, - "require-dev": { - "doctrine/annotations": "^1.7", - "ext-phar": "*", - "phpunit/phpunit": "^7.5.16 || ^8.4", - "zendframework/zend-coding-standard": "^1.0", - "zendframework/zend-stdlib": "^2.7 || ^3.0" - }, - "suggest": { - "doctrine/annotations": "Doctrine\\Common\\Annotations >=1.0 for annotation features", - "zendframework/zend-stdlib": "Zend\\Stdlib component" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.4.x-dev", - "dev-develop": "3.5.x-dev", - "dev-dev-4.0": "4.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Zend\\Code\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "description": "Extensions to the PHP Reflection API, static code scanning, and code generation", - "keywords": [ - "ZendFramework", - "code", - "zf" - ], - "support": { - "chat": "https://zendframework-slack.herokuapp.com", - "docs": "https://docs.zendframework.com/zend-code/", - "forum": "https://discourse.zendframework.com/c/questions/components", - "issues": "https://github.com/zendframework/zend-code/issues", - "rss": "https://github.com/zendframework/zend-code/releases.atom", - "source": "https://github.com/zendframework/zend-code" - }, - "abandoned": "laminas/laminas-code", - "time": "2019-12-10T19:21:15+00:00" - }, - { - "name": "zendframework/zend-eventmanager", - "version": "3.2.1", - "source": { - "type": "git", - "url": "https://github.com/zendframework/zend-eventmanager.git", - "reference": "a5e2583a211f73604691586b8406ff7296a946dd" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-eventmanager/zipball/a5e2583a211f73604691586b8406ff7296a946dd", - "reference": "a5e2583a211f73604691586b8406ff7296a946dd", - "shasum": "" - }, - "require": { - "php": "^5.6 || ^7.0" - }, - "require-dev": { - "athletic/athletic": "^0.1", - "container-interop/container-interop": "^1.1.0", - "phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1.2", - "zendframework/zend-coding-standard": "~1.0.0", - "zendframework/zend-stdlib": "^2.7.3 || ^3.0" - }, - "suggest": { - "container-interop/container-interop": "^1.1.0, to use the lazy listeners feature", - "zendframework/zend-stdlib": "^2.7.3 || ^3.0, to use the FilterChain feature" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev", - "dev-develop": "3.3-dev" - } - }, - "autoload": { - "psr-4": { - "Zend\\EventManager\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "description": "Trigger and listen to events within a PHP application", - "homepage": "https://github.com/zendframework/zend-eventmanager", - "keywords": [ - "event", - "eventmanager", - "events", - "zf2" - ], - "support": { - "issues": "https://github.com/zendframework/zend-eventmanager/issues", - "source": "https://github.com/zendframework/zend-eventmanager/tree/master" - }, - "abandoned": "laminas/laminas-eventmanager", - "time": "2018-04-25T15:33:34+00:00" } ], "packages-dev": [ @@ -4019,32 +5033,32 @@ }, { "name": "fabpot/goutte", - "version": "v3.2.3", + "version": "v3.3.1", "source": { "type": "git", "url": "https://github.com/FriendsOfPHP/Goutte.git", - "reference": "3f0eaf0a40181359470651f1565b3e07e3dd31b8" + "reference": "80a23b64f44d54dd571d114c473d9d7e9ed84ca5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/FriendsOfPHP/Goutte/zipball/3f0eaf0a40181359470651f1565b3e07e3dd31b8", - "reference": "3f0eaf0a40181359470651f1565b3e07e3dd31b8", + "url": "https://api.github.com/repos/FriendsOfPHP/Goutte/zipball/80a23b64f44d54dd571d114c473d9d7e9ed84ca5", + "reference": "80a23b64f44d54dd571d114c473d9d7e9ed84ca5", "shasum": "" }, "require": { "guzzlehttp/guzzle": "^6.0", - "php": ">=5.5.0", - "symfony/browser-kit": "~2.1|~3.0|~4.0", - "symfony/css-selector": "~2.1|~3.0|~4.0", - "symfony/dom-crawler": "~2.1|~3.0|~4.0" + "php": ">=7.1.3", + "symfony/browser-kit": "^4.4|^5.0", + "symfony/css-selector": "^4.4|^5.0", + "symfony/dom-crawler": "^4.4|^5.0" }, "require-dev": { - "symfony/phpunit-bridge": "^3.3 || ^4" + "symfony/phpunit-bridge": "^5.0" }, "type": "application", "extra": { "branch-alias": { - "dev-master": "3.2-dev" + "dev-master": "3.3-dev" } }, "autoload": { @@ -4072,43 +5086,37 @@ ], "support": { "issues": "https://github.com/FriendsOfPHP/Goutte/issues", - "source": "https://github.com/FriendsOfPHP/Goutte/tree/master" + "source": "https://github.com/FriendsOfPHP/Goutte/tree/v3.3.1" }, - "time": "2018-06-29T15:13:57+00:00" + "time": "2020-11-01T09:30:18+00:00" }, { "name": "laravel/homestead", - "version": "v7.20.0", + "version": "v10.17.0", "source": { "type": "git", "url": "https://github.com/laravel/homestead.git", - "reference": "cae38adcfdde1de1c4581e7a33872adaf9fbf926" + "reference": "a56135e7ff057ad46a005b67ff98a8316403def0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/homestead/zipball/cae38adcfdde1de1c4581e7a33872adaf9fbf926", - "reference": "cae38adcfdde1de1c4581e7a33872adaf9fbf926", + "url": "https://api.github.com/repos/laravel/homestead/zipball/a56135e7ff057ad46a005b67ff98a8316403def0", + "reference": "a56135e7ff057ad46a005b67ff98a8316403def0", "shasum": "" }, "require": { - "php": "^5.6 || ^7.0", - "symfony/console": "~3.3|~4.0", - "symfony/process": "~3.3|~4.0", - "symfony/yaml": "~3.3|~4.0" + "php": "^7.1", + "symfony/console": "~3.0||~4.0||~5.0", + "symfony/process": "~3.0||~4.0||~5.0", + "symfony/yaml": "~3.0||~4.0||~5.0" }, "require-dev": { - "phly/changelog-generator": "^2.2", - "phpunit/phpunit": "^5.7 || ^6.0" + "phpunit/phpunit": "^6.0" }, "bin": [ "bin/homestead" ], "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0-dev" - } - }, "autoload": { "psr-4": { "Laravel\\Homestead\\": "src/" @@ -4121,15 +5129,71 @@ "authors": [ { "name": "Taylor Otwell", - "email": "taylorotwell@gmail.com" + "email": "taylor@laravel.com" } ], "description": "A virtual machine for web artisans.", "support": { "issues": "https://github.com/laravel/homestead/issues", - "source": "https://github.com/laravel/homestead/tree/master" + "source": "https://github.com/laravel/homestead/tree/v10.17.0" }, - "time": "2018-12-11T02:04:35+00:00" + "time": "2020-12-01T00:47:27+00:00" + }, + { + "name": "misantron/dbunit", + "version": "5.1.0", + "source": { + "type": "git", + "url": "https://github.com/misantron/dbunit.git", + "reference": "a3e5d3c74a2ae78827c86e14e3d06d7a8d44ca65" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/misantron/dbunit/zipball/a3e5d3c74a2ae78827c86e14e3d06d7a8d44ca65", + "reference": "a3e5d3c74a2ae78827c86e14e3d06d7a8d44ca65", + "shasum": "" + }, + "require": { + "ext-libxml": "*", + "ext-pdo": "*", + "ext-simplexml": "*", + "php": "^7.2|^7.3|^7.4", + "phpunit/phpunit": "^8.5|^9.2", + "symfony/yaml": "^4.4|^5.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.16", + "php-coveralls/php-coveralls": "^2.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "PHPUnit\\DbUnit\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Aleksandr Ivanov", + "email": "misantron@gmail.com", + "role": "developer" + } + ], + "description": "DbUnit fork supporting PHPUnit 8/9", + "homepage": "https://github.com/misantron/dbunit/", + "keywords": [ + "database", + "dbUnit", + "testing" + ], + "support": { + "issues": "https://github.com/misantron/dbunit/issues", + "source": "https://github.com/misantron/dbunit/tree/master" + }, + "time": "2020-07-07T20:48:08+00:00" }, { "name": "myclabs/deep-copy", @@ -4190,29 +5254,86 @@ "time": "2020-11-13T09:40:50+00:00" }, { - "name": "phar-io/manifest", - "version": "1.0.3", + "name": "nikic/php-parser", + "version": "v4.10.4", "source": { "type": "git", - "url": "https://github.com/phar-io/manifest.git", - "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4" + "url": "https://github.com/nikic/PHP-Parser.git", + "reference": "c6d052fc58cb876152f89f532b95a8d7907e7f0e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phar-io/manifest/zipball/7761fcacf03b4d4f16e7ccb606d4879ca431fcf4", - "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/c6d052fc58cb876152f89f532b95a8d7907e7f0e", + "reference": "c6d052fc58cb876152f89f532b95a8d7907e7f0e", + "shasum": "" + }, + "require": { + "ext-tokenizer": "*", + "php": ">=7.0" + }, + "require-dev": { + "ircmaxell/php-yacc": "^0.0.7", + "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0" + }, + "bin": [ + "bin/php-parse" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.9-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/v4.10.4" + }, + "time": "2020-12-20T10:01:03+00:00" + }, + { + "name": "phar-io/manifest", + "version": "2.0.1", + "source": { + "type": "git", + "url": "https://github.com/phar-io/manifest.git", + "reference": "85265efd3af7ba3ca4b2a2c34dbfc5788dd29133" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/85265efd3af7ba3ca4b2a2c34dbfc5788dd29133", + "reference": "85265efd3af7ba3ca4b2a2c34dbfc5788dd29133", "shasum": "" }, "require": { "ext-dom": "*", "ext-phar": "*", - "phar-io/version": "^2.0", - "php": "^5.6 || ^7.0" + "ext-xmlwriter": "*", + "phar-io/version": "^3.0.1", + "php": "^7.2 || ^8.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "2.0.x-dev" } }, "autoload": { @@ -4246,24 +5367,24 @@ "issues": "https://github.com/phar-io/manifest/issues", "source": "https://github.com/phar-io/manifest/tree/master" }, - "time": "2018-07-08T19:23:20+00:00" + "time": "2020-06-27T14:33:11+00:00" }, { "name": "phar-io/version", - "version": "2.0.1", + "version": "3.0.4", "source": { "type": "git", "url": "https://github.com/phar-io/version.git", - "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6" + "reference": "e4782611070e50613683d2b9a57730e9a3ba5451" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phar-io/version/zipball/45a2ec53a73c70ce41d55cedef9063630abaf1b6", - "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6", + "url": "https://api.github.com/repos/phar-io/version/zipball/e4782611070e50613683d2b9a57730e9a3ba5451", + "reference": "e4782611070e50613683d2b9a57730e9a3ba5451", "shasum": "" }, "require": { - "php": "^5.6 || ^7.0" + "php": "^7.2 || ^8.0" }, "type": "library", "autoload": { @@ -4295,22 +5416,22 @@ "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/master" + "source": "https://github.com/phar-io/version/tree/3.0.4" }, - "time": "2018-07-08T19:19:57+00:00" + "time": "2020-12-13T23:18:30+00:00" }, { "name": "phing/phing", - "version": "2.16.3", + "version": "2.16.4", "source": { "type": "git", "url": "https://github.com/phingofficial/phing.git", - "reference": "b34c2bf9cd6abd39b4287dee31e68673784c8567" + "reference": "30831b22fc6bab57003f1893842668c44b7f65ae" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phingofficial/phing/zipball/b34c2bf9cd6abd39b4287dee31e68673784c8567", - "reference": "b34c2bf9cd6abd39b4287dee31e68673784c8567", + "url": "https://api.github.com/repos/phingofficial/phing/zipball/30831b22fc6bab57003f1893842668c44b7f65ae", + "reference": "30831b22fc6bab57003f1893842668c44b7f65ae", "shasum": "" }, "require": { @@ -4393,9 +5514,23 @@ "support": { "irc": "irc://irc.freenode.net/phing", "issues": "https://www.phing.info/trac/report", - "source": "https://github.com/phingofficial/phing/tree/oldstable" + "source": "https://github.com/phingofficial/phing/tree/2.16.4" }, - "time": "2020-02-03T18:50:54+00:00" + "funding": [ + { + "url": "https://github.com/mrook", + "type": "github" + }, + { + "url": "https://github.com/siad007", + "type": "github" + }, + { + "url": "https://www.patreon.com/michielrook", + "type": "patreon" + } + ], + "time": "2021-01-29T14:00:54+00:00" }, { "name": "phpdocumentor/reflection-common", @@ -4622,99 +5757,46 @@ }, "time": "2020-12-19T10:15:11+00:00" }, - { - "name": "phpunit/dbunit", - "version": "4.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/dbunit.git", - "reference": "e77b469c3962b5a563f09a2a989f1c9bd38b8615" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/dbunit/zipball/e77b469c3962b5a563f09a2a989f1c9bd38b8615", - "reference": "e77b469c3962b5a563f09a2a989f1c9bd38b8615", - "shasum": "" - }, - "require": { - "ext-pdo": "*", - "ext-simplexml": "*", - "php": "^7.1", - "phpunit/phpunit": "^7.0", - "symfony/yaml": "^3.0 || ^4.0" - }, - "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", - "role": "lead" - } - ], - "description": "PHPUnit extension for database interaction testing", - "homepage": "https://github.com/sebastianbergmann/dbunit/", - "keywords": [ - "database", - "testing", - "xunit" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/dbunit/issues", - "source": "https://github.com/sebastianbergmann/dbunit/tree/master" - }, - "abandoned": true, - "time": "2018-02-07T06:47:59+00:00" - }, { "name": "phpunit/php-code-coverage", - "version": "6.1.4", + "version": "9.2.5", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "807e6013b00af69b6c5d9ceb4282d0393dbb9d8d" + "reference": "f3e026641cc91909d421802dd3ac7827ebfd97e1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/807e6013b00af69b6c5d9ceb4282d0393dbb9d8d", - "reference": "807e6013b00af69b6c5d9ceb4282d0393dbb9d8d", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/f3e026641cc91909d421802dd3ac7827ebfd97e1", + "reference": "f3e026641cc91909d421802dd3ac7827ebfd97e1", "shasum": "" }, "require": { "ext-dom": "*", + "ext-libxml": "*", "ext-xmlwriter": "*", - "php": "^7.1", - "phpunit/php-file-iterator": "^2.0", - "phpunit/php-text-template": "^1.2.1", - "phpunit/php-token-stream": "^3.0", - "sebastian/code-unit-reverse-lookup": "^1.0.1", - "sebastian/environment": "^3.1 || ^4.0", - "sebastian/version": "^2.0.1", - "theseer/tokenizer": "^1.1" + "nikic/php-parser": "^4.10.2", + "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": "^7.0" + "phpunit/phpunit": "^9.3" }, "suggest": { - "ext-xdebug": "^2.6.0" + "ext-pcov": "*", + "ext-xdebug": "*" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "6.1-dev" + "dev-master": "9.2-dev" } }, "autoload": { @@ -4742,34 +5824,40 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/master" + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.5" }, - "time": "2018-10-31T16:06:48+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-11-28T06:44:49+00:00" }, { "name": "phpunit/php-file-iterator", - "version": "2.0.3", + "version": "3.0.5", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "4b49fb70f067272b659ef0174ff9ca40fdaa6357" + "reference": "aa4be8575f26070b100fccb67faabb28f21f66f8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/4b49fb70f067272b659ef0174ff9ca40fdaa6357", - "reference": "4b49fb70f067272b659ef0174ff9ca40fdaa6357", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/aa4be8575f26070b100fccb67faabb28f21f66f8", + "reference": "aa4be8575f26070b100fccb67faabb28f21f66f8", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^8.5" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -4796,7 +5884,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", - "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/2.0.3" + "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.5" }, "funding": [ { @@ -4804,26 +5892,97 @@ "type": "github" } ], - "time": "2020-11-30T08:25:21+00:00" + "time": "2020-09-28T05:57:25+00:00" }, { - "name": "phpunit/php-text-template", - "version": "1.2.1", + "name": "phpunit/php-invoker", + "version": "3.1.1", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" + "url": "https://github.com/sebastianbergmann/php-invoker.git", + "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", + "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67", + "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67", "shasum": "" }, "require": { - "php": ">=5.3.3" + "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/" @@ -4847,34 +6006,40 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-text-template/issues", - "source": "https://github.com/sebastianbergmann/php-text-template/tree/1.2.1" + "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4" }, - "time": "2015-06-21T13:50:34+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T05:33:50+00:00" }, { "name": "phpunit/php-timer", - "version": "2.1.3", + "version": "5.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "2454ae1765516d20c4ffe103d85a58a9a3bd5662" + "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/2454ae1765516d20c4ffe103d85a58a9a3bd5662", - "reference": "2454ae1765516d20c4ffe103d85a58a9a3bd5662", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", + "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^8.5" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.1-dev" + "dev-master": "5.0-dev" } }, "autoload": { @@ -4900,7 +6065,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-timer/issues", - "source": "https://github.com/sebastianbergmann/php-timer/tree/2.1.3" + "source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3" }, "funding": [ { @@ -4908,117 +6073,59 @@ "type": "github" } ], - "time": "2020-11-30T08:20:02+00:00" - }, - { - "name": "phpunit/php-token-stream", - "version": "3.1.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "472b687829041c24b25f475e14c2f38a09edf1c2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/472b687829041c24b25f475e14c2f38a09edf1c2", - "reference": "472b687829041c24b25f475e14c2f38a09edf1c2", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=7.1" - }, - "require-dev": { - "phpunit/phpunit": "^7.0" - }, - "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" - } - ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", - "keywords": [ - "tokenizer" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-token-stream/issues", - "source": "https://github.com/sebastianbergmann/php-token-stream/tree/3.1.2" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "abandoned": true, - "time": "2020-11-30T08:38:46+00:00" + "time": "2020-10-26T13:16:10+00:00" }, { "name": "phpunit/phpunit", - "version": "7.5.20", + "version": "9.5.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "9467db479d1b0487c99733bb1e7944d32deded2c" + "reference": "f661659747f2f87f9e72095bb207bceb0f151cb4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/9467db479d1b0487c99733bb1e7944d32deded2c", - "reference": "9467db479d1b0487c99733bb1e7944d32deded2c", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/f661659747f2f87f9e72095bb207bceb0f151cb4", + "reference": "f661659747f2f87f9e72095bb207bceb0f151cb4", "shasum": "" }, "require": { - "doctrine/instantiator": "^1.1", + "doctrine/instantiator": "^1.3.1", "ext-dom": "*", "ext-json": "*", "ext-libxml": "*", "ext-mbstring": "*", "ext-xml": "*", - "myclabs/deep-copy": "^1.7", - "phar-io/manifest": "^1.0.2", - "phar-io/version": "^2.0", - "php": "^7.1", - "phpspec/prophecy": "^1.7", - "phpunit/php-code-coverage": "^6.0.7", - "phpunit/php-file-iterator": "^2.0.1", - "phpunit/php-text-template": "^1.2.1", - "phpunit/php-timer": "^2.1", - "sebastian/comparator": "^3.0", - "sebastian/diff": "^3.0", - "sebastian/environment": "^4.0", - "sebastian/exporter": "^3.1", - "sebastian/global-state": "^2.0", - "sebastian/object-enumerator": "^3.0.3", - "sebastian/resource-operations": "^2.0", - "sebastian/version": "^2.0.1" - }, - "conflict": { - "phpunit/phpunit-mock-objects": "*" + "ext-xmlwriter": "*", + "myclabs/deep-copy": "^1.10.1", + "phar-io/manifest": "^2.0.1", + "phar-io/version": "^3.0.2", + "php": ">=7.3", + "phpspec/prophecy": "^1.12.1", + "phpunit/php-code-coverage": "^9.2.3", + "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.5", + "sebastian/diff": "^4.0.3", + "sebastian/environment": "^5.1.3", + "sebastian/exporter": "^4.0.3", + "sebastian/global-state": "^5.0.1", + "sebastian/object-enumerator": "^4.0.3", + "sebastian/resource-operations": "^3.0.3", + "sebastian/type": "^2.3", + "sebastian/version": "^3.0.2" }, "require-dev": { - "ext-pdo": "*" + "ext-pdo": "*", + "phpspec/prophecy-phpunit": "^2.0.1" }, "suggest": { "ext-soap": "*", - "ext-xdebug": "*", - "phpunit/php-invoker": "^2.0" + "ext-xdebug": "*" }, "bin": [ "phpunit" @@ -5026,12 +6133,15 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "7.5-dev" + "dev-master": "9.5-dev" } }, "autoload": { "classmap": [ "src/" + ], + "files": [ + "src/Framework/Assert/Functions.php" ] }, "notification-url": "https://packagist.org/downloads/", @@ -5054,34 +6164,156 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", - "source": "https://github.com/sebastianbergmann/phpunit/tree/7.5.20" + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.2" }, - "time": "2020-01-08T08:45:45+00:00" + "funding": [ + { + "url": "https://phpunit.de/donate.html", + "type": "custom" + }, + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2021-02-02T14:45:58+00:00" }, { - "name": "sebastian/code-unit-reverse-lookup", - "version": "1.0.2", + "name": "sebastian/cli-parser", + "version": "1.0.1", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", - "reference": "1de8cd5c010cb153fcd68b8d0f64606f523f7619" + "url": "https://github.com/sebastianbergmann/cli-parser.git", + "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/1de8cd5c010cb153fcd68b8d0f64606f523f7619", - "reference": "1de8cd5c010cb153fcd68b8d0f64606f523f7619", + "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/442e7c7e687e42adc03470c7b668bc4b2402c0b2", + "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2", "shasum": "" }, "require": { - "php": ">=5.6" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^8.5" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "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.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T06:08:49+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": { @@ -5103,7 +6335,7 @@ "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/1.0.2" + "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3" }, "funding": [ { @@ -5111,34 +6343,34 @@ "type": "github" } ], - "time": "2020-11-30T08:15:22+00:00" + "time": "2020-09-28T05:30:19+00:00" }, { "name": "sebastian/comparator", - "version": "3.0.3", + "version": "4.0.6", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "1071dfcef776a57013124ff35e1fc41ccd294758" + "reference": "55f4261989e546dc112258c7a75935a81a7ce382" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/1071dfcef776a57013124ff35e1fc41ccd294758", - "reference": "1071dfcef776a57013124ff35e1fc41ccd294758", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/55f4261989e546dc112258c7a75935a81a7ce382", + "reference": "55f4261989e546dc112258c7a75935a81a7ce382", "shasum": "" }, "require": { - "php": ">=7.1", - "sebastian/diff": "^3.0", - "sebastian/exporter": "^3.1" + "php": ">=7.3", + "sebastian/diff": "^4.0", + "sebastian/exporter": "^4.0" }, "require-dev": { - "phpunit/phpunit": "^8.5" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-master": "4.0-dev" } }, "autoload": { @@ -5177,7 +6409,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/comparator/issues", - "source": "https://github.com/sebastianbergmann/comparator/tree/3.0.3" + "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.6" }, "funding": [ { @@ -5185,33 +6417,90 @@ "type": "github" } ], - "time": "2020-11-30T08:04:30+00:00" + "time": "2020-10-26T15:49:45+00:00" }, { - "name": "sebastian/diff", - "version": "3.0.3", + "name": "sebastian/complexity", + "version": "2.0.2", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "14f72dd46eaf2f2293cbe79c93cc0bc43161a211" + "url": "https://github.com/sebastianbergmann/complexity.git", + "reference": "739b35e53379900cc9ac327b2147867b8b6efd88" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/14f72dd46eaf2f2293cbe79c93cc0bc43161a211", - "reference": "14f72dd46eaf2f2293cbe79c93cc0bc43161a211", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/739b35e53379900cc9ac327b2147867b8b6efd88", + "reference": "739b35e53379900cc9ac327b2147867b8b6efd88", "shasum": "" }, "require": { - "php": ">=7.1" + "nikic/php-parser": "^4.7", + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^7.5 || ^8.0", - "symfony/process": "^2 || ^3.3 || ^4" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "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.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T15:52:27+00:00" + }, + { + "name": "sebastian/diff", + "version": "4.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/diff.git", + "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/3461e3fccc7cfdfc2720be910d3bd73c69be590d", + "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d", + "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": { @@ -5243,7 +6532,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/diff/issues", - "source": "https://github.com/sebastianbergmann/diff/tree/3.0.3" + "source": "https://github.com/sebastianbergmann/diff/tree/4.0.4" }, "funding": [ { @@ -5251,27 +6540,27 @@ "type": "github" } ], - "time": "2020-11-30T07:59:04+00:00" + "time": "2020-10-26T13:10:38+00:00" }, { "name": "sebastian/environment", - "version": "4.2.4", + "version": "5.1.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "d47bbbad83711771f167c72d4e3f25f7fcc1f8b0" + "reference": "388b6ced16caa751030f6a69e588299fa09200ac" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/d47bbbad83711771f167c72d4e3f25f7fcc1f8b0", - "reference": "d47bbbad83711771f167c72d4e3f25f7fcc1f8b0", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/388b6ced16caa751030f6a69e588299fa09200ac", + "reference": "388b6ced16caa751030f6a69e588299fa09200ac", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^7.5" + "phpunit/phpunit": "^9.3" }, "suggest": { "ext-posix": "*" @@ -5279,7 +6568,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.2-dev" + "dev-master": "5.1-dev" } }, "autoload": { @@ -5306,7 +6595,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/environment/issues", - "source": "https://github.com/sebastianbergmann/environment/tree/4.2.4" + "source": "https://github.com/sebastianbergmann/environment/tree/5.1.3" }, "funding": [ { @@ -5314,34 +6603,34 @@ "type": "github" } ], - "time": "2020-11-30T07:53:42+00:00" + "time": "2020-09-28T05:52:38+00:00" }, { "name": "sebastian/exporter", - "version": "3.1.3", + "version": "4.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "6b853149eab67d4da22291d36f5b0631c0fd856e" + "reference": "d89cc98761b8cb5a1a235a6b703ae50d34080e65" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/6b853149eab67d4da22291d36f5b0631c0fd856e", - "reference": "6b853149eab67d4da22291d36f5b0631c0fd856e", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/d89cc98761b8cb5a1a235a6b703ae50d34080e65", + "reference": "d89cc98761b8cb5a1a235a6b703ae50d34080e65", "shasum": "" }, "require": { - "php": ">=7.0", - "sebastian/recursion-context": "^3.0" + "php": ">=7.3", + "sebastian/recursion-context": "^4.0" }, "require-dev": { "ext-mbstring": "*", - "phpunit/phpunit": "^6.0" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.1.x-dev" + "dev-master": "4.0-dev" } }, "autoload": { @@ -5383,7 +6672,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/exporter/issues", - "source": "https://github.com/sebastianbergmann/exporter/tree/3.1.3" + "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.3" }, "funding": [ { @@ -5391,27 +6680,30 @@ "type": "github" } ], - "time": "2020-11-30T07:47:53+00:00" + "time": "2020-09-28T05:24:23+00:00" }, { "name": "sebastian/global-state", - "version": "2.0.0", + "version": "5.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4" + "reference": "a90ccbddffa067b51f574dea6eb25d5680839455" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4", - "reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/a90ccbddffa067b51f574dea6eb25d5680839455", + "reference": "a90ccbddffa067b51f574dea6eb25d5680839455", "shasum": "" }, "require": { - "php": "^7.0" + "php": ">=7.3", + "sebastian/object-reflector": "^2.0", + "sebastian/recursion-context": "^4.0" }, "require-dev": { - "phpunit/phpunit": "^6.0" + "ext-dom": "*", + "phpunit/phpunit": "^9.3" }, "suggest": { "ext-uopz": "*" @@ -5419,7 +6711,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0-dev" + "dev-master": "5.0-dev" } }, "autoload": { @@ -5444,36 +6736,99 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/global-state/issues", - "source": "https://github.com/sebastianbergmann/global-state/tree/2.0.0" + "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.2" }, - "time": "2017-04-27T15:39:26+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T15:55:19+00:00" }, { - "name": "sebastian/object-enumerator", - "version": "3.0.4", + "name": "sebastian/lines-of-code", + "version": "1.0.3", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/object-enumerator.git", - "reference": "e67f6d32ebd0c749cf9d1dbd9f226c727043cdf2" + "url": "https://github.com/sebastianbergmann/lines-of-code.git", + "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/e67f6d32ebd0c749cf9d1dbd9f226c727043cdf2", - "reference": "e67f6d32ebd0c749cf9d1dbd9f226c727043cdf2", + "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/c1c2e997aa3146983ed888ad08b15470a2e22ecc", + "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc", "shasum": "" }, "require": { - "php": ">=7.0", - "sebastian/object-reflector": "^1.1.1", - "sebastian/recursion-context": "^3.0" + "nikic/php-parser": "^4.6", + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^6.0" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0.x-dev" + "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.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-11-28T06:42:11+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": { @@ -5495,7 +6850,7 @@ "homepage": "https://github.com/sebastianbergmann/object-enumerator/", "support": { "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", - "source": "https://github.com/sebastianbergmann/object-enumerator/tree/3.0.4" + "source": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4" }, "funding": [ { @@ -5503,32 +6858,32 @@ "type": "github" } ], - "time": "2020-11-30T07:40:27+00:00" + "time": "2020-10-26T13:12:34+00:00" }, { "name": "sebastian/object-reflector", - "version": "1.1.2", + "version": "2.0.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/object-reflector.git", - "reference": "9b8772b9cbd456ab45d4a598d2dd1a1bced6363d" + "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/9b8772b9cbd456ab45d4a598d2dd1a1bced6363d", - "reference": "9b8772b9cbd456ab45d4a598d2dd1a1bced6363d", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", + "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", "shasum": "" }, "require": { - "php": ">=7.0" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^6.0" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.1-dev" + "dev-master": "2.0-dev" } }, "autoload": { @@ -5550,7 +6905,7 @@ "homepage": "https://github.com/sebastianbergmann/object-reflector/", "support": { "issues": "https://github.com/sebastianbergmann/object-reflector/issues", - "source": "https://github.com/sebastianbergmann/object-reflector/tree/1.1.2" + "source": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4" }, "funding": [ { @@ -5558,32 +6913,32 @@ "type": "github" } ], - "time": "2020-11-30T07:37:18+00:00" + "time": "2020-10-26T13:14:26+00:00" }, { "name": "sebastian/recursion-context", - "version": "3.0.1", + "version": "4.0.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "367dcba38d6e1977be014dc4b22f47a484dac7fb" + "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/367dcba38d6e1977be014dc4b22f47a484dac7fb", - "reference": "367dcba38d6e1977be014dc4b22f47a484dac7fb", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/cd9d8cf3c5804de4341c283ed787f099f5506172", + "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172", "shasum": "" }, "require": { - "php": ">=7.0" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^6.0" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0.x-dev" + "dev-master": "4.0-dev" } }, "autoload": { @@ -5613,7 +6968,7 @@ "homepage": "http://www.github.com/sebastianbergmann/recursion-context", "support": { "issues": "https://github.com/sebastianbergmann/recursion-context/issues", - "source": "https://github.com/sebastianbergmann/recursion-context/tree/3.0.1" + "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.4" }, "funding": [ { @@ -5621,29 +6976,32 @@ "type": "github" } ], - "time": "2020-11-30T07:34:24+00:00" + "time": "2020-10-26T13:17:30+00:00" }, { "name": "sebastian/resource-operations", - "version": "2.0.2", + "version": "3.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/resource-operations.git", - "reference": "31d35ca87926450c44eae7e2611d45a7a65ea8b3" + "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/31d35ca87926450c44eae7e2611d45a7a65ea8b3", - "reference": "31d35ca87926450c44eae7e2611d45a7a65ea8b3", + "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", + "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -5665,7 +7023,7 @@ "homepage": "https://www.github.com/sebastianbergmann/resource-operations", "support": { "issues": "https://github.com/sebastianbergmann/resource-operations/issues", - "source": "https://github.com/sebastianbergmann/resource-operations/tree/2.0.2" + "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.3" }, "funding": [ { @@ -5673,29 +7031,85 @@ "type": "github" } ], - "time": "2020-11-30T07:30:19+00:00" + "time": "2020-09-28T06:45:17+00:00" }, { - "name": "sebastian/version", - "version": "2.0.1", + "name": "sebastian/type", + "version": "2.3.1", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019" + "url": "https://github.com/sebastianbergmann/type.git", + "reference": "81cd61ab7bbf2de744aba0ea61fae32f721df3d2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/99732be0ddb3361e16ad77b68ba41efc8e979019", - "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/81cd61ab7bbf2de744aba0ea61fae32f721df3d2", + "reference": "81cd61ab7bbf2de744aba0ea61fae32f721df3d2", "shasum": "" }, "require": { - "php": ">=5.6" + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-master": "2.3-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/2.3.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:18:59+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": { @@ -5718,9 +7132,15 @@ "homepage": "https://github.com/sebastianbergmann/version", "support": { "issues": "https://github.com/sebastianbergmann/version/issues", - "source": "https://github.com/sebastianbergmann/version/tree/master" + "source": "https://github.com/sebastianbergmann/version/tree/3.0.2" }, - "time": "2016-10-03T07:35:21+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T06:39:44+00:00" }, { "name": "squizlabs/php_codesniffer", @@ -5780,25 +7200,27 @@ }, { "name": "symfony/browser-kit", - "version": "v3.4.47", + "version": "v5.2.3", "source": { "type": "git", "url": "https://github.com/symfony/browser-kit.git", - "reference": "9590bd3d3f9fa2f28d34b713ed4765a8cc8ad15c" + "reference": "b03b2057ed53ee4eab2e8f372084d7722b7b8ffd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/browser-kit/zipball/9590bd3d3f9fa2f28d34b713ed4765a8cc8ad15c", - "reference": "9590bd3d3f9fa2f28d34b713ed4765a8cc8ad15c", + "url": "https://api.github.com/repos/symfony/browser-kit/zipball/b03b2057ed53ee4eab2e8f372084d7722b7b8ffd", + "reference": "b03b2057ed53ee4eab2e8f372084d7722b7b8ffd", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8", - "symfony/dom-crawler": "~2.8|~3.0|~4.0" + "php": ">=7.2.5", + "symfony/dom-crawler": "^4.4|^5.0" }, "require-dev": { - "symfony/css-selector": "~2.8|~3.0|~4.0", - "symfony/process": "~2.8|~3.0|~4.0" + "symfony/css-selector": "^4.4|^5.0", + "symfony/http-client": "^4.4|^5.0", + "symfony/mime": "^4.4|^5.0", + "symfony/process": "^4.4|^5.0" }, "suggest": { "symfony/process": "" @@ -5826,10 +7248,10 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony BrowserKit Component", + "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/v3.4.47" + "source": "https://github.com/symfony/browser-kit/tree/v5.2.3" }, "funding": [ { @@ -5845,24 +7267,24 @@ "type": "tidelift" } ], - "time": "2020-10-24T10:57:07+00:00" + "time": "2021-01-27T12:56:27+00:00" }, { "name": "symfony/css-selector", - "version": "v3.4.47", + "version": "v5.2.3", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "da3d9da2ce0026771f5fe64cb332158f1bd2bc33" + "reference": "f65f217b3314504a1ec99c2d6ef69016bb13490f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/da3d9da2ce0026771f5fe64cb332158f1bd2bc33", - "reference": "da3d9da2ce0026771f5fe64cb332158f1bd2bc33", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/f65f217b3314504a1ec99c2d6ef69016bb13490f", + "reference": "f65f217b3314504a1ec99c2d6ef69016bb13490f", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8" + "php": ">=7.2.5" }, "type": "library", "autoload": { @@ -5891,10 +7313,10 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony CssSelector Component", + "description": "Converts CSS selectors to XPath expressions", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/css-selector/tree/v3.4.47" + "source": "https://github.com/symfony/css-selector/tree/v5.2.3" }, "funding": [ { @@ -5910,29 +7332,34 @@ "type": "tidelift" } ], - "time": "2020-10-24T10:57:07+00:00" + "time": "2021-01-27T10:01:46+00:00" }, { "name": "symfony/dom-crawler", - "version": "v3.4.47", + "version": "v5.2.3", "source": { "type": "git", "url": "https://github.com/symfony/dom-crawler.git", - "reference": "ef97bcfbae5b384b4ca6c8d57b617722f15241a6" + "reference": "5d89ceb53ec65e1973a555072fac8ed5ecad3384" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/ef97bcfbae5b384b4ca6c8d57b617722f15241a6", - "reference": "ef97bcfbae5b384b4ca6c8d57b617722f15241a6", + "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/5d89ceb53ec65e1973a555072fac8ed5ecad3384", + "reference": "5d89ceb53ec65e1973a555072fac8ed5ecad3384", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8", + "php": ">=7.2.5", "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-mbstring": "~1.0" + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php80": "^1.15" + }, + "conflict": { + "masterminds/html5": "<2.6" }, "require-dev": { - "symfony/css-selector": "~2.8|~3.0|~4.0" + "masterminds/html5": "^2.6", + "symfony/css-selector": "^4.4|^5.0" }, "suggest": { "symfony/css-selector": "" @@ -5960,10 +7387,10 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony DomCrawler Component", + "description": "Eases DOM navigation for HTML and XML documents", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/dom-crawler/tree/v3.4.47" + "source": "https://github.com/symfony/dom-crawler/tree/v5.2.3" }, "funding": [ { @@ -5979,7 +7406,7 @@ "type": "tidelift" } ], - "time": "2020-10-24T10:57:07+00:00" + "time": "2021-01-27T10:01:46+00:00" }, { "name": "theseer/tokenizer", @@ -6036,12 +7463,12 @@ "version": "1.9.1", "source": { "type": "git", - "url": "https://github.com/webmozart/assert.git", + "url": "https://github.com/webmozarts/assert.git", "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/bafc69caeb4d49c39fd0779086c03a3738cbb389", + "url": "https://api.github.com/repos/webmozarts/assert/zipball/bafc69caeb4d49c39fd0779086c03a3738cbb389", "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389", "shasum": "" }, @@ -6079,8 +7506,8 @@ "validate" ], "support": { - "issues": "https://github.com/webmozart/assert/issues", - "source": "https://github.com/webmozart/assert/tree/master" + "issues": "https://github.com/webmozarts/assert/issues", + "source": "https://github.com/webmozarts/assert/tree/1.9.1" }, "time": "2020-07-08T17:02:28+00:00" } @@ -6091,9 +7518,10 @@ "prefer-stable": false, "prefer-lowest": false, "platform": { - "php": ">=7.3.0", + "php": "^7.3 || ^8.0", "ext-json": "*", - "ext-mbstring": "*" + "ext-mbstring": "*", + "ext-pdo": "*" }, "platform-dev": [], "platform-overrides": { diff --git a/phpBB/docs/INSTALL.html b/phpBB/docs/INSTALL.html index 581a26d2ad..d661044f8c 100644 --- a/phpBB/docs/INSTALL.html +++ b/phpBB/docs/INSTALL.html @@ -147,7 +147,7 @@
  • Oracle
  • -
  • PHP 7.1.3+ up to and including PHP 7.4 with support for the database you intend to use.
  • +
  • PHP 7.3.0+ with support for the database you intend to use.
  • The following PHP modules are required:
    • json
    • diff --git a/phpBB/includes/startup.php b/phpBB/includes/startup.php index 46e8bda7c7..bdf0d28c2e 100644 --- a/phpBB/includes/startup.php +++ b/phpBB/includes/startup.php @@ -23,11 +23,11 @@ $level = E_ALL & ~E_NOTICE & ~E_DEPRECATED; error_reporting($level); /** -* Minimum Requirement: PHP 7.1.3 +* Minimum Requirement: PHP 7.3.0 */ -if (version_compare(PHP_VERSION, '7.1.3', '<')) +if (version_compare(PHP_VERSION, '7.3.0', '<')) { - die('You are running an unsupported PHP version. Please upgrade to PHP 7.1.3 or higher before trying to install or update to phpBB 3.3'); + die('You are running an unsupported PHP version. Please upgrade to PHP 7.3.0 or higher before trying to install or update to phpBB 4.0'); } // In PHP 5.3.0 the error level has been raised to E_WARNING which causes problems From 816c06b95ea8d7cff12f8aaab5c79fee8bbb89f3 Mon Sep 17 00:00:00 2001 From: rxu Date: Mon, 22 Feb 2021 10:47:01 +0700 Subject: [PATCH 10/11] [ticket/16649] Alphabetical sorting for composer.json entries PHPBB3-16649 --- phpBB/composer.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/phpBB/composer.json b/phpBB/composer.json index 4859bb8f94..73ac1f882d 100644 --- a/phpBB/composer.json +++ b/phpBB/composer.json @@ -50,19 +50,19 @@ "symfony/finder": "~5.2", "symfony/http-foundation": "~5.2", "symfony/http-kernel": "~5.2", + "symfony/mime": "~5.2", "symfony/process": "^5.2", "symfony/proxy-manager-bridge": "~5.2", "symfony/routing": "~5.2", "symfony/twig-bridge": "~5.2", "symfony/yaml": "~5.2", - "symfony/mime": "~5.2", "twig/twig": "^1.0 || ^2.0" }, "require-dev": { "fabpot/goutte": "~3.2", "laravel/homestead": "~10.17", - "phing/phing": "~2.4", "misantron/dbunit": "~5.0", + "phing/phing": "~2.4", "phpunit/phpunit": "^8.5 || ^9.3", "squizlabs/php_codesniffer": "~3.4", "symfony/browser-kit": "~5.2", From 29f2e26f71e77164e7e04104a6322ff51f66c5b2 Mon Sep 17 00:00:00 2001 From: rxu Date: Wed, 24 Feb 2021 21:10:00 +0700 Subject: [PATCH 11/11] [ticket/16649] Minor code adjustments PHPBB3-16649 --- phpBB/composer.json | 2 +- phpBB/composer.lock | 26 ++++++++++++------------- phpBB/phpbb/di/pass/markpublic_pass.php | 2 +- travis/setup-phpbb.sh | 3 ++- 4 files changed, 17 insertions(+), 16 deletions(-) diff --git a/phpBB/composer.json b/phpBB/composer.json index 73ac1f882d..93922b7609 100644 --- a/phpBB/composer.json +++ b/phpBB/composer.json @@ -63,7 +63,7 @@ "laravel/homestead": "~10.17", "misantron/dbunit": "~5.0", "phing/phing": "~2.4", - "phpunit/phpunit": "^8.5 || ^9.3", + "phpunit/phpunit": "^9.0", "squizlabs/php_codesniffer": "~3.4", "symfony/browser-kit": "~5.2", "symfony/css-selector": "~5.2", diff --git a/phpBB/composer.lock b/phpBB/composer.lock index 42b09575d1..af80be5029 100644 --- a/phpBB/composer.lock +++ b/phpBB/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "a5aa7f42a32cfdfb78e3650c3a985022", + "content-hash": "f33ff5b8d67189b9b8c2bf749f8fd4e0", "packages": [ { "name": "bantu/ini-get-wrapper", @@ -161,16 +161,16 @@ }, { "name": "composer/composer", - "version": "2.0.9", + "version": "2.0.11", "source": { "type": "git", "url": "https://github.com/composer/composer.git", - "reference": "591c2c155cac0d2d7f34af41d3b1e29bcbfc685e" + "reference": "a5a5632da0b1c2d6fa9a3b65f1f4e90d1f04abb9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/composer/zipball/591c2c155cac0d2d7f34af41d3b1e29bcbfc685e", - "reference": "591c2c155cac0d2d7f34af41d3b1e29bcbfc685e", + "url": "https://api.github.com/repos/composer/composer/zipball/a5a5632da0b1c2d6fa9a3b65f1f4e90d1f04abb9", + "reference": "a5a5632da0b1c2d6fa9a3b65f1f4e90d1f04abb9", "shasum": "" }, "require": { @@ -238,7 +238,7 @@ "support": { "irc": "irc://irc.freenode.org/composer", "issues": "https://github.com/composer/composer/issues", - "source": "https://github.com/composer/composer/tree/2.0.9" + "source": "https://github.com/composer/composer/tree/2.0.11" }, "funding": [ { @@ -254,7 +254,7 @@ "type": "tidelift" } ], - "time": "2021-01-27T15:09:27+00:00" + "time": "2021-02-24T13:57:23+00:00" }, { "name": "composer/installers", @@ -5371,16 +5371,16 @@ }, { "name": "phar-io/version", - "version": "3.0.4", + "version": "3.1.0", "source": { "type": "git", "url": "https://github.com/phar-io/version.git", - "reference": "e4782611070e50613683d2b9a57730e9a3ba5451" + "reference": "bae7c545bef187884426f042434e561ab1ddb182" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phar-io/version/zipball/e4782611070e50613683d2b9a57730e9a3ba5451", - "reference": "e4782611070e50613683d2b9a57730e9a3ba5451", + "url": "https://api.github.com/repos/phar-io/version/zipball/bae7c545bef187884426f042434e561ab1ddb182", + "reference": "bae7c545bef187884426f042434e561ab1ddb182", "shasum": "" }, "require": { @@ -5416,9 +5416,9 @@ "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.0.4" + "source": "https://github.com/phar-io/version/tree/3.1.0" }, - "time": "2020-12-13T23:18:30+00:00" + "time": "2021-02-23T14:00:09+00:00" }, { "name": "phing/phing", diff --git a/phpBB/phpbb/di/pass/markpublic_pass.php b/phpBB/phpbb/di/pass/markpublic_pass.php index 7bbcb9045f..c9f823cd18 100644 --- a/phpBB/phpbb/di/pass/markpublic_pass.php +++ b/phpBB/phpbb/di/pass/markpublic_pass.php @@ -26,7 +26,7 @@ class markpublic_pass implements CompilerPassInterface * Mark services as public by default unless they were explicitly marked as private * * @param ContainerBuilder $container ContainerBuilder object - * @return null + * @return void */ public function process(ContainerBuilder $container) { diff --git a/travis/setup-phpbb.sh b/travis/setup-phpbb.sh index dcbe4f144d..208b715dfe 100755 --- a/travis/setup-phpbb.sh +++ b/travis/setup-phpbb.sh @@ -46,6 +46,7 @@ cd phpBB php ../composer.phar install --dev --no-interaction if [[ "$TRAVIS_PHP_VERSION" =~ ^nightly$ || "$TRAVIS_PHP_VERSION" =~ ^8 ]] then - php ../composer.phar require phpunit/phpunit:^9.3 --update-with-all-dependencies --ignore-platform-reqs --no-interaction + php ../composer.phar remove phpunit/dbunit --dev --update-with-dependencies \ + && php ../composer.phar require symfony/yaml:~4.4 misantron/dbunit:~5.0 phpunit/phpunit:^9.3 --dev --update-with-all-dependencies --ignore-platform-reqs fi cd ..