Bug installation, pb de préselection de langue UI en cours

This commit is contained in:
Fred Tempez 2022-10-27 21:22:06 +02:00
parent c3361343ab
commit ff16d480c0
3 changed files with 19 additions and 14 deletions

View File

@ -338,9 +338,16 @@ class common
} }
// Langue de l'administration // Langue de l'administration
self::$i18nUI = $this->getData(['user', $this->getUser('id'), 'language']); if ($this->getData(['user']) === []) {
// La langue par défaut du contenu est celle du site si le cookie est absent. // Installation en cours
self::$i18nUI = (empty(self::$i18nUI) || is_null(self::$i18nUI)) ? self::$i18nUI = 'fr_FR' : self::$i18nUI; self::$i18nUI = array_key_exists($this->getInput('ZWII_UI'), self::$languages) ? $this->getInput('ZWII_UI') : 'fr_FR';
helper::deleteCookie('ZWII_UI');
} else {
// Langue sélectionnée dans le compte
self::$i18nUI = $this->getData(['user', $this->getUser('id'), 'language']);
// Validation de la langue
self::$i18nUI = (empty(self::$i18nUI) || is_null(self::$i18nUI)) ? self::$i18nUI = 'fr_FR' : self::$i18nUI;
}
// Le fichier existe-t-il ? // Le fichier existe-t-il ?
if (!file_exists(self::I18N_DIR . self::$i18nUI . '.json')) { if (!file_exists(self::I18N_DIR . self::$i18nUI . '.json')) {
@ -2739,7 +2746,6 @@ class core extends common
// TinyMCE // TinyMCE
$colors = helper::colorVariants($this->getData(['admin', 'colorText'])); $colors = helper::colorVariants($this->getData(['admin', 'colorText']));
$css .= 'body:not(.editorWysiwyg),span .zwiico-help {color:' . $colors['normal'] . ';}'; $css .= 'body:not(.editorWysiwyg),span .zwiico-help {color:' . $colors['normal'] . ';}';
echo $colors['invert'];
$css .= 'table thead tr, table thead tr .zwiico-help{ background-color:' . $colors['normal'] . '; color:' . $colors['text'] . ';}'; $css .= 'table thead tr, table thead tr .zwiico-help{ background-color:' . $colors['normal'] . '; color:' . $colors['text'] . ';}';
$css .= 'table thead th { color:' . $colors['text'] . ';}'; $css .= 'table thead th { color:' . $colors['text'] . ';}';
$colors = helper::colorVariants($this->getData(['admin', 'backgroundColorButton'])); $colors = helper::colorVariants($this->getData(['admin', 'backgroundColorButton']));

View File

@ -55,13 +55,11 @@ class install extends common
else { else {
// Soumission du formulaire // Soumission du formulaire
if ($this->isPost()) { if ($this->isPost()) {
// Langue de l'UI $lang = $this->getInput('installLanguage');
self::$i18nUI = $this->getInput('installLanguage'); setcookie('ZWII_UI', $lang, time() + 3600, helper::baseUrl(false, false), '', helper::isHttps(), true);
// Par défaut la langue du contenu est celle du site
self::$i18nContent = self::$i18nUI;
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'redirect' => helper::baseUrl() . 'install/postinstall' 'redirect' => helper::baseUrl() . 'install/postinstall/' . $lang
]); ]);
} }
} }
@ -106,6 +104,10 @@ class install extends common
if ($this->isPost()) { if ($this->isPost()) {
$success = true; $success = true;
// Validation de la langue transmise
$lang = array_key_exists($this->getUrl(2), self::$languages) ? $this->getUrl(2) : 'fr_FR';
// Double vérification pour le mot de passe // Double vérification pour le mot de passe
if ($this->getInput('installPassword', helper::FILTER_STRING_SHORT, true) !== $this->getInput('installConfirmPassword', helper::FILTER_STRING_SHORT, true)) { if ($this->getInput('installPassword', helper::FILTER_STRING_SHORT, true) !== $this->getInput('installConfirmPassword', helper::FILTER_STRING_SHORT, true)) {
self::$inputNotices['installConfirmPassword'] = 'Incorrect'; self::$inputNotices['installConfirmPassword'] = 'Incorrect';
@ -117,10 +119,8 @@ class install extends common
$userMail = $this->getInput('installMail', helper::FILTER_MAIL, true); $userMail = $this->getInput('installMail', helper::FILTER_MAIL, true);
$userId = $this->getInput('installId', helper::FILTER_ID, true); $userId = $this->getInput('installId', helper::FILTER_ID, true);
// Création de l'utilisateur si les données sont complétées. // Création de l'utilisateur si les données sont complétées.
// success retour de l'enregistrement des données // success retour de l'enregistrement des données
$success = $this->setData([ $success = $this->setData([
'user', 'user',
$userId, $userId,
@ -133,7 +133,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' => self::$i18nUI 'language' => $lang
] ]
]); ]);
@ -165,7 +165,6 @@ class install extends common
}*/ }*/
// Installation du site de test // Installation du site de test
if ($this->getInput('installDefaultData', helper::FILTER_BOOLEAN) === FALSE) { if ($this->getInput('installDefaultData', helper::FILTER_BOOLEAN) === FALSE) {
$this->initData('page', self::$i18nContent, true); $this->initData('page', self::$i18nContent, true);
$this->initData('module', self::$i18nContent, true); $this->initData('module', self::$i18nContent, true);

View File

@ -55,7 +55,7 @@
<div class="accordion-content"> <div class="accordion-content">
<div class="row"> <div class="row">
<div class="col12"> <div class="col12">
<?php echo template::checkbox('installDefaultData',false , 'Ne pas charger l\'exemple de site (utilisateurs avancés)', [ <?php echo template::checkbox('installDefaultData', true, 'Ne pas charger l\'exemple de site (utilisateurs avancés)', [
'checked' => false 'checked' => false
]); ]);
?> ?>