aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/phpbb
diff options
context:
space:
mode:
authorOliver Schramm <oliver.schramm97@gmail.com>2017-09-09 17:08:27 +0200
committerOliver Schramm <oliver.schramm97@gmail.com>2017-09-09 17:08:27 +0200
commita29048abd6ea13ec00449c4c1c751c035cf5ed1c (patch)
treebb7718cacfe1757c0b66de91a487126dee3ed6ad /phpBB/phpbb
parent16da17a4ba4b55404dba2b3416d8c62971ba16ca (diff)
downloadforums-a29048abd6ea13ec00449c4c1c751c035cf5ed1c.tar
forums-a29048abd6ea13ec00449c4c1c751c035cf5ed1c.tar.gz
forums-a29048abd6ea13ec00449c4c1c751c035cf5ed1c.tar.bz2
forums-a29048abd6ea13ec00449c4c1c751c035cf5ed1c.tar.xz
forums-a29048abd6ea13ec00449c4c1c751c035cf5ed1c.zip
[ticket/14933] Make "route not found" more user-friendly
PHPBB3-14933
Diffstat (limited to 'phpBB/phpbb')
-rw-r--r--phpBB/phpbb/event/kernel_exception_subscriber.php17
1 files changed, 15 insertions, 2 deletions
diff --git a/phpBB/phpbb/event/kernel_exception_subscriber.php b/phpBB/phpbb/event/kernel_exception_subscriber.php
index b7a54f2608..f7582c5d90 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
@@ -45,8 +53,9 @@ class kernel_exception_subscriber implements EventSubscriberInterface
* @param \phpbb\template\template $template Template object
* @param \phpbb\language\language $language Language object
*/
- 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 +78,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('#&lt;(/?strong)&gt;#i', '<$1>', $message);
@@ -99,7 +112,7 @@ class kernel_exception_subscriber implements EventSubscriberInterface
$data['message'] = $message;
}
- if (defined('DEBUG'))
+ if ($this->debug)
{
$data['trace'] = $exception->getTrace();
}