prepare('SELECT id, role, account_id, password FROM admin_users WHERE username = ? LIMIT 1'); $st->execute([$username]); $row = $st->fetch(); if ($row && password_verify($password, $row['password'])) { $_SESSION['admin_id'] = $row['id']; $_SESSION['admin_user'] = $username; $_SESSION['admin_role'] = $row['role']; $_SESSION['admin_account_id'] = $row['account_id']; return true; } return false; } function auth_logout(): void { auth_start(); session_destroy(); header('Location: /login.php'); exit; } function current_user(): string { return $_SESSION['admin_user'] ?? ''; } function is_admin(): bool { return ($_SESSION['admin_role'] ?? '') === 'admin'; } function current_account_id(): ?int { $id = $_SESSION['admin_account_id'] ?? null; return $id ? (int)$id : null; }