diff --git a/init.php b/init.php index b8f06b1..cf45122 100644 --- a/init.php +++ b/init.php @@ -36,8 +36,7 @@ ('Edit CSS', '/settings/css', 'code', 'sidebar', 'admin'), ('Edit JS', '/settings/js', 'code', 'sidebar', 'admin'), - ('Copyright © 2025 Your Company.', '/', 'building', 'footer', ''), - ('Edit this page', '?edit=1', 'edit', 'footer', 'admin')" + ('Copyright © 2025', '/', 'building', 'footer', '')" ); } @@ -157,12 +156,32 @@ { global $c; - $varUser = UserAuth::getUser(); - $varRegex = [ + if (UserAuth::has("is_admin")) + return true; + + $varUser = UserAuth::getUser(); + $strUsername = $varUser["username"] ?? null; + $varRegex = [ ["/user/i", ($varUser == null)], ["/admin/i", (!UserAuth::has("is_admin"))], ]; + // Support arrays with username and visibility keys: + if (is_array($strVisibility)) + { + if (array_key_exists("username", $strVisibility)) + if ($strVisibility["username"] == $strUsername) + return true; + + if (!array_key_exists("visibility", $strVisibility)) + return false; + + $strVisibility = $strVisibility["visibility"]; + } + + if (preg_match("/{$strUsername}/i", $strVisibility)) return true; + if (preg_match("/(every|any|all)/i", $strVisibility)) return true; + $intExit = 0; foreach ($varRegex as $re) diff --git a/lib/PostRender.php b/lib/PostRender.php index e4b70aa..41b02ad 100644 --- a/lib/PostRender.php +++ b/lib/PostRender.php @@ -31,9 +31,9 @@