Fix: masquer les avant-premières pour les visiteurs sans view_previews

Les articles en avant-première (published_at > now) s'affichaient dans
la grille pour tous les visiteurs, occupant des slots de pagination sans
être lisibles. Ils sont désormais filtrés côté serveur pour les
utilisateurs sans la capability view_previews, cohérent avec le
comportement déjà en place dans la recherche et les pages auteur.
This commit is contained in:
Cedric Abonnel
2026-05-13 01:57:02 +02:00
parent 7fde87635c
commit 4bf0b65088
3 changed files with 14 additions and 5 deletions
+10
View File
@@ -0,0 +1,10 @@
document.addEventListener('DOMContentLoaded', function () {
var checkAll = document.getElementById('check-all');
if (checkAll) {
checkAll.addEventListener('change', function () {
document.querySelectorAll('.bulk-check').forEach(function (cb) {
cb.checked = checkAll.checked;
});
});
}
});
+3
View File
@@ -2463,6 +2463,9 @@ switch ($action) {
if ($cat !== '' && in_array($cat, $privateCats, true) && !isLoggedIn()) {
return false;
}
if (strtotime((string)($a['published_at'] ?? '')) > time() && !hasCapability('view_previews')) {
return false;
}
if ($filterCat !== '' && $cat !== $filterCat) {
return false;
}
+1 -5
View File
@@ -214,11 +214,7 @@ function adminStatusBadge(array $a, int $now): string
</tbody>
</table>
</form>
<script>
document.getElementById('check-all').addEventListener('change', function() {
document.querySelectorAll('.bulk-check').forEach(function(cb) { cb.checked = this.checked; }, this);
});
</script>
<script src="/assets/js/admin.js" defer></script>
<?php endif; ?>
<!-- ─────────────────────────── UTILISATEURS ─────────────────────────── -->