diff --git a/core/core.js.php b/core/core.js.php index 39a7d44f..9b76c05f 100755 --- a/core/core.js.php +++ b/core/core.js.php @@ -481,26 +481,13 @@ $(document).ready(function(){ $(".helpDisplayButton").on({ mouseenter: function () { - $(".helpDisplayContent").slideDown(); - }, - mouseleave: function () { - $(".helpDisplayContent").slideUp(); + $(".helpDisplayContent").slideToggle(); + }, + click: function () { + $(".helpDisplayContent").slideToggle(); } }); - /** - * Active le système d'aide interne - * - */ - - $(".helpDisplayButton").on({ - mouseenter: function () { - $(".helpDisplayContent").slideDown(); - }, - mouseleave: function () { - $(".helpDisplayContent").slideUp(); - } - }); /** * Remove ID Facebook from URL diff --git a/core/layout/common.css b/core/layout/common.css index 91cb6483..e10e6ab1 100755 --- a/core/layout/common.css +++ b/core/layout/common.css @@ -1056,6 +1056,7 @@ footer #footerSocials .zwiico-github:hover { user-select: none; } + /* Lightbox */ .lightbox { background: #FFF; @@ -1730,12 +1731,12 @@ th.col12 { display: none; position: fixed; width: 100%; - bottom: 15px; + top: 60px; padding: 2px 10px; margin-left: -20px; -webkit-box-shadow: 5px 5px 11px 0px #222222; box-shadow: 5px 5px 11px 0px #222222; - border-radius: 5px; + border-radius: 10px; background-color:#333; color: white; z-index: 30; diff --git a/core/module/install/ressource/defaultdata.php b/core/module/install/ressource/defaultdata.php index 6dbb6234..792d3ac9 100755 --- a/core/module/install/ressource/defaultdata.php +++ b/core/module/install/ressource/defaultdata.php @@ -39,14 +39,13 @@ class init extends common { 'showCredits' => false, 'autoDetect' => false, 'admin' => false, - 'fr' => true, - 'de' => true, - 'en' => true, + 'fr' => false, + 'de' => false, + 'en' => false, 'es' => false, 'it' => false, 'nl' => false, 'pt' => false - ], ], 'core' => [ diff --git a/core/module/translate/translate.php b/core/module/translate/translate.php index 2df155a4..10026850 100755 --- a/core/module/translate/translate.php +++ b/core/module/translate/translate.php @@ -18,7 +18,7 @@ class translate extends common { public static $actions = [ /*'config' => self::GROUP_MODERATOR,*/ 'index' => self::GROUP_ADMIN, - 'advanced' => self::GROUP_ADMIN, + 'copy' => self::GROUP_ADMIN, 'language' => self::GROUP_VISITOR ]; @@ -28,39 +28,46 @@ class translate extends common { public static $languagesInstalled = []; // Liste des langues cibles public static $languagesTarget = []; + // Activation du bouton de copie + public static $siteTranslate = true; /** * Configuration avancée des langues */ - public function advanced() { + public function copy() { // Soumission du formulaire if ($this->isPost()) { // Initialisation $success = false; - $copyFrom = $this->getInput('translateFormAdvancedSource'); - $toCreate = $this->getInput('translateFormAdvancedTarget'); - // Création du dossier - if (is_dir(self::DATA_DIR . $toCreate) === false ) { // Si le dossier est déjà créé - $success = mkdir (self::DATA_DIR . $toCreate); + $copyFrom = $this->getInput('translateFormCopySource'); + $toCreate = $this->getInput('translateFormCopyTarget'); + if ($copyFrom !== $toCreate) { + // Création du dossier + if (is_dir(self::DATA_DIR . $toCreate) === false ) { // Si le dossier est déjà créé + $success = mkdir (self::DATA_DIR . $toCreate); + } else { + $success = true; + } + // Copier les données par défaut avec gestion des erreurs + $success = (copy (self::DATA_DIR . $copyFrom . '/locale.json', self::DATA_DIR . $toCreate . '/locale.json') === true && $success === true) ? true : false; + $success = (copy (self::DATA_DIR . $copyFrom . '/module.json', self::DATA_DIR . $toCreate . '/module.json') === true && $success === true) ? true : false; + $success = (copy (self::DATA_DIR . $copyFrom . '/page.json', self::DATA_DIR . $toCreate . '/page.json') === true && $success === true) ? true : false; + // Enregistrer la langue + if ($success) { + $this->setData(['config', 'i18n', $toCreate, 'site' ]); + $notification = 'Données ' . self::$i18nList[$copyFrom] . ' copiées vers ' . self::$i18nList[$toCreate]; + } else { + $notification = "Quelque chose n\'a pas fonctionné, vérifiez les permissions."; + } } else { - $success = true; - } - // Copier les données par défaut avec gestion des erreurs - $success = (copy (self::DATA_DIR . $copyFrom . '/locale.json', self::DATA_DIR . $toCreate . '/locale.json') === true && $success === true) ? true : false; - $success = (copy (self::DATA_DIR . $copyFrom . '/module.json', self::DATA_DIR . $toCreate . '/module.json') === true && $success === true) ? true : false; - $success = (copy (self::DATA_DIR . $copyFrom . '/page.json', self::DATA_DIR . $toCreate . '/page.json') === true && $success === true) ? true : false; - // Enregistrer la langue - if ($success) { - $this->setData(['config', 'i18n', $toCreate, 'site' ]); - $notification = 'Données ' . self::$i18nList[$copyFrom] . ' copiées vers ' . self::$i18nList[$toCreate]; - } else { - $notification = "Quelque chose n\'a pas fonctionné, vérifiez les permissions."; + $success = false; + $notification = 'Les langues doivent être différentes.'; } // Valeurs en sortie $this->addOutput([ 'notification' => $notification, - 'title' => 'Gestion avancée', + 'title' => 'Utilitaire de copie', 'view' => 'index', 'state' => $success ]); @@ -76,8 +83,8 @@ class translate extends common { // Valeurs en sortie $this->addOutput([ - 'title' => 'Gestion avancée', - 'view' => 'advanced' + 'title' => 'Utilitaire de copie', + 'view' => 'copy' ]); } @@ -154,7 +161,7 @@ class translate extends common { 'state' => true ]); } - // Modification de option de suppression de la langue installée. + // Modification des options de suppression de la langue installée. foreach (self::$i18nList as $key => $value) { if ($this->getData(['config','i18n',$key]) === 'site') { self::$translateOptions [$key] = [ @@ -163,6 +170,7 @@ class translate extends common { 'site' => 'Traduction rédigée', 'delete' => 'Supprimer la traduction' ]; + self::$siteTranslate = $key !== 'fr' ? false : true; } else { self::$translateOptions [$key] = [ 'none' => 'Drapeau masqué', diff --git a/core/module/translate/view/advanced/advanced.css b/core/module/translate/view/copy/copy.css similarity index 100% rename from core/module/translate/view/advanced/advanced.css rename to core/module/translate/view/copy/copy.css diff --git a/core/module/translate/view/advanced/advanced.php b/core/module/translate/view/copy/copy.php similarity index 53% rename from core/module/translate/view/advanced/advanced.php rename to core/module/translate/view/copy/copy.php index 7dfca2fc..4cb9e1fd 100644 --- a/core/module/translate/view/advanced/advanced.php +++ b/core/module/translate/view/copy/copy.php @@ -1,7 +1,7 @@ - +
- 'buttonGrey', 'href' => helper::baseUrl() . 'translate', 'ico' => 'left', @@ -9,21 +9,21 @@ ]); ?>
- +
-

Copie de contenu

+

Copie de site (traductions rédigées)

- 'Copier les pages et les modules de' + 'Pages et les modules de' ]); ?>
- 'Vers' ]); ?>
diff --git a/core/module/translate/view/index/index.php b/core/module/translate/view/index/index.php index eadc2f0a..8ba18662 100755 --- a/core/module/translate/view/index/index.php +++ b/core/module/translate/view/index/index.php @@ -10,9 +10,10 @@
helper::baseUrl() . 'translate/advanced', - 'value' => 'Gestion avancée', + 'href' => helper::baseUrl() . 'translate/copy', + 'value' => 'Utilitaire de copie', 'ico' => 'cog-alt', + 'disabled' => $module::$siteTranslate ]); ?>
@@ -126,13 +127,12 @@
-

