diff --git a/core/core.php b/core/core.php index bf7820be..357a1096 100644 --- a/core/core.php +++ b/core/core.php @@ -10,7 +10,7 @@ * @copyright Copyright (C) 2008-2018, Rémi Jean * @license GNU General Public License, version 3 * @author Frédéric Tempez - * @copyright Copyright (C) 2018-2019, Frédéric Tempez + * @copyright Copyright (C) 2018-2020, Frédéric Tempez * @link http://zwiicms.com/ */ @@ -35,7 +35,7 @@ class common { const TEMP_DIR = 'site/tmp/'; // Numéro de version - const ZWII_VERSION = '10.0.13.dev'; + const ZWII_VERSION = '10.0.14.dev'; public static $actions = []; public static $coreModuleIds = [ @@ -269,7 +269,8 @@ class common { $this->url = $url; } else { - $this->url = $this->getData(['page', 'homePageId']); + // $this->url = $this->getData(['page', 'homePageId']); + $this->url = $this->getHomePageId(); } } } @@ -483,9 +484,14 @@ class common { * @return string */ public function getHomePageId () { - foreach($hierarchy as $hierarchyPageId) { - if ($this->setData(['page',$hierarchyPageId,"homePage"]) === true) { - return ($hierarchyPageId); + $hierarchy = $this->getHierarchy(null, true); + //echo "
";
+		//var_dump($hierarchy);
+		//die();
+		foreach($hierarchy as $parentPageId => $childrenPageIds) {
+			//var_dump($hierarchyPageId);
+			if ($this->getData(['page',$parentPageId,"homePageId"]) === true) {			
+				return ($parentPageId);
 			}
 		}
 	}
@@ -1106,14 +1112,6 @@ class common {
 		// Version 10.0.00
 		if($this->getData(['core', 'dataVersion']) < 10000) {
 			$this->setData(['config','i18n','fr']);
-			if ($this->getData(['config','homePageId']) !== NULL) {
-				$this->setData(['page','homePageId',$this->getData(['config','homePageId'])]);
-				$this->setData(['page','title',$this->getData(['config','title'])]);
-				$this->setData(['page','metaDescription',$this->getData(['config','metaDescription'])]);
-				$this->deleteData(['config','homePageId']);
-				$this->deleteData(['config','title']);
-				$this->deleteData(['config','metaDescription']);
-			}
 			$this->setData(['core', 'dataVersion', 10000]);		
 		}
 
diff --git a/core/module/config/view/index/index.php b/core/module/config/view/index/index.php
index 8c69d2fe..99aa0780 100755
--- a/core/module/config/view/index/index.php
+++ b/core/module/config/view/index/index.php
@@ -20,8 +20,9 @@
 					
getData(['page']), 'title', 'SORT_ASC'), [ 'label' => 'Page d\'accueil', - 'selected' => $this->getData(['page', 'homePageId']), - 'disabled' => true + 'selected' => $this->getHomePageId(), + 'disabled' => true, + 'help' => 'La page d\'accueil est définie dans les pages de la langue sélectionnée' ]); ?> getHomePageId(); ?>
diff --git a/core/module/i18n/i18n.php b/core/module/i18n/i18n.php index 8edb668f..56389d11 100644 --- a/core/module/i18n/i18n.php +++ b/core/module/i18n/i18n.php @@ -7,7 +7,7 @@ * file that was distributed with this source code. * * @author Frédéric Tempez - * @copyright Copyright (C) 2018-2019, Frédéric Tempez + * @copyright Copyright (C) 2018-2020, Frédéric Tempez * @license GNU General Public License, version 3 * @link http://zwiicms.com/ */ diff --git a/core/module/install/ressource/defaultdata.php b/core/module/install/ressource/defaultdata.php index 3ac0ba06..c71a1340 100644 --- a/core/module/install/ressource/defaultdata.php +++ b/core/module/install/ressource/defaultdata.php @@ -18,7 +18,7 @@ class init extends common { ], 'timezone' => 'Europe/Paris', 'itemsperPage' => 10, - 'legalPageId' => '' + 'legalPageId' => '', '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' => 'Zwii, votre site en quelques clics !', ], @@ -30,13 +30,14 @@ class init extends common { 'page' => [ 'accueil' => [ 'typeMenu' => 'text', - 'iconUrl' => '', - 'disable' => false, + '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.

