mirror of
https://github.com/phpbb/phpbb.git
synced 2025-07-31 05:50:42 +02:00
Merge pull request #4943 from Elsensee/ticket/14933
[ticket/14933] Make "route not found" more user-friendly
This commit is contained in:
@@ -16,12 +16,20 @@ 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;
|
||||
|
||||
class kernel_exception_subscriber implements EventSubscriberInterface
|
||||
{
|
||||
/**
|
||||
* Set to true to show full exception messages
|
||||
*
|
||||
* @var bool
|
||||
*/
|
||||
protected $debug;
|
||||
|
||||
/**
|
||||
* Template object
|
||||
*
|
||||
@@ -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();
|
||||
}
|
||||
|
Reference in New Issue
Block a user