From 194385e692edf62539f70b5ec9d6d92c2bfa69f5 Mon Sep 17 00:00:00 2001 From: El RIDO Date: Tue, 11 Nov 2025 09:45:51 +0100 Subject: [PATCH] don't always set the cookie, having to unset it later but still unset it, if it currently should not be in use (templateselection = false) --- lib/Controller.php | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/lib/Controller.php b/lib/Controller.php index b8c9d50f..2a01125a 100644 --- a/lib/Controller.php +++ b/lib/Controller.php @@ -213,10 +213,11 @@ class Controller TemplateSwitcher::setAvailableTemplates($templates); TemplateSwitcher::setTemplateFallback($template); - // force default template, if template selection is disabled and a default is set - if (!$this->_conf->getKey('templateselection') && !empty($template)) { - $_COOKIE['template'] = $template; - setcookie('template', $template, array('SameSite' => 'Lax', 'Secure' => true)); + // force default template, if template selection is disabled + if (!$this->_conf->getKey('templateselection') && array_key_exists('template', $_COOKIE)) { + unset($_COOKIE['template']); // ensure value is not re-used in template switcher + $expiredInAllTimezones = time() - 86400; + setcookie('template', '', array('expires' => $expiredInAllTimezones, 'SameSite' => 'Lax', 'Secure' => true)); } } @@ -431,15 +432,11 @@ class Controller setcookie('lang', $languageselection, array('SameSite' => 'Lax', 'Secure' => true)); } - // set template cookie if that functionality was enabled, otherwise delete any existing cookie + // set template cookie if that functionality was enabled $templateselection = ''; if ($this->_conf->getKey('templateselection')) { $templateselection = TemplateSwitcher::getTemplate(); setcookie('template', $templateselection, array('SameSite' => 'Lax', 'Secure' => true)); - } elseif (array_key_exists('template', $_COOKIE)) { - unset($_COOKIE['template']); // ensure value is not re-used in template switcher - $expiredInAllTimezones = time() - 86400; - setcookie('template', '', array('expires' => $expiredInAllTimezones, 'SameSite' => 'Lax', 'Secure' => true)); } // strip policies that are unsupported in meta tag