mirror of
https://github.com/phpbb/phpbb.git
synced 2025-03-14 04:30:29 +01:00
[ticket/16649] Add compiler pass to make all services public
This also handles BC for phpBB extensions PHPBB3-16639
This commit is contained in:
parent
157a8aca01
commit
302632d240
@ -36,8 +36,6 @@ imports:
|
||||
- { resource: parameters.yml }
|
||||
|
||||
services:
|
||||
_defaults: { public: true }
|
||||
|
||||
cache:
|
||||
class: phpbb\cache\service
|
||||
arguments:
|
||||
|
@ -1,6 +1,4 @@
|
||||
services:
|
||||
_defaults: { public: true }
|
||||
|
||||
attachment.delete:
|
||||
class: phpbb\attachment\delete
|
||||
shared: false
|
||||
|
@ -1,6 +1,4 @@
|
||||
services:
|
||||
_defaults: { public: true }
|
||||
|
||||
# ----- Auth management -----
|
||||
auth:
|
||||
class: phpbb\auth\auth
|
||||
|
@ -1,6 +1,4 @@
|
||||
services:
|
||||
_defaults: { public: true }
|
||||
|
||||
avatar.manager:
|
||||
class: phpbb\avatar\manager
|
||||
arguments:
|
||||
|
@ -1,6 +1,4 @@
|
||||
services:
|
||||
_defaults: { public: true }
|
||||
|
||||
captcha.factory:
|
||||
class: phpbb\captcha\factory
|
||||
arguments:
|
||||
|
@ -1,6 +1,4 @@
|
||||
services:
|
||||
_defaults: { public: true }
|
||||
|
||||
console.exception_subscriber:
|
||||
class: phpbb\console\exception_subscriber
|
||||
arguments:
|
||||
|
@ -1,6 +1,4 @@
|
||||
services:
|
||||
_defaults: { public: true }
|
||||
|
||||
content.visibility:
|
||||
class: phpbb\content_visibility
|
||||
arguments:
|
||||
|
@ -1,6 +1,4 @@
|
||||
services:
|
||||
_defaults: { public: true }
|
||||
|
||||
cron.manager:
|
||||
class: phpbb\cron\manager
|
||||
arguments:
|
||||
|
@ -1,6 +1,4 @@
|
||||
services:
|
||||
_defaults: { public: true }
|
||||
|
||||
dbal.conn:
|
||||
class: phpbb\db\driver\factory
|
||||
arguments:
|
||||
|
@ -1,6 +1,4 @@
|
||||
services:
|
||||
_defaults: { public: true }
|
||||
|
||||
dispatcher:
|
||||
class: phpbb\event\dispatcher
|
||||
arguments:
|
||||
|
@ -1,6 +1,4 @@
|
||||
services:
|
||||
_defaults: { public: true }
|
||||
|
||||
ext.manager:
|
||||
class: phpbb\extension\manager
|
||||
arguments:
|
||||
|
@ -1,6 +1,4 @@
|
||||
services:
|
||||
_defaults: { public: true }
|
||||
|
||||
phpbb.feed.controller:
|
||||
class: phpbb\feed\controller\feed
|
||||
arguments:
|
||||
|
@ -1,6 +1,4 @@
|
||||
services:
|
||||
_defaults: { public: true }
|
||||
|
||||
files.factory:
|
||||
class: phpbb\files\factory
|
||||
arguments:
|
||||
|
@ -2,8 +2,6 @@ parameters:
|
||||
core.filesystem.cache_temp_dir: '%core.cache_dir%tmp/'
|
||||
|
||||
services:
|
||||
_defaults: { public: true }
|
||||
|
||||
filesystem:
|
||||
class: phpbb\filesystem\filesystem
|
||||
|
||||
|
@ -1,6 +1,4 @@
|
||||
services:
|
||||
_defaults: { public: true }
|
||||
|
||||
phpbb.help.manager:
|
||||
class: phpbb\help\manager
|
||||
arguments:
|
||||
|
@ -1,6 +1,4 @@
|
||||
services:
|
||||
_defaults: { public: true }
|
||||
|
||||
http_kernel:
|
||||
class: Symfony\Component\HttpKernel\HttpKernel
|
||||
arguments:
|
||||
|
@ -1,6 +1,4 @@
|
||||
services:
|
||||
_defaults: { public: true }
|
||||
|
||||
language.helper.language_file:
|
||||
class: phpbb\language\language_file_helper
|
||||
arguments:
|
||||
|
@ -1,6 +1,4 @@
|
||||
services:
|
||||
_defaults: { public: true }
|
||||
|
||||
# ----- Migrator -----
|
||||
migrator:
|
||||
class: phpbb\db\migrator
|
||||
|
@ -1,6 +1,4 @@
|
||||
services:
|
||||
_defaults: { public: true }
|
||||
|
||||
mimetype.guesser_collection:
|
||||
class: phpbb\di\service_collection
|
||||
arguments:
|
||||
|
@ -1,6 +1,4 @@
|
||||
services:
|
||||
_defaults: { public: true }
|
||||
|
||||
module.manager:
|
||||
class: phpbb\module\module_manager
|
||||
arguments:
|
||||
|
@ -1,6 +1,4 @@
|
||||
services:
|
||||
_defaults: { public: true }
|
||||
|
||||
notification_manager:
|
||||
class: phpbb\notification\manager
|
||||
arguments:
|
||||
|
@ -5,8 +5,6 @@ parameters:
|
||||
passwords.driver.bcrypt_cost: 10
|
||||
|
||||
services:
|
||||
_defaults: { public: true }
|
||||
|
||||
# ----- Password management -----
|
||||
passwords.manager:
|
||||
class: phpbb\passwords\manager
|
||||
|
@ -1,5 +1,3 @@
|
||||
services:
|
||||
_defaults: { public: true }
|
||||
|
||||
php_ini:
|
||||
class: bantu\IniGetWrapper\IniGetWrapper
|
||||
|
@ -1,6 +1,4 @@
|
||||
services:
|
||||
_defaults: { public: true }
|
||||
|
||||
profilefields.manager:
|
||||
class: phpbb\profilefields\manager
|
||||
arguments:
|
||||
|
@ -1,6 +1,4 @@
|
||||
services:
|
||||
_defaults: { public: true }
|
||||
|
||||
# ----- Report controller -----
|
||||
phpbb.report.controller:
|
||||
class: phpbb\report\controller\report
|
||||
|
@ -1,6 +1,4 @@
|
||||
services:
|
||||
_defaults: { public: true }
|
||||
|
||||
router:
|
||||
class: phpbb\routing\router
|
||||
arguments:
|
||||
|
@ -1,5 +1,4 @@
|
||||
services:
|
||||
_defaults: { public: true }
|
||||
|
||||
# Storages
|
||||
storage.attachment:
|
||||
|
@ -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:
|
||||
|
@ -1,6 +1,4 @@
|
||||
services:
|
||||
_defaults: { public: true }
|
||||
|
||||
text_reparser.manager:
|
||||
class: phpbb\textreparser\manager
|
||||
arguments:
|
||||
|
@ -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:
|
||||
|
@ -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:
|
||||
|
@ -1,6 +1,4 @@
|
||||
services:
|
||||
_defaults: { public: true }
|
||||
|
||||
phpbb.ucp.controller.reset_password:
|
||||
class: phpbb\ucp\controller\reset_password
|
||||
arguments:
|
||||
|
@ -1,6 +1,4 @@
|
||||
services:
|
||||
_defaults: { public: true }
|
||||
|
||||
acl.permissions:
|
||||
class: phpbb\permissions
|
||||
arguments:
|
||||
|
@ -9,8 +9,6 @@ imports:
|
||||
- { resource: ../../default/container/services_twig.yml }
|
||||
|
||||
services:
|
||||
_defaults: { public: true }
|
||||
|
||||
cache.driver:
|
||||
class: '%cache.driver.class%'
|
||||
arguments:
|
||||
|
@ -1,6 +1,4 @@
|
||||
services:
|
||||
_defaults: { public: true }
|
||||
|
||||
installer.file_updater.factory:
|
||||
class: phpbb\install\helper\file_updater\factory
|
||||
arguments:
|
||||
|
@ -1,6 +1,4 @@
|
||||
services:
|
||||
_defaults: { public: true }
|
||||
|
||||
console.installer.command_collection:
|
||||
class: phpbb\di\service_collection
|
||||
arguments:
|
||||
|
@ -1,6 +1,4 @@
|
||||
services:
|
||||
_defaults: { public: true }
|
||||
|
||||
phpbb.installer.controller.welcome:
|
||||
class: phpbb\install\controller\installer_index
|
||||
arguments:
|
||||
|
@ -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:
|
||||
|
@ -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:
|
||||
|
@ -1,6 +1,4 @@
|
||||
services:
|
||||
_defaults: { public: true }
|
||||
|
||||
installer.install_finish.populate_migrations:
|
||||
class: phpbb\install\module\install_finish\task\populate_migrations
|
||||
arguments:
|
||||
|
@ -1,6 +1,4 @@
|
||||
services:
|
||||
_defaults: { public: true }
|
||||
|
||||
installer.navigation.provider:
|
||||
class: phpbb\install\helper\navigation\navigation_provider
|
||||
arguments:
|
||||
|
@ -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:
|
||||
|
@ -1,6 +1,4 @@
|
||||
services:
|
||||
_defaults: { public: true }
|
||||
|
||||
installer.requirements.check_filesystem:
|
||||
class: phpbb\install\module\requirements\task\check_filesystem
|
||||
arguments:
|
||||
|
@ -15,8 +15,6 @@ imports:
|
||||
- { resource: services_update_requirements.yml }
|
||||
|
||||
services:
|
||||
_defaults: { public: true }
|
||||
|
||||
# -------- Installer helpers ------------------------
|
||||
installer.helper.config:
|
||||
class: phpbb\install\helper\config
|
||||
|
@ -1,6 +1,4 @@
|
||||
services:
|
||||
_defaults: { public: true }
|
||||
|
||||
installer.update_database.update_task:
|
||||
class: phpbb\install\module\update_database\task\update
|
||||
arguments:
|
||||
|
@ -1,6 +1,4 @@
|
||||
services:
|
||||
_defaults: { public: true }
|
||||
|
||||
installer.update_filesystem.check_task:
|
||||
class: phpbb\install\module\update_filesystem\task\file_check
|
||||
arguments:
|
||||
|
@ -1,6 +1,4 @@
|
||||
services:
|
||||
_defaults: { public: true }
|
||||
|
||||
installer.obtain_data.update_options:
|
||||
class: phpbb\install\module\obtain_data\task\obtain_update_settings
|
||||
arguments:
|
||||
|
@ -1,6 +1,4 @@
|
||||
services:
|
||||
_defaults: { public: true }
|
||||
|
||||
installer.requirements.check_filesystem_update:
|
||||
class: phpbb\install\module\requirements\task\check_filesystem
|
||||
arguments:
|
||||
|
@ -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());
|
||||
|
||||
|
40
phpBB/phpbb/di/pass/markpublic_pass.php
Normal file
40
phpBB/phpbb/di/pass/markpublic_pass.php
Normal file
@ -0,0 +1,40 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* This file is part of the phpBB Forum Software package.
|
||||
*
|
||||
* @copyright (c) phpBB Limited <https://www.phpbb.com>
|
||||
* @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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -1,4 +1,3 @@
|
||||
services:
|
||||
_defaults: { public: true }
|
||||
core_foo.controller:
|
||||
class: phpbb\controller\foo
|
||||
|
@ -1,4 +1,3 @@
|
||||
services:
|
||||
_defaults: { public: true }
|
||||
bar.controller:
|
||||
class: bar\controller
|
||||
|
@ -1,4 +1,3 @@
|
||||
services:
|
||||
_defaults: { public: true }
|
||||
foo.controller:
|
||||
class: foo\controller
|
||||
|
@ -5,7 +5,6 @@ parameters:
|
||||
tables.acl_roles: '%core.table_prefix%acl_roles'
|
||||
|
||||
services:
|
||||
_defaults: { public: true }
|
||||
config.php:
|
||||
synthetic: true
|
||||
|
||||
|
@ -5,7 +5,6 @@ parameters:
|
||||
tables.acl_roles: '%core.table_prefix%acl_roles'
|
||||
|
||||
services:
|
||||
_defaults: { public: true }
|
||||
config.php:
|
||||
synthetic: true
|
||||
|
||||
|
@ -2,7 +2,6 @@ parameters:
|
||||
other_config: true
|
||||
|
||||
services:
|
||||
_defaults: { public: true }
|
||||
config.php:
|
||||
synthetic: true
|
||||
|
||||
|
@ -2,7 +2,6 @@ parameters:
|
||||
other_config: true
|
||||
|
||||
services:
|
||||
_defaults: { public: true }
|
||||
config.php:
|
||||
synthetic: true
|
||||
|
||||
|
@ -1,5 +1,4 @@
|
||||
services:
|
||||
_defaults: { public: true }
|
||||
foo_bar.controller:
|
||||
class: foo\bar\controller\controller
|
||||
arguments:
|
||||
|
@ -1,4 +1,3 @@
|
||||
services:
|
||||
_defaults: { public: true }
|
||||
foo_foo.controller:
|
||||
class: foo\foo\controller\controller
|
||||
|
@ -2,7 +2,6 @@ imports:
|
||||
- { resource: ../../../phpBB/config/default/container/services_notification.yml }
|
||||
|
||||
services:
|
||||
_defaults: { public: true }
|
||||
notification_manager:
|
||||
synthetic: true
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user