diff --git a/CHANGES.md b/CHANGES.md index e31ba6a8..0ad905b4 100755 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,5 +1,9 @@ # Changelog +## Version 12.3.07 +- Corrige un affichage erroné en fin d'installation +- Corrige une erreur 404 lors de l'accès à une page dans une langue étrangère et bascule dans le format de langue correct. + ## Version 12.3.06 - Compléments de traduction. diff --git a/core/core.php b/core/core.php index 18a0c772..54265e51 100644 --- a/core/core.php +++ b/core/core.php @@ -363,6 +363,7 @@ 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); + // Utilisateur connecté if ($this->user === []) { $this->user = $this->getData(['user', $this->getInput('ZWII_USER_ID')]); @@ -382,6 +383,21 @@ class common $this->url = $this->getData(['locale', 'homePageId']); } } + + // Pour éviter une 404 sur une langue étrangère, bascule dans la langue correcte. + if (is_null($this->getData(['page', $this->getUrl(0)]))) { + foreach (self::$languages as $key => $value) { + if (is_dir(self::DATA_DIR . $key)) { + $pagesId = json_decode(file_get_contents(self::DATA_DIR . $key . '/page.json'), true); + if (array_key_exists($this->getUrl(0), $pagesId['page'])) { + setcookie('ZWII_CONTENT', $key, time() + 3600, helper::baseUrl(false, false), '', true, helper::isHttps()); + self::$i18nContent = $key; + \setlocale(LC_ALL, self::$i18nContent . '.UTF8'); + header('Refresh:0; url=' . $_SERVER['PHP_SELF']); + } + } + } + } // Chargement des dialogues if (!file_exists(self::I18N_DIR . self::$i18nUI . '.json')) {