<?php require(dirname(__FILE__) . '/includes/init.inc.php'); require(dirname(__FILE__) . '/includes/init.web.inc.php'); // Prepare the request URI $uri = rtrim(dirname($_SERVER['SCRIPT_NAME']), '/'); $uri = '/' . trim(str_replace($uri, '', $_SERVER['REQUEST_URI']), '/'); $uri = urldecode($uri); // Which route is it? foreach ($routes as $action => $rule) { if (preg_match('~^'.$rule.'$~i', $uri, $params)) { include('includes/views.inc.php'); $r = eval('return views::' . $action . '($params);'); switch ($r[0]) { case 0: exit; case 404: break; default: if ($r > 9000) die('<h1>It\'s over 9000!</h1>'); header("HTTP/1.1 500 Internal Server Error", true, 500); exit('<h1>500 Internal Server Error</h1>'); } } } // No match? Send 404! header($_SERVER['SERVER_PROTOCOL'] . " 404 Not Found"); if (isset($r[1])) $tpl->assign('type', $r[1]); $tpl->display('error404.html');