From 1213b6997eb879a34e553dd87f6b763ea2182d25 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Tue, 20 Dec 2022 13:55:29 +0100 Subject: [PATCH] fix cookie consent windows blinking --- core/core.php | 67 ++++++++++++++++++++++++++------------------------- 1 file changed, 34 insertions(+), 33 deletions(-) diff --git a/core/core.php b/core/core.php index 0d985048..a16a74fb 100644 --- a/core/core.php +++ b/core/core.php @@ -716,7 +716,7 @@ class common } } else { // Créer la page d'accueil - file_put_contents(self::DATA_DIR .$langFolder . 'accueil.html', '

Contenu de votre nouvelle page.

'); + file_put_contents(self::DATA_DIR . $langFolder . 'accueil.html', '

Contenu de votre nouvelle page.

'); } } else { // En_EN si le contenu localisé n'est pas traduit @@ -1308,39 +1308,40 @@ class common */ public function showCookies() { - - // Gestion des cookies intégrée - if ($this->getData(['config', 'cookieConsent']) === true) { - // Détermine si le bloc doit être affiché selon la validité du cookie - // L'URL du serveur faut TRUE - $item = '
getInput('ZWII_COOKIE_CONSENT') !== 'true' ? '>' : ' class="displayNone">'; - // Bouton de fermeture - $item .= '
'; - $item .= template::ico('cancel'); - $item .= '
'; - // Texte de la popup - $item .= '

' . $this->getData(['locale', 'cookies', 'titleLabel']) . '

'; - $item .= '

' . $this->getData(['locale', 'cookies', 'mainLabel']) . '

'; - // Formulaire de réponse - if ( - $this->getData(['locale', 'homePageId']) === $this->getUrl(0) - ) { - $item .= '
'; - } else { - $item .= ''; - } - $item .= '

'; - $item .= ''; - $item .= '
'; - // mentions légales si la page est définie - $legalPage = $this->getData(['locale', 'legalPageId']); - if ($legalPage !== 'none') { - $item .= '

' . $this->getData(['locale', 'cookies', 'linkLegalLabel']) . '

'; - } - $item .= '
'; - echo $item; + // La gestion des cookies est externalisée + if ($this->getData(['config', 'cookieConsent']) === false) { + return; } + // Le cookie est déjà validé + if ($this->getInput('ZWII_COOKIE_CONSENT') === 'true') { + return; + } + $item = '
'; + // Bouton de fermeture + $item .= '
'; + $item .= template::ico('cancel'); + $item .= '
'; + // Texte de la popup + $item .= '

' . $this->getData(['locale', 'cookies', 'titleLabel']) . '

'; + $item .= '

' . $this->getData(['locale', 'cookies', 'mainLabel']) . '

'; + // Formulaire de réponse + if ( + $this->getData(['locale', 'homePageId']) === $this->getUrl(0) + ) { + $item .= '
'; + } else { + $item .= ''; + } + $item .= '

'; + $item .= ''; + $item .= '
'; + // mentions légales si la page est définie + $legalPage = $this->getData(['locale', 'legalPageId']); + if ($legalPage !== 'none') { + $item .= '

' . $this->getData(['locale', 'cookies', 'linkLegalLabel']) . '

'; + } + $item .= '
'; + echo $item; } /**