diff --git a/core/core.php b/core/core.php index e076d7d5..ce0a499f 100644 --- a/core/core.php +++ b/core/core.php @@ -31,7 +31,7 @@ class common { const TEMP_DIR = 'site/tmp/'; // Numéro de version - const ZWII_VERSION = '10.0.79.dev'; + const ZWII_VERSION = '10.0.80.dev'; public static $actions = []; public static $coreModuleIds = [ @@ -491,10 +491,10 @@ class common { /** * Retourne l'Id de la homePage de la langue courante - * @return string + * @return string ide la page */ - public function getHomePageId () { - foreach($this->getHierarchy(null, null, false) as $parentPageId => $childrenPageIds) { + public function getHomePageId () { + foreach($this->getHierarchy(null, false, false) as $parentPageId => $childrenPageIds) { if ($this->getData(['page',$parentPageId,'homePageId']) === true) { return ($parentPageId); } @@ -504,11 +504,28 @@ class common { } } } - // Aucune homePage, définir la première page et boucle - $this->setData(['page',current(array_keyS ($this->getHierarchy(null, true, false))),'homePageId',true]); - $this->getHomePageId(); + return($this->setHomePageId()); } + /** + * Positionne l'Id de la homePage de la langue courante + * @return string id de la page + * @param id de la page à positionner, si chaine vide, on cherche une page par défaut + */ + public function setHomePageId ($id = '') { + // La paramètre est-il correct ? + // définir la première n'étant pas une barre, pas désactivée, du groupe des visiteurs + foreach($this->getHierarchy(null, false, false) as $parentPageId => $childrenPageIds) { + if ($this->getData(['page',$parentPageId,'block']) !== 'bar' && + $this->getData(['page',$parentPageId,'disable']) === false && + $this->getData(['page',$parentPageId,'group']) === 0 ) { + $this->setData(['page',$parentPageId,'homePageId',true]); + return($parentPageId); + } + } + } + + /** * Accède à une valeur des variables http (ordre de recherche en l'absence de type : _COOKIE, _POST) diff --git a/core/module/page/page.php b/core/module/page/page.php index 3d317617..4bd25a3b 100755 --- a/core/module/page/page.php +++ b/core/module/page/page.php @@ -85,7 +85,7 @@ class page extends common { 'block' => '12', 'barLeft' => '', 'barRight' => '', - 'displayMenu' => '0', + 'displayMenu' => 'none', 'hideMenuSide' => false, 'hideMenuHead' => false, 'hideMenuChildren' => false @@ -239,9 +239,14 @@ class page extends common { $position = 0; $hideTitle = true; } - // Reset homePage + // Contrôle de la HomePage + + // Page d'accueil if ($this->getinput('pageHomePageId', helper::FILTER_BOOLEAN) === true ) { + // Effacer l'ancienne hompage $this->setData(['page',$this->getHomePageId(),'homePageId',false]); + // Positionner la nouvelle homepage + $this->setData(['page',$pageId,'homePageId',true]); } // Modifie la page ou en crée une nouvelle si l'id a changé $this->setData([