File manager - Edit - /home/webapp69.cm.in.th/u69319090039/Shop39/public/assets/app/Controllers/Admin/AdminReviewController.php
Back
<?php class AdminReviewController extends Controller { public function index(): void { Auth::requireAdmin(); $db = Database::getInstance(); $status = $_GET['status'] ?? 'all'; $where = []; $params = []; if ($status !== 'all') { $where[] = "r.status = :status"; $params['status'] = $status; } $whereSql = !empty($where) ? "WHERE " . implode(" AND ", $where) : ""; $sql = "SELECT r.*, u.full_name, u.email, p.title as product_title, p.slug as product_slug, o.order_number FROM reviews r JOIN users u ON r.user_id = u.id JOIN products p ON r.product_id = p.id JOIN orders o ON r.order_id = o.id {$whereSql} ORDER BY r.id DESC"; $stmt = $db->prepare($sql); $stmt->execute($params); $reviews = $stmt->fetchAll(); $this->render('admin/reviews/index', [ 'title' => 'จัดการรีวิวสินค้า', 'reviews' => $reviews, 'currentStatus' => $status ], 'admin'); } public function updateStatus(string $id): void { $this->validateCsrf(); Auth::requireAdmin(); $db = Database::getInstance(); $reviewId = (int)$id; $status = $_POST['status'] ?? 'approved'; if (!in_array($status, ['pending', 'approved', 'rejected', 'hidden'])) { Session::setFlash('danger', 'สถานะไม่ถูกต้อง'); $this->redirect('admin/reviews'); return; } $stmt = $db->prepare("UPDATE reviews SET status = :status WHERE id = :id"); $stmt->execute(['status' => $status, 'id' => $reviewId]); Session::setFlash('success', 'อัปเดตสถานะรีวิวเรียบร้อยแล้ว'); $this->redirect('admin/reviews'); } }
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.25 |
proxy
|
phpinfo
|
Settings