From d52ab0b1e99aa0c494f389092dce1e926296032d Mon Sep 17 00:00:00 2001 From: ArthurHoaro Date: Sat, 12 Sep 2020 12:42:19 +0200 Subject: Properly handle 404 errors Use 404 template instead of default Slim error page if the route is not found. Fixes #827 --- application/container/ContainerBuilder.php | 4 ++++ application/container/ShaarliContainer.php | 9 +++++---- 2 files changed, 9 insertions(+), 4 deletions(-) (limited to 'application/container') diff --git a/application/container/ContainerBuilder.php b/application/container/ContainerBuilder.php index 58067c99..55bb51b5 100644 --- a/application/container/ContainerBuilder.php +++ b/application/container/ContainerBuilder.php @@ -10,6 +10,7 @@ use Shaarli\Config\ConfigManager; use Shaarli\Feed\FeedBuilder; use Shaarli\Formatter\FormatterFactory; use Shaarli\Front\Controller\Visitor\ErrorController; +use Shaarli\Front\Controller\Visitor\ErrorNotFoundController; use Shaarli\History; use Shaarli\Http\HttpAccess; use Shaarli\Netscape\NetscapeBookmarkUtils; @@ -149,6 +150,9 @@ class ContainerBuilder ); }; + $container['notFoundHandler'] = function (ShaarliContainer $container): ErrorNotFoundController { + return new ErrorNotFoundController($container); + }; $container['errorHandler'] = function (ShaarliContainer $container): ErrorController { return new ErrorController($container); }; diff --git a/application/container/ShaarliContainer.php b/application/container/ShaarliContainer.php index 9a9a974a..66e669aa 100644 --- a/application/container/ShaarliContainer.php +++ b/application/container/ShaarliContainer.php @@ -24,21 +24,22 @@ use Slim\Container; /** * Extension of Slim container to document the injected objects. * - * @property string $basePath Shaarli's instance base path (e.g. `/shaarli/`) + * @property string $basePath Shaarli's instance base path (e.g. `/shaarli/`) * @property BookmarkServiceInterface $bookmarkService * @property CookieManager $cookieManager * @property ConfigManager $conf - * @property mixed[] $environment $_SERVER automatically injected by Slim - * @property callable $errorHandler Overrides default Slim exception display + * @property mixed[] $environment $_SERVER automatically injected by Slim + * @property callable $errorHandler Overrides default Slim exception display * @property FeedBuilder $feedBuilder * @property FormatterFactory $formatterFactory * @property History $history * @property HttpAccess $httpAccess * @property LoginManager $loginManager * @property NetscapeBookmarkUtils $netscapeBookmarkUtils + * @property callable $notFoundHandler Overrides default Slim exception display * @property PageBuilder $pageBuilder * @property PageCacheManager $pageCacheManager - * @property callable $phpErrorHandler Overrides default Slim PHP error display + * @property callable $phpErrorHandler Overrides default Slim PHP error display * @property PluginManager $pluginManager * @property SessionManager $sessionManager * @property Thumbnailer $thumbnailer -- cgit v1.2.3