From d08a8f72dbdb942f13560110f47fea0f50a1a87b Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Mon, 19 Sep 2022 14:56:30 +0200 Subject: [PATCH] module translate WIP + module plugin bug JS --- core/module/plugin/view/index/index.js.php | 3 +- .../module/translate/view/content/content.php | 257 ++++++++++++++++ core/module/translate/view/index/index.css | 42 ++- core/module/translate/view/index/index.js.php | 74 +++++ core/module/translate/view/index/index.php | 283 +----------------- core/module/translate/view/ui/ui.php | 19 ++ 6 files changed, 403 insertions(+), 275 deletions(-) create mode 100644 core/module/translate/view/content/content.php create mode 100644 core/module/translate/view/index/index.js.php create mode 100644 core/module/translate/view/ui/ui.php diff --git a/core/module/plugin/view/index/index.js.php b/core/module/plugin/view/index/index.js.php index e4cbb4fd..585bab26 100644 --- a/core/module/plugin/view/index/index.js.php +++ b/core/module/plugin/view/index/index.js.php @@ -21,7 +21,7 @@ $("#moduleContainer").hide(); $("#dataContainer").hide(); $("#" + configLayout + "Container").show(); - $("#config" + capitalizeFirstLetter(configLayout) + "Button").addClass("activeButton"); + $("#config" + capitalizeFirstLetter(pluginLayout) + "Button").addClass("activeButton"); }); @@ -52,7 +52,6 @@ $(".moduleDelete").on("click", function() { // Sélecteur de fonctions $("#configModuleButton").on("click", function () { - console.log("clic"); $("#dataContainer").hide(); $("#moduleContainer").show(); $("#configModuleButton").addClass("activeButton"); diff --git a/core/module/translate/view/content/content.php b/core/module/translate/view/content/content.php new file mode 100644 index 00000000..50a1d0fd --- /dev/null +++ b/core/module/translate/view/content/content.php @@ -0,0 +1,257 @@ +
+
+
+
+

+ +

+
+
+ 'Drapeau masqué','site'=>'Drapeau affiché'], [ + 'label' => template::flag('', '30px'), + 'selected' => $this->getData(['config', 'i18n' , 'fr']), + ]); ?> +
+
+
+ template::flag('de', '30px'), + 'class' => 'translateFlagSelect', + 'selected' => $this->getData(['config', 'i18n' , 'de']) + ]); ?> +
+
+ template::flag('en', '30px'), + 'class' => 'translateFlagSelect', + 'selected' => $this->getData(['config', 'i18n' , 'en']) + ]); ?> +
+
+
+
+ template::flag('es', '30px'), + 'class' => 'translateFlagSelect', + 'selected' => $this->getData(['config', 'i18n' , 'es']) + ]); ?> +
+
+ template::flag('it', '30px'), + 'class' => 'translateFlagSelect', + 'selected' => $this->getData(['config', 'i18n' , 'it']) + ]); ?> +
+
+
+
+ template::flag('nl', '30px'), + 'class' => 'translateFlagSelect', + 'selected' => $this->getData(['config', 'i18n' , 'nl']) + ]); ?> +
+
+ template::flag('pt', '30px'), + 'class' => 'translateFlagSelect', + 'selected' => $this->getData(['config', 'i18n' , 'pt']) + ]); ?> +
+
+
+
+
+
+
+
+

Configuration du contenu du site en

+
+
+
+
+
+

Identité du site + + + 'left']);?> + + +

+
+
+ 'Titre du site' , + 'value' => $this->getData(['locale', 'title']), + 'help' => 'Il apparaît dans la barre de titre et les partages sur les réseaux sociaux.' + ]); ?> +
+
+
+
+ 'Description du site', + 'value' => $this->getData(['locale', 'metaDescription']), + 'help' => 'La description d\'une page participe à son référencement, chaque page doit disposer d\'une description différente.' + ]); ?> +
+
+
+
+
+
+
+
+

Assignation des pages spéciales + + + 'left']);?> + + +

