'error', 'message' => 'Sesi habis, silakan login kembali.']); exit; } header('Location: login.php'); exit; } } function requireSuperAdmin() { requireLogin(); if ($_SESSION['user']['role'] !== 'admin') { http_response_code(403); echo json_encode(['status' => 'error', 'message' => 'Akses ditolak. Hanya admin.']); exit; } } function isSuperAdmin() { return ($_SESSION['user']['role'] ?? '') === 'admin'; } function currentUser() { return $_SESSION['user'] ?? null; } function esc($conn, $v) { return mysqli_real_escape_string($conn, trim((string)$v)); }