'No page on rootlevel found', self::PAGE_NOT_FOUND => 'The requested page does not exist', self::INVALID_LINK_PAGE => 'Page of type "Link" could not be resolved properly', self::RENDERING_INSTRUCTIONS_NOT_FOUND => 'No TypoScript record found', self::RENDERING_INSTRUCTIONS_NOT_CONFIGURED => 'The page is not configured', self::INVALID_PAGE_ARGUMENTS => 'Page Arguments could not be resolved', self::CACHEHASH_COMPARISON_FAILED => 'Request parameters could not be validated (&cHash comparison failed)', self::CACHEHASH_EMPTY => 'Request parameters could not be validated (&cHash empty)', self::LANGUAGE_NOT_AVAILABLE => 'Page is not available in the requested language', self::LANGUAGE_NOT_AVAILABLE_STRICT_MODE => 'Page is not available in the requested language (strict)', self::LANGUAGE_AND_FALLBACKS_NOT_AVAILABLE => 'Page is not available in the requested language (fallbacks did not apply)', self::LANGUAGE_DEFAULT_NOT_AVAILABLE => 'Page is not available in default language', self::ACCESS_DENIED_GENERAL => 'The requested page was not accessible', self::ACCESS_DENIED_PAGE_NOT_RESOLVED => 'ID was not an accessible page', self::ACCESS_DENIED_SUBSECTION_NOT_RESOLVED => 'Subsection was found and not accessible', self::ACCESS_DENIED_HOST_PAGE_MISMATCH => 'ID was outside the domain', self::ACCESS_DENIED_INVALID_PAGETYPE => 'The requested page type cannot be rendered', self::DATABASE_CONNECTION_FAILED => 'Database Connection failed', self::ROOTLINE_BROKEN => 'The requested page did not have a proper connection to the tree-root', ]; /** * @param string $reasonCode a valid reason code (see above) */ public function getMessageForReason(string $reasonCode): string { if (!isset($this->messages[$reasonCode])) { throw new \InvalidArgumentException('No message for page access reason code "' . $reasonCode . '" found.', 1529299833); } return $this->messages[$reasonCode]; } }