diff --git a/core/core.php b/core/core.php index e5590b22..23746406 100755 --- a/core/core.php +++ b/core/core.php @@ -520,7 +520,6 @@ class common { require_once('core/module/install/ressource/defaultdata.php'); // Stockage dans un sous-dossier localisé - // Le dossier de langue existe t-il ? if (!file_exists(self::DATA_DIR . '/' . $lang)) { mkdir (self::DATA_DIR . '/' . $lang); } @@ -531,6 +530,24 @@ class common { $db->set($module,init::$defaultData[$module]); } $db->save; + + // Dossier des pages + if (!is_dir(self::DATA_DIR . $lang . '/content')) { + mkdir(self::DATA_DIR . $lang . '/content'); + } + // Créer le jeu de pages du site de test + if ($module === 'page' ) { + // Site de test ou page simple + if ($sampleSite === true) { + foreach(init::$siteContent as $key => $value) { + // Creation du contenu de la page + file_put_contents(self::DATA_DIR . $lang . '/content/' . $this->getData(['page', $key, 'content']), $value); + } + } else { + // Créer la page d'accueil + file_put_contents(self::DATA_DIR . $lang . '/content/' . 'accueil.html', '

Contenu de votre nouvelle page.

'); + } + } } /* diff --git a/core/module/install/install.php b/core/module/install/install.php index a3091acb..14acc361 100755 --- a/core/module/install/install.php +++ b/core/module/install/install.php @@ -81,6 +81,9 @@ class install extends common { 'Identifiant du compte : ' . $this->getInput('installId') . '
', null ); + // Nettoyer les cookies de langue d'une précédente installation + helper::deleteCookie('ZWII_I18N_SITE'); + helper::deleteCookie('ZWII_I18N_SCRIPT'); // Installation du site de test if ($this->getInput('installDefaultData',helper::FILTER_BOOLEAN) === FALSE) { $this->initData('page','fr',true); @@ -88,7 +91,7 @@ class install extends common { $this->setData(['module', 'blog', 'posts', 'mon-premier-article', 'userId', $userId]); $this->setData(['module', 'blog', 'posts', 'mon-deuxieme-article', 'userId', $userId]); $this->setData(['module', 'blog', 'posts', 'mon-troisieme-article', 'userId', $userId]); - } + } // Images exemples livrées dans tous les cas try { // Décompression dans le dossier de fichier temporaires diff --git a/core/module/install/ressource/defaultdata.php b/core/module/install/ressource/defaultdata.php index 2cf1e3fc..f118179d 100644 --- a/core/module/install/ressource/defaultdata.php +++ b/core/module/install/ressource/defaultdata.php @@ -221,10 +221,7 @@ class init extends common { 'typeMenu' => 'text', 'iconUrl' => '', 'disable' => false, - 'content' => '

Bienvenue sur votre nouveau site Zwii !

-

Un email contenant le récapitulatif de votre installation vient de vous être envoyé.

-

Connectez-vous dès maintenant à votre espace membre afin de créer un site à votre image ! Vous pourrez personnaliser le thème, créer des pages, ajouter des utilisateurs et bien plus encore !

-

Si vous avez besoin d\'aide ou si vous cherchez des informations sur Zwii, n\'hésitez pas à jeter un œil à notre forum.

', + 'content' => 'accueil.html', 'hideTitle' => false, 'homePageId' => true, 'breadCrumb' => false, diff --git a/core/module/page/page.php b/core/module/page/page.php index cf123eee..ab796137 100644 --- a/core/module/page/page.php +++ b/core/module/page/page.php @@ -352,6 +352,7 @@ class page extends common { // Supprime l'ancienne page si l'id a changée if($pageId !== $this->getUrl(2)) { $this->deleteData(['page', $this->getUrl(2)]); + unlink (self::DATA_DIR . self::$i18n . '/content/' . $this->getUrl(2) . '.html'); } // Traitement des pages spéciales affectées dans la config : if ($this->getUrl(2) === $this->getData(['locale', 'legalPageId']) ) { @@ -434,7 +435,7 @@ class page extends common { mkdir(self::DATA_DIR . self::$i18n . '/content'); } $content = empty($this->getInput('pageEditContent', null)) ? '

 

' : $this->getInput('pageEditContent', null); - file_put_contents( self::DATA_DIR . self::$i18n . '/content/' . $pageid . '.html' , $content ); + file_put_contents( self::DATA_DIR . self::$i18n . '/content/' . $pageId . '.html' , $content ); // Barre renommée : changement le nom de la barre dans les pages mères if ($this->getinput('pageEditBlock') === 'bar') { foreach ($this->getHierarchy() as $eachPageId=>$parentId) { diff --git a/core/module/translate/translate.php b/core/module/translate/translate.php index 10026850..5349240d 100644 --- a/core/module/translate/translate.php +++ b/core/module/translate/translate.php @@ -103,7 +103,6 @@ class translate extends common { $script = $this->getInput('translateScriptGoogle', helper::FILTER_BOOLEAN); // Edition des langues foreach (self::$i18nList as $keyi18n => $value) { - if ($keyi18n === 'fr') {continue;} // Effacement d'une langue installée if ( is_dir( self::DATA_DIR . $keyi18n ) === true AND $this->getInput('translate' . strtoupper($keyi18n)) === 'delete') @@ -114,23 +113,13 @@ class translate extends common { if ( $this->getInput('translate' . strtoupper($keyi18n)) === 'site' AND is_dir(self::DATA_DIR . $keyi18n) === false ) { - // Créer les données absentes - 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->dataPath ($keyFile,$keyi18n) - ]);; - $e->set($keyFile, init::$defaultData[$keyFile]); - $e->save(); - } + // Pas d'initialisation si la langue existe déjà + if (!file_exists( self::DATA_DIR . $keyi18n . '/page.json')) + $this->initData('page', $keyi18n, false); + if (!file_exists( self::DATA_DIR . $keyi18n . '/module.json')) + $this->initData('module', $keyi18n, false); + if (!file_exists( self::DATA_DIR . $keyi18n . '/locale.json')) + $this->initData('locale', $keyi18n, false); } // Active le script si une langue est en trad auto if ($script === false