'Tidak terautentikasi. Silakan login.']); exit; } if ($requiredRole && $_SESSION['user_role'] !== $requiredRole) { http_response_code(403); header('Content-Type: application/json'); echo json_encode(['error' => 'Akses ditolak. Role tidak sesuai.']); exit; } } function isLoggedIn() { if (session_status() === PHP_SESSION_NONE) { session_start(); } return !empty($_SESSION['user_id']); } function currentRole() { if (session_status() === PHP_SESSION_NONE) { session_start(); } return $_SESSION['user_role'] ?? null; } ?>