From ee03f49920adcabd7052123a0358f448c2fce0fe Mon Sep 17 00:00:00 2001 From: fredtempez Date: Mon, 24 Jul 2023 13:13:28 +0200 Subject: [PATCH] =?UTF-8?q?La=20langue=20est=20initialis=C3=A9e=20=C3=A0?= =?UTF-8?q?=20la=20cr=C3=A9ation?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/core.php | 29 ++++++++++++++++++----------- core/module/language/language.php | 24 ++++++++++++++---------- 2 files changed, 32 insertions(+), 21 deletions(-) diff --git a/core/core.php b/core/core.php index 3d07edc4..5c211fe0 100644 --- a/core/core.php +++ b/core/core.php @@ -328,15 +328,7 @@ class common \setlocale(LC_ALL, self::$i18nContent . '.UTF8'); // Instanciation de la classe des entrées / sorties - // Récupère les descripteurs - foreach ($this->dataFiles as $keys => $value) { - // Constructeur JsonDB; - $this->dataFiles[$keys] = new \Prowebcraft\JsonDb([ - 'name' => $keys . '.json', - 'dir' => $this->dataPath($keys, self::$i18nContent), - 'backup' => file_exists('site/data/.backup') - ]); - } + $this->jsonDB(self::$i18nContent); // Installation fraîche, initialisation des modules if ($this->user === []) { @@ -595,6 +587,21 @@ class common return unlink(self::DATA_DIR . $lang . '/content/' . $this->getData(['page', $page, 'content'])); } + + public function jsonDB($lang) + { + // Instanciation de la classe des entrées / sorties + // Récupère les descripteurs + foreach ($this->dataFiles as $keys => $value) { + // Constructeur JsonDB; + $this->dataFiles[$keys] = new \Prowebcraft\JsonDb([ + 'name' => $keys . '.json', + 'dir' => $this->dataPath($keys, $lang), + 'backup' => file_exists('site/data/.backup') + ]); + } + } + /** * Initialisation des données * @param string $module : nom du module à générer @@ -626,7 +633,7 @@ class common } // Site en français avec site exemple if ($lang == 'fr_FR' && $sampleSite === true) { - $this->setData([$module,init::$siteTemplate[$module]]); + $this->setData([$module, init::$siteTemplate[$module]]); // Création des pages foreach (init::$siteContent as $key => $value) { $this->setPage($key, $value, 'fr_FR'); @@ -634,7 +641,7 @@ class common // Version en langue étrangère ou fr_FR sans site de test } else { // En_EN par défaut si le contenu localisé n'est pas traduit - $langDefault = array_key_exists($lang, init::$defaultDataI18n) === true ? $lang : 'default'; + $langDefault = array_key_exists($lang, init::$defaultDataI18n) === true ? $lang : 'default'; // Charger les données de cette langue $this->setData([$module, init::$defaultDataI18n[$langDefault][$module]]); // Créer la page d'accueil, une seule page dans cette configuration diff --git a/core/module/language/language.php b/core/module/language/language.php index cea03950..c4abf7f5 100644 --- a/core/module/language/language.php +++ b/core/module/language/language.php @@ -94,8 +94,8 @@ class language extends common if ( is_array($languageData) && is_array($descripteur['languages'][$lang]) - ) { - $response = $this->setData(['language', $lang, $descripteur['languages'][$lang] ]); + ) { + $response = $this->setData(['language', $lang, $descripteur['languages'][$lang]]); $response = $response || file_put_contents(self::I18N_DIR . $lang . '.json', json_encode($response, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT)); } @@ -254,13 +254,13 @@ class language extends common //self::$i18nUI === $file ? helper::translate('Interface') : '', '', /* - template::button('translateContentLanguageUIEdit' . $file, [ - 'href' => helper::baseUrl() . $this->getUrl(0) . '/edit/' . $file, - 'value' => template::ico('pencil'), - 'help' => 'Éditer', - 'disabled' => 'fr_FR' === $file - ]), - */ + template::button('translateContentLanguageUIEdit' . $file, [ + 'href' => helper::baseUrl() . $this->getUrl(0) . '/edit/' . $file, + 'value' => template::ico('pencil'), + 'help' => 'Éditer', + 'disabled' => 'fr_FR' === $file + ]), + */ template::button('translateContentLanguageUIDownload' . $file, [ 'class' => version_compare($installedUI[$file]['version'], $storeUI[$file]['version']) < 0 ? 'buttonGreen' : '', @@ -319,13 +319,17 @@ class language extends common $this->isPost() ) { - // Création du contenu $lang = $this->getInput('translateAddContent'); + // Constructeur pour cette langue + $this->jsonDB($lang); + + // Création du contenu $this->initData('page', $lang); $this->initData('module', $lang); $this->initData('locale', $lang); + // Valeurs en sortie $this->addOutput([ 'redirect' => helper::baseUrl() . 'language',