From bf1302a0a4ba06adefedd4b0c55909078fc6816a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Tempez?= Date: Thu, 29 Sep 2022 19:08:32 +0200 Subject: [PATCH] Nom du cookie + drapeaux ok --- core/class/template.class.php | 4 ++-- core/core.php | 15 ++++++++------- core/include/update.inc.php | 2 +- core/module/install/install.php | 2 +- core/module/translate/translate.php | 23 +++++++++++------------ 5 files changed, 23 insertions(+), 23 deletions(-) diff --git a/core/class/template.class.php b/core/class/template.class.php index 860beadf..755c1fe2 100644 --- a/core/class/template.class.php +++ b/core/class/template.class.php @@ -501,8 +501,8 @@ class template $lang = $langId; break; case 'selected': - if (isset($_COOKIE['ZWII_I18N_SITE'])) { - $lang = $_COOKIE['ZWII_I18N_SITE']; + if (isset($_COOKIE['ZWII_CONTENT'])) { + $lang = $_COOKIE['ZWII_CONTENT']; } else { $lang = 'fr_FR'; } diff --git a/core/core.php b/core/core.php index 29bbfb64..6df667d4 100644 --- a/core/core.php +++ b/core/core.php @@ -307,9 +307,9 @@ class common self::$i18nUI = $t['config']['i18n']['interface']; // Déterminer la langue du contenu du site - if (isset($this->input['_COOKIE']['ZWII_I18N_SITE'])) { + if (isset($this->input['_COOKIE']['ZWII_CONTENT'])) { // Déterminé par le cookie - self::$i18nContent = $this->input['_COOKIE']['ZWII_I18N_SITE']; + self::$i18nContent = $this->input['_COOKIE']['ZWII_CONTENT']; setlocale(LC_TIME, self::$i18nContent . '_' . strtoupper(self::$i18nContent)); } else { // Absence du cookie, la langue par défaut est celle de l'interface. @@ -1256,7 +1256,8 @@ class common // Récupérer la config de la page courante $blocks = explode('-', $this->getData(['page', $this->getUrl(0), 'block'])); // Initialiser - $blockleft = $blockright = ""; + $blockleft = ''; + $blockright = ''; switch (sizeof($blocks)) { case 1: // une colonne $content = 'col' . $blocks[0]; @@ -2267,11 +2268,11 @@ class common { foreach (self::$languages as $key => $value) { if ( - $this->getData(['config', 'i18n', $key]) === 'site' + is_dir(self::DATA_DIR . $key) ) { if ( - (isset($_COOKIE['ZWII_I18N_SITE']) - and $_COOKIE['ZWII_I18N_SITE'] === $key + (isset($_COOKIE['ZWII_CONTENT']) + and $_COOKIE['ZWII_CONTENT'] === $key ) ) { $select = ' class="i18nFlagSelected" '; @@ -2280,7 +2281,7 @@ class common } echo '
  • '; - echo '' .  $value . ''; + echo '' .  $value . ''; echo '
  • '; } } diff --git a/core/include/update.inc.php b/core/include/update.inc.php index 2276eada..81420180 100644 --- a/core/include/update.inc.php +++ b/core/include/update.inc.php @@ -890,7 +890,7 @@ if ($this->getData(['core', 'dataVersion']) < 11600) { $this->deleteData(['config', 'i18n', 'scriptGoogle']); $this->deleteData(['config', 'i18n', 'showCredits']); $this->deleteData(['config', 'i18n', 'autoDetect']); - helper::deleteCookie('ZWII_I18N_SCRIPT'); + helper::deleteCookie('ZWII_CONTENTSCRIPT'); // Nettoyage de fichiers inutiles if (file_exists('core\module\user\view\import\import.help.html')) { diff --git a/core/module/install/install.php b/core/module/install/install.php index 9ee75aa5..6172e01c 100644 --- a/core/module/install/install.php +++ b/core/module/install/install.php @@ -148,7 +148,7 @@ class install extends common ); // Nettoyer les cookies de langue d'une précédente installation - helper::deleteCookie('ZWII_I18N_SITE'); + helper::deleteCookie('ZWII_CONTENT'); // Créer le contenu dans la langue sélectionnée self::$i18nContent = substr(self::$i18nUI, 0, 2); diff --git a/core/module/translate/translate.php b/core/module/translate/translate.php index 925a8189..766d6a2a 100644 --- a/core/module/translate/translate.php +++ b/core/module/translate/translate.php @@ -22,7 +22,7 @@ class translate extends common 'add' => self::GROUP_ADMIN, // Ajouter une langue de contenu 'edit' => self::GROUP_ADMIN, // Editer une langue de contenu 'delete' => self::GROUP_ADMIN, // Effacer une langue de contenu - 'i18n' => self::GROUP_VISITOR, + 'content' => self::GROUP_VISITOR, ]; // Language contents @@ -92,7 +92,7 @@ class translate extends common foreach (self::$languages as $key => $value) { // tableau des langues installées if (is_dir(self::DATA_DIR . $key)) { - self::$languagesTarget[$key] = self::$languages[$key]; + self::$languagesTarget[$key] = self::$languages[$key]; } } @@ -388,19 +388,18 @@ class translate extends common * Traitement du changement de langue * Fonction utilisée par le noyau */ - public function i18n() + public function content() { - // Activation du drapeau - if ($this->getInput('ZWII_I18N_' . strtoupper($this->getUrl(3))) !== $this->getUrl(2)) { - // Nettoyer et stocker le choix de l'utilisateur - helper::deleteCookie('ZWII_I18N_SITE'); - // Sélectionner - setcookie('ZWII_I18N_' . strtoupper($this->getUrl(3)), $this->getUrl(2), time() + 3600, helper::baseUrl(false, false), '', helper::isHttps(), true); - // Désactivation du drapeau, langue FR par défaut - } else { - setcookie('ZWII_I18N_SITE', 'fr', time() + 3600, helper::baseUrl(false, false), '', helper::isHttps(), true); + $lang = $this->getUrl(2); + // Changement ? + if ($this->getInput('ZWII_CONTENT') !== $lang) { + // Nettoyer le cookie + helper::deleteCookie('ZWII_CONTENT'); + // Stocker le choix + setcookie('ZWII_CONTENT', $lang, time() + 3600, helper::baseUrl(false, false), '', helper::isHttps(), true); } + // Valeurs en sortie $this->addOutput([ 'redirect' => helper::baseUrl() . $this->getData(['locale', $this->getUrl(2), 'homePageId'])