Vous avez le choix entre une traduction automatique réalisée avec le script Google Traduction ou une traduction rédigée.

-

La traduction automatique offre deux possibilités, la détection automatique de la langue du navigateur même celle-ci n'est pas +

Vous avez le choix entre une traduction automatique réalisée avec le script Google Traduction ou une traduction rédigée. La traduction automatique offre deux possibilités, la détection automatique de la langue du navigateur même celle-ci n'est pas matérialisée par un drapeau. Le clic sur un drapeau forcera la traduction dans cette langue, pour cela sélectionnez le drapeau puis l'option de "Traduction automatique". -

- Si vous sélectionnez l'option "Traduction rédigée", seule la page d'accueil est générée, vous rédigez le site dans la langue sélectionnée. - Il est cependant possible de copier les pages et les modules d'une langue vers une autre en cliquant sur le bouton de gestion avancée.

-

Quand un drapeau est masqué, la traduction est effacée, pensez à sauvegarder.

-

Afficher le drapeau français pour revenir à la traduction dans la langue originale.

+ La traduction automatique est réalisée à partir du site en version française.

+

Avec l'option "Traduction rédigée", une nouveau sité est généré, seule la page d'accueil est crée, il faut alors rédiger les pages dans la langue sélectionnée. + Il est possible de copier les pages et les modules d'une langue vers une autre à l'aide de l'utilitaire de copie. + Quand un drapeau est masqué, la traduction est effacée, pensez à sauvegarder. + Afficher le drapeau français pour revenir à la traduction dans la langue originale.

\ No newline at end of file