admin/comments.php
(开头部分) 10KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
<?php
require_once __DIR__ . '/../core/Session.php';
require_once __DIR__ . '/../core/Security.php';
require_once __DIR__ . '/../core/Logger.php';
require_once __DIR__ . '/../core/Pagination.php';
require_once __DIR__ . '/../app/models/Comment.php';
require_once __DIR__ . '/../app/models/Post.php';
Session::start();
Session::requireLogin();
$user = Session::getUser();
$commentModel = new Comment();
$status = $_GET['status'] ?? '';
$page = max(1, (int)($_GET['page'] ?? 1));
$where = "1=1";
$params = [];
if ($status) {
$where = "status = ?";
$params = [$status];
}
$result = $commentModel->paginate($page, PER_PAGE, $where, $params, 'created_at', 'DESC');
$comments = $result['items'];
$pagination = $result['pagination'];
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$action = $_POST['action'] ?? '';
$id = (int)($_POST['id'] ?? 0);
$csrfToken = $_POST['csrf_token'] ?? '';
if (!Security::verifyCSRFToken($csrfToken)) {
Session::setFlash('error', '安全验证失败');
} else {
switch ($action) {
case 'approve':
$commentModel->approve($id);
Logger::userAction('comment_approve', "审核通过评论ID: {$id}");
Session::setFlash('success', '评论已审核通过');
break;
case 'spam':
$commentModel->markAsSpam($id);
Logger::userAction('comment_spam', "标记垃圾评论ID: {$id}");
Session::setFlash('success', '已标记为垃圾评论');
break;
case 'trash':
$commentModel->moveToTrash($id);
Logger::userAction('comment_trash', "移至回收站评论ID: {$id}");
Session::setFlash('success', '评论已移至回收站');
break;
case 'delete':
$commentModel->delete($id);
Logger::userAction('comment_delete', "删除评论ID: {$id}");
Session::setFlash('success', '评论已删除');
后面还有 155 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。