', 'hideTitle' => false, + 'homePageId' => true, 'breadCrumb' => false, 'metaDescription' => '', 'metaTitle' => '', @@ -55,9 +56,9 @@ class init extends common { 'hideMenuChildren' =>false ], 'enfant' => [ - 'typeMenu' => 'text', - 'iconUrl' => '', - 'disable' => false, + 'typeMenu' => 'text', + 'iconUrl' => '', + 'disable' => false, 'content' => '

Vous pouvez assigner des parents à vos pages afin de mieux organiser votre menu !

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam interdum, neque non vulputate hendrerit, arcu turpis dapibus nisl, id scelerisque metus lectus vitae nisi. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Donec feugiat dolor et turpis finibus condimentum. Cras sit amet ligula sagittis justo.

@@ -65,6 +66,7 @@ class init extends common {

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam interdum, neque non vulputate hendrerit, arcu turpis dapibus nisl, id scelerisque metus lectus vitae nisi. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Donec feugiat dolor et turpis finibus condimentum. Cras sit amet ligula sagittis justo.

', 'hideTitle' => false, + 'homePageId' => false, 'breadCrumb' => true, 'metaDescription' => '', 'metaTitle' => '', @@ -83,15 +85,16 @@ class init extends common { 'hideMenuChildren' =>false ], 'privee' => [ - 'typeMenu' => 'text', - 'iconUrl' => '', - 'disable' => false, + 'typeMenu' => 'text', + 'iconUrl' => '', + 'disable' => false, 'content' => '

Cette page n\'est visible que des membres de votre site !

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam interdum, neque non vulputate hendrerit, arcu turpis dapibus nisl, id scelerisque metus lectus vitae nisi. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Donec feugiat dolor et turpis finibus condimentum. Cras sit amet ligula sagittis justo.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam interdum, neque non vulputate hendrerit, arcu turpis dapibus nisl, id scelerisque metus lectus vitae nisi. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Donec feugiat dolor et turpis finibus condimentum. Cras sit amet ligula sagittis justo.

', 'hideTitle' => false, + 'homePageId' => false, 'breadCrumb' => true, 'metaDescription' => '', 'metaTitle' => '', @@ -111,13 +114,14 @@ class init extends common { ], 'mise-en-page' => [ 'typeMenu' => 'text', - 'iconUrl' => '', - 'disable' => false, + 'iconUrl' => '', + 'disable' => false, 'content' => '

Vous pouvez ajouter une ou deux barres latérales aux pages de votre site. Cette mise en page se définit dans les paramètres de page et peut s\'appliquer à l\'ensemble du site ou à certaines pages en particulier, au gré de vos désirs.

Pour créer une barre latérale à partir d\'une "Nouvelle page" ou transformer une page existante en barre latérale, sélectionnez l\'option dans la liste des gabarits. On peut bien sûr définir autant de barres latérales qu\'on le souhaite.

Cette nouvelle fonctionnalité autorise toutes sortes d\'utilisations : texte, encadrés, images, vidéos... ou simple marge blanche. Seule restriction : on ne peut pas installer un module dans une barre latérale.

La liste des barres disponibles et leur emplacement s\'affichent en fonction du gabarit que vous aurez choisi.', 'hideTitle' => false, + 'homePageId' => false, 'breadCrumb' => true, 'metaDescription' => '', 'metaTitle' => '', @@ -137,12 +141,13 @@ class init extends common { ], 'menu-lateral' => [ 'typeMenu' => 'text', - 'iconUrl' => '', - 'disable' => false, + 'iconUrl' => '', + 'disable' => false, 'content' => '

Cette page illustre la possibilité d\'ajouter un menu dans les barres latérales.
Deux types de menus sont disponibles : l\'un reprenant les rubriques du menu principal comme celui-ci, l\'autre listant les pages d\'une même rubrique. Le choix du type de menu se fait dans la page de configuration d\'une barre latérale.

Pour ajouter un menu à une page, choisissez une barre latérale avec menu dans la page de configuration. Les bulles d\'aide de la rubrique "Menu" expliquent comment masquer une page.

', 'hideTitle' => false, + 'homePageId' => false, 'breadCrumb' => true, 'metaDescription' => '', 'metaTitle' => '', @@ -162,10 +167,11 @@ class init extends common { ], 'blog' => [ 'typeMenu' => 'text', - 'iconUrl' => '', - 'disable' => false, + 'iconUrl' => '', + 'disable' => false, 'content' => '

Cette page contient une instance du module de blog. Cliquez sur un article afin de le lire et de poster des commentaires.

', 'hideTitle' => false, + 'homePageId' => false, 'breadCrumb' => false, 'metaDescription' => '', 'metaTitle' => '', @@ -185,10 +191,11 @@ class init extends common { ], 'galeries' => [ 'typeMenu' => 'text', - 'iconUrl' => '', - 'disable' => false, + 'iconUrl' => '', + 'disable' => false, 'content' => '

Cette page contient une instance du module de galeries photos. Cliquez sur la galerie ci-dessous afin de voir les photos qu\'elle contient.

', 'hideTitle' => false, + 'homePageId' => false, 'breadCrumb' => false, 'metaDescription' => '', 'metaTitle' => '', @@ -206,12 +213,13 @@ class init extends common { 'hideMenuSide' => false, 'hideMenuChildren' =>false ], - 'site-de-zwii' => [ + 'site-de-zwii' => [ 'typeMenu' => 'text', - 'iconUrl' => '', - 'disable' => false, + 'iconUrl' => '', + 'disable' => false, 'content' => "", 'hideTitle' => false, + 'homePageId' => false, 'breadCrumb' => false, 'metaDescription' => '', 'metaTitle' => '', @@ -229,74 +237,77 @@ class init extends common { 'hideMenuSide' => false, 'hideMenuChildren' =>false ], - 'contact' => [ + 'contact' => [ 'typeMenu' => 'text', - 'iconUrl' => '', - 'disable' => false, - 'content' => '

Cette page contient un exemple de formulaire conçu à partir du module de génération de formulaires. Il est configuré pour envoyer les données saisies par mail aux administrateurs du site.

', - 'hideTitle' => false, - 'breadCrumb' => false, - 'metaDescription' => '', - 'metaTitle' => '', - 'moduleId' => 'form', - 'modulePosition' => 'bottom', - 'parentPageId' => '', - 'position' => 7, - 'group' => self::GROUP_VISITOR, - 'targetBlank' => false, - 'title' => 'Contact', - 'block' => '12', - 'barLeft' => '', - 'barRight' => '', - 'displayMenu' => 'none', - 'hideMenuSide' => false, - 'hideMenuChildren' =>false - ], - 'barre' => [ - 'typeMenu' => 'text', - 'iconUrl' => '', - 'disable' => false, - 'content' => '

ZwiiCMS

Le CMS sans base de données à l\'installation simple et rapide

', - 'hideTitle' => false, - 'breadCrumb' => false, - 'metaDescription' => '', - 'metaTitle' => '', - 'moduleId' => '', - 'modulePosition' => 'bottom', - 'parentPageId' => '', - 'position' => 0 , - 'group' => self::GROUP_VISITOR, - 'targetBlank' => false, - 'title' => 'Barre latérale', - 'block' => 'bar', - 'barLeft' => '', - 'barRight' => '', - 'displayMenu' => "none", - 'hideMenuSide' => false, - 'hideMenuChildren' =>false - ], - 'barrelateraleavecmenu' => [ - 'typeMenu' => 'text', - 'iconUrl' => '', - 'disable' => false, - 'content' => '

 

', - 'hideTitle' => false, - 'breadCrumb' => false, - 'metaDescription' => '', - 'metaTitle' => '', - 'moduleId' => '', - 'modulePosition' => 'bottom', - 'parentPageId' => '', - 'position' => 0 , - 'group' => self::GROUP_VISITOR, - 'targetBlank' => false, - 'title' => 'Barre latérale avec menu', - 'block' => 'bar', - 'barLeft' => '', - 'barRight' => '', - 'displayMenu' => "parents", - 'hideMenuSide' => false, - 'hideMenuChildren' =>false + 'iconUrl' => '', + 'disable' => false, + 'content' => '

Cette page contient un exemple de formulaire conçu à partir du module de génération de formulaires. Il est configuré pour envoyer les données saisies par mail aux administrateurs du site.

', + 'hideTitle' => false, + 'homePageId' => false, + 'breadCrumb' => false, + 'metaDescription' => '', + 'metaTitle' => '', + 'moduleId' => 'form', + 'modulePosition' => 'bottom', + 'parentPageId' => '', + 'position' => 7, + 'group' => self::GROUP_VISITOR, + 'targetBlank' => false, + 'title' => 'Contact', + 'block' => '12', + 'barLeft' => '', + 'barRight' => '', + 'displayMenu' => 'none', + 'hideMenuSide' => false, + 'hideMenuChildren' =>false + ], + 'barre' => [ + 'typeMenu' => 'text', + 'iconUrl' => '', + 'disable' => false, + 'content' => '

ZwiiCMS

Le CMS sans base de données à l\'installation simple et rapide

', + 'hideTitle' => false, + 'homePageId' => false, + 'breadCrumb' => false, + 'metaDescription' => '', + 'metaTitle' => '', + 'moduleId' => '', + 'modulePosition' => 'bottom', + 'parentPageId' => '', + 'position' => 0 , + 'group' => self::GROUP_VISITOR, + 'targetBlank' => false, + 'title' => 'Barre latérale', + 'block' => 'bar', + 'barLeft' => '', + 'barRight' => '', + 'displayMenu' => "none", + 'hideMenuSide' => false, + 'hideMenuChildren' =>false + ], + 'barrelateraleavecmenu' => [ + 'typeMenu' => 'text', + 'iconUrl' => '', + 'disable' => false, + 'content' => '

 

', + 'hideTitle' => false, + 'homePageId' => false, + 'breadCrumb' => false, + 'metaDescription' => '', + 'metaTitle' => '', + 'moduleId' => '', + 'modulePosition' => 'bottom', + 'parentPageId' => '', + 'position' => 0 , + 'group' => self::GROUP_VISITOR, + 'targetBlank' => false, + 'title' => 'Barre latérale avec menu', + 'block' => 'bar', + 'barLeft' => '', + 'barRight' => '', + 'displayMenu' => "parents", + 'hideMenuSide' => false, + 'hideMenuChildren' =>false ], ], 'module' => [ diff --git a/core/module/page/page.php b/core/module/page/page.php index ba6d1bd3..2961d3ed 100755 --- a/core/module/page/page.php +++ b/core/module/page/page.php @@ -9,7 +9,7 @@ * @author Rémi Jean * @copyright Copyright (C) 2008-2018, Rémi Jean * @author Frédéric Tempez - * @copyright Copyright (C) 2018-2019, Frédéric Tempez + * @copyright Copyright (C) 2018-2020, Frédéric Tempez * @license GNU General Public License, version 3 * @link http://zwiicms.com/ */ @@ -227,8 +227,8 @@ class page extends common { $lastPosition++; // Une seule homepage, si homePage est true, désactiver les autres pages - if ($this->getinput('pageHomePage', helper::FILTER_BOOLEAN) === true) { - $this->setData(['page',$hierarchyPageId,"homePage", false]); + if ($this->getinput('pageHomePageId', helper::FILTER_BOOLEAN) === true) { + $this->setData(['page',$hierarchyPageId,"homePageId", false]); } } if ($this->getinput('pageEditBlock') !== 'bar') { @@ -271,7 +271,7 @@ class page extends common { 'hideMenuSide' => $this->getinput('pageEditHideMenuSide', helper::FILTER_BOOLEAN), 'hideMenuHead' => $this->getinput('pageEditHideMenuHead', helper::FILTER_BOOLEAN), 'hideMenuChildren' => $this->getinput('pageEditHideMenuChildren', helper::FILTER_BOOLEAN), - 'homePage' => $this->getinput('pageHomePage', helper::FILTER_BOOLEAN) + 'homePageId' => $this->getinput('pageHomePageId', helper::FILTER_BOOLEAN) ] ]); // Barre renommée : changement le nom de la barre dans les pages mères diff --git a/core/module/page/view/edit/edit.js.php b/core/module/page/view/edit/edit.js.php index 2401a9e0..f7b8758d 100755 --- a/core/module/page/view/edit/edit.js.php +++ b/core/module/page/view/edit/edit.js.php @@ -7,7 +7,7 @@ * @author Rémi Jean * @copyright Copyright (C) 2008-2018, Rémi Jean * @authorFrédéric Tempez - * @copyright Copyright (C) 2018-2019, Frédéric Tempez + * @copyright Copyright (C) 2018-2020, Frédéric Tempez * @license GNU General Public License, version 3 * @link http://zwiicms.com/ */ @@ -128,10 +128,14 @@ $( document ).ready(function() { $("#pageEditDisplayMenuWrapper").addClass("disabled"); $("#pageEditDisplayMenuWrapper").slideDown(); $("#pageEditGroupWrapper").removeClass("disabled"); - $("#pageEditGroupWrapper").slideUp(); + $("#pageEditGroupWrapper").slideUp(); + $("#pageHomePageIdWrapper").removeClass("disabled"); + $("#pageHomePageIdWrapper").slideUp(); } else { $("#pageEditDisplayMenuWrapper").removeClass("disabled"); - $("#pageEditDisplayMenuWrapper").slideUp(); + $("#pageEditDisplayMenuWrapper").slideUp(); + $("#pageHomePageIdWrapper").addClass("disabled"); + $("#pageHomePageIdWrapper").slideDown(); } /** @@ -338,9 +342,10 @@ pageEditBlockDOM.on("change", function() { $("#pageEditDisplayMenuWrapper").addClass("disabled"); $("#pageEditDisplayMenuWrapper").slideDown(); $("#pageEditGroupWrapper").removeClass("disabled"); - $("#pageEditGroupWrapper").slideUp(); + $("#pageEditGroupWrapper").slideUp(); + $("#pageHomePageIdWrapper").removeClass("disabled"); + $("#pageHomePageIdWrapper").slideUp(); } else { - console.log($("#pageEditModuleId").val()); $("#pageEditMenu").addClass("disabled"); $("#pageEditMenu").show(); $("#pageEditHideTitleWrapper").addClass("disabled"); @@ -352,11 +357,14 @@ pageEditBlockDOM.on("change", function() { $("#pageEditDisplayMenuWrapper").removeClass("disabled"); $("#pageEditDisplayMenuWrapper").slideUp(); $("#pageEditGroupWrapper").addClass("disabled"); - $("#pageEditGroupWrapper").slideDown(); + $("#pageEditGroupWrapper").slideDown(); + $("#pageHomePageIdWrapper").addClass("disabled"); + $("#pageHomePageIdWrapper").slideDown(); if ($("#pageEditParentPageId").val() !== "") { $("#pageEditbreadCrumbWrapper").addClass("disabled"); $("#pageEditbreadCrumbWrapper").slideDown(); } + } }); diff --git a/core/module/page/view/edit/edit.php b/core/module/page/view/edit/edit.php index c12a3ec8..526c8655 100755 --- a/core/module/page/view/edit/edit.php +++ b/core/module/page/view/edit/edit.php @@ -78,12 +78,14 @@ echo template::formOpen('pageEditForm'); ?> ]); ?> -
- $this->getData(['page', $this->getUrl(2), 'homePage']), - 'disabled' => $this->getData(['page', $this->getUrl(2), 'homePage']) === true ? true : false , - 'help' => 'La page d\'accueil est affichée par défaut. Pour sélectionner une autre page d\'accueil, activez l\'option à partir de l\'écran de cette page.' - ]); ?> +
+
+ $this->getData(['page', $this->getUrl(2), 'homePageId']), + 'disabled' => $this->getData(['page', $this->getUrl(2), 'homePageId']) === true ? true : false , + 'help' => 'Pour sélectionner une autre page d\'accueil, activez l\'option sur une autre page.' + ]); ?> +
diff --git a/core/module/theme/theme.php b/core/module/theme/theme.php index 6fc0e49d..92af95ca 100755 --- a/core/module/theme/theme.php +++ b/core/module/theme/theme.php @@ -11,7 +11,7 @@ * @license GNU General Public License, version 3 * @link http://zwiicms.com/ * @copyright : Frédéric Tempez - * @copyright Copyright (C) 2018-2019, Frédéric Tempez + * @copyright Copyright (C) 2018-2020, Frédéric Tempez */ class theme extends common { diff --git a/core/module/theme/view/footer/footer.js.php b/core/module/theme/view/footer/footer.js.php index f57c4a98..26e5f103 100755 --- a/core/module/theme/view/footer/footer.js.php +++ b/core/module/theme/view/footer/footer.js.php @@ -8,7 +8,7 @@ * @copyright Copyright (C) 2008-2018, Rémi Jean * @license GNU General Public License, version 3 * @author Frédéric Tempez - * @copyright Copyright (C) 2018-2019, Frédéric Tempez + * @copyright Copyright (C) 2018-2020, Frédéric Tempez * @link http://zwiicms.com/ */ diff --git a/core/module/theme/view/header/header.js.php b/core/module/theme/view/header/header.js.php index 6748571a..bc6b9c21 100755 --- a/core/module/theme/view/header/header.js.php +++ b/core/module/theme/view/header/header.js.php @@ -8,7 +8,7 @@ * @copyright Copyright (C) 2008-2018, Rémi Jean * @license GNU General Public License, version 3 * @author Frédéric Tempez - * @copyright Copyright (C) 2018-2019, Frédéric Tempez + * @copyright Copyright (C) 2018-2020, Frédéric Tempez * @link http://zwiicms.com/ */ diff --git a/core/module/user/view/login/login.js.php b/core/module/user/view/login/login.js.php index 6e729297..385dc9d4 100644 --- a/core/module/user/view/login/login.js.php +++ b/core/module/user/view/login/login.js.php @@ -5,7 +5,7 @@ * file that was distributed with this source code. * * @authorFrédéric Tempez - * @copyright Copyright (C) 2018-2019, Frédéric Tempez + * @copyright Copyright (C) 2018-2020, Frédéric Tempez * @license GNU General Public License, version 3 * @link http://zwiicms.com/ */ diff --git a/index.php b/index.php index 96adc396..454d4138 100755 --- a/index.php +++ b/index.php @@ -9,7 +9,7 @@ * @author Rémi Jean * @copyright Copyright (C) 2008-2018, Rémi Jean * @author Frédéric Tempez - * @copyright Copyright (C) 2018-2019, Frédéric Tempez + * @copyright Copyright (C) 2018-2020, Frédéric Tempez * @license GNU General Public License, version 3 * @link http://zwiicms.com/ */ diff --git a/module/form/form.php b/module/form/form.php index 8713116d..b370662d 100644 --- a/module/form/form.php +++ b/module/form/form.php @@ -9,7 +9,7 @@ * @author Rémi Jean * @copyright Copyright (C) 2008-2018, Rémi Jean * @author Frédéric Tempez - * @copyright Copyright (C) 2018-2019, Frédéric Tempez + * @copyright Copyright (C) 2018-2020, Frédéric Tempez * @license GNU General Public License, version 3 * @link http://zwiicms.com/ */ @@ -164,7 +164,7 @@ class form extends common { /** * Export CSV * @author Frédéric Tempez - * @copyright Copyright (C) 2018-2019, Frédéric Tempez + * @copyright Copyright (C) 2018-2020, Frédéric Tempez */ public function export2csv() { // Jeton incorrect