From dfe31a2400a6ae360620411904e879b2eea12de9 Mon Sep 17 00:00:00 2001 From: Fred Tempez Date: Wed, 16 Sep 2020 14:59:21 +0200 Subject: [PATCH] =?UTF-8?q?Traitement=20des=20modification=20et=20des=20su?= =?UTF-8?q?ppression=20des=20pages=20sp=C3=A9ciales?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/module/page/page.php | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/core/module/page/page.php b/core/module/page/page.php index 85b83b39..1e39d774 100644 --- a/core/module/page/page.php +++ b/core/module/page/page.php @@ -130,6 +130,22 @@ class page extends common { 'notification' => 'Impossible de supprimer la page d\'accueil' ]); } + // Impossible de supprimer la page de recherche affectée + elseif($url[0] === $this->getData(['config', 'searchPageId'])) { + // Valeurs en sortie + $this->addOutput([ + 'redirect' => helper::baseUrl() . 'page/edit/' . $url[0], + 'notification' => 'Désactiver la page de recherche dans la configuration avant de la supprimer' + ]); + } + // Impossible de supprimer la page des mentions légales affectée + elseif($url[0] === $this->getData(['config', 'legalPageId'])) { + // Valeurs en sortie + $this->addOutput([ + 'redirect' => helper::baseUrl() . 'page/edit/' . $url[0], + 'notification' => 'Désactiver la page des mentions légales dans la configuration avant de la supprimer' + ]); + } // Jeton incorrect elseif(!isset($_GET['csrf'])) { // Valeurs en sortie @@ -221,6 +237,22 @@ class page extends common { if($pageId !== $this->getUrl(2)) { $this->deleteData(['page', $this->getUrl(2)]); } + // Traitement des pages spéciales affectées dans la config : + if ($this->getUrl(2) === $this->getData(['config', 'legalPageId']) ) { + $this->setData(['config','legalPageId', $pageId]); + } + if ($this->getUrl(2) === $this->getData(['config', 'searchPageId']) ) { + $this->setData(['config','searchPageId', $pageId]); + } + if ($this->getUrl(2) === $this->getData(['config', 'page404']) ) { + $this->setData(['config','page404', $pageId]); + } + if ($this->getUrl(2) === $this->getData(['config', 'page403']) ) { + $this->setData(['config','page403', $pageId]); + } + if ($this->getUrl(2) === $this->getData(['config', 'page302']) ) { + $this->setData(['config','page302', $pageId]); + } // Si la page est une page enfant, actualise les positions des autres enfants du parent, sinon actualise les pages sans parents $lastPosition = 1; $hierarchy = $this->getInput('pageEditParentPageId') ? $this->getHierarchy($this->getInput('pageEditParentPageId')) : array_keys($this->getHierarchy());