diff options
Diffstat (limited to 'application')
-rw-r--r-- | application/Utils.php | 9 | ||||
-rw-r--r-- | application/front/controller/visitor/ErrorController.php | 5 |
2 files changed, 10 insertions, 4 deletions
diff --git a/application/Utils.php b/application/Utils.php index 7a9d2645..bc1c9f5d 100644 --- a/application/Utils.php +++ b/application/Utils.php | |||
@@ -465,3 +465,12 @@ function t($text, $nText = '', $nb = 1, $domain = 'shaarli') | |||
465 | { | 465 | { |
466 | return dn__($domain, $text, $nText, $nb); | 466 | return dn__($domain, $text, $nText, $nb); |
467 | } | 467 | } |
468 | |||
469 | /** | ||
470 | * Converts an exception into a printable stack trace string. | ||
471 | */ | ||
472 | function exception2text(Throwable $e): string | ||
473 | { | ||
474 | return $e->getMessage() . PHP_EOL . $e->getFile() . $e->getLine() . PHP_EOL . $e->getTraceAsString(); | ||
475 | } | ||
476 | |||
diff --git a/application/front/controller/visitor/ErrorController.php b/application/front/controller/visitor/ErrorController.php index 10aa84c8..8da11172 100644 --- a/application/front/controller/visitor/ErrorController.php +++ b/application/front/controller/visitor/ErrorController.php | |||
@@ -28,10 +28,7 @@ class ErrorController extends ShaarliVisitorController | |||
28 | // Internal error (any other Throwable) | 28 | // Internal error (any other Throwable) |
29 | if ($this->container->conf->get('dev.debug', false)) { | 29 | if ($this->container->conf->get('dev.debug', false)) { |
30 | $this->assignView('message', $throwable->getMessage()); | 30 | $this->assignView('message', $throwable->getMessage()); |
31 | $this->assignView( | 31 | $this->assignView('stacktrace', exception2text($throwable)); |
32 | 'stacktrace', | ||
33 | nl2br(get_class($throwable) .': '. PHP_EOL . $throwable->getTraceAsString()) | ||
34 | ); | ||
35 | } else { | 32 | } else { |
36 | $this->assignView('message', t('An unexpected error occurred.')); | 33 | $this->assignView('message', t('An unexpected error occurred.')); |
37 | } | 34 | } |