49 lines
1.1 KiB
PHP
49 lines
1.1 KiB
PHP
<?php
|
|
session_start();
|
|
|
|
function isLoggedIn() {
|
|
return isset($_SESSION['user_id']);
|
|
}
|
|
|
|
function isAdmin() {
|
|
return isset($_SESSION['user_role']) && $_SESSION['user_role'] === 'admin';
|
|
}
|
|
|
|
function isModerator() {
|
|
return isset($_SESSION['user_role']) && ($_SESSION['user_role'] === 'admin' || $_SESSION['user_role'] === 'moderator');
|
|
}
|
|
|
|
function isEditor() {
|
|
return isset($_SESSION['user_role']) && ($_SESSION['user_role'] === 'admin' || $_SESSION['user_role'] === 'editor');
|
|
}
|
|
|
|
function requireLogin() {
|
|
if (!isLoggedIn()) {
|
|
$prefix = file_exists('includes/auth.php') ? '' : '../';
|
|
header('Location: ' . $prefix . 'login.php');
|
|
exit;
|
|
}
|
|
}
|
|
|
|
function requireAdmin() {
|
|
requireLogin();
|
|
if (!isAdmin()) {
|
|
die("Unauthorized access. Admin privileges required.");
|
|
}
|
|
}
|
|
|
|
function requireModerator() {
|
|
requireLogin();
|
|
if (!isModerator()) {
|
|
die("Unauthorized access. Moderator privileges required.");
|
|
}
|
|
}
|
|
|
|
function requireEditor() {
|
|
requireLogin();
|
|
if (!isEditor()) {
|
|
die("Unauthorized access. Editor or Admin privileges required.");
|
|
}
|
|
}
|
|
?>
|