2 error_reporting(E_ALL);
3 ini_set('display_errors', TRUE);
5 set_exception_handler(function ($error) {
6 http_response_code(500);
7 include_once 'page.inc.php';
9 require_once './500.html';
10 print str_replace('[[debug]]', $error, ob_get_clean());
13 include_once 'auth.inc.php';
14 $Edit = isset($_GET['edit']);
16 # distinguish subpage Args from topmost Page script
19 $Page = preg_replace('/\?.*/', '', $_SERVER['REQUEST_URI']);
20 $Page = urldecode(trim($Page, '/')) ?: 'index';
22 if (file_exists("$Page.php")) {
26 $up = strrpos($Page, '/');
27 $Args = substr($Page, $up) . $Args;
28 $Page = substr($Page, 0, $up);
34 # load static contents
36 ob_start(); # page body
37 ob_start(); # inner html
38 print '<div class="static">'."\n\n";
41 if (file_exists("$Page$Args/index.html")) {
42 $found = include "./$Page$Args/index.html";
44 elseif (file_exists("$Page$Args.html")) {
45 $found = include "./$Page$Args.html";
50 # execute dynamic code
53 $found |= require "./$Page.php";
58 include_once 'page.inc.php';
62 if (isset($User) and $User['admin']) {
63 require './template.html';
66 http_response_code(404);
69 $url = htmlspecialchars($_SERVER['REQUEST_URI']);
70 print str_replace('[[url]]', $url, ob_get_clean());