/** * Calculates the cache identifier for a given error. * * @param Error $error * @return string sha1 */ public function calculateCacheIdentifier(Error $error) { $parts = array(); $parts[] = $error->getHost(); $parts[] = $error->getLanguage(); $parts[] = $error->getStatusCode(); $parts[] = join(',', (array) $this->frontendUser->getUserGroups()); if ($error->getStatusCode() === Error::STATUS_CODE_FORBIDDEN) { $parts[] = $error->getCurrentUrl(); } return sha1(join('---', $parts)); }
/** * [find404PageForError description] * @param Error $error [description] * @return \R3H6\Error404page\Domain\Model\Page|null */ public function find404PageForError(Error $error) { $doktype = (int) $this->extensionConfiguration->get('doktypeError404page'); $page = $this->findFirstByHostAndDoktype($error->getHost(), $doktype); if ($page === null) { $page = $this->findFirstWithoutHostByDoktype($doktype); } return $page; }