mémorisation catégorie par cookie, URLs propres /categorie/
This commit is contained in:
+23
-1
@@ -1770,7 +1770,29 @@ switch ($action) {
|
||||
default:
|
||||
$privateCats = $articles->getPrivateCategories();
|
||||
$allCats = $articles->getCategories();
|
||||
$filterCat = trim($_GET['cat'] ?? '');
|
||||
|
||||
if (array_key_exists('cat', $_GET)) {
|
||||
$filterCat = trim($_GET['cat']);
|
||||
if ($filterCat === '') {
|
||||
// Réinitialisation explicite → effacer le cookie et rediriger
|
||||
setcookie('varlog_cat', '', time() - 3600, '/', '', $isHttps, true);
|
||||
header('Location: /', true, 302);
|
||||
exit;
|
||||
}
|
||||
// Sauvegarder la catégorie choisie (1 an)
|
||||
setcookie('varlog_cat', $filterCat, time() + 365 * 24 * 3600, '/', '', $isHttps, true);
|
||||
} else {
|
||||
// Pas de paramètre → appliquer le cookie si la catégorie existe toujours
|
||||
$savedCat = trim($_COOKIE['varlog_cat'] ?? '');
|
||||
if ($savedCat !== '' && isset($allCats[$savedCat])) {
|
||||
header('Location: /categorie/' . rawurlencode($savedCat), true, 302);
|
||||
exit;
|
||||
}
|
||||
if ($savedCat !== '' && !isset($allCats[$savedCat])) {
|
||||
setcookie('varlog_cat', '', time() - 3600, '/', '', $isHttps, true);
|
||||
}
|
||||
$filterCat = '';
|
||||
}
|
||||
$allPosts = array_values(array_filter($articles->getAll(), static function (array $a) use ($privateCats, $filterCat): bool {
|
||||
if (!$a['published']) {
|
||||
return canDoOnArticle('view_drafts', $a);
|
||||
|
||||
Reference in New Issue
Block a user