diff options
Diffstat (limited to 'phpBB/phpbb/event')
| -rw-r--r-- | phpBB/phpbb/event/data.php | 12 | ||||
| -rw-r--r-- | phpBB/phpbb/event/kernel_exception_subscriber.php | 40 | ||||
| -rw-r--r-- | phpBB/phpbb/event/kernel_request_subscriber.php | 82 | ||||
| -rw-r--r-- | phpBB/phpbb/event/kernel_terminate_subscriber.php | 2 | ||||
| -rw-r--r-- | phpBB/phpbb/event/md_exporter.php | 11 | ||||
| -rw-r--r-- | phpBB/phpbb/event/php_exporter.php | 2 | 
6 files changed, 45 insertions, 104 deletions
| diff --git a/phpBB/phpbb/event/data.php b/phpBB/phpbb/event/data.php index c7365aee35..276ab027f2 100644 --- a/phpBB/phpbb/event/data.php +++ b/phpBB/phpbb/event/data.php @@ -63,4 +63,16 @@ class data extends Event implements \ArrayAccess  	{  		unset($this->data[$offset]);  	} + +	/** +	 * Returns data with updated key in specified offset. +	 * +	 * @param	string	$subarray	Data array subarray +	 * @param	string	$key		Subarray key +	 * @param	mixed	$value		Value to update +	 */ +	public function update_subarray($subarray, $key, $value) +	{ +		$this->data[$subarray][$key] = $value; +	}  } diff --git a/phpBB/phpbb/event/kernel_exception_subscriber.php b/phpBB/phpbb/event/kernel_exception_subscriber.php index 1ee771cfe7..373e59b0c8 100644 --- a/phpBB/phpbb/event/kernel_exception_subscriber.php +++ b/phpBB/phpbb/event/kernel_exception_subscriber.php @@ -16,6 +16,7 @@ namespace phpbb\event;  use Symfony\Component\EventDispatcher\EventSubscriberInterface;  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\HttpFoundation\Response; @@ -23,16 +24,25 @@ use Symfony\Component\HttpFoundation\Response;  class kernel_exception_subscriber implements EventSubscriberInterface  {  	/** +	 * Set to true to show full exception messages +	 * +	 * @var bool +	 */ +	protected $debug; + +	/**  	* Template object +	*  	* @var \phpbb\template\template  	*/  	protected $template;  	/** -	* User object -	* @var \phpbb\user +	* Language object +	* +	* @var \phpbb\language\language  	*/ -	protected $user; +	protected $language;  	/** @var \phpbb\request\type_cast_helper */  	protected $type_caster; @@ -40,13 +50,15 @@ class kernel_exception_subscriber implements EventSubscriberInterface  	/**  	* Construct method  	* -	* @param \phpbb\template\template $template Template object -	* @param \phpbb\user $user User object +	* @param \phpbb\template\template	$template	Template object +	* @param \phpbb\language\language	$language	Language object +	* @param bool						$debug		Set to true to show full exception messages  	*/ -	public function __construct(\phpbb\template\template $template, \phpbb\user $user) +	public function __construct(\phpbb\template\template $template, \phpbb\language\language $language, $debug = false)  	{ +		$this->debug = $debug || defined('DEBUG');  		$this->template = $template; -		$this->user = $user; +		$this->language = $language;  		$this->type_caster = new \phpbb\request\type_cast_helper();  	} @@ -65,7 +77,11 @@ class kernel_exception_subscriber implements EventSubscriberInterface  		if ($exception instanceof \phpbb\exception\exception_interface)  		{ -			$message = call_user_func_array(array($this->user, 'lang'), array_merge(array($message), $exception->get_parameters())); +			$message = $this->language->lang_array($message, $exception->get_parameters()); +		} +		else if (!$this->debug && $exception instanceof NotFoundHttpException) +		{ +			$message = $this->language->lang('PAGE_NOT_FOUND');  		}  		// Show <strong> text in bold @@ -73,10 +89,10 @@ class kernel_exception_subscriber implements EventSubscriberInterface  		if (!$event->getRequest()->isXmlHttpRequest())  		{ -			page_header($this->user->lang('INFORMATION')); +			page_header($this->language->lang('INFORMATION'));  			$this->template->assign_vars(array( -				'MESSAGE_TITLE' => $this->user->lang('INFORMATION'), +				'MESSAGE_TITLE' => $this->language->lang('INFORMATION'),  				'MESSAGE_TEXT'  => $message,  			)); @@ -97,7 +113,7 @@ class kernel_exception_subscriber implements EventSubscriberInterface  				$data['message'] = $message;  			} -			if (defined('DEBUG')) +			if ($this->debug)  			{  				$data['trace'] = $exception->getTrace();  			} @@ -114,7 +130,7 @@ class kernel_exception_subscriber implements EventSubscriberInterface  		$event->setResponse($response);  	} -	public static function getSubscribedEvents() +	static public function getSubscribedEvents()  	{  		return array(  			KernelEvents::EXCEPTION		=> 'on_kernel_exception', diff --git a/phpBB/phpbb/event/kernel_request_subscriber.php b/phpBB/phpbb/event/kernel_request_subscriber.php deleted file mode 100644 index ee9f29a59d..0000000000 --- a/phpBB/phpbb/event/kernel_request_subscriber.php +++ /dev/null @@ -1,82 +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\EventSubscriberInterface; -use Symfony\Component\HttpKernel\KernelEvents; -use Symfony\Component\HttpKernel\Event\GetResponseEvent; -use Symfony\Component\HttpKernel\EventListener\RouterListener; -use Symfony\Component\Routing\RequestContext; - -class kernel_request_subscriber implements EventSubscriberInterface -{ -	/** -	* Extension manager object -	* @var \phpbb\extension\manager -	*/ -	protected $manager; - -	/** -	* PHP file extension -	* @var string -	*/ -	protected $php_ext; - -	/** -	* Root path -	* @var string -	*/ -	protected $root_path; - -	/** -	* Construct method -	* -	* @param \phpbb\extension\manager $manager Extension manager object -	* @param string $root_path Root path -	* @param string $php_ext PHP file extension -	*/ -	public function __construct(\phpbb\extension\manager $manager, $root_path, $php_ext) -	{ -		$this->root_path = $root_path; -		$this->php_ext = $php_ext; -		$this->manager = $manager; -	} - -	/** -	* This listener is run when the KernelEvents::REQUEST event is triggered -	* -	* This is responsible for setting up the routing information -	* -	* @param GetResponseEvent $event -	* @throws \BadMethodCallException -	* @return null -	*/ -	public function on_kernel_request(GetResponseEvent $event) -	{ -		$request = $event->getRequest(); -		$context = new RequestContext(); -		$context->fromRequest($request); - -		$matcher = phpbb_get_url_matcher($this->manager, $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/phpbb/event/kernel_terminate_subscriber.php b/phpBB/phpbb/event/kernel_terminate_subscriber.php index 3a709f73fd..f0d0a2f595 100644 --- a/phpBB/phpbb/event/kernel_terminate_subscriber.php +++ b/phpBB/phpbb/event/kernel_terminate_subscriber.php @@ -32,7 +32,7 @@ class kernel_terminate_subscriber implements EventSubscriberInterface  		exit_handler();  	} -	public static function getSubscribedEvents() +	static public function getSubscribedEvents()  	{  		return array(  			KernelEvents::TERMINATE		=> array('on_kernel_terminate', ~PHP_INT_MAX), diff --git a/phpBB/phpbb/event/md_exporter.php b/phpBB/phpbb/event/md_exporter.php index 02c2a1b9d6..e042d0a5d1 100644 --- a/phpBB/phpbb/event/md_exporter.php +++ b/phpBB/phpbb/event/md_exporter.php @@ -99,7 +99,7 @@ class md_exporter  	{  		$this->crawl_eventsmd($md_file, 'styles'); -		$styles = array('prosilver', 'subsilver2'); +		$styles = array('prosilver');  		foreach ($styles as $style)  		{  			$file_list = $this->get_recursive_file_list( @@ -266,7 +266,7 @@ class md_exporter  				$wiki_page = '= Template Events =' . "\n";  			}  			$wiki_page .= '{| class="zebra sortable" cellspacing="0" cellpadding="5"' . "\n"; -			$wiki_page .= '! Identifier !! Prosilver Placement (If applicable) !! Subsilver Placement (If applicable) !! Added in Release !! Explanation' . "\n"; +			$wiki_page .= '! Identifier !! Prosilver Placement (If applicable) !! Added in Release !! Explanation' . "\n";  		}  		foreach ($this->events as $event_name => $event) @@ -280,7 +280,7 @@ class md_exporter  			}  			else  			{ -				$wiki_page .= implode(', ', $event['files']['prosilver']) . ' || ' . implode(', ', $event['files']['subsilver2']); +				$wiki_page .= implode(', ', $event['files']['prosilver']);  			}  			$wiki_page .= " || {$event['since']} || " . str_replace("\n", ' ', $event['description']) . "\n"; @@ -371,7 +371,6 @@ class md_exporter  	{  		$files_list = array(  			'prosilver'		=> array(), -			'subsilver2'	=> array(),  			'adm'			=> array(),  		); @@ -391,10 +390,6 @@ class md_exporter  				{  					$files_list['prosilver'][] = substr($file, strlen('styles/prosilver/template/'));  				} -				else if (($this->filter !== 'adm') && strpos($file, 'styles/subsilver2/template/') === 0) -				{ -					$files_list['subsilver2'][] = substr($file, strlen('styles/subsilver2/template/')); -				}  				else if (($this->filter === 'adm') && strpos($file, 'adm/style/') === 0)  				{  					$files_list['adm'][] = substr($file, strlen('adm/style/')); diff --git a/phpBB/phpbb/event/php_exporter.php b/phpBB/phpbb/event/php_exporter.php index ae3553c558..26d7e2b426 100644 --- a/phpBB/phpbb/event/php_exporter.php +++ b/phpBB/phpbb/event/php_exporter.php @@ -392,7 +392,7 @@ class php_exporter  	public function get_vars_from_single_line_array($line, $throw_multiline = true)  	{  		$match = array(); -		preg_match('#^\$vars = array\(\'([a-zA-Z0-9_\' ,]+)\'\);$#', $line, $match); +		preg_match('#^\$vars = (?:\[|array\()\'([a-zA-Z0-9_\' ,]+)\'[\)\]];$#', $line, $match);  		if (isset($match[1]))  		{ | 