+
+
+ 'Accueil du site', + 'selected' =>$this->getData(['locale', 'homePageId']), + 'help' => 'La première page que vos visiteurs verront.' + ]); ?> +
+
+ 'Page par défaut'],helper::arrayColumn($module::$orphansList, 'title', 'SORT_ASC')), [ + 'label' => 'Accès interdit, erreur 403', + 'selected' =>$this->getData(['locale', 'page403']), + 'help' => 'Cette page ne doit pas apparaître dans l\'arborescence du menu. Créez une page orpheline.' + ]); ?> +
+
+ 'Page par défaut'],helper::arrayColumn($module::$orphansList, 'title', 'SORT_ASC')), [ + 'label' => 'Page inexistante, erreur 404', + 'selected' =>$this->getData(['locale', 'page404']), + 'help' => 'Cette page ne doit pas apparaître dans l\'arborescence du menu. Créez une page orpheline.' + ]); ?> +
+
+
+
+ 'Aucune'] , helper::arrayColumn($module::$pagesList, 'title', 'SORT_ASC') ) , [ + 'label' => 'Mentions légales', + 'selected' => $this->getData(['locale', 'legalPageId']), + 'help' => 'Les mentions légales sont obligatoires en France. Une option du pied de page ajoute un lien discret vers cette page.' + ]); ?> +
+
+ 'Aucune'] , helper::arrayColumn($module::$pagesList, 'title', 'SORT_ASC') ) , [ + 'label' => 'Recherche dans le site', + 'selected' => $this->getData(['locale', 'searchPageId']), + 'help' => 'Sélectionnez une page contenant le module \'Recherche\'. Une option du pied de page ajoute un lien discret vers cette page.' + ]); ?> +
+
+ 'Page par défaut'],helper::arrayColumn($module::$orphansList, 'title', 'SORT_ASC')), [ + 'label' => 'Site en maintenance', + 'selected' =>$this->getData(['locale', 'page302']), + 'help' => 'Cette page ne doit pas apparaître dans l\'arborescence du menu. Créez une page orpheline.' + ]); ?> +
+
+
+
+
+
+
+
+

Etiquettes des pages spéciales + + + 'left']);?> + + +

+
+
+ 'Mentions légales', + 'placeholder' => 'Mentions légales', + 'value' => $this->getData(['locale', 'legalPageLabel']) + ]); ?> +
+
+ 'Rechercher', + 'placeholder' => 'Rechercher', + 'value' => $this->getData(['locale', 'searchPageLabel']) + ]); ?> +
+
+
+
+ 'Plan du site', + 'placeholder' => 'Plan du site', + 'value' => $this->getData(['locale', 'sitemapPageLabel']), + ]); ?> +
+
+ 'Cookies', + 'value' => $this->getData(['locale', 'cookies', 'cookiesFooterText']), + 'placeHolder' => 'Cookies' + ]); ?> +
+
+
+
+
+
+
+
+

Message d'acceptation des Cookies + + + 'left']);?> + + +

+
+
+ 'Saisissez le titre de la fenêtre de gestion des cookies.', + 'label' => 'Titre de la fenêtre', + 'value' => $this->getData(['locale', 'cookies', 'titleLabel']), + 'placeHolder' => 'Gérer les cookies' + ]); ?> +
+
+ 'Bouton de validation', + 'value' => $this->getData(['locale', 'cookies', 'buttonValidLabel']), + 'placeHolder' => 'J\'ai compris' + ]); ?> +
+
+
+
+ 'Saisissez le message pour les cookies déposés par ZwiiCMS, nécessaires au fonctionnement et qui ne nécessitent pas de consentement.', + 'label' => 'Cookies Zwii', + 'value' => $this->getData(['locale', 'cookies', 'mainLabel']), + 'placeHolder' => 'Ce site utilise des cookies nécessaires à son fonctionnement, ils permettent de fluidifier son fonctionnement par exemple en mémorisant les données de connexion, la langue que vous avez choisie ou la validation de ce message.' + ]); ?> +
+ +
+ 'Saisissez le texte du lien vers les mentions légales,la page doit être définie dans la configuration du site.', + 'label' => 'Lien page des mentions légales.', + 'value' => $this->getData(['locale', 'cookies', 'linkLegalLabel']), + 'placeHolder' => 'Consulter les mentions légales' + ]); ?> +
+
+
+
+
+
\ No newline at end of file diff --git a/core/module/translate/view/index/index.css b/core/module/translate/view/index/index.css index 5faff87f..e6d37ed5 100755 --- a/core/module/translate/view/index/index.css +++ b/core/module/translate/view/index/index.css @@ -13,8 +13,44 @@ */ -/** @import url("site/data/admin.css"); */ - /** NE PAS EFFACER * admin.css -*/ \ No newline at end of file +*/ + +#setupContainer { + display: block; +} + + +.buttonNotice { + border: 2px solid red !important; + border-radius: 2px; +} + +/* Style the tab */ +.tab { + margin-top: 1.8em; + overflow: hidden; + text-align: center; +} + +.tab ~ .tabContent { + margin-top: -10px; +} + +.buttonTab { + display: inline-block; + transition: 0.3s; + border-radius: 10px 10px 0px 0px; + width: 160px; + margin: 0 1px; +} + +.buttonTab:hover { + filter : brightness(140%); +} + +.activeButton { + + filter : brightness(70%); +} diff --git a/core/module/translate/view/index/index.js.php b/core/module/translate/view/index/index.js.php new file mode 100644 index 00000000..b455e6b0 --- /dev/null +++ b/core/module/translate/view/index/index.js.php @@ -0,0 +1,74 @@ +/** + * This file is part of Zwii. + * For full copyright and license information, please see the LICENSE + * file that was distributed with this source code. + * + * @author Rémi Jean + * @copyright Copyright (C) 2008-2018, Rémi Jean + * @author Frédéric Tempez + * @copyright Copyright (C) 2018-2022, Frédéric Tempez + * @license GNU General Public License, version 3 + * @link http://zwiicms.fr/ + */ + + +$(document).ready(function () { + var configLayout = getCookie("translateLayout"); + if (configLayout == null) { + configLayout = "module"; + setCookie("translateLayout", "module"); + } + $("#translateContainer").hide(); + $("#UIContainer").hide(); + $("#" + configLayout + "Container").show(); + $("#config" + capitalizeFirstLetter(translateLayout) + "Button").addClass("activeButton"); + + }); + + // Sélecteur de fonctions + +$("#translateFormUIButton").on("click", function () { + $("#translateContainer").hide(); + $("#UIContainer").show(); + $("#translateFormUIButton").addClass("activeButton"); + $("#translateFormContentButton").removeClass("activeButton"); + setCookie("translateLayout", "module"); +}); +$("#translateFormContentButton").on("click", function () { + $("#translateContainer").hide(); + $("#dataContainer").show(); + $("#translateFormContentButton").removeClass("activeButton"); + $("#translateFormUIButton").addClass("activeButton"); + setCookie("translateLayout", "data"); +}); + + + + +// Fonctions +function setCookie(name, value, days) { + var expires = ""; + if (days) { + var date = new Date(); + date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); + expires = "; expires=" + date.toUTCString(); + } + document.cookie = name + "=" + (value || "") + expires + "; path=/; samesite=lax"; +} + +function getCookie(name) { + var nameEQ = name + "="; + var ca = document.cookie.split(';'); + for (var i = 0; i < ca.length; i++) { + var c = ca[i]; + while (c.charAt(0) == ' ') c = c.substring(1, c.length); + if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length); + } + return null; +} + +// Define function to capitalize the first letter of a string +function capitalizeFirstLetter(string) { + return string.charAt(0).toUpperCase() + string.slice(1); +} + diff --git a/core/module/translate/view/index/index.php b/core/module/translate/view/index/index.php index 9d0d36ca..30dfe397 100644 --- a/core/module/translate/view/index/index.php +++ b/core/module/translate/view/index/index.php @@ -28,276 +28,19 @@ -
-
-
-

