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');
// 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', '<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>',
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

View File

@ -221,10 +221,7 @@ class init extends common {
'typeMenu' => 'text',
'iconUrl' => '',
'disable' => false,
'content' => '<h2>Bienvenue sur votre nouveau site Zwii !</h2>
<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>',
'content' => 'accueil.html',
'hideTitle' => false,
'homePageId' => true,
'breadCrumb' => false,

View File

@ -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)) ? '<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
if ($this->getinput('pageEditBlock') === 'bar') {
foreach ($this->getHierarchy() as $eachPageId=>$parentId) {

View File

@ -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