File: /homepages/29/d194883696/htdocs/firstnetworking/router.php
<?php
/**
* Router
*/
class Router
{
private $_Views;
private $_CSS;
private $_Controller;
private $_Menu;
function __construct()
{
if (isset($_GET['route'])) {
$this->_route = $_GET['route'];
//explode /
//protect against html & symbols
}
if (empty($this->_route)) {
$this->SetView("home");
}else {
$this->SetView($this->_route);
}
}
private function SetView($view){
$this->_Views = "views/".$view.".php";
if (!file_exists($this->_Views)) {
$this->_Views = "views/404.php";
$this->ViewController("Error");
$view = "error";
}else {
$this->ViewController($view);
}
$this->_CSS = "css/".$view.".css";
if (!file_exists($this->_CSS)) {
$this->_CSS = "css/header.css";
}else {
}
}
private function SetMenu()
{
$MenuClassFile = "controllers/Menu.php";
require_once($MenuClassFile);
$Menu = new Menu;
$this->_Menu = $Menu;
}
function GetPage(){
return $this->_Views;
}
function GetCSS(){
return $this->_CSS;
}
function ViewController($class){
$class = ucfirst($class);
$class = str_replace('-', "", $class);
$Controller = "controllers/".$class.".php";
if (file_exists($Controller)) {
include $Controller;
if (class_exists($class)) {
$this->_Controller = new $class;
}else {
die("Router Error: Controller Class: $class does not exist. [ViewController::RouterClass]");
}
}else {
require 'controllers/PageError.php';
$this->_Controller = new PageError;
$this->_Controller->SetErrorMessage("404 Error: Page '".$_GET['route']."' does not exist.");
}
}
function Controller(){
return $this->_Controller;
}
function Menu(){
return $this->_Menu;
}
}
?>