65 lines
1.5 KiB
PHP
65 lines
1.5 KiB
PHP
<?php
|
|
|
|
// --- Helper Functions (Extracted from header.php) ---
|
|
|
|
function isLoggedIn() {
|
|
return isset($_SESSION['user_id']);
|
|
}
|
|
|
|
function isSuperAdmin() {
|
|
return isset($_SESSION['is_super_admin']) && $_SESSION['is_super_admin'] == 1;
|
|
}
|
|
|
|
function isAdmin() {
|
|
if (isSuperAdmin()) return true;
|
|
if (isset($_SESSION['user_role']) && strtolower($_SESSION['user_role']) === 'admin') return true;
|
|
if (isset($_SESSION['role']) && strtolower($_SESSION['role']) === 'admin') return true;
|
|
return false;
|
|
}
|
|
|
|
function redirect($path) {
|
|
if (!headers_sent()) {
|
|
header("Location: $path");
|
|
} else {
|
|
echo "<script>window.location.href='$path';</script>";
|
|
}
|
|
exit;
|
|
}
|
|
|
|
// Permission helpers
|
|
function canView($page = null) {
|
|
if (isAdmin()) return true;
|
|
if ($page) {
|
|
return $_SESSION['permissions'][$page]['view'] ?? false;
|
|
}
|
|
return $_SESSION['can_view'] ?? false;
|
|
}
|
|
|
|
function canAdd($page = null) {
|
|
if (isAdmin()) return true;
|
|
if ($page) {
|
|
return $_SESSION['permissions'][$page]['add'] ?? false;
|
|
}
|
|
return $_SESSION['can_add'] ?? false;
|
|
}
|
|
|
|
function canEdit($page = null) {
|
|
if (isAdmin()) return true;
|
|
if ($page) {
|
|
return $_SESSION['permissions'][$page]['edit'] ?? false;
|
|
}
|
|
return $_SESSION['can_edit'] ?? false;
|
|
}
|
|
|
|
function canDelete($page = null) {
|
|
if (isAdmin()) return true;
|
|
if ($page) {
|
|
return $_SESSION['permissions'][$page]['delete'] ?? false;
|
|
}
|
|
return $_SESSION['can_delete'] ?? false;
|
|
}
|
|
|
|
function canViewInternal() {
|
|
return canView('internal');
|
|
}
|