diff options
Diffstat (limited to 'phpBB/includes/event')
-rw-r--r-- | phpBB/includes/event/data.php | 68 | ||||
-rw-r--r-- | phpBB/includes/event/dispatcher.php | 42 | ||||
-rw-r--r-- | phpBB/includes/event/extension_subscriber_loader.php | 46 | ||||
-rw-r--r-- | phpBB/includes/event/kernel_exception_subscriber.php | 85 | ||||
-rw-r--r-- | phpBB/includes/event/kernel_request_subscriber.php | 83 | ||||
-rw-r--r-- | phpBB/includes/event/kernel_terminate_subscriber.php | 43 |
6 files changed, 0 insertions, 367 deletions
diff --git a/phpBB/includes/event/data.php b/phpBB/includes/event/data.php deleted file mode 100644 index 70718ff0ae..0000000000 --- a/phpBB/includes/event/data.php +++ /dev/null @@ -1,68 +0,0 @@ -<?php -/** -* -* @package phpBB3 -* @copyright (c) 2012 phpBB Group -* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 -* -*/ - -/** -* @ignore -*/ -if (!defined('IN_PHPBB')) -{ - exit; -} - -use Symfony\Component\EventDispatcher\Event; - -class phpbb_event_data extends Event implements ArrayAccess -{ - private $data; - - public function __construct(array $data = array()) - { - $this->set_data($data); - } - - public function set_data(array $data = array()) - { - $this->data = $data; - } - - public function get_data() - { - return $this->data; - } - - /** - * Returns data filtered to only include specified keys. - * - * This effectively discards any keys added to data by hooks. - */ - public function get_data_filtered($keys) - { - return array_intersect_key($this->data, array_flip($keys)); - } - - public function offsetExists($offset) - { - return isset($this->data[$offset]); - } - - public function offsetGet($offset) - { - return isset($this->data[$offset]) ? $this->data[$offset] : null; - } - - public function offsetSet($offset, $value) - { - $this->data[$offset] = $value; - } - - public function offsetUnset($offset) - { - unset($this->data[$offset]); - } -} diff --git a/phpBB/includes/event/dispatcher.php b/phpBB/includes/event/dispatcher.php deleted file mode 100644 index 4f637ce3bb..0000000000 --- a/phpBB/includes/event/dispatcher.php +++ /dev/null @@ -1,42 +0,0 @@ -<?php -/** -* -* @package phpBB3 -* @copyright (c) 2012 phpBB Group -* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 -* -*/ - -/** -* @ignore -*/ -if (!defined('IN_PHPBB')) -{ - exit; -} - -use Symfony\Component\EventDispatcher\ContainerAwareEventDispatcher; - -/** -* Extension of the Symfony2 EventDispatcher -* -* It provides an additional `trigger_event` method, which -* gives some syntactic sugar for dispatching events. Instead -* of creating the event object, the method will do that for -* you. -* -* Example: -* -* $vars = array('page_title'); -* extract($phpbb_dispatcher->trigger_event('core.index', compact($vars))); -* -*/ -class phpbb_event_dispatcher extends ContainerAwareEventDispatcher -{ - public function trigger_event($eventName, $data = array()) - { - $event = new phpbb_event_data($data); - $this->dispatch($eventName, $event); - return $event->get_data_filtered(array_keys($data)); - } -} diff --git a/phpBB/includes/event/extension_subscriber_loader.php b/phpBB/includes/event/extension_subscriber_loader.php deleted file mode 100644 index d933b943d7..0000000000 --- a/phpBB/includes/event/extension_subscriber_loader.php +++ /dev/null @@ -1,46 +0,0 @@ -<?php -/** -* -* @package phpBB3 -* @copyright (c) 2012 phpBB Group -* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 -* -*/ - -/** -* @ignore -*/ -if (!defined('IN_PHPBB')) -{ - exit; -} - -use Symfony\Component\EventDispatcher\EventDispatcherInterface; - -class phpbb_event_extension_subscriber_loader -{ - private $dispatcher; - private $extension_manager; - - public function __construct(EventDispatcherInterface $dispatcher, phpbb_extension_manager $extension_manager) - { - $this->dispatcher = $dispatcher; - $this->extension_manager = $extension_manager; - } - - public function load() - { - $finder = $this->extension_manager->get_finder(); - $subscriber_classes = $finder - ->extension_directory('/event') - ->suffix('listener') - ->core_path('event/') - ->get_classes(); - - foreach ($subscriber_classes as $class) - { - $subscriber = new $class(); - $this->dispatcher->addSubscriber($subscriber); - } - } -} diff --git a/phpBB/includes/event/kernel_exception_subscriber.php b/phpBB/includes/event/kernel_exception_subscriber.php deleted file mode 100644 index f90989a74c..0000000000 --- a/phpBB/includes/event/kernel_exception_subscriber.php +++ /dev/null @@ -1,85 +0,0 @@ -<?php -/** -* -* @package phpBB3 -* @copyright (c) 2012 phpBB Group -* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 -* -*/ - -/** -* @ignore -*/ -if (!defined('IN_PHPBB')) -{ - exit; -} - -use Symfony\Component\EventDispatcher\EventSubscriberInterface; -use Symfony\Component\HttpKernel\KernelEvents; -use Symfony\Component\HttpKernel\Event\GetResponseForExceptionEvent; -use Symfony\Component\HttpKernel\Exception\HttpException; -use Symfony\Component\HttpFoundation\Response; - -class phpbb_event_kernel_exception_subscriber implements EventSubscriberInterface -{ - /** - * Template object - * @var phpbb_template - */ - protected $template; - - /** - * User object - * @var phpbb_user - */ - protected $user; - - /** - * Construct method - * - * @param phpbb_template $template Template object - * @param phpbb_user $user User object - */ - public function __construct(phpbb_template $template, phpbb_user $user) - { - $this->template = $template; - $this->user = $user; - } - - /** - * This listener is run when the KernelEvents::EXCEPTION event is triggered - * - * @param GetResponseForExceptionEvent $event - * @return null - */ - public function on_kernel_exception(GetResponseForExceptionEvent $event) - { - page_header($this->user->lang('INFORMATION')); - - $exception = $event->getException(); - - $this->template->assign_vars(array( - 'MESSAGE_TITLE' => $this->user->lang('INFORMATION'), - 'MESSAGE_TEXT' => $exception->getMessage(), - )); - - $this->template->set_filenames(array( - 'body' => 'message_body.html', - )); - - page_footer(true, false, false); - - - $status_code = $exception instanceof HttpException ? $exception->getStatusCode() : 500; - $response = new Response($this->template->assign_display('body'), $status_code); - $event->setResponse($response); - } - - public static function getSubscribedEvents() - { - return array( - KernelEvents::EXCEPTION => 'on_kernel_exception', - ); - } -} diff --git a/phpBB/includes/event/kernel_request_subscriber.php b/phpBB/includes/event/kernel_request_subscriber.php deleted file mode 100644 index afb8464f80..0000000000 --- a/phpBB/includes/event/kernel_request_subscriber.php +++ /dev/null @@ -1,83 +0,0 @@ -<?php -/** -* -* @package phpBB3 -* @copyright (c) 2012 phpBB Group -* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 -* -*/ - -/** -* @ignore -*/ -if (!defined('IN_PHPBB')) -{ - exit; -} - -use Symfony\Component\EventDispatcher\EventSubscriberInterface; -use Symfony\Component\HttpKernel\KernelEvents; -use Symfony\Component\HttpKernel\Event\GetResponseEvent; -use Symfony\Component\HttpKernel\EventListener\RouterListener; -use Symfony\Component\Routing\RequestContext; - -class phpbb_event_kernel_request_subscriber implements EventSubscriberInterface -{ - /** - * Extension finder object - * @var phpbb_extension_finder - */ - protected $finder; - - /** - * PHP extension - * @var string - */ - protected $php_ext; - - /** - * Root path - * @var string - */ - protected $root_path; - - /** - * Construct method - * - * @param phpbb_extension_finder $finder Extension finder object - * @param string $root_path Root path - * @param string $php_ext PHP extension - */ - public function __construct(phpbb_extension_finder $finder, $root_path, $php_ext) - { - $this->finder = $finder; - $this->root_path = $root_path; - $this->php_ext = $php_ext; - } - - /** - * This listener is run when the KernelEvents::REQUEST event is triggered - * - * This is responsible for setting up the routing information - * - * @param GetResponseEvent $event - * @return null - */ - public function on_kernel_request(GetResponseEvent $event) - { - $request = $event->getRequest(); - $context = new RequestContext(); - $context->fromRequest($request); - - $matcher = phpbb_get_url_matcher($this->finder, $context, $this->root_path, $this->php_ext); - $router_listener = new RouterListener($matcher, $context); - $router_listener->onKernelRequest($event); - } - - public static function getSubscribedEvents() - { - return array( - KernelEvents::REQUEST => 'on_kernel_request', - ); - } -} diff --git a/phpBB/includes/event/kernel_terminate_subscriber.php b/phpBB/includes/event/kernel_terminate_subscriber.php deleted file mode 100644 index 1eaf890e42..0000000000 --- a/phpBB/includes/event/kernel_terminate_subscriber.php +++ /dev/null @@ -1,43 +0,0 @@ -<?php -/** -* -* @package phpBB3 -* @copyright (c) 2012 phpBB Group -* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 -* -*/ - -/** -* @ignore -*/ -if (!defined('IN_PHPBB')) -{ - exit; -} - -use Symfony\Component\EventDispatcher\EventSubscriberInterface; -use Symfony\Component\HttpKernel\KernelEvents; -use Symfony\Component\HttpKernel\Event\PostResponseEvent; - -class phpbb_event_kernel_terminate_subscriber implements EventSubscriberInterface -{ - /** - * This listener is run when the KernelEvents::TERMINATE event is triggered - * This comes after a Response has been sent to the server; this is - * primarily cleanup stuff. - * - * @param PostResponseEvent $event - * @return null - */ - public function on_kernel_terminate(PostResponseEvent $event) - { - exit_handler(); - } - - public static function getSubscribedEvents() - { - return array( - KernelEvents::TERMINATE => 'on_kernel_terminate', - ); - } -} |