|
|
@@ -23,6 +23,8 @@ class ErrorHandler implements PageErrorHandlerInterface
|
|
|
500 => self::TEMPLATES_ROOT_PATHS . '/Page/Error/500.html'
|
|
|
];
|
|
|
|
|
|
+ const REDIRECT_FALLBACK = 'https://opentalent.fr';
|
|
|
+
|
|
|
/**
|
|
|
* Status code of the response
|
|
|
* @var int
|
|
|
@@ -80,23 +82,30 @@ class ErrorHandler implements PageErrorHandlerInterface
|
|
|
$rootUid = $site->getRootPageId();
|
|
|
|
|
|
$rootPage = $pageRepository->getPage($rootUid);
|
|
|
- $title = $rootPage['title'];
|
|
|
-
|
|
|
- $subPages = $pageRepository->getAllSubpagesForPage($rootUid, true);
|
|
|
- foreach ($subPages as $page) {
|
|
|
- if ($page['slug'] == '/page-introuvable') {
|
|
|
-
|
|
|
- $errorHandler = GeneralUtility::makeInstance(
|
|
|
- PageContentErrorHandler::class,
|
|
|
- $this->statusCode,
|
|
|
- [
|
|
|
- 'errorHandler' => 'Page',
|
|
|
- 'errorContentSource' => 't3://page?uid=' . $page['uid']
|
|
|
- ]
|
|
|
- );
|
|
|
- return $errorHandler->handlePageError($request, $message, $reasons);
|
|
|
+ if (!empty($rootPage)) {
|
|
|
+
|
|
|
+ $title = $rootPage['title'];
|
|
|
+
|
|
|
+ $subPages = $pageRepository->getAllSubpagesForPage($rootUid, true);
|
|
|
+ foreach ($subPages as $page) {
|
|
|
+ if ($page['slug'] == '/page-introuvable') {
|
|
|
+
|
|
|
+ $errorHandler = GeneralUtility::makeInstance(
|
|
|
+ PageContentErrorHandler::class,
|
|
|
+ $this->statusCode,
|
|
|
+ [
|
|
|
+ 'errorHandler' => 'Page',
|
|
|
+ 'errorContentSource' => 't3://page?uid=' . $page['uid']
|
|
|
+ ]
|
|
|
+ );
|
|
|
+ return $errorHandler->handlePageError($request, $message, $reasons);
|
|
|
+ }
|
|
|
}
|
|
|
+ } else {
|
|
|
+ $title = "Page inexistante";
|
|
|
+ $homeUri = self::REDIRECT_FALLBACK;
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
|
|
|
// At this point, the site has not been determined or
|