- -

-
-
- 'Traductions installées', - 'selected' => $this->getData(['config', 'i18n' , 'default']), - ]); ?> -
-
-
-
-
-
-
-
-

- -

-
-
- 'Drapeau masqué','site'=>'Drapeau affiché'], [ - 'label' => template::flag('', '30px'), - 'selected' => $this->getData(['config', 'i18n' , 'fr']), - ]); ?> -
-
-
- template::flag('de', '30px'), - 'class' => 'translateFlagSelect', - 'selected' => $this->getData(['config', 'i18n' , 'de']) - ]); ?> -
-
- template::flag('en', '30px'), - 'class' => 'translateFlagSelect', - 'selected' => $this->getData(['config', 'i18n' , 'en']) - ]); ?> -
-
-
-
- template::flag('es', '30px'), - 'class' => 'translateFlagSelect', - 'selected' => $this->getData(['config', 'i18n' , 'es']) - ]); ?> -
-
- template::flag('it', '30px'), - 'class' => 'translateFlagSelect', - 'selected' => $this->getData(['config', 'i18n' , 'it']) - ]); ?> -
-
-
-
- template::flag('nl', '30px'), - 'class' => 'translateFlagSelect', - 'selected' => $this->getData(['config', 'i18n' , 'nl']) - ]); ?> -
-
- template::flag('pt', '30px'), - 'class' => 'translateFlagSelect', - 'selected' => $this->getData(['config', 'i18n' , 'pt']) - ]); ?> -
-
-
-
-
-
-
-
-

Configuration du contenu du site en

-
-
-
-
-
-

Identité du site - - - 'left']);?> - - -

-
-
- 'Titre du site' , - 'value' => $this->getData(['locale', 'title']), - 'help' => 'Il apparaît dans la barre de titre et les partages sur les réseaux sociaux.' - ]); ?> -
-
-
-
- 'Description du site', - 'value' => $this->getData(['locale', 'metaDescription']), - 'help' => 'La description d\'une page participe à son référencement, chaque page doit disposer d\'une description différente.' - ]); ?> -
-
-
-
-
-
-
-
-

Assignation des pages spéciales - - - 'left']);?> - - -

