feat: avant-premiere - article visible en liste mais verrouille avant sa date de publication

This commit is contained in:
Cedric Abonnel
2026-05-08 22:55:27 +02:00
parent 201ae53e65
commit f7d80fc72e
3 changed files with 41 additions and 14 deletions
+6 -3
View File
@@ -207,14 +207,14 @@ a:hover {
border-color: var(--vl-border) !important;
}
/* ─── Ribbon brouillon ───────────────────── */
.draft-ribbon {
/* ─── Ribbons (brouillon / avant-première) ── */
.draft-ribbon,
.premiere-ribbon {
position: absolute;
top: 26px;
right: -34px;
width: 130px;
text-align: center;
background: #f59e0b;
color: #fff;
font-size: 0.6rem;
font-weight: 700;
@@ -227,6 +227,9 @@ a:hover {
box-shadow: 0 1px 3px rgba(0,0,0,.18);
}
.draft-ribbon { background: #f59e0b; }
.premiere-ribbon { background: #6366f1; }
/* ─── Buttons ─────────────────────────────── */
.btn {
font-weight: 500;
+8 -1
View File
@@ -69,7 +69,7 @@ switch ($action) {
}
if (!$article['published']) {
$author = $article['author'] ?? '';
$author = $article['author'] ?? '';
$currentEmail = currentUserEmail() ?? '';
$canView = ($author !== '' && $currentEmail === $author)
|| ($author === '' && isAdmin());
@@ -80,6 +80,13 @@ switch ($action) {
}
}
// Avant-première : publié mais date future → contenu verrouillé
if ($article['published'] && strtotime((string)($article['published_at'] ?? '')) > time()) {
http_response_code(404);
echo 'Article introuvable.';
exit;
}
$files = $articles->getFiles($article['uuid']);
// Résout les chemins de fichiers relatifs dans le contenu