diff --git a/CHANGES.md b/CHANGES.md index 38c12366..ed9fa752 100755 --- a/CHANGES.md +++ b/CHANGES.md @@ -3,6 +3,10 @@ ## Version 12.3.08 - Amélioration du code liée à la traduction du contenu du CMS. - Implémentation d'un message d'avertissement de suppression d'une langue de site ou de contenu. +- Correction des dialogues de traduction. +- Correction dans le footer de l'activation d'une page spéciale non désignée. +- Thème : simplification des valeurs de sélection, la valeur remplace une désignation, 80% au lieu de Petit. +- Thème : suppression des bulles d'aides trop verbeuses. ## Version 12.3.07 ### Corrections diff --git a/core/core.php b/core/core.php index e7975ce7..469a9386 100644 --- a/core/core.php +++ b/core/core.php @@ -322,6 +322,20 @@ class common \setlocale(LC_ALL, self::$i18nContent . '.UTF8'); } + \setlocale(LC_ALL, self::$i18nContent . '.UTF8'); + + // Instanciation de la classe des entrées / sorties + // Récupère les descripteurs + foreach ($this->dataFiles as $keys => $value) { + // Constructeur JsonDB + $this->dataFiles[$keys] = new \Prowebcraft\JsonDb([ + 'name' => $keys . '.json', + 'dir' => $this->dataPath($keys, self::$i18nContent), + 'backup' => file_exists('site/data/.backup') + ]); + } + + // Installation fraîche, initialisation des modules if ($this->user === []) { foreach ($this->dataFiles as $stageId => $item) { @@ -345,10 +359,15 @@ class common ]); } - // Langue de l'administration - if ($this->getData(['user']) !== []) { + // Récupére un utilisateur connecté + if ($this->user === []) { + $this->user = $this->getData(['user', $this->getInput('ZWII_USER_ID')]); + } + + // Langue de l'administration si le user est connecté + if ($this->getData(['user', $this->getUser('id'), 'language'])) { // Langue sélectionnée dans le compte, la langue du cookie sinon celle du compte ouvert - self::$i18nUI = $this->getData(['user', $this->getUser('id'), 'language']) ? $this->getData(['user', $this->getUser('id'), 'language']) : $_SESSION['ZWII_CONTENT']; + self::$i18nUI = $this->getData(['user', $this->getUser('id'), 'language']); // Validation de la langue self::$i18nUI = (empty(self::$i18nUI) || is_null(self::$i18nUI)) && !file_exists(self::I18N_DIR . self::$i18nUI . '.json') @@ -357,13 +376,17 @@ class common // Stocker le cookie de langue pour l'éditeur de texte setcookie('ZWII_UI', self::$i18nUI, time() + 3600, helper::baseUrl(false, false), '', false, false); } else { - // Installation - self::$i18nUI = isset($_SESSION['ZWII_UI']) ? $_SESSION['ZWII_UI'] : $_SESSION['ZWII_CONTENT']; - } - - // Utilisateur connecté - if ($this->user === []) { - $this->user = $this->getData(['user', $this->getInput('ZWII_USER_ID')]); + // Tenter de récupérer une valeur dans l'ordre session ZWII_UI, cookie zwii_UI, session ZWII_CONTENT + if (isset($_SESSION['ZWII_UI'])) { + self::$i18nUI = $_SESSION['ZWII_UI']; + } elseif ($this->getInput('ZWII_UI')) { + self::$i18nUI = $this->getInput('ZWII_UI'); + } elseif (isset($_SESSION['ZWII_CONTENT'])) { + self::$i18nUI = $_SESSION['ZWII_CONTENT']; + } else { + self::$i18nUI = 'fr_FR'; + } + $_SESSION['ZWII_UI'] = self::$i18nUI; } // Construit la liste des pages parents/enfants @@ -371,7 +394,6 @@ class common $this->buildHierarchy(); } - // Construit l'url if ($this->url === '') { if ($url = $_SERVER['QUERY_STRING']) {