From 11e2eb91496dd3e68cd6cc0ab266d163df2fc2c6 Mon Sep 17 00:00:00 2001 From: fredtempez Date: Tue, 5 Nov 2019 09:36:18 +0100 Subject: [PATCH] =?UTF-8?q?[9.2.10]=20Pages=20filles=20avec=20une=20galeri?= =?UTF-8?q?e=20-=20mise=20=C3=A0=20jour=20des=20l=C3=A9gendes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGES.md | 2 +- core/core.php | 23 ++++++++++++++++------- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index fbe381e3..f637fd3d 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -2,7 +2,7 @@ ## version 9.2.10 - Modifications préparatoires à la version 10 : - - Lors de l'installation, stockage de l'url de base dans l'éventualité de la restauration d'un backup et de son installation dans un autre arborescence. + - Lors de l'installation, stockage de l'url de base dans l'éventualité de la restauration d'un backup et de son installation dans une autre arborescence. - Modification des clés identifiant les légendes du module Gallery : suppression du point de séparation du nom de fichier de l'extension. ## version 9.2.09 diff --git a/core/core.php b/core/core.php index 9c667c46..ec35dc8a 100644 --- a/core/core.php +++ b/core/core.php @@ -962,24 +962,33 @@ class common { $this->setData(['core', 'baseUrl', str_replace('/','',helper::baseUrl(false,false)) ]); // Préparation des clés de légendes pour la v10 - // Parcours des pages du site - foreach ($this->getHierarchy(null,null,null) as $parentKey => $parent) { + + // Construire une liste plate de parents et d'enfants + + foreach ($this->getHierarchy(null,null,null) as $parentKey=>$parentValue) { + $pageList [] = $parentKey; + foreach ($parentValue as $childKey) { + $pageList [] = $childKey; + } + } + // Parcourir toutes les pages + foreach ($pageList as $parentKey => $parent) { //La page a une galerie - if ($this->getData(['page',$parentKey,'moduleId']) === 'gallery' ) { + if ($this->getData(['page',$parent,'moduleId']) === 'gallery' ) { // Lire les données du module - $tempData = $this->getData(['module', $parentKey]); // Parcourir les dossiers de la galerie + $tempData = $this->getData(['module', $parent]); foreach ($tempData as $galleryKey => $galleryItem) { foreach ($galleryItem as $legendKey => $legendValue) { // Recherche la clé des légendes if ($legendKey === 'legend') { - foreach ($legendValue as $itemKey=>$itemValue) { + foreach ($legendValue as $itemKey=>$itemValue) { // Ancien nom avec un point devant l'extension ? if (strpos($itemKey,'.') > 0) { // Créer une nouvelle clé - $this->setData(['module', $parentKey, $galleryKey, 'legend',str_replace('.','',$itemKey),$itemValue]); + $this->setData(['module', $parent, $galleryKey, 'legend',str_replace('.','',$itemKey),$itemValue]); // Supprimer la valeur - $this->deleteData(['module', $parentKey, $galleryKey, 'legend',$itemKey]); + $this->deleteData(['module', $parent, $galleryKey, 'legend',$itemKey]); } } }