edit/head: move admin preparation to separate include
[minimedit.git] / page.inc.php
index dcb0573223a06f4f9e6601a857ef2e1314b384a7..3559e63b07fafff9f548411e8ee4f41c8db75daf 100644 (file)
@@ -1,10 +1,34 @@
 <?php
-include_once './head.inc.php';
+include_once 'head.inc.php';
 
 print "<header>\n";
+$menu = new ArchiveArticle('menu.inc.html');
 ob_start();
-include './menu.html';
-$nav = ob_get_clean();
+if ($User and property_exists($User, 'login') and $User->login) {
+       print '<div class="login"><p>';
+       printf('<span title="ingelogd">%s <a href="%s">%s</a></span>',
+               '<span class="icon icon-user">&#x1F464;</span>',
+               '/login', $User->login
+       );
+       if ($User->admin("edit {$Page->link}")) {
+               $editpage = $Page->link;
+               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 class="icon icon-edit" href="#edit" title="wijzig">&#x270D;</a>';
+               }
+       }
+       print "</p></div>\n";
+}
+$menu->place['login'] = ob_get_clean();
+$nav = $menu->render();
+
 $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
@@ -13,14 +37,12 @@ $nav = preg_replace_callback('{<a href="([^"]+)">(.*?)</a>}', function ($m) {
 print $nav;
 print "</header>\n\n";
 
-print '<div class="article">'."\n\n";
+print $Page->render();
 
 register_shutdown_function(function () {
-       print "</div>\n\n";
-       include 'foot.inc.php';
+       print '<footer>';
+       @include 'footer.inc.html';
+       print "</footer>\n";
        print "</body></html>\n";
 });
 
-include "./$Page.html";
-if (file_exists("$Page.php")) include_once("./$Page.php");
-