Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
File Manager
/
portableapps
/
lib
/
views
:
comments.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php defined('TS_ROOT') or exit(); // Variables: $items, $titles, $csrf $filter = in_array($_GET['show'] ?? '', ['pending', 'approved', 'spam'], true) ? $_GET['show'] : 'all'; $count = ['all' => count($items), 'pending' => 0, 'approved' => 0, 'spam' => 0]; foreach ($items as $it) $count[$it['status']]++; ?> <main class="list"> <div class="list-head"><h1>Comments</h1></div> <?php if (!TSComments::enabled()): ?><p class="alert">Comments are turned off, so visitors cannot see or write any. Turn them on under <a href="<?= e(ts_url('admin/settings')) ?>">Settings</a>.</p><?php endif; ?> <nav class="tabs" aria-label="Filter comments"> <?php foreach (['all' => 'All', 'pending' => 'Waiting', 'approved' => 'Approved', 'spam' => 'Spam'] as $k => $label): ?> <a href="<?= e(ts_url('admin/comments', $k === 'all' ? [] : ['show' => $k])) ?>"<?= $filter === $k ? ' class="on" aria-current="page"' : '' ?>><?= e($label) ?> <span class="muted"><?= $count[$k] ?></span></a> <?php endforeach; ?> </nav> <?php $shown = array_values(array_filter($items, fn($it) => $filter === 'all' || $it['status'] === $filter)); ?> <?php if ($shown): ?> <ul class="rows comments" id="comment-rows" data-endpoint="<?= e(ts_url('admin/comment')) ?>" data-csrf="<?= e($csrf) ?>"> <?php foreach ($shown as $it): ?> <li class="crow" data-id="<?= (int) $it['id'] ?>" data-status="<?= e($it['status']) ?>"> <div class="cmain"> <div class="chead"> <strong><?= e($it['name']) ?></strong> <?php if ($it['email'] !== ''): ?><a class="muted" href="mailto:<?= e($it['email']) ?>"><?= e($it['email']) ?></a><?php endif; ?> <span class="muted"><?= e(ts_date($it['date'], 'M j, Y H:i')) ?> on <a href="<?= e(ts_url($it['slug']) . '#comment-' . (int) $it['id']) ?>" target="_blank" rel="noopener"><?= e($titles[$it['slug']] ?? $it['slug']) ?></a></span> <span class="pill <?= $it['status'] === 'approved' ? 'live' : ($it['status'] === 'pending' ? 'sched' : 'draft') ?>"><?= $it['status'] === 'pending' ? 'Waiting' : ucfirst($it['status']) ?></span> </div> <div class="cbody"><?= e($it['body']) ?></div> </div> <div class="cact"> <?php if ($it['status'] !== 'approved'): ?><button type="button" class="btn" data-do="approve">Approve</button><?php endif; ?> <?php if ($it['status'] !== 'spam'): ?><button type="button" class="btn" data-do="spam">Spam</button><?php endif; ?> <button type="button" class="btn warn" data-do="delete">Delete</button> </div> </li> <?php endforeach; ?> </ul> <?php else: ?> <div class="empty-state"><p>No comments here.</p></div> <?php endif; ?> </main> <div id="toast" class="toast" role="status" aria-live="polite" hidden></div> <script src="<?= e(ts_file_v('assets/admin/jquery.min.js')) ?>"></script> <script src="<?= e(ts_file_v('assets/admin/themestrap/namespace.js')) ?>"></script> <script src="<?= e(ts_file_v('assets/admin/themestrap/themestrap.plugin.dialog.js')) ?>"></script> <script src="<?= e(ts_file_v('assets/admin/prompts.js')) ?>"></script> <script src="<?= e(ts_file_v('assets/admin/comments.js')) ?>"></script>