/**
  * @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();
     }
 }
Example #6
0
 /**
  * @see \Ableron\Core\Controller\Action\ActionInterface::onExecuteSuccessful()
  */
 public function onExecuteSuccessful()
 {
     Application::getResponseHandler()->sendRedirect(EnvironmentUtil::getInternalUrl('/'));
 }
Example #7
0
 /**
  * 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));
 }