File manager - Edit - /home/webapp69.cm.in.th/u69319090039/Shop39/public/assets/app/Views/admin/reviews/index.php
Back
<div class="container-fluid py-4"> <div class="d-flex justify-content-between align-items-center mb-4"> <h3 class="fw-bold m-0"><i class="bi bi-star-half text-warning me-2"></i>จัดการรีวิวสินค้า (Review Moderation)</h3> </div> <!-- Status Filters --> <div class="card border-0 shadow-sm rounded-3 mb-4"> <div class="card-body p-3"> <div class="d-flex gap-2 flex-wrap"> <a href="<?= APP_URL ?>/admin/reviews?status=all" class="btn btn-sm <?= $currentStatus === 'all' ? 'btn-primary' : 'btn-outline-secondary' ?> rounded-pill px-3">ทั้งหมด</a> <a href="<?= APP_URL ?>/admin/reviews?status=pending" class="btn btn-sm <?= $currentStatus === 'pending' ? 'btn-warning' : 'btn-outline-warning' ?> rounded-pill px-3">รออนุมัติ (Pending)</a> <a href="<?= APP_URL ?>/admin/reviews?status=approved" class="btn btn-sm <?= $currentStatus === 'approved' ? 'btn-success' : 'btn-outline-success' ?> rounded-pill px-3">อนุมัติแล้ว (Approved)</a> <a href="<?= APP_URL ?>/admin/reviews?status=rejected" class="btn btn-sm <?= $currentStatus === 'rejected' ? 'btn-danger' : 'btn-outline-danger' ?> rounded-pill px-3">ปฏิเสธ (Rejected)</a> <a href="<?= APP_URL ?>/admin/reviews?status=hidden" class="btn btn-sm <?= $currentStatus === 'hidden' ? 'btn-secondary' : 'btn-outline-secondary' ?> rounded-pill px-3">ซ่อนไว้ (Hidden)</a> </div> </div> </div> <!-- Reviews Table --> <div class="card border-0 shadow-sm rounded-3 overflow-hidden"> <div class="table-responsive"> <table class="table table-hover align-middle mb-0"> <thead class="table-light"> <tr> <th class="ps-4">ID</th> <th>ผู้รีวิว</th> <th>สินค้า</th> <th>ออเดอร์</th> <th>คะแนน</th> <th>ความคิดเห็น</th> <th>สถานะ</th> <th>วันที่</th> <th class="text-end pe-4">จัดการ</th> </tr> </thead> <tbody> <?php if (empty($reviews)): ?> <tr> <td colspan="9" class="text-center py-5 text-muted">ไม่พบข้อมูลรีวิวสินค้า</td> </tr> <?php else: ?> <?php foreach ($reviews as $rev): ?> <tr> <td class="ps-4 fw-bold">#<?= $rev['id'] ?></td> <td> <div class="fw-bold"><?= Security::e($rev['full_name']) ?></div> <div class="small text-muted"><?= Security::e($rev['email']) ?></div> </td> <td> <a href="<?= APP_URL ?>/product/<?= Security::e($rev['product_slug']) ?>" target="_blank" class="text-decoration-none fw-semibold"> <?= Security::e($rev['product_title']) ?> </a> </td> <td><span class="badge bg-light text-dark border">#<?= Security::e($rev['order_number']) ?></span></td> <td> <div class="text-warning small"> <?php for ($i = 1; $i <= 5; $i++): ?> <i class="bi <?= $i <= $rev['rating'] ? 'bi-star-fill' : 'bi-star' ?>"></i> <?php endfor; ?> </div> </td> <td> <div class="small text-dark" style="max-width: 250px;"> <?= Security::e($rev['comment'] ?? 'ไม่มีข้อความ') ?> </div> <?php if ($rev['verified_purchase']): ?> <span class="badge bg-success-subtle text-success border border-success-subtle rounded-pill mt-1" style="font-size: 0.7rem;"><i class="bi bi-patch-check-fill me-1"></i>Verified Purchase</span> <?php endif; ?> </td> <td> <?php $badgeClass = 'bg-secondary'; if ($rev['status'] === 'approved') $badgeClass = 'bg-success'; elseif ($rev['status'] === 'pending') $badgeClass = 'bg-warning text-dark'; elseif ($rev['status'] === 'rejected') $badgeClass = 'bg-danger'; ?> <span class="badge <?= $badgeClass ?> rounded-pill px-3 py-1"><?= ucfirst($rev['status']) ?></span> </td> <td class="small text-muted"><?= date('d/m/Y H:i', strtotime($rev['created_at'])) ?></td> <td class="text-end pe-4"> <div class="btn-group btn-group-sm"> <form action="<?= APP_URL ?>/admin/reviews/update-status/<?= $rev['id'] ?>" method="POST" class="d-inline"> <input type="hidden" name="csrf_token" value="<?= $csrf_token ?>"> <input type="hidden" name="status" value="approved"> <button type="submit" class="btn btn-outline-success" title="อนุมัติ"><i class="bi bi-check-lg"></i></button> </form> <form action="<?= APP_URL ?>/admin/reviews/update-status/<?= $rev['id'] ?>" method="POST" class="d-inline"> <input type="hidden" name="csrf_token" value="<?= $csrf_token ?>"> <input type="hidden" name="status" value="rejected"> <button type="submit" class="btn btn-outline-danger" title="ปฏิเสธ"><i class="bi bi-x-lg"></i></button> </form> <form action="<?= APP_URL ?>/admin/reviews/update-status/<?= $rev['id'] ?>" method="POST" class="d-inline"> <input type="hidden" name="csrf_token" value="<?= $csrf_token ?>"> <input type="hidden" name="status" value="hidden"> <button type="submit" class="btn btn-outline-secondary" title="ซ่อน"><i class="bi bi-eye-slash"></i></button> </form> </div> </td> </tr> <?php endforeach; ?> <?php endif; ?> </tbody> </table> </div> </div> </div>
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.43 |
proxy
|
phpinfo
|
Settings