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:
@@ -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;
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
@@ -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
@@ -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 ─────────────────────────── -->
|
||||
|
||||
Reference in New Issue
Block a user