/** * @see \Ableron\Core\Controller\AbstractController::init() */ protected function init() { parent::init(); // set template $this->setTemplateFile('/Core/Pages/Backend/Templates/AccessDeniedPage.tpl'); // set HTTP response status code Application::getResponseHandler()->getResponse()->setStatusCode(403); }
/** * @see \Ableron\Core\Controller\AbstractController::init() */ protected function init() { parent::init(); // set template $this->setTemplateFile('/Core/Pages/Frontend/Templates/ResourceNotFoundPage.tpl'); // set HTTP response status code Application::getResponseHandler()->getResponse()->setStatusCode(404); }
/** * @see \Ableron\Core\Session\SessionHandlerInterface::persist() */ public function persist(SessionEntity $session) { // update session $this->update($session); // in case the given entity is already managed, this operation will simply be ignored Application::getPersistenceManager()->getEntityManager()->persist($session); // set session cookie Application::getResponseHandler()->getResponse()->getCookies()->set(ABLERON_PARAM_SESSION_ID, new HttpCookie(ABLERON_PARAM_SESSION_ID, $session->getId())); }
/** * @see \Ableron\Core\Controller\AbstractController::init() */ protected function init() { parent::init(); // by default authentication is required for controllers of the backend $this->setAuthenticationRequired(true); // set login URL $this->setAuthenticationLoginUrl(EnvironmentUtil::getInternalUrl('/login')); // set permissions required by default for backend controllers $this->getRequiredPermissions()->add('Core.System.Backend.canAccessBackend'); // indicate backend responses to not be cachable Application::getResponseHandler()->getResponse()->setCachable(false); }
/** * @see \Ableron\Core\Controller\ControllerInterface::processRequest() */ public function processRequest(HttpRequest $request) { // set request to process $this->request = $request; // process request try { $this->init(); $this->checkAccessPermissions(); $this->run(); } catch (RedirectRequiredException $e) { Application::getResponseHandler()->sendRedirect($e->getRedirectUri()); } catch (AccessDeniedException $e) { Application::getRequestHandler()->isFrontendRequest() ? new FrontendAccessDeniedPage($this->request) : new BackendAccessDeniedPage($this->request); } catch (SystemException $e) { // log exception Application::getLogManager()->logException('Unable to process request', $e); // stop script execution Application::exitWithInternalServerError(); } }
/** * @see \Ableron\Core\Controller\Action\ActionInterface::onExecuteSuccessful() */ public function onExecuteSuccessful() { Application::getResponseHandler()->sendRedirect(EnvironmentUtil::getInternalUrl('/')); }
/** * Displays a template. * * @param string $sourceTemplateFile The file containing the source template to display * @param \Ableron\Lib\Net\InternetMediaType $contentType Content type of the template to display * @throws \Ableron\Core\Exception\SystemException * @return void */ public function display($sourceTemplateFile, InternetMediaType $contentType) { // check whether template exists if (!is_file($sourceTemplateFile)) { throw new SystemException(sprintf('Template file does not exist: %s', $sourceTemplateFile), 0, E_USER_ERROR, __FILE__, __LINE__); } // adjust response Application::getResponseHandler()->getResponse()->setContentType($contentType); Application::getResponseHandler()->getResponse()->setContent($this->render($sourceTemplateFile)); }