delete($emailId)) { $message = "邮件删除成功"; } else { $error = "删除失败"; } } // 处理标记已读 if (isset($_GET['mark_read'])) { $emailId = (int)$_GET['mark_read']; if ($emailRepo->markAsRead($emailId)) { $message = "邮件已标记为已读"; } } // 获取邮件列表 $isAdmin = $_SESSION['is_admin'] ?? false; $userId = $_SESSION['user_id']; // 分页参数 $page = isset($_GET['page']) ? max(1, (int)$_GET['page']) : 1; $perPage = 20; $offset = ($page - 1) * $perPage; // 获取邮件 if ($isAdmin) { $emails = $emailRepo->getAll($perPage, $offset); $totalEmails = $emailRepo->getCount(); } else { $emails = $emailRepo->getInbox($userId, $perPage, $offset); $totalEmails = $emailRepo->getCount($userId); } $totalPages = ceil($totalEmails / $perPage); ?>