From ce0faaf556945024a5ef265a3525ab648112f29b Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Tue, 11 Apr 2023 19:15:29 +0200 Subject: [PATCH 1/7] typo --- CHANGES.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGES.md b/CHANGES.md index 4425a655..ed9fa752 100755 --- a/CHANGES.md +++ b/CHANGES.md @@ -12,7 +12,7 @@ ### Corrections - 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. -- Permet m'affichage des pages orphelines dans les redirections du formulaire, module désormais en version 3.8. +- Permets l'affichage des pages orphelines dans les redirections du formulaire, module désormais en version 3.8. ### Amélioration - Les caractères spéciaux dans le mot de passe sont reconnus. From 7111fdb5327adaeb73a5e6b66e5c578e5159ab92 Mon Sep 17 00:00:00 2001 From: fredtempez Date: Mon, 24 Apr 2023 19:45:57 +0200 Subject: [PATCH 2/7] =?UTF-8?q?Corrige=20le=20bug=20des=20modules=20orphel?= =?UTF-8?q?ins=20non=20filtr=C3=A9s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGES.md | 3 +++ LISEZMOI.md | 2 +- README.md | 2 +- core/core.php | 2 +- core/module/plugin/plugin.php | 6 +++--- 5 files changed, 9 insertions(+), 6 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index ed9fa752..8121e81a 100755 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,5 +1,8 @@ # Changelog +## Version 12.3.09 +- Corrige le filtrage des modules orphelins. + ## Version 12.3.08 - Amélioration du code liée à la traduction du contenu du CMS. - Implémentation d'un message d'avertissement de suppression d'une langue de site ou de contenu. diff --git a/LISEZMOI.md b/LISEZMOI.md index e32ab8f6..cdade332 100644 --- a/LISEZMOI.md +++ b/LISEZMOI.md @@ -1,4 +1,4 @@ -# ZwiiCMS 12.3.08 +# ZwiiCMS 12.3.09 Zwii est un CMS sans base de données (flat-file) qui permet de créer et gérer facilement un site web sans aucune connaissance en programmation. diff --git a/README.md b/README.md index 0f1f33e3..5f712850 100755 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# ZwiiCMS 12.3.08 +# ZwiiCMS 12.3.09 Zwii is a database-less (flat-file) CMS that allows you to easily create and manage a web site without any programming knowledge. diff --git a/core/core.php b/core/core.php index f69c3bd4..cbac0c65 100644 --- a/core/core.php +++ b/core/core.php @@ -53,7 +53,7 @@ class common const ACCESS_TIMER = 1800; // Numéro de version et branche pour l'auto-update - const ZWII_VERSION = '12.3.08'; + const ZWII_VERSION = '12.3.09'; // URL autoupdate const ZWII_UPDATE_URL = 'https://forge.chapril.org/ZwiiCMS-Team/update/raw/branch/master/'; diff --git a/core/module/plugin/plugin.php b/core/module/plugin/plugin.php index 3ac28d37..dae51edc 100644 --- a/core/module/plugin/plugin.php +++ b/core/module/plugin/plugin.php @@ -424,9 +424,9 @@ class plugin extends common foreach (self::$languages as $key => $value) { // tableau des langues installées if ( - is_dir(self::DATA_DIR . $value - && file_exists(self::DATA_DIR . $value . '/page.json') - && file_exists(self::DATA_DIR . $value . '/module.json')) + is_dir(self::DATA_DIR . $key) + && file_exists(self::DATA_DIR . $key . '/page.json') + && file_exists(self::DATA_DIR . $key . '/module.json') ) { $i18nSites[$key] = $value; } From 63bb78a0fdddc804d8c5ba4eb531da8de4e82527 Mon Sep 17 00:00:00 2001 From: fredtempez Date: Mon, 24 Apr 2023 19:56:15 +0200 Subject: [PATCH 3/7] Traduction --- core/module/install/ressource/i18n/en_EN.json | 2 +- core/module/install/ressource/i18n/es.json | 2 +- core/module/install/ressource/i18n/fr_FR.json | 2 +- core/module/install/ressource/i18n/languages.json | 12 ++++++------ core/module/translate/translate.php | 2 +- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/core/module/install/ressource/i18n/en_EN.json b/core/module/install/ressource/i18n/en_EN.json index 49c036e2..01299f6c 100644 --- a/core/module/install/ressource/i18n/en_EN.json +++ b/core/module/install/ressource/i18n/en_EN.json @@ -289,7 +289,7 @@ "La version installée est plus récente": "The installed version is more recent", "La vérification est quotidienne. Option désactivée si la configuration du serveur ne le permet pas.": "The verification is daily. Option deactivated if the server configuration does not allow it.", "Langue de l'administration": "Language of administration", - "Langue du site sélectionnée": "Selected site language", + "Langue du site par défaut": "Default site language", "Langue par défaut": "Default language", "Langues": "Languages", "Langues disponibles": "Available languages", diff --git a/core/module/install/ressource/i18n/es.json b/core/module/install/ressource/i18n/es.json index d9406184..9820d598 100644 --- a/core/module/install/ressource/i18n/es.json +++ b/core/module/install/ressource/i18n/es.json @@ -289,7 +289,7 @@ "La version installée est plus récente": "La versión instalada es más nueva.", "La vérification est quotidienne. Option désactivée si la configuration du serveur ne le permet pas.": "La comprobación es diaria. Opción deshabilitada si la configuración del servidor no lo permite.", "Langue de l'administration": "Idioma de la administración", - "Langue du site sélectionnée": "Idioma del sitio web seleccionado", + "Langue du site par défaut": "Idioma predeterminado del sitio", "Langue par défaut": "Idioma predeterminado", "Langues": "Idiomas", "Langues disponibles": "Idiomas Disponibles", diff --git a/core/module/install/ressource/i18n/fr_FR.json b/core/module/install/ressource/i18n/fr_FR.json index 0497a673..53f042d1 100644 --- a/core/module/install/ressource/i18n/fr_FR.json +++ b/core/module/install/ressource/i18n/fr_FR.json @@ -289,7 +289,7 @@ "La version installée est plus récente": "", "La vérification est quotidienne. Option désactivée si la configuration du serveur ne le permet pas.": "", "Langue de l'administration": "", - "Langue du site sélectionnée": "", + "Langue du site par défaut": "", "Langue par défaut": "", "Langues": "", "Langues disponibles": "", diff --git a/core/module/install/ressource/i18n/languages.json b/core/module/install/ressource/i18n/languages.json index 5a87eb26..e6658427 100644 --- a/core/module/install/ressource/i18n/languages.json +++ b/core/module/install/ressource/i18n/languages.json @@ -1,16 +1,16 @@ { "languages": { "fr_FR": { - "version": 12308, - "date": 1682171316 + "version": 12309, + "date": 1682358881 }, "es": { - "version": 12308, - "date": 1682171316 + "version": 12309, + "date": 1682358881 }, "en_EN": { - "version": 12308, - "date": 1682171316 + "version": 12309, + "date": 1682358881 } } } \ No newline at end of file diff --git a/core/module/translate/translate.php b/core/module/translate/translate.php index 62d3e56e..3d6b4e9a 100644 --- a/core/module/translate/translate.php +++ b/core/module/translate/translate.php @@ -209,7 +209,7 @@ class translate extends common if (file_exists(self::DATA_DIR . $key . '/.default')) { $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'); + $messageLocale = helper::translate('Langue du site par défaut'); } else { $messageLocale = ''; } From 24550749b765920bf2a60a525c26d6dc406a7e14 Mon Sep 17 00:00:00 2001 From: fredtempez Date: Mon, 24 Apr 2023 20:46:14 +0200 Subject: [PATCH 4/7] =?UTF-8?q?12309=20Changement=20de=20la=20langue=20de?= =?UTF-8?q?=20site=20par=20d=C3=A9faut?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/module/install/install.php | 2 +- core/module/install/ressource/i18n/en_EN.json | 4 +- core/module/install/ressource/i18n/es.json | 4 +- core/module/install/ressource/i18n/fr_FR.json | 3 +- core/module/translate/translate.php | 81 +++++++++++++------ 5 files changed, 65 insertions(+), 29 deletions(-) diff --git a/core/module/install/install.php b/core/module/install/install.php index e412abe5..651e40cf 100644 --- a/core/module/install/install.php +++ b/core/module/install/install.php @@ -154,7 +154,7 @@ class install extends common // par défaut le contenu est la langue d'installation self::$i18nContent = self::$i18nUI; $_SESSION['ZWII_CONTENT'] = self::$i18nContent; - + // Création du dossier de langue avec le marqueur de langue par défaut if (!is_dir(self::DATA_DIR . self::$i18nContent)) { mkdir(self::DATA_DIR . self::$i18nContent); diff --git a/core/module/install/ressource/i18n/en_EN.json b/core/module/install/ressource/i18n/en_EN.json index 01299f6c..93540b54 100644 --- a/core/module/install/ressource/i18n/en_EN.json +++ b/core/module/install/ressource/i18n/en_EN.json @@ -614,6 +614,6 @@ "Couleur icône haut de page": "Color of top page icon", "Icône haut de page, couleur arrière-plan": "Top page icon, background color", "Disponible si le consentement des cookies est activé.": "Available if cookie consent is enabled.", - "Affiche les icônes de gestion du compte et de déconnexion des membres simples connectés.": "Displays account management icons and logout function for logged-in users." - + "Affiche les icônes de gestion du compte et de déconnexion des membres simples connectés.": "Displays account management icons and logout function for logged-in users.", + "Définir par défaut": "Set as default" } \ No newline at end of file diff --git a/core/module/install/ressource/i18n/es.json b/core/module/install/ressource/i18n/es.json index 9820d598..b6f2c825 100644 --- a/core/module/install/ressource/i18n/es.json +++ b/core/module/install/ressource/i18n/es.json @@ -614,6 +614,6 @@ "Couleur icône haut de page":"Color del icono superior de la página", "Icône haut de page, couleur arrière-plan":"Icono superior de la página, color de fondo", "Disponible si le consentement des cookies est activé.": "Disponible si se ha otorgado el consentimiento de las cookies.", - "Affiche les icônes de gestion du compte et de déconnexion des membres simples connectés.": "Muestra los iconos de gestión de cuenta y de cierre de sesión para los miembros simples conectados." - + "Affiche les icônes de gestion du compte et de déconnexion des membres simples connectés.": "Muestra los iconos de gestión de cuenta y de cierre de sesión para los miembros simples conectados.", + "Définir par défaut": "Establecer como predeterminado" } \ No newline at end of file diff --git a/core/module/install/ressource/i18n/fr_FR.json b/core/module/install/ressource/i18n/fr_FR.json index 53f042d1..b147c135 100644 --- a/core/module/install/ressource/i18n/fr_FR.json +++ b/core/module/install/ressource/i18n/fr_FR.json @@ -614,5 +614,6 @@ "Couleur icône haut de page": "", "Icône haut de page, couleur arrière-plan": "", "Disponible si le consentement des cookies est activé.": "", - "Affiche les icônes de gestion du compte et de déconnexion des membres simples connectés.:": "" + "Affiche les icônes de gestion du compte et de déconnexion des membres simples connectés.:": "", + "Définir par défaut": "" } \ No newline at end of file diff --git a/core/module/translate/translate.php b/core/module/translate/translate.php index 3d6b4e9a..53acaee4 100644 --- a/core/module/translate/translate.php +++ b/core/module/translate/translate.php @@ -29,6 +29,7 @@ class translate extends common // Effacer une langue de contenu ou de l'interface 'content' => self::GROUP_VISITOR, 'update' => self::GROUP_ADMIN, + 'default' => self::GROUP_ADMIN ]; const PAGINATION = '20'; @@ -206,29 +207,29 @@ class translate extends common // file_exists(self::DATA_DIR . $key . '/module.json') && // file_exists(self::DATA_DIR . $key . '/locale.json') // ) { - if (file_exists(self::DATA_DIR . $key . '/.default')) { - $messageLocale = helper::translate('Langue par défaut'); - } elseif (isset($_SESSION['ZWII_CONTENT']) && $_SESSION['ZWII_CONTENT'] === $key) { - $messageLocale = helper::translate('Langue du site par défaut'); - } 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', - ]) - ]; + if (file_exists(self::DATA_DIR . $key . '/.default')) { + $messageLocale = helper::translate('Langue du site par défaut'); + } else { + $messageLocale = '' . helper::translate('Définir par défaut') . ''; + } + 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 === 'Langue du site par défaut' ? ' disabled' : ''), + 'href' => helper::baseUrl() . $this->getUrl(0) . '/delete/locale/' . $key . '/' . $_SESSION['csrf'], + 'value' => template::ico('trash'), + 'help' => 'Supprimer', + ]) + ]; //} } @@ -607,6 +608,40 @@ class translate extends common } } + /* + * Modifie la langue du site par défaut + * + */ + public function default() + { + // Jeton incorrect ou URl avec le code langue incorrecte + $lang = $this->getUrl(2); + if ( + $this->getUrl(3) !== $_SESSION['csrf'] + || array_key_exists($lang, self::$languages) === false + ) { + // Valeurs en sortie + $this->addOutput([ + 'redirect' => helper::baseUrl() . 'translate', + 'state' => false, + 'notification' => helper::translate('Action interdite') + ]); + } + + foreach (self::$languages as $key => $value) { + if (file_exists(self::DATA_DIR . $key . '/.default')) { + unlink(self::DATA_DIR . $key . '/.default'); + touch(self::DATA_DIR . $lang . '/.default'); + break; + } + } + // Valeurs en sortie + $this->addOutput([ + 'notification' => helper::translate('Modifications enregistrées'), + 'redirect' => helper::baseUrl() . 'translate', + 'state' => true, + ]); + } /* * Traitement du changement de langue From d47290df012a90f23012166c9c4579578f14d550 Mon Sep 17 00:00:00 2001 From: fredtempez Date: Mon, 24 Apr 2023 20:47:32 +0200 Subject: [PATCH 5/7] Changes --- CHANGES.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGES.md b/CHANGES.md index 8121e81a..b94f4488 100755 --- a/CHANGES.md +++ b/CHANGES.md @@ -2,6 +2,7 @@ ## Version 12.3.09 - Corrige le filtrage des modules orphelins. +- Autorise la modification de la langue du site par défaut. ## Version 12.3.08 - Amélioration du code liée à la traduction du contenu du CMS. From c3324600748e10c9f951545fb554ebc72c4926da Mon Sep 17 00:00:00 2001 From: fredtempez Date: Mon, 24 Apr 2023 21:24:41 +0200 Subject: [PATCH 6/7] 12.3.09 --- core/core.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/core/core.php b/core/core.php index cbac0c65..55295588 100644 --- a/core/core.php +++ b/core/core.php @@ -365,10 +365,10 @@ class common self::$i18nUI = isset(self::$i18nUI) && file_exists(self::I18N_DIR . self::$i18nUI . '.json') ? self::$i18nUI : 'fr_FR'; - } else { - // Pas de connexion, ZWII_UI prend la valeur de ZWII_CONTENT - if (isset($_SESSION['ZWII_CONTENT'])) { + if (isset($_SESSION['ZWII_UI'])) { + self::$i18nUI = $_SESSION['ZWII_UI']; + } elseif (isset($_SESSION['ZWII_CONTENT'])) { self::$i18nUI = $_SESSION['ZWII_CONTENT']; } else { self::$i18nUI = 'fr_FR'; From 4d0a1fd80b00d490d164bff05c00408ad352fa9b Mon Sep 17 00:00:00 2001 From: fredtempez Date: Mon, 24 Apr 2023 21:24:58 +0200 Subject: [PATCH 7/7] changes --- CHANGES.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGES.md b/CHANGES.md index b94f4488..ba594f28 100755 --- a/CHANGES.md +++ b/CHANGES.md @@ -3,6 +3,7 @@ ## Version 12.3.09 - Corrige le filtrage des modules orphelins. - Autorise la modification de la langue du site par défaut. +- Installation en langue étrangère non prise en compte depuis 12.3.08 ## Version 12.3.08 - Amélioration du code liée à la traduction du contenu du CMS.