thumb: indicate 1 month caching of generated output
[minimedit.git] / page.inc.php
index 654f37fa7ebeee2a412b2348fc3bab61d1ac4d88..8298c6d4482ca806b747380433696f0634334cbf 100644 (file)
@@ -1,39 +1,56 @@
 <?php
-$body = ob_get_clean();
+$body = getoutput(@$Place);
 
-include_once './head.inc.php';
+include_once 'head.inc.php';
 
 print "<header>\n";
 ob_start();
-include './menu.html';
-$nav = ob_get_clean();
+include 'menu.html';
+ob_start();
+if ($User) {
+       print '<div class="login"><p>';
+       printf('<span>Ingelogd: <b><a href="%s">%s</a></b></span>', '/login', $User->login);
+       if ($User->admin) {
+               $editpage = $Page.$Args;
+               if (is_dir($editpage)) {
+                       if (file_exists("$editpage/index.html")) {
+                               $editpage .= '/index.html';
+                       }
+               }
+               else {
+                       $editpage .= '.html';
+               }
+               if (!file_exists($editpage) or is_writable($editpage)) {
+                       print ' <a href="#edit">Wijzig</a>';
+               }
+       }
+       print "</p></div>\n";
+}
+$nav = getoutput(['login' => ob_get_clean()]);
+
 $nav = preg_replace_callback('{<a href="([^"]+)">(.*?)</a>}', function ($m) {
        $request = $_SERVER['REQUEST_URI'];
        $html = $request == $m[1] ? $m[2] : $m[0]; # text or full link
        return $m[1] == substr($request, 0, strlen($m[1])) ? "<b>$html</b>" : $html;
 }, $nav);
-if (isset($User)) {
-       $nav = preg_replace('{\s*<li class="logout">.*?</li>}', '', $nav);
-       $nav = str_replace('[[login]]', $User['name'], $nav);
-}
-else {
-       $nav = preg_replace('{\s*<li class="login">.*?</li>}', '', $nav);
-}
 print $nav;
 print "</header>\n\n";
 
 print $body;
 
-$footinc = realpath('footer.html'); # cwd lost during shutdown
 register_shutdown_function(function () {
        print '<footer>';
-       @include $GLOBALS['footinc'];
+       @include 'footer.html';
        print "</footer>\n";
 
        global $User;
-       if (isset($User) and $User['admin']) {
-               print '<script src="//cdn.ckeditor.com/4.7.3/full-all/ckeditor.js"></script>'."\n";
-               print '<script src="/edit.js"></script>'."\n";
+       if ($User and $User->admin) {
+               $ckesrc = '/lib/ckeditor'; # local install
+               if (!file_exists(DOCROOT . $ckesrc)) {
+                       $ckesrc = '//cdn.ckeditor.com/4.7.3/full-all'; # remote fallback
+               }
+               printf('<script src="%s"></script>'."\n", "$ckesrc/ckeditor.js");
+               print '<script src="/edit/page.js"></script>'."\n";
        }
 
        print "</body></html>\n";