From 81b25ae15e59e932e64f25173a9c6b3e2e8f264d Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Tue, 17 Jan 2023 12:45:48 +0100 Subject: [PATCH] bug fix language activation not allowed --- CHANGES.md | 1 + core/module/translate/translate.php | 19 +++++++++++++++---- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 8b107a6e..22c3beff 100755 --- a/CHANGES.md +++ b/CHANGES.md @@ -2,6 +2,7 @@ ## Version 12.1.00 ### Corrections : +- Corrige l'activation non autorisée d'une version en langue étrangère du site. - Corrige un problème de prise en compte des scripts et des feuilles de style intégrés à la page ou au site. - Corrige une erreur fatale avec un argument float au lieu d'int dans mt_srand. ### Améliorations : diff --git a/core/module/translate/translate.php b/core/module/translate/translate.php index ce9b0be2..cc1aad26 100644 --- a/core/module/translate/translate.php +++ b/core/module/translate/translate.php @@ -65,7 +65,7 @@ class translate extends common // Jeton incorrect ou URl avec le code langue incorrecte if ( $this->getUrl(3) !== $_SESSION['csrf'] && - array_key_exists($lang, self::$languages) == false + array_key_exists($lang, self::$languages) === false ) { // Valeurs en sortie $this->addOutput([ @@ -566,10 +566,21 @@ class translate extends common */ public function content() { - // Activation du drapeau + // Langue sélectionnée $lang = $this->getUrl(2); - // Changement ? - if ($this->getInput('ZWII_CONTENT') !== $lang) { + /** + * Changement de la langue si + * différe de la langue active + * déjà initialisée + * fait partie des lnagues installées + */ + if ( $this->getInput('ZWII_CONTENT') !== $lang + && + is_dir(self::DATA_DIR . $lang) + && + array_key_exists($lang, self::$languages) === true + + ) { // Nettoyer le cookie helper::deleteCookie('ZWII_CONTENT'); // Stocker le choix