-
-
- 'Accueil du site', - 'selected' =>$this->getData(['locale', 'homePageId']), - 'help' => 'La première page que vos visiteurs verront.' - ]); ?> -
-
- 'Page par défaut'],helper::arrayColumn($module::$orphansList, 'title', 'SORT_ASC')), [ - 'label' => 'Accès interdit, erreur 403', - 'selected' =>$this->getData(['locale', 'page403']), - 'help' => 'Cette page ne doit pas apparaître dans l\'arborescence du menu. Créez une page orpheline.' - ]); ?> -
-
- 'Page par défaut'],helper::arrayColumn($module::$orphansList, 'title', 'SORT_ASC')), [ - 'label' => 'Page inexistante, erreur 404', - 'selected' =>$this->getData(['locale', 'page404']), - 'help' => 'Cette page ne doit pas apparaître dans l\'arborescence du menu. Créez une page orpheline.' - ]); ?> -
-
-
-
- 'Aucune'] , helper::arrayColumn($module::$pagesList, 'title', 'SORT_ASC') ) , [ - 'label' => 'Mentions légales', - 'selected' => $this->getData(['locale', 'legalPageId']), - 'help' => 'Les mentions légales sont obligatoires en France. Une option du pied de page ajoute un lien discret vers cette page.' - ]); ?> -
-
- 'Aucune'] , helper::arrayColumn($module::$pagesList, 'title', 'SORT_ASC') ) , [ - 'label' => 'Recherche dans le site', - 'selected' => $this->getData(['locale', 'searchPageId']), - 'help' => 'Sélectionnez une page contenant le module \'Recherche\'. Une option du pied de page ajoute un lien discret vers cette page.' - ]); ?> -
-
- 'Page par défaut'],helper::arrayColumn($module::$orphansList, 'title', 'SORT_ASC')), [ - 'label' => 'Site en maintenance', - 'selected' =>$this->getData(['locale', 'page302']), - 'help' => 'Cette page ne doit pas apparaître dans l\'arborescence du menu. Créez une page orpheline.' - ]); ?> -
-
-
-
-
-
-
-
-

Etiquettes des pages spéciales - - - 'left']);?> - - -

-
-
- 'Mentions légales', - 'placeholder' => 'Mentions légales', - 'value' => $this->getData(['locale', 'legalPageLabel']) - ]); ?> -
-
- 'Rechercher', - 'placeholder' => 'Rechercher', - 'value' => $this->getData(['locale', 'searchPageLabel']) - ]); ?> -
-
-
-
- 'Plan du site', - 'placeholder' => 'Plan du site', - 'value' => $this->getData(['locale', 'sitemapPageLabel']), - ]); ?> -
-
- 'Cookies', - 'value' => $this->getData(['locale', 'cookies', 'cookiesFooterText']), - 'placeHolder' => 'Cookies' - ]); ?> -
-
-
-
-
-
-
-
-

Message d'acceptation des Cookies - - - 'left']);?> - - -

-
-
- 'Saisissez le titre de la fenêtre de gestion des cookies.', - 'label' => 'Titre de la fenêtre', - 'value' => $this->getData(['locale', 'cookies', 'titleLabel']), - 'placeHolder' => 'Gérer les cookies' - ]); ?> -
-
- 'Bouton de validation', - 'value' => $this->getData(['locale', 'cookies', 'buttonValidLabel']), - 'placeHolder' => 'J\'ai compris' - ]); ?> -
-
-
-
- 'Saisissez le message pour les cookies déposés par ZwiiCMS, nécessaires au fonctionnement et qui ne nécessitent pas de consentement.', - 'label' => 'Cookies Zwii', - 'value' => $this->getData(['locale', 'cookies', 'mainLabel']), - 'placeHolder' => 'Ce site utilise des cookies nécessaires à son fonctionnement, ils permettent de fluidifier son fonctionnement par exemple en mémorisant les données de connexion, la langue que vous avez choisie ou la validation de ce message.' - ]); ?> -
-
- 'Saisissez le texte du lien vers les mentions légales,la page doit être définie dans la configuration du site.', - 'label' => 'Lien page des mentions légales.', - 'value' => $this->getData(['locale', 'cookies', 'linkLegalLabel']), - 'placeHolder' => 'Consulter les mentions légales' - ]); ?> -
-
-
-
+
+ 'UI', + 'class' => 'buttonTab' + ]); ?> + 'Contenu', + 'class' => 'buttonTab' + ]); ?> +
+ + + diff --git a/core/module/translate/view/ui/ui.php b/core/module/translate/view/ui/ui.php new file mode 100644 index 00000000..56b37526 --- /dev/null +++ b/core/module/translate/view/ui/ui.php @@ -0,0 +1,19 @@ +
+
+
+
+

+ +

+
+
+ 'Traductions installées', + 'selected' => $this->getData(['config', 'i18n' , 'default']), + ]); ?> +
+
+
+
+
+
\ No newline at end of file