auth: admin permissions per function
[minimedit.git] / page.inc.php
index 1253338db4707fe6f56e4f6ff424c628242ad678..c93fcbcd9b68898073c569bac9eb6522b0af93ab 100644 (file)
@@ -7,10 +7,10 @@ print "<header>\n";
 ob_start();
 include 'menu.html';
 ob_start();
-if (!empty($User)) {
+if ($User) {
        print '<div class="login"><p>';
-       printf('<span>Ingelogd: <b><a href="%s">%s</a></b></span>', '/login', $User['name']);
-       if (!empty($User['admin'])) {
+       printf('<span>Ingelogd: <b><a href="%s">%s</a></b></span>', '/login', $User->login);
+       if ($User->admin('edit')) {
                $editpage = $Page.$Args;
                if (is_dir($editpage)) {
                        if (file_exists("$editpage/index.html")) {
@@ -33,12 +33,6 @@ $nav = preg_replace_callback('{<a href="([^"]+)">(.*?)</a>}', function ($m) {
        $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 (!empty($User)) {
-       $nav = preg_replace('{\s*<li class="logout">.*?</li>}', '', $nav);
-}
-else {
-       $nav = preg_replace('{\s*<li class="login">.*?</li>}', '', $nav);
-}
 print $nav;
 print "</header>\n\n";
 
@@ -50,7 +44,7 @@ register_shutdown_function(function () {
        print "</footer>\n";
 
        global $User;
-       if (!empty($User['admin'])) {
+       if ($User and $User->admin('edit')) {
                $ckesrc = '/lib/ckeditor'; # local install
                if (!file_exists(DOCROOT . $ckesrc)) {
                        $ckesrc = '//cdn.ckeditor.com/4.7.3/full-all'; # remote fallback