diff options
Diffstat (limited to 'phpBB/phpbb/event/kernel_exception_subscriber.php')
| -rw-r--r-- | phpBB/phpbb/event/kernel_exception_subscriber.php | 18 | 
1 files changed, 16 insertions, 2 deletions
| diff --git a/phpBB/phpbb/event/kernel_exception_subscriber.php b/phpBB/phpbb/event/kernel_exception_subscriber.php index b7a54f2608..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,6 +24,13 @@ 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 @@ -44,9 +52,11 @@ class kernel_exception_subscriber implements EventSubscriberInterface  	*  	* @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\language\language $language) +	public function __construct(\phpbb\template\template $template, \phpbb\language\language $language, $debug = false)  	{ +		$this->debug = $debug || defined('DEBUG');  		$this->template = $template;  		$this->language = $language;  		$this->type_caster = new \phpbb\request\type_cast_helper(); @@ -69,6 +79,10 @@ class kernel_exception_subscriber implements EventSubscriberInterface  		{  			$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  		$message = preg_replace('#<(/?strong)>#i', '<$1>', $message); @@ -99,7 +113,7 @@ class kernel_exception_subscriber implements EventSubscriberInterface  				$data['message'] = $message;  			} -			if (defined('DEBUG')) +			if ($this->debug)  			{  				$data['trace'] = $exception->getTrace();  			} | 
