From 1c2e2d2d85a3bc674e6005c495f295dd7c79e01e Mon Sep 17 00:00:00 2001 From: fredtempez Date: Wed, 25 Nov 2020 10:01:13 +0100 Subject: [PATCH] ajout / supp fichiers de langue traduits WIP --- core/module/install/ressource/defaultdata.php | 32 ++++++++++++------ core/module/translate/translate.php | 33 +++++++++++++++++++ core/module/translate/view/index/index.php | 3 +- 3 files changed, 56 insertions(+), 12 deletions(-) diff --git a/core/module/install/ressource/defaultdata.php b/core/module/install/ressource/defaultdata.php index 1bfcaec4..f3851222 100755 --- a/core/module/install/ressource/defaultdata.php +++ b/core/module/install/ressource/defaultdata.php @@ -9,12 +9,6 @@ class init extends common { 'cookieConsent' => true, 'favicon' => 'favicon.ico', 'faviconDark' => 'faviconDark.ico', - 'homePageId' => 'accueil', - 'page302' => 'erreur302', - 'page403' => 'erreur403', - 'page404' => 'erreur404', - 'legalPageId' => 'mentions-legales', - 'searchPageId' => 'recherche', 'maintenance' => false, 'captchaStrong' => false, 'social' => [ @@ -28,8 +22,6 @@ class init extends common { ], 'timezone' => 'Europe/Paris', 'itemsperPage' => 10, - 'metaDescription' => 'Zwii est un CMS sans base de données qui permet de créer et gérer facilement un site web sans aucune connaissance en programmation.', - 'title' => 'Votre site en quelques clics !', 'proxyUrl' => '', 'proxyPort' => '', 'proxyType' => 'tcp://', @@ -65,6 +57,16 @@ class init extends common { 'updateAvailable' => false, 'baseUrl' => '' ], + 'locale' => [ + 'homePageId' => 'accueil', + 'page302' => 'none', + 'page403' => 'none', + 'page404' => 'none', + 'legalPageId' => 'none', + 'searchPageId' => 'none', + 'metaDescription' => 'Zwii est un CMS sans base de données qui permet de créer et gérer facilement un site web sans aucune connaissance en programmation.', + 'title' => 'Votre site en quelques clics !' + ], 'page' => [ 'accueil' => [ 'typeMenu' => 'text', @@ -667,7 +669,7 @@ class init extends common { "commentApproved" => false, "commentClose" => false, "commentNotification" => false, - "commentGroupNotification" => 1 + "commentGroupNotification" => 1 ], 'posts' => [ 'mon-premier-article' => [ @@ -792,7 +794,17 @@ class init extends common { 'values' => '' ] ] - ] + ], + 'locale' => [ + 'homePageId' => 'accueil', + 'page302' => 'erreur302', + 'page403' => 'erreur403', + 'page404' => 'erreur404', + 'legalPageId' => 'mentions-legales', + 'searchPageId' => 'recherche', + 'metaDescription' => 'Zwii est un CMS sans base de données qui permet de créer et gérer facilement un site web sans aucune connaissance en programmation.', + 'title' => 'Votre site en quelques clics !' + ], ] ]; } diff --git a/core/module/translate/translate.php b/core/module/translate/translate.php index 29b0011d..268bb89f 100755 --- a/core/module/translate/translate.php +++ b/core/module/translate/translate.php @@ -27,6 +27,39 @@ class translate extends common { // Soumission du formulaire if($this->isPost()) { + // Edtion des langues + foreach (self::$i18nList as $keyi18n => $value) { + if ($keyi18n === 'fr') {continue;} + // Effacement d'une langue installée (dossier plus option désactivée précédemment) + if ( is_dir( self::DATA_DIR . $keyi18n ) === true + AND $this->getInput('translateSiteFlag' . strtoupper($keyi18n) , helper::FILTER_BOOLEAN) === false ) + { + $this->removeDir( self::DATA_DIR . $keyi18n); + } + // Installation d'une langue + if ( $this->getInput('translateSiteFlag' . strtoupper($keyi18n) , helper::FILTER_BOOLEAN) === true ) + { + // Créer le dossier + if (is_dir( self::DATA_DIR . $keyi18n ) === false ) { + mkdir( self::DATA_DIR . $keyi18n); + } + // Charger les modèles + require_once('core/module/install/ressource/defaultdata.php'); + // Nouvelle instance des pages, module, locale + $files = ['page','module','locale']; + foreach ($files as $keyFile) { + echo $keyFile; + $e = new \Prowebcraft\JsonDb([ + 'name' => $keyFile . '.json', + 'dir' => $this->dirData ($keyFile,$keyi18n) + ]);; + $e->set($keyFile, init::$defaultData[$keyFile]); + $e->save(); + } + } + } + + // Enregistrement des données $this->setData(['config','translate', [ 'scriptGoogle' => $this->getInput('translateScriptGoogle', helper::FILTER_BOOLEAN), 'showCredits' => $this->getInput('translateCredits', helper::FILTER_BOOLEAN) ? $this->getInput('translateCredits', helper::FILTER_BOOLEAN) : false, diff --git a/core/module/translate/view/index/index.php b/core/module/translate/view/index/index.php index 305801b0..5cd45996 100755 --- a/core/module/translate/view/index/index.php +++ b/core/module/translate/view/index/index.php @@ -100,8 +100,7 @@
true, - 'disabled' => true + 'checked' => $this->getData(['config', 'translate', 'siteFR']) ]); ?>