false, 'error' => 'Unauthorized – silakan login', 'redirect' => '/index.html'], 401); } $user = $_SESSION['user']; if (!empty($allowedRoles) && !in_array($user['role'], $allowedRoles)) { jsonResponse(['success' => false, 'error' => 'Akses ditolak untuk role: ' . $user['role']], 403); } return $user; } // ── Ambil user saat ini (null jika belum login) ─────────── function currentUser(): ?array { return $_SESSION['user'] ?? null; } // ── Cek apakah sudah login (tanpa redirect) ─────────────── function isLoggedIn(): bool { return isset($_SESSION['user_id']); }