<!--?php
phpinfo();
?--> ==$0
<?php
class Engine {
private $_page_file = null;
private $_error = null;
public function __construct() {
if (isset($_GET["page"])) { //Если открыта какая-нибудь страница
//Записываем в переменную имя открытого файла (из GET запроса)
$this->_page_file = $_GET["page"];
//Небольшая защита
$this->_page_file = str_replace(".", null, $_GET["page"]);
$this->_page_file = str_replace("/", null, $_GET["page"]);
$this->_page_file = str_replace("", null, $_GET["page"]);
//Проверяем, если шаблон не существует
if (!file_exists("templates/main/" . $this->_page_file . ".php")) {
$this->_setError("Шаблон не найден"); //Ошибку на экран
$this->_page_file = "main"; //Открываем главную страницу
}
}
//Если в GET запросе нет переменной page, то открываем главную
else $this->_page_file = "main";
}
//Записывает ошибку
private function _setError($error) {
$this->_error = $error;
}
//Возвращает текст ошибки
public function getError() {
return $this->_error;
}
//Возвращает текст открытой страницы
public function getContentPage() {
return file_get_contents("templates/main/" . $this->_page_file . ".php");
}
//Возвращает заголовок открытой страницы
public function getTitle() {
switch ($this->_page_file) {
case "main":
return "Главная страница";
break;
case "about":
return "Про портал";
break;
case "news":
return "Новости";
break;
case "polls":
return "Опрос";
break;
case "login":
return "Вход";
break;
default:
break;
}
}
}
?>
include_once "class/Engine.php"; //Подключаем класс-движка
$engine = new Engine(); //Создаем объект класса Engine
include_once "templates/main/header.php"; //Подключаем шапку сайта
if ($engine->getError()) { //Если возникли ошибки, выводим сообщение на экран
echo "<div style='border:1px solid red;padding:10px;margin: 10px auto;
width: 500px;'>" . $engine->getError() . "</div>";
}
echo $engine->getContentPage(); //Выводим страницы сайта
include_once "templates/main/footer.php";//Подключаем подвал сайта