page: ignore output buffer in article render
[minimedit.git] / page.inc.php
index 120fb957c2ea35b8f7ab07f56344370128823815..8eba91bdac04d80ccd3f8566197e67fe476cbee8 100644 (file)
@@ -1,17 +1,17 @@
 <?php
-$body = getoutput(@$Place);
-
 include_once 'head.inc.php';
 
 print "<header>\n";
-ob_start();
-include 'menu.inc.html';
+$menu = new ArchiveArticle('menu.inc.html');
 ob_start();
 if ($User and property_exists($User, 'login') and $User->login) {
        print '<div class="login"><p>';
-       printf('<span>Ingelogd: <b><a href="%s">%s</a></b></span>', '/login', $User->login);
-       if ($User->admin("edit $Page$Args")) {
-               $editpage = $Page.$Args;
+       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';
@@ -21,12 +21,13 @@ if ($User and property_exists($User, 'login') and $User->login) {
                        $editpage .= '.html';
                }
                if (!file_exists($editpage) or is_writable($editpage)) {
-                       print ' <a href="#edit">Wijzig</a>';
+                       print ' <a class="icon icon-edit" href="#edit" title="wijzig">&#x270D;</a>';
                }
        }
        print "</p></div>\n";
 }
-$nav = getoutput(['login' => ob_get_clean()]);
+$menu->place['login'] = ob_get_clean();
+$nav = $menu->render();
 
 $nav = preg_replace_callback('{<a href="([^"]+)">(.*?)</a>}', function ($m) {
        $request = $_SERVER['REQUEST_URI'];
@@ -36,20 +37,20 @@ $nav = preg_replace_callback('{<a href="([^"]+)">(.*?)</a>}', function ($m) {
 print $nav;
 print "</header>\n\n";
 
-print $body;
+print $Page->render();
 
 register_shutdown_function(function () {
        print '<footer>';
        @include 'footer.inc.html';
        print "</footer>\n";
 
-       global $User, $Page, $Args;
-       if ($User and $User->admin("edit $Page$Args")) {
+       global $User, $Page;
+       if ($User and $User->admin("edit {$Page->link}")) {
                $ckesrc = '/lib/ckeditor'; # local install
                if (!file_exists(DOCROOT . $ckesrc)) {
-                       $ckesrc = '//cdn.ckeditor.com/4.7.3/full-all'; # remote fallback
+                       $ckesrc = '//cdn.ckeditor.com/4.15.1/full-all'; # remote fallback
                }
-               printf('<script src="%s"></script>'."\n", "$ckesrc/ckeditor.js");
+               printf("<script>var ckesrc = '%s'</script>\n", "$ckesrc/ckeditor.js");
                print '<script src="/edit/page.js"></script>'."\n";
        }