X-Git-Url: http://git.shiar.net/minimedit.git/blobdiff_plain/bb1eabd001954b5f9eb58b61f850a0cea111f87a..eccaf81eef4c1528875503aa0cdbea130d755c5a:/page.php diff --git a/page.php b/page.php index 33a1f44..0707426 100644 --- a/page.php +++ b/page.php @@ -66,14 +66,15 @@ function getoutput($blocks = []) # custom error handling -define('DOCROOT', getcwd().'/'); +define('DOCROOT', getcwd()); +set_include_path(implode(PATH_SEPARATOR, [ DOCROOT, __DIR__ ])); function fail($error) { http_response_code(500); include_once 'page.inc.php'; ob_start(); - require_once DOCROOT.'500.html'; + require_once '500.html'; print getoutput(['debug' => $error]); } @@ -132,6 +133,23 @@ while (TRUE) { } } +$staticpage = NULL; +if (file_exists("$Page$Args.html")) { + $staticpage = "$Page$Args.html"; + if (is_link($staticpage)) { + $target = readlink($staticpage); + header("HTTP/1.1 302 Shorthand"); + header("Location: $target"); + exit; + } +} +elseif (file_exists("$Page$Args/index.html")) { + $staticpage = "$Page$Args/index.html"; +} +elseif (!empty($User['admin'])) { + $staticpage = (file_exists("$Page/template.html") ? "$Page/template.html" : 'template.html'); +} + # load static contents ob_start(); # page body @@ -139,14 +157,8 @@ ob_start(); # inner html print '
'."\n\n"; $found = FALSE; -if (file_exists("$Page$Args.html")) { - $found = include "./$Page$Args.html"; -} -elseif (file_exists("$Page$Args/index.html")) { - $found = include "./$Page$Args/index.html"; -} -elseif (!empty($User['admin'])) { - $found = include (file_exists("$Page/template.html") ? "$Page/template.html" : './template.html'); +if (isset($staticpage)) { + $found = include "./$staticpage"; } print "
\n\n"; @@ -169,7 +181,7 @@ $Place += [ if (!$found) { # no resulting output http_response_code(404); - @require "./404.html"; + @require '404.html'; } include_once 'page.inc.php';