From 302632d240ad1a4ee6b4bce981fa636044340c64 Mon Sep 17 00:00:00 2001 From: rxu Date: Wed, 9 Dec 2020 00:28:38 +0700 Subject: [PATCH] [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