gestion des pages ok

This commit is contained in:
Fred Tempez 2021-06-05 08:17:57 +02:00
parent 14c96fa5af
commit 78dfdcbdbd
5 changed files with 32 additions and 25 deletions

View File

@ -520,7 +520,6 @@ class common {
require_once('core/module/install/ressource/defaultdata.php'); require_once('core/module/install/ressource/defaultdata.php');
// Stockage dans un sous-dossier localisé // Stockage dans un sous-dossier localisé
// Le dossier de langue existe t-il ?
if (!file_exists(self::DATA_DIR . '/' . $lang)) { if (!file_exists(self::DATA_DIR . '/' . $lang)) {
mkdir (self::DATA_DIR . '/' . $lang); mkdir (self::DATA_DIR . '/' . $lang);
} }
@ -531,6 +530,24 @@ class common {
$db->set($module,init::$defaultData[$module]); $db->set($module,init::$defaultData[$module]);
} }
$db->save; $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', '<p>Contenu de votre nouvelle page.</p>');
}
}
} }
/* /*

View File

@ -81,6 +81,9 @@ class install extends common {
'<strong>Identifiant du compte :</strong> ' . $this->getInput('installId') . '<br>', '<strong>Identifiant du compte :</strong> ' . $this->getInput('installId') . '<br>',
null 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 // Installation du site de test
if ($this->getInput('installDefaultData',helper::FILTER_BOOLEAN) === FALSE) { if ($this->getInput('installDefaultData',helper::FILTER_BOOLEAN) === FALSE) {
$this->initData('page','fr',true); $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-premier-article', 'userId', $userId]);
$this->setData(['module', 'blog', 'posts', 'mon-deuxieme-article', 'userId', $userId]); $this->setData(['module', 'blog', 'posts', 'mon-deuxieme-article', 'userId', $userId]);
$this->setData(['module', 'blog', 'posts', 'mon-troisieme-article', 'userId', $userId]); $this->setData(['module', 'blog', 'posts', 'mon-troisieme-article', 'userId', $userId]);
} }
// Images exemples livrées dans tous les cas // Images exemples livrées dans tous les cas
try { try {
// Décompression dans le dossier de fichier temporaires // Décompression dans le dossier de fichier temporaires

View File

@ -221,10 +221,7 @@ class init extends common {
'typeMenu' => 'text', 'typeMenu' => 'text',
'iconUrl' => '', 'iconUrl' => '',
'disable' => false, 'disable' => false,
'content' => '<h2>Bienvenue sur votre nouveau site Zwii !</h2> 'content' => 'accueil.html',
<p><strong>Un email contenant le récapitulatif de votre installation vient de vous être envoyé.</strong></p>
<p>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 !</p>
<p>Si vous avez besoin d\'aide ou si vous cherchez des informations sur Zwii, n\'hésitez pas à jeter un œil à notre <a title="Forum" href="https://forum.zwiicms.fr/">forum</a>.</p>',
'hideTitle' => false, 'hideTitle' => false,
'homePageId' => true, 'homePageId' => true,
'breadCrumb' => false, 'breadCrumb' => false,

View File

@ -352,6 +352,7 @@ class page extends common {
// Supprime l'ancienne page si l'id a changée // Supprime l'ancienne page si l'id a changée
if($pageId !== $this->getUrl(2)) { if($pageId !== $this->getUrl(2)) {
$this->deleteData(['page', $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 : // Traitement des pages spéciales affectées dans la config :
if ($this->getUrl(2) === $this->getData(['locale', 'legalPageId']) ) { if ($this->getUrl(2) === $this->getData(['locale', 'legalPageId']) ) {
@ -434,7 +435,7 @@ class page extends common {
mkdir(self::DATA_DIR . self::$i18n . '/content'); mkdir(self::DATA_DIR . self::$i18n . '/content');
} }
$content = empty($this->getInput('pageEditContent', null)) ? '<p>&nbsp;</p>' : $this->getInput('pageEditContent', null); $content = empty($this->getInput('pageEditContent', null)) ? '<p>&nbsp;</p>' : $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 // Barre renommée : changement le nom de la barre dans les pages mères
if ($this->getinput('pageEditBlock') === 'bar') { if ($this->getinput('pageEditBlock') === 'bar') {
foreach ($this->getHierarchy() as $eachPageId=>$parentId) { foreach ($this->getHierarchy() as $eachPageId=>$parentId) {

View File

@ -103,7 +103,6 @@ class translate extends common {
$script = $this->getInput('translateScriptGoogle', helper::FILTER_BOOLEAN); $script = $this->getInput('translateScriptGoogle', helper::FILTER_BOOLEAN);
// Edition des langues // Edition des langues
foreach (self::$i18nList as $keyi18n => $value) { foreach (self::$i18nList as $keyi18n => $value) {
if ($keyi18n === 'fr') {continue;}
// Effacement d'une langue installée // Effacement d'une langue installée
if ( is_dir( self::DATA_DIR . $keyi18n ) === true if ( is_dir( self::DATA_DIR . $keyi18n ) === true
AND $this->getInput('translate' . strtoupper($keyi18n)) === 'delete') AND $this->getInput('translate' . strtoupper($keyi18n)) === 'delete')
@ -114,23 +113,13 @@ class translate extends common {
if ( $this->getInput('translate' . strtoupper($keyi18n)) === 'site' if ( $this->getInput('translate' . strtoupper($keyi18n)) === 'site'
AND is_dir(self::DATA_DIR . $keyi18n) === false ) AND is_dir(self::DATA_DIR . $keyi18n) === false )
{ {
// Créer les données absentes // Pas d'initialisation si la langue existe déjà
if (is_dir( self::DATA_DIR . $keyi18n ) === false ) { if (!file_exists( self::DATA_DIR . $keyi18n . '/page.json'))
mkdir( self::DATA_DIR . $keyi18n); $this->initData('page', $keyi18n, false);
} if (!file_exists( self::DATA_DIR . $keyi18n . '/module.json'))
// Charger les modèles $this->initData('module', $keyi18n, false);
require_once('core/module/install/ressource/defaultdata.php'); if (!file_exists( self::DATA_DIR . $keyi18n . '/locale.json'))
// Nouvelle instance des pages, module, locale $this->initData('locale', $keyi18n, false);
$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();
}
} }
// Active le script si une langue est en trad auto // Active le script si une langue est en trad auto
if ($script === false if ($script === false