Bug langue installation

This commit is contained in:
Fred Tempez 2023-02-20 15:22:58 +01:00
parent cc09d23c36
commit f204b3020f
3 changed files with 28 additions and 16 deletions

View File

@ -351,10 +351,13 @@ class common
&& !file_exists(self::I18N_DIR . self::$i18nUI . '.json') && !file_exists(self::I18N_DIR . self::$i18nUI . '.json')
? 'fr_FR' ? 'fr_FR'
: self::$i18nUI; : self::$i18nUI;
} else {
// Installation
self::$i18nUI = $this->getInput('ZWII_UI') ? $this->getInput('ZWII_UI') : 'fr_FR' ;
} }
// Stocker le cookie de langue pour l'éditeur de texte // Stocker le cookie de langue pour l'éditeur de texte
setcookie('ZWII_UI', self::$i18nUI, time() + 3600, '/', '', false, false); setcookie('ZWII_UI', self::$i18nUI, time() + 3600, '/', '', helper::isHttps(), false);
// Utilisateur connecté // Utilisateur connecté
if ($this->user === []) { if ($this->user === []) {
@ -1547,7 +1550,7 @@ class common
// Affichage du sitemap // Affichage du sitemap
$items .= '<span id="footerDisplaySiteMap"'; $items .= '<span id="footerDisplaySiteMap"';
$items .= $this->getData(['theme', 'footer', 'displaySiteMap']) === false ? ' class="displayNone"' : ''; $items .= $this->getData(['theme', 'footer', 'displaySiteMap']) === false ? ' class="displayNone"' : '';
$label = empty($this->getData(['locale', 'sitemapPageLabel'])) ? 'Plan du site' : $this->getData(['locale', 'sitemapPageLabel']); $label = ($this->getData(['locale', 'sitemapPageLabel']) === 'none') ? 'Plan du site' : $this->getData(['locale', 'sitemapPageLabel']);
$items .= '><wbr>&nbsp;|&nbsp;<a href="' . helper::baseUrl() . 'sitemap" >' . $label . '</a>'; $items .= '><wbr>&nbsp;|&nbsp;<a href="' . helper::baseUrl() . 'sitemap" >' . $label . '</a>';
$items .= '</span>'; $items .= '</span>';
// Affichage du module de recherche // Affichage du module de recherche
@ -2073,7 +2076,7 @@ class common
$notificationClass = 'notificationError'; $notificationClass = 'notificationError';
} }
if (common::$coreNotices) { if (common::$coreNotices) {
$notification = 'Données absentes, restauration de <p> | '; $notification = sprintf('%s <p> | ', helper::translate( 'Restauration des bases de données absentes'));
foreach (common::$coreNotices as $item) foreach (common::$coreNotices as $item)
$notification .= $item . ' | '; $notification .= $item . ' | ';
$notificationClass = 'notificationError'; $notificationClass = 'notificationError';

View File

@ -939,8 +939,10 @@ if ($this->getData(['core', 'dataVersion']) < 12300) {
rename(self::I18N_DIR . 'gr_GR.json', self::I18N_DIR . 'el_GR.json'); rename(self::I18N_DIR . 'gr_GR.json', self::I18N_DIR . 'el_GR.json');
} }
$d = $this->getData(['languages', 'gr_GR']); $d = $this->getData(['languages', 'gr_GR']);
$this->setData(['languages', 'el_GR', $d]); if ($d) {
$this->deleteData(['languages', 'gr_GR']); $this->setData(['languages', 'el_GR', $d]);
$this->deleteData(['languages', 'gr_GR']);
}
// Idem pour les modules // Idem pour les modules
$moduleIds = ['blog', 'news', 'gallery', 'search', 'redirection', 'form']; $moduleIds = ['blog', 'news', 'gallery', 'search', 'redirection', 'form'];
foreach ($moduleIds as $key => $value) { foreach ($moduleIds as $key => $value) {

View File

@ -55,7 +55,8 @@ class install extends common
// Soumission du formulaire // Soumission du formulaire
if ($this->isPost()) { if ($this->isPost()) {
$lang = $this->getInput('installLanguage'); $lang = $this->getInput('installLanguage');
setcookie('ZWII_UI', $lang, time() + 3600, helper::baseUrl(false, false), '', helper::isHttps(), true); // Place le cookie pour la suite de l'installation
//setcookie('ZWII_UI', $lang, time() + 3600, helper::baseUrl(false, false), '', helper::isHttps(), true);
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'redirect' => helper::baseUrl() . 'install/postinstall/' . $lang 'redirect' => helper::baseUrl() . 'install/postinstall/' . $lang
@ -66,7 +67,8 @@ class install extends common
// Liste des langues UI disponibles // Liste des langues UI disponibles
if (is_dir(self::I18N_DIR)) { if (is_dir(self::I18N_DIR)) {
foreach ($this->getData(['languages']) as $lang => $value) { foreach ($this->getData(['languages']) as $lang => $value) {
self::$i18nFiles [$lang] = self::$languages[$lang];; self::$i18nFiles[$lang] = self::$languages[$lang];
;
} }
} }
@ -97,8 +99,12 @@ class install extends common
$success = true; $success = true;
// Validation de la langue transmise // Validation de la langue transmise
$lang = array_key_exists($this->getUrl(2), self::$languages) ? $this->getUrl(2) : 'fr_FR'; self::$i18nUI = $this->getUrl(2);
setcookie('ZWII_CONTENT', $lang, time() + 3600, helper::baseUrl(false, false), '', helper::isHttps(), true); self::$i18nUI = array_key_exists(self::$i18nUI, self::$languages) ? self::$i18nUI : 'fr_FR';
// par défaut le contenu est la langue d'installation
self::$i18nContent = self::$i18nUI;
setcookie('ZWII_CONTENT', self::$i18nContent, time() + 3600, helper::baseUrl(false, false), '', helper::isHttps(), true);
// Double vérification pour le mot de passe // Double vérification pour le mot de passe
@ -126,7 +132,7 @@ class install extends common
'signature' => 1, 'signature' => 1,
'mail' => $userMail, 'mail' => $userMail,
'password' => $this->getInput('installPassword', helper::FILTER_PASSWORD, true), 'password' => $this->getInput('installPassword', helper::FILTER_PASSWORD, true),
'language' => $lang 'language' => self::$i18nUI
] ]
]); ]);
@ -147,7 +153,7 @@ class install extends common
// Installation du site de test // Installation du site de test
if ( if (
$this->getInput('installDefaultData', helper::FILTER_BOOLEAN) === false $this->getInput('installDefaultData', helper::FILTER_BOOLEAN) === false
&& $lang === 'fr_FR' && self::$i18nContent === 'fr_FR'
) { ) {
$this->initData('page', self::$i18nContent, true); $this->initData('page', self::$i18nContent, true);
$this->initData('module', self::$i18nContent, true); $this->initData('module', self::$i18nContent, true);
@ -157,9 +163,11 @@ class install extends common
} }
// Jeu réduit pour les pages étrangères // Jeu réduit pour les pages étrangères
if ($lang !== 'fr_FR') { if (self::$i18nContent !== 'fr_FR') {
$this->initData('page', self::$i18nContent, false); $this->initData('page', self::$i18nContent, false);
$this->initData('module', self::$i18nContent, false); $this->initData('module', self::$i18nContent, false);
// Supprime l'installation FR générée par défaut.
$this->removeDir(self::DATA_DIR . 'fr_FR');
} }
// Sauvegarder la configuration du Proxy // Sauvegarder la configuration du Proxy
@ -188,8 +196,6 @@ class install extends common
// Nettoyage // Nettoyage
unlink(self::TEMP_DIR . 'files.tar.gz'); unlink(self::TEMP_DIR . 'files.tar.gz');
unlink(self::TEMP_DIR . 'files.tar'); unlink(self::TEMP_DIR . 'files.tar');
helper::deleteCookie('ZWII_UI');
// Créer le dossier des fontes // Créer le dossier des fontes
if (!is_dir(self::DATA_DIR . 'fonts')) { if (!is_dir(self::DATA_DIR . 'fonts')) {
@ -223,13 +229,14 @@ class install extends common
unlink(self::I18N_DIR . 'languages.json'); unlink(self::I18N_DIR . 'languages.json');
// Créer sitemap // Créer sitemap
$this->createSitemap(); // $this->createSitemap();
// Mise à jour de la liste des pages pour TinyMCE // Mise à jour de la liste des pages pour TinyMCE
$this->listPages(); $this->listPages();
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'redirect' => helper::baseUrl(false), 'redirect' => helper::baseUrl(true) . $this->getData(['locale', 'homePageId']),
'notification' => $sent === true ? helper::translate('Installation terminée') : $sent, 'notification' => $sent === true ? helper::translate('Installation terminée') : $sent,
'state' => ($sent === true && $success === true) ? true : null 'state' => ($sent === true && $success === true) ? true : null
]); ]);