diff --git a/core/class/layout.class.php b/core/class/layout.class.php index bbcb4f4b..35b29c9b 100644 --- a/core/class/layout.class.php +++ b/core/class/layout.class.php @@ -519,17 +519,17 @@ class layout extends common } // Retourne les items du menu echo ''; } @@ -1163,22 +1163,18 @@ class layout extends common public function showi18n($lang) { if ( - is_dir(self::DATA_DIR . $lang) + (isset($_SESSION['ZWII_CONTENT']) + and $_SESSION['ZWII_CONTENT'] === $lang + ) ) { - if ( - (isset($_SESSION['ZWII_CONTENT']) - and $_SESSION['ZWII_CONTENT'] === $lang - ) - ) { - $select = ' class="i18nFlagSelected" '; - } else { - $select = ' class="i18nFlag" '; - } - - $items = '
  • '; - $items .= '' . self::$languages[$lang] . ''; - $items .= '
  • '; + $select = ' class="i18nFlagSelected" '; + } else { + $select = ' class="i18nFlag" '; } + + $items = '
  • '; + $items .= '' . self::$languages[$lang] . ''; + $items .= '
  • '; return $items; } } \ No newline at end of file diff --git a/core/class/router.class.php b/core/class/router.class.php index d1a1939d..97447446 100644 --- a/core/class/router.class.php +++ b/core/class/router.class.php @@ -522,8 +522,6 @@ class core extends common $pagesId = json_decode(file_get_contents(self::DATA_DIR . $key . '/page.json'), true); if (array_key_exists($this->getUrl(0), $pagesId['page'])) { $_SESSION['ZWII_CONTENT'] = $key; - self::$i18nContent = $key; - \setlocale(LC_ALL, self::$i18nContent . '.UTF8'); header('Refresh:0; url=' . helper::baseUrl() . $this->getUrl(0)); exit(); } diff --git a/core/core.php b/core/core.php index 02e434f8..3157e133 100644 --- a/core/core.php +++ b/core/core.php @@ -169,7 +169,7 @@ class common // Langue de l'interface sélectionnée public static $i18nUI = 'fr_FR'; // Langues de contenu - public static $i18nContent = 'fr_FR'; + public static $i18nContent = ''; public static $languages = [ 'az_AZ' => 'Azərbaycan dili', 'bg_BG' => 'български език', @@ -318,12 +318,8 @@ class common if (isset($_SESSION['ZWII_CONTENT'])) { // Déterminé par la session présente self::$i18nContent = $_SESSION['ZWII_CONTENT']; - ; - } else { - // Initialiser la session en fr_FR - $_SESSION['ZWII_CONTENT'] = self::$i18nContent; + \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 diff --git a/core/module/translate/translate.php b/core/module/translate/translate.php index e89ff9bb..f4cf7255 100644 --- a/core/module/translate/translate.php +++ b/core/module/translate/translate.php @@ -199,35 +199,38 @@ class translate extends common // Onglet des langues de contenu foreach (self::$languages as $key => $value) { // tableau des langues installées - if (is_dir(self::DATA_DIR . $key && - file_exists(self::DATA_DIR . $key . 'page.json') && - file_exists(self::DATA_DIR . $key . 'module.json') && - file_exists(self::DATA_DIR . $key . 'locale.json') - )) { - if (self::$i18nUI === $key) { - $messageLocale = helper::translate('Langue par défaut'); - } elseif (isset($_SESSION['ZWII_CONTENT']) && $_SESSION['ZWII_CONTENT'] === $key) { - $messageLocale = helper::translate('Langue du site sélectionnée'); - } else { - $messageLocale = ''; + + if (is_dir(self::DATA_DIR . $key)) { + if (file_exists(self::DATA_DIR . $key . '/page.json') && + file_exists(self::DATA_DIR . $key . '/module.json') && + file_exists(self::DATA_DIR . $key . '/locale.json') + ) { + if (self::$i18nUI === $key) { + $messageLocale = helper::translate('Langue par défaut'); + } elseif (isset($_SESSION['ZWII_CONTENT']) && $_SESSION['ZWII_CONTENT'] === $key) { + $messageLocale = helper::translate('Langue du site sélectionnée'); + } else { + $messageLocale = ''; + } + self::$languagesInstalled[] = [ + template::flag($key, '20 %') . ' ' . $value . ' (' . $key . ')', + $messageLocale, + template::button('translateContentLanguageLocaleEdit' . $key, [ + 'class' => file_exists(self::DATA_DIR . $key . '/locale.json') ? '' : ' disabled', + 'href' => helper::baseUrl() . $this->getUrl(0) . '/locale/' . $key, + 'value' => template::ico('pencil'), + 'help' => 'Éditer' + ]), + template::button('translateContentLanguageLocaleDelete' . $key, [ + 'class' => 'translateDelete buttonRed' . ($messageLocale ? ' disabled' : ''), + 'href' => helper::baseUrl() . $this->getUrl(0) . '/delete/locale/' . $key . '/' . $_SESSION['csrf'], + 'value' => template::ico('trash'), + 'help' => 'Supprimer', + ]) + ]; } - self::$languagesInstalled[] = [ - template::flag($key, '20 %') . ' ' . $value . ' (' . $key . ')', - $messageLocale, - template::button('translateContentLanguageLocaleEdit' . $key, [ - 'class' => file_exists(self::DATA_DIR . $key . '/locale.json') ? '' : ' disabled', - 'href' => helper::baseUrl() . $this->getUrl(0) . '/locale/' . $key, - 'value' => template::ico('pencil'), - 'help' => 'Éditer' - ]), - template::button('translateContentLanguageLocaleDelete' . $key, [ - 'class' => 'translateDelete buttonRed' . ($messageLocale ? ' disabled' : ''), - 'href' => helper::baseUrl() . $this->getUrl(0) . '/delete/locale/' . $key . '/' . $_SESSION['csrf'], - 'value' => template::ico('trash'), - 'help' => 'Supprimer', - ]) - ]; } + } // Activation du bouton de copie self::$siteCopy = count(self::$languagesInstalled) > 1 ? false : true;