Bug installation
Drapeau de langue affiché sur un site non multilangue
Effacement de la langue de site active
This commit is contained in:
Fred Tempez 2022-10-26 15:53:26 +02:00
parent 1b00e853e3
commit 4e84e4fb38
9 changed files with 78 additions and 52 deletions

View File

@ -49,7 +49,7 @@ class common
// Numéro de version
const ZWII_UPDATE_URL = 'https://forge.chapril.org/ZwiiCMS-Team/update/raw/branch/master/';
const ZWII_VERSION = '12.0.00-dev017';
const ZWII_VERSION = '12.0.00-dev018';
const ZWII_UPDATE_CHANNEL = "test";
public static $actions = [];
@ -1680,7 +1680,6 @@ class common
file_exists(self::FILE_DIR . 'source/' . $faviconDark)
) {
echo '<link rel="shortcut icon" media="(prefers-color-scheme:dark)" href="' . helper::baseUrl(false) . self::FILE_DIR . 'source/' . $faviconDark . '">';
//echo '<script src="https://unpkg.com/favicon-switcher@1.2.2/dist/index.js" crossorigin="anonymous" type="application/javascript"></script>';
echo '<script src="' . helper::baseUrl(false) . 'core/vendor/favicon-switcher/favicon-switcher.js" crossorigin="anonymous"></script>';
}
}
@ -1738,7 +1737,18 @@ class common
}
// Retourne les items du menu
echo '<ul class="navMain" id="menuLeft">' . $itemsLeft . '</ul><ul class="navMain" id="menuRight">' . $itemsRight;
echo $this->showi18n();
// Drapeau les langues des langues selon l'existance des dossiers
foreach (self::$languages as $key => $value) {
if ( is_dir(self::DATA_DIR . $key) ) {
$t [] = $this->showi18n($key);
}
}
// Pas de drapeau si la langu eest unique
if (count ($t) > 1 ) {
foreach($t as $key) {
echo $key;
}
}
echo '</ul>';
}
@ -2308,27 +2318,26 @@ class common
/**
* Affiche le cadre avec les drapeaux sélectionnés
*/
public function showi18n()
public function showi18n($lang)
{
foreach (self::$languages as $key => $value) {
if (
is_dir(self::DATA_DIR . $lang)
) {
if (
is_dir(self::DATA_DIR . $key)
(isset($_COOKIE['ZWII_CONTENT'])
and $_COOKIE['ZWII_CONTENT'] === $lang
)
) {
if (
(isset($_COOKIE['ZWII_CONTENT'])
and $_COOKIE['ZWII_CONTENT'] === $key
)
) {
$select = ' class="i18nFlagSelected" ';
} else {
$select = ' class="i18nFlag" ';
}
echo '<li>';
echo '<a href="' . helper::baseUrl() . 'translate/content/' . $key . '"><img ' . $select . ' alt="' . $value . '" src="' . helper::baseUrl(false) . 'core/vendor/i18n/png/' . $key . '.png"/></a>';
echo '</li>';
$select = ' class="i18nFlagSelected" ';
} else {
$select = ' class="i18nFlag" ';
}
$items = '<li>';
$items .= '<a href="' . helper::baseUrl() . 'translate/content/' . $lang . '"><img ' . $select . ' alt="' . self::$languages[$lang] . '" src="' . helper::baseUrl(false) . 'core/vendor/i18n/png/' . $lang . '.png"/></a>';
$items .= '</li>';
}
return $items;
}
}
@ -2464,6 +2473,9 @@ class core extends common
$fontFile = $gf ? '<link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>' . $fontFile
: $fontFile;
// Enregistre la personnalisation
if (!is_dir(self::DATA_DIR . 'fonts')) {
mkdir(self::DATA_DIR . 'fonts');
}
file_put_contents(self::DATA_DIR . 'fonts/fonts.html', $fontFile);
/**
@ -2885,7 +2897,7 @@ class core extends common
// Accès concurrent stocke la page visitée
if (
$this->getUser('password') === $this->getInput('ZWII_USER_PASSWORD')
and $this->getUser('id')
&& $this->getUser('id')
) {
$this->setData(['user', $this->getUser('id'), 'accessUrl', $this->getUrl()]);
$this->setData(['user', $this->getUser('id'), 'accessTimer', time()]);

View File

@ -920,7 +920,10 @@ if ($this->getData(['core', 'dataVersion']) < 12000) {
}
// Langue de l'interface
$this->deleteData(['config', 'i18n']);
$this->setData(['user', $this->getUser('id'), 'language', 'fr_FR']);
// Pas à l'installation
if ($this->getUser('id')) {
$this->setData(['user', $this->getUser('id'), 'language', 'fr_FR']);
}
// Mise à jour
$this->setData(['core', 'dataVersion', 12000]);
}

View File

@ -132,7 +132,8 @@ class install extends common
'pseudo' => 'Admin',
'signature' => 1,
'mail' => $userMail,
'password' => $this->getInput('installPassword', helper::FILTER_PASSWORD, true)
'password' => $this->getInput('installPassword', helper::FILTER_PASSWORD, true),
'language' => self::$i18nUI
]
]);

View File

@ -306,11 +306,10 @@
"Gestion": "Administrar",
"Administration": "Administración",
"Langues": "Idiomas",
"Traductions de l'interface": "Idiomas interfaz",
"Langues de l'interface": "Idiomas interfaz",
"Éditer les dialogues": "Editar los diálogos",
"Traductions installées": "Idiomas instalados",
"Langues du site": "Idiomas instalados",
"Traduction supprimée": "Traducción eliminada",
"Traductions du site": "Idiomas sitio",
"Langue de l'administration": "Idioma de la administración",
"Langues installées": "Idiomas instalados",
"Dans quelle langue utiliserez-vous Zwii ?": "¿En qué idioma usará Zwii?",
@ -489,5 +488,7 @@
"Interface": "Interfaz",
"Importer dans": "Importar a",
"Archive ZIP": "Archivo ZIP",
"Archive": "Archivo"
"Archive": "Archivo",
"Langue par défaut": "Idioma predeterminado",
"Langue du site sélectionnée": "Idioma del sitio web seleccionado"
}

View File

@ -305,13 +305,12 @@
"Gestion": "",
"Administration": "",
"Langues": "",
"Traductions de l'interface": "",
"Langues de l'interface": "",
"Éditer les dialogues": "",
"Traductions installées": "",
"Traductions du site": "",
"Langues installées": "",
"Langues du site": "",
"Interface": "",
"Langue de l'administration": "",
"Langues installées": "",
"Dans quelle langue utiliserez-vous Zwii ?": "",
"Maintenance": "",
"Scripts externes": "",
@ -486,5 +485,7 @@
"Menu accessoire": "",
"Activer": "",
"Importer dans": "",
"Archive": ""
"Archive": "",
"Langue par défaut": "",
"Langue du site sélectionnée": ""
}

View File

@ -129,21 +129,27 @@ class translate extends common
foreach (self::$languages as $key => $value) {
// tableau des langues installées
if (is_dir(self::DATA_DIR . $key)) {
if (self::$i18nUI === $key) {
$message = helper::translate('Langue par défaut');
} elseif (isset($_COOKIE['ZWII_CONTENT']) && $_COOKIE['ZWII_CONTENT'] === $key) {
$message = helper::translate('Langue du site sélectionnée');
} else {
$message = '';
}
self::$languagesInstalled[] = [
template::flag($key, '20 %'),
$value . ' (' . $key . ')',
self::$i18nUI === $key ? helper::translate('Interface') : '',
'',
$message,
template::button('translateContentLanguageEdit' . $key, [
'href' => helper::baseUrl() . $this->getUrl(0) . '/locale/' . $key,
'value' => template::ico('pencil'),
'help' => 'Éditer'
]),
template::button('translateContentLanguageDelete' . $key, [
'class' => 'translateDelete buttonRed' . (self::$i18nUI === $key ? ' disabled' : ''),
'class' => 'translateDelete buttonRed' . ($message ? ' disabled' : ''),
'href' => helper::baseUrl() . $this->getUrl(0) . '/delete/' . $key . '/' . $_SESSION['csrf'],
'value' => template::ico('trash'),
'help' => 'Supprimer'
'help' => 'Supprimer',
])
];
}
@ -445,9 +451,10 @@ class translate extends common
public function delete()
{
// Jeton incorrect ou URl avec le code langue incorrecte
$lang = $this->getUrl(2);
if (
$this->getUrl(3) !== $_SESSION['csrf']
|| !array_key_exists($this->getUrl(2), self::$languages)
|| !array_key_exists($lang, self::$languages)
) {
// Valeurs en sortie
$this->addOutput([
@ -456,10 +463,9 @@ class translate extends common
'notification' => helper::translate('Action interdite')
]);
}
// Effacement d'une langue installée
if (is_dir(self::DATA_DIR . $this->getUrl(2)) === true) {
$success = $this->removeDir(self::DATA_DIR . $this->getUrl(2));
if (is_dir(self::DATA_DIR . $lang) === true) {
$success = $this->removeDir(self::DATA_DIR . $lang);
}
// Valeurs en sortie
$this->addOutput([

View File

@ -36,11 +36,11 @@
<div class="tab">
<?php echo template::button('translateContentButton', [
'value' => 'Traductions du site',
'value' => 'Langues du site',
'class' => 'buttonTab'
]); ?>
<?php echo template::button('translateUiButton', [
'value' => 'Traductions de l\'interface',
'value' => 'Langues de l\'interface',
'class' => 'buttonTab'
]); ?>
</div>
@ -58,7 +58,7 @@
<div class="row">
<div class="col12">
<?php if ($module::$languagesInstalled) : ?>
<?php echo template::table([1, 3, 2, 4, 1, 1], $module::$languagesInstalled, ['Langues', '', '', '', '', '']); ?>
<?php echo template::table([1, 3, 6, 1, 1], $module::$languagesInstalled, ['Langues', '', '', '', '']); ?>
<?php endif; ?>
</div>
</div>

View File

@ -130,7 +130,7 @@
"Supprimer le module": "Eliminar módulo",
"Sauvegarder le module dans le gestionnaire de fichiers": "Guardar módulo en el administrador de archivos",
"Sauvegarder et télécharger le module": "Guardar y descargar módulo",
"Sauvegarder les données du module dans le gestionnaire de fichiers": "Guardar de los datos del módulo en el administrador de archivos",
"Sauvegarder les données du module dans le gestionnaire de fichiers": "Guardar de los datos del módulo en el administrador de archivos",
"'Sauvegarder et télécharger les données du module": "Guardar y descargar de los datos del módulo",
"Installer depuis le catalogue en ligne": "Instalar desde el archivo en línea",
"Installer depuis une archive": "Instalar desde un archivo",
@ -306,11 +306,10 @@
"Gestion": "Administrar",
"Administration": "Administración",
"Langues": "Idiomas",
"Traductions de l'interface": "Idiomas interfaz",
"Langues de l'interface": "Idiomas interfaz",
"Éditer les dialogues": "Editar los diálogos",
"Traductions installées": "Idiomas instalados",
"Langues du site": "Idiomas instalados",
"Traduction supprimée": "Traducción eliminada",
"Traductions du site": "Idiomas sitio",
"Langue de l'administration": "Idioma de la administración",
"Langues installées": "Idiomas instalados",
"Dans quelle langue utiliserez-vous Zwii ?": "¿En qué idioma usará Zwii?",
@ -489,5 +488,7 @@
"Interface": "Interfaz",
"Importer dans": "Importar a",
"Archive ZIP": "Archivo ZIP",
"Archive": "Archivo"
"Archive": "Archivo",
"Langue par défaut": "Idioma predeterminado",
"Langue du site sélectionnée": "Idioma del sitio web seleccionado"
}

View File

@ -305,13 +305,12 @@
"Gestion": "",
"Administration": "",
"Langues": "",
"Traductions de l'interface": "",
"Langues de l'interface": "",
"Éditer les dialogues": "",
"Traductions installées": "",
"Traductions du site": "",
"Langues installées": "",
"Langues du site": "",
"Interface": "",
"Langue de l'administration": "",
"Langues installées": "",
"Dans quelle langue utiliserez-vous Zwii ?": "",
"Maintenance": "",
"Scripts externes": "",
@ -486,5 +485,7 @@
"Menu accessoire": "",
"Activer": "",
"Importer dans": "",
"Archive": ""
"Archive": "",
"Langue par défaut": "",
"Langue du site sélectionnée": ""
}