mirror of
https://github.com/phpbb/phpbb.git
synced 2025-05-07 08:05:25 +02:00
Merge branch 'develop-ascraeus' into develop
* develop-ascraeus: [ticket/13061] Replace the service event.subscriber_loader by a compiler pass
This commit is contained in:
commit
dd89af7151
@ -159,21 +159,6 @@ services:
|
|||||||
arguments:
|
arguments:
|
||||||
- @dbal.conn
|
- @dbal.conn
|
||||||
|
|
||||||
event.subscriber_loader:
|
|
||||||
class: phpbb\event\extension_subscriber_loader
|
|
||||||
arguments:
|
|
||||||
- @dispatcher
|
|
||||||
- @event.listener_collection
|
|
||||||
calls:
|
|
||||||
- [load, []]
|
|
||||||
|
|
||||||
event.listener_collection:
|
|
||||||
class: phpbb\di\service_collection
|
|
||||||
arguments:
|
|
||||||
- @service_container
|
|
||||||
tags:
|
|
||||||
- { name: service_collection, tag: event.listener }
|
|
||||||
|
|
||||||
ext.manager:
|
ext.manager:
|
||||||
class: phpbb\extension\manager
|
class: phpbb\extension\manager
|
||||||
arguments:
|
arguments:
|
||||||
|
@ -83,7 +83,6 @@ if (isset($_GET['avatar']))
|
|||||||
|
|
||||||
// load extensions
|
// load extensions
|
||||||
$phpbb_extension_manager = $phpbb_container->get('ext.manager');
|
$phpbb_extension_manager = $phpbb_container->get('ext.manager');
|
||||||
$phpbb_subscriber_loader = $phpbb_container->get('event.subscriber_loader');
|
|
||||||
|
|
||||||
// worst-case default
|
// worst-case default
|
||||||
$browser = strtolower($request->header('User-Agent', 'msie 6.0'));
|
$browser = strtolower($request->header('User-Agent', 'msie 6.0'));
|
||||||
|
@ -43,6 +43,5 @@ $phpbb_path_helper = $phpbb_container->get('path_helper');
|
|||||||
|
|
||||||
// load extensions
|
// load extensions
|
||||||
$phpbb_extension_manager = $phpbb_container->get('ext.manager');
|
$phpbb_extension_manager = $phpbb_container->get('ext.manager');
|
||||||
$phpbb_subscriber_loader = $phpbb_container->get('event.subscriber_loader');
|
|
||||||
|
|
||||||
$template = $phpbb_container->get('template');
|
$template = $phpbb_container->get('template');
|
||||||
|
@ -15,6 +15,7 @@ namespace phpbb\di;
|
|||||||
|
|
||||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
||||||
use Symfony\Component\DependencyInjection\Dumper\PhpDumper;
|
use Symfony\Component\DependencyInjection\Dumper\PhpDumper;
|
||||||
|
use Symfony\Component\HttpKernel\DependencyInjection\RegisterListenersPass;
|
||||||
|
|
||||||
class container_builder
|
class container_builder
|
||||||
{
|
{
|
||||||
@ -160,11 +161,13 @@ class container_builder
|
|||||||
|
|
||||||
if ($this->use_custom_pass)
|
if ($this->use_custom_pass)
|
||||||
{
|
{
|
||||||
|
// Symfony Kernel Listeners
|
||||||
$this->container->addCompilerPass(new \phpbb\di\pass\collection_pass());
|
$this->container->addCompilerPass(new \phpbb\di\pass\collection_pass());
|
||||||
|
$this->container->addCompilerPass(new RegisterListenersPass('dispatcher', 'event.listener_listener', 'event.listener'));
|
||||||
|
|
||||||
if ($this->use_kernel_pass)
|
if ($this->use_kernel_pass)
|
||||||
{
|
{
|
||||||
$this->container->addCompilerPass(new \phpbb\di\pass\kernel_pass());
|
$this->container->addCompilerPass(new RegisterListenersPass('dispatcher'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,39 +0,0 @@
|
|||||||
<?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\event;
|
|
||||||
|
|
||||||
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
|
|
||||||
|
|
||||||
class extension_subscriber_loader
|
|
||||||
{
|
|
||||||
private $dispatcher;
|
|
||||||
private $listener_collection;
|
|
||||||
|
|
||||||
public function __construct(EventDispatcherInterface $dispatcher, \phpbb\di\service_collection $listener_collection)
|
|
||||||
{
|
|
||||||
$this->dispatcher = $dispatcher;
|
|
||||||
$this->listener_collection = $listener_collection;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function load()
|
|
||||||
{
|
|
||||||
if (!empty($this->listener_collection))
|
|
||||||
{
|
|
||||||
foreach ($this->listener_collection as $listener)
|
|
||||||
{
|
|
||||||
$this->dispatcher->addSubscriber($listener);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
x
Reference in New Issue
Block a user