changes + 404 sur langue étrangère

This commit is contained in:
Fred Tempez 2023-04-11 11:54:21 +02:00
parent 0b7ae77cfe
commit 4e6f05fd29
2 changed files with 20 additions and 0 deletions

View File

@ -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.

View File

@ -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')) {