Nettoyage des sessions dans GET
This commit is contained in:
parent
982cf3bb9f
commit
f19afc81ed
@ -186,115 +186,94 @@ class page extends common
|
|||||||
public function delete()
|
public function delete()
|
||||||
{
|
{
|
||||||
// $url prend l'adresse sans le token
|
// $url prend l'adresse sans le token
|
||||||
$url = explode('&', $this->getUrl(2));
|
$page = $this->getUrl(2);
|
||||||
// La page n'existe pas
|
// La page n'existe pas
|
||||||
if ($this->getData(['page', $url[0]]) === null) {
|
if ($this->getData(['page', $page]) === null) {
|
||||||
// Valeurs en sortie
|
// Valeurs en sortie
|
||||||
$this->addOutput([
|
$this->addOutput([
|
||||||
'access' => false
|
'access' => false
|
||||||
]);
|
]);
|
||||||
} // Jeton incorrect
|
} // Jeton incorrect
|
||||||
elseif (!isset($_GET['csrf'])) {
|
elseif ($this->checkCSRF()) {
|
||||||
// Valeurs en sortie
|
// Valeurs en sortie
|
||||||
$this->addOutput([
|
$this->addOutput([
|
||||||
'redirect' => helper::baseUrl() . 'page/edit/' . $url[0],
|
'redirect' => helper::baseUrl() . 'page/edit/' . $page,
|
||||||
'notification' => helper::translate('Jeton invalide')
|
'notification' => helper::translate('Jeton invalide')
|
||||||
]);
|
]);
|
||||||
} elseif ($_GET['csrf'] !== $_SESSION['csrf']) {
|
|
||||||
// Valeurs en sortie
|
|
||||||
$this->addOutput([
|
|
||||||
'redirect' => helper::baseUrl() . 'page/edit/' . $url[0],
|
|
||||||
'notification' => helper::translate('Suppression interdite')
|
|
||||||
]);
|
|
||||||
}
|
}
|
||||||
// Impossible de supprimer la page d'accueil
|
// Impossible de supprimer la page d'accueil
|
||||||
elseif ($url[0] === $this->getData(['locale', 'homePageId'])) {
|
elseif ($page === $this->getData(['locale', 'homePageId'])) {
|
||||||
// Valeurs en sortie
|
// Valeurs en sortie
|
||||||
$this->addOutput([
|
$this->addOutput([
|
||||||
'redirect' => helper::baseUrl() . 'config',
|
'redirect' => helper::baseUrl() . 'config',
|
||||||
'notification' => helper::translate('Suppression interdite, page active dans la configuration du site')
|
'notification' => helper::translate('Suppression interdite, page active dans la configuration du site')
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
// Impossible de supprimer la page de recherche affectée
|
// Impossible de supprimer la page affectée
|
||||||
elseif ($url[0] === $this->getData(['locale', 'searchPageId'])) {
|
elseif ($page === $this->getData(['locale', 'searchPageId'])) {
|
||||||
// Valeurs en sortie
|
// Valeurs en sortie
|
||||||
$this->addOutput([
|
$this->addOutput([
|
||||||
'redirect' => helper::baseUrl() . 'config',
|
'redirect' => helper::baseUrl() . 'config',
|
||||||
'notification' => helper::translate('Suppression interdite, page active dans la configuration du site')
|
'notification' => helper::translate('Suppression interdite, page active dans la configuration du site')
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
// Impossible de supprimer la page des mentions légales affectée
|
// Impossible de supprimer la page affectée
|
||||||
elseif ($url[0] === $this->getData(['locale', 'legalPageId'])) {
|
elseif ($page === $this->getData(['locale', 'legalPageId'])) {
|
||||||
// Valeurs en sortie
|
// Valeurs en sortie
|
||||||
$this->addOutput([
|
$this->addOutput([
|
||||||
'redirect' => helper::baseUrl() . 'config',
|
'redirect' => helper::baseUrl() . 'config',
|
||||||
'notification' => helper::translate('Suppression interdite, page active dans la configuration du site')
|
'notification' => helper::translate('Suppression interdite, page active dans la configuration du site')
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
// Impossible de supprimer la page des mentions légales affectée
|
// Impossible de supprimer la page affectée
|
||||||
elseif ($url[0] === $this->getData(['locale', 'page404'])) {
|
elseif ($page === $this->getData(['locale', 'page404'])) {
|
||||||
// Valeurs en sortie
|
// Valeurs en sortie
|
||||||
$this->addOutput([
|
$this->addOutput([
|
||||||
'redirect' => helper::baseUrl() . 'config',
|
'redirect' => helper::baseUrl() . 'config',
|
||||||
'notification' => helper::translate('Suppression interdite, page active dans la configuration du site')
|
'notification' => helper::translate('Suppression interdite, page active dans la configuration du site')
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
// Impossible de supprimer la page des mentions légales affectée
|
// Impossible de supprimer la page affectée
|
||||||
elseif ($url[0] === $this->getData(['locale', 'page403'])) {
|
elseif ($page === $this->getData(['locale', 'page403'])) {
|
||||||
// Valeurs en sortie
|
// Valeurs en sortie
|
||||||
$this->addOutput([
|
$this->addOutput([
|
||||||
'redirect' => helper::baseUrl() . 'config',
|
'redirect' => helper::baseUrl() . 'config',
|
||||||
'notification' => helper::translate('Suppression interdite, page active dans la configuration du site')
|
'notification' => helper::translate('Suppression interdite, page active dans la configuration du site')
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
// Impossible de supprimer la page des mentions légales affectée
|
// Impossible de supprimer la page affectée
|
||||||
elseif ($url[0] === $this->getData(['locale', 'page302'])) {
|
elseif ($page === $this->getData(['locale', 'page302'])) {
|
||||||
// Valeurs en sortie
|
// Valeurs en sortie
|
||||||
$this->addOutput([
|
$this->addOutput([
|
||||||
'redirect' => helper::baseUrl() . 'config',
|
'redirect' => helper::baseUrl() . 'config',
|
||||||
'notification' => helper::translate('Suppression interdite, page active dans la configuration du site')
|
'notification' => helper::translate('Suppression interdite, page active dans la configuration du site')
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
// Jeton incorrect
|
|
||||||
elseif (!isset($_GET['csrf'])) {
|
|
||||||
// Valeurs en sortie
|
|
||||||
$this->addOutput([
|
|
||||||
'redirect' => helper::baseUrl() . 'page/edit/' . $url[0],
|
|
||||||
'notification' => helper::translate('Jeton invalide')
|
|
||||||
]);
|
|
||||||
} elseif ($_GET['csrf'] !== $_SESSION['csrf']) {
|
|
||||||
// Valeurs en sortie
|
|
||||||
$this->addOutput([
|
|
||||||
'redirect' => helper::baseUrl() . 'page/edit/' . $url[0],
|
|
||||||
'notification' => helper::translate('Suppression interdite')
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
// Impossible de supprimer une page contenant des enfants
|
// Impossible de supprimer une page contenant des enfants
|
||||||
elseif ($this->getHierarchy($url[0], null)) {
|
elseif ($this->getHierarchy($page, null)) {
|
||||||
// Valeurs en sortie
|
// Valeurs en sortie
|
||||||
$this->addOutput([
|
$this->addOutput([
|
||||||
'redirect' => helper::baseUrl() . 'page/edit/' . $url[0],
|
'redirect' => helper::baseUrl() . 'page/edit/' . $page,
|
||||||
'notification' => helper::translate('Impossible de supprimer une page contenant des pages enfants')
|
'notification' => helper::translate('Impossible de supprimer une page contenant des pages enfants')
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
// Suppression
|
// Suppression
|
||||||
else {
|
else {
|
||||||
|
|
||||||
// Effacer le dossier du module
|
// Effacer le dossier du module
|
||||||
$moduleId = $this->getData(['page', $url[0], 'moduleId']);
|
$moduleId = $this->getData(['page', $page, 'moduleId']);
|
||||||
$modulesData = helper::getModules();
|
$modulesData = helper::getModules();
|
||||||
if (
|
if (
|
||||||
array_key_exists($moduleId, $modulesData)
|
array_key_exists($moduleId, $modulesData)
|
||||||
&& is_dir($modulesData[$moduleId]['dataDirectory'] . $url[0])
|
&& is_dir($modulesData[$moduleId]['dataDirectory'] . $page)
|
||||||
) {
|
) {
|
||||||
$this->removeDir($modulesData[$moduleId]['dataDirectory'] . $url[0]);
|
$this->removeDir($modulesData[$moduleId]['dataDirectory'] . $page);
|
||||||
}
|
}
|
||||||
// Effacer la page
|
// Effacer la page
|
||||||
$this->deleteData(['page', $url[0]]);
|
$this->deleteData(['page', $page]);
|
||||||
if (file_exists(self::DATA_DIR . self::$i18nContent . '/content/' . $url[0] . '.html')) {
|
if (file_exists(self::DATA_DIR . self::$i18nContent . '/content/' . $page . '.html')) {
|
||||||
unlink(self::DATA_DIR . self::$i18nContent . '/content/' . $url[0] . '.html');
|
unlink(self::DATA_DIR . self::$i18nContent . '/content/' . $page . '.html');
|
||||||
}
|
}
|
||||||
$this->deleteData(['module', $url[0]]);
|
$this->deleteData(['module', $page]);
|
||||||
|
|
||||||
// Met à jour le sitemap
|
// Met à jour le sitemap
|
||||||
$this->updateSitemap();
|
$this->updateSitemap();
|
||||||
|
Loading…
Reference in New Issue
Block a user