page: stable include path (site then minimedit root) v3.5
authorMischa POSLAWSKY <perl@shiar.org>
Wed, 11 Jul 2018 19:46:34 +0000 (21:46 +0200)
committerMischa POSLAWSKY <perl@shiar.org>
Sat, 14 Jul 2018 12:52:59 +0000 (14:52 +0200)
Uniform behaviour, preferring site-specific overrides and falling back
to shared files (without requiring symlinks).

page.inc.php
page.php

index c42d5d6e8f98da0a636e8813e7c1302815a90347..80f773d30f0395fc40d4411c78d9e85d9e5dc10a 100644 (file)
@@ -1,11 +1,11 @@
 <?php
 $body = getoutput(@$Place);
 
-include_once DOCROOT.'head.inc.php';
+include_once 'head.inc.php';
 
 print "<header>\n";
 ob_start();
-include DOCROOT.'menu.html';
+include 'menu.html';
 ob_start();
 if (!empty($User)) {
        print '<div class="login"><p>';
@@ -46,7 +46,7 @@ print $body;
 
 register_shutdown_function(function () {
        print '<footer>';
-       @include DOCROOT.'footer.html';
+       @include 'footer.html';
        print "</footer>\n";
 
        global $User;
index 33a1f4440ed5469e3aee9e7be5c27913606053f2..bb53a94a407306a04c99c13c3102a40562b2417c 100644 (file)
--- 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]);
 }
 
@@ -169,7 +170,7 @@ $Place += [
 if (!$found) {
        # no resulting output
        http_response_code(404);
-       @require "./404.html";
+       @require '404.html';
 }
 
 include_once 'page.inc.php';