Example #1
0
 /**
  * Error handler
  *
  * @param  \Exception $exception
  * @return void
  */
 public function error(\Exception $exception)
 {
     if ($exception instanceof \Phire\Exception && $exception->isInstallError()) {
         Response::redirect(BASE_PATH . APP_URI . '/install');
         exit;
     }
     // Load assets, if they haven't been loaded already
     $this->loadAssets($_SERVER['DOCUMENT_ROOT'] . APP_PATH . '/data/themes/default', 'default');
     $this->loadAssets(__DIR__ . '/../data/assets', 'phire');
     sort($this->assets['js']);
     sort($this->assets['css']['link']);
     sort($this->assets['css']['import']);
     // Load any custom/override assets
     $this->loadAssets(CONTENT_ABS_PATH . '/phire/assets', 'phire-custom', true);
     $view = new View(__DIR__ . '/../view/phire/exception.phtml');
     $view->title = 'Application Error';
     $view->systemTitle = 'Phire CMS';
     $view->assets = $this->assets;
     $view->phireUri = BASE_PATH . APP_URI;
     $view->basePath = BASE_PATH;
     $view->base_path = BASE_PATH;
     $view->contentPath = BASE_PATH . CONTENT_PATH;
     $view->content_path = BASE_PATH . CONTENT_PATH;
     $view->message = htmlentities(strip_tags($exception->getMessage()), ENT_QUOTES, 'UTF-8');
     $response = new Response();
     $response->setBody((string) $view);
     $response->send();
 }