daux.io/libs/Server/ErrorPage.php

45 regels
1.0 KiB
PHP

2015-04-22 12:23:57 +02:00
<?php namespace Todaymade\Daux\Server;
use Todaymade\Daux\SimplePage;
use Todaymade\Daux\Template;
class ErrorPage extends SimplePage
{
const NORMAL_ERROR_TYPE = 'NORMAL_ERROR';
const MISSING_PAGE_ERROR_TYPE = 'MISSING_PAGE_ERROR';
const FATAL_ERROR_TYPE = 'FATAL_ERROR';
private $params;
2015-04-23 00:32:30 +02:00
public function __construct($title, $content, $params)
{
parent::__construct($title, $content);
$this->params = $params;
}
2015-04-23 00:32:30 +02:00
public function display()
{
http_response_code(404);
parent::display();
}
2015-04-23 00:32:30 +02:00
public function getContent()
{
if (is_null($this->html)) {
2015-04-23 00:32:30 +02:00
$this->html = $this->generatePage();
}
return $this->html;
}
2015-04-23 00:32:30 +02:00
private function generatePage()
{
$params = $this->params;
$page['title'] = $this->title;
$page['content'] = $this->content;
2015-04-23 10:24:50 +02:00
$template = new Template($params['templates'], $params['theme']['templates']);
return $template->render('error', ['page' => $page, 'params' => $params]);
}
}