/**
  * @inherit
  */
 public function handleError(\R3H6\Error404page\Domain\Model\Error $error)
 {
     if ($error->getStatusCode() !== Error::STATUS_CODE_FORBIDDEN) {
         return false;
     }
     if (!$error->getPid()) {
         return false;
     }
     if ($this->frontendUser->isLoggedIn()) {
         return false;
     }
     /** @var \R3H6\Error404page\Configuration\PageTsConfig $pageTsConfig */
     $pageTsConfig = $this->pageTsConfigManager->getPageTsConfig($error->getPid());
     $parameter = (string) $pageTsConfig->get('redirectError403To');
     if ($parameter === 'auto') {
         $loginPage = $this->pageRepository->findLoginPageForError($error);
         if ($loginPage !== null) {
             $parameter = (string) $loginPage->getUid();
         } else {
             $parameter = null;
         }
     }
     if (MathUtility::canBeInterpretedAsInteger($parameter)) {
         $this->cacheTags[] = 'pageId_' . $parameter;
         if ($this->frontendController->isDefaultType() === false) {
             $parameter .= ',' . $this->frontendController->getType();
         }
         if ($this->frontendController->isDefaultLanguage() === false || $this->frontendController->isDefaultGetVar('L') === true) {
             $parameter .= ' - - - &L=' . $this->frontendController->getSystemLanguageUid();
         }
     }
     $this->getLogger()->debug(sprintf('Redirect parameter "%s"', $parameter));
     if ($parameter) {
         $this->redirect = '';
         $this->redirect .= $this->frontendController->typoLink(array('parameter' => $parameter, 'forceAbsoluteUrl' => true));
         $this->redirect .= strpos($this->redirect, '?') === false ? '?' : '&';
         $this->redirect .= 'redirect_url=' . $error->getUrl();
         return true;
     }
     return false;
 }
 protected function mockPageTsConfig($errorFixture, $redirectError403To)
 {
     $pageTsConfigMock = $this->getMock('R3H6\\Error404page\\Configuration\\PageTsConfig', array('is', 'get'), array(), '', false);
     $pageTsConfigMock->expects($this->once())->method('get')->with('redirectError403To')->will($this->returnValue($value));
     $this->pageTsConfigManagerMock->expects($this->once())->method('getPageTsConfig')->with($errorFixture->getPid())->will($this->returnValue($pageTsConfigMock));
 }