diff --git a/core/class/router.class.php b/core/class/router.class.php index ee1a7d6..00b428f 100644 --- a/core/class/router.class.php +++ b/core/class/router.class.php @@ -884,61 +884,54 @@ class core extends common exit(); } if ($access === false) { + // Bascule sur le site d'accueil + /*if ( + isset($_SESSION['ZWII_SITE_CONTENT']) + && $_SESSION['ZWII_SITE_CONTENT'] !== 'home' + ) { + $_SESSION['ZWII_SITE_CONTENT'] = 'home'; + header('Location:' . helper::baseUrl() . $this->getUrl()); + exit(); + }*/ http_response_code(403); if ($accessInfo['userName']) { $this->addOutput([ 'title' => 'Accès verrouillé', - 'content' => template::speech('
' . sprintf(helper::translate('La page %s est ouverte par l\'utilisateur %s
'), $accessInfo['pageId'], $accessInfo['userName'], helper::translate('Retour'))) + 'content' => template::speech(''. sprintf(helper::translate('La page %s est ouverte par l\'utilisateur %s
'), $accessInfo['pageId'], $accessInfo['userName'], helper::translate('Retour'))) ]); } else { if ( - $this->getData(['config', 'page403']) !== 'none' ) { - // Une page 403 est configurée, lire le nom de la page dans les pages du site home - $errorPage403 = json_decode(file_get_contents(self::DATA_DIR . 'home/page.json'), true); - // Vérification de l'existance de la page - if ($errorPage403['page'][$this->getData(['config', 'page403'])]) { - // On bascule sur le site d'accueil pour afficher la bonne page - $_SESSION['ZWII_SITE_CONTENT'] = 'home'; + $this->getData(['config', 'page403']) !== 'none' + and $this->getData(['page', $this->getData(['config', 'page403'])]) + ) { header('Location:' . helper::baseUrl() . $this->getData(['config', 'page403'])); } else { - // La page n'existe pas, affichage par défaut $this->addOutput([ - 'title' => 'Page indisponible', - 'content' => template::speech('' . helper::translate('La page demandée n\'existe pas ou est introuvable (erreur 404)') . '
' . helper::translate('Retour') . '
') - ]); - } - } else { - // La page n'est pas configurée, affichage par défaut - $this->addOutput([ - 'title' => 'Page indisponible', - 'content' => template::speech('' . helper::translate('La page demandée n\'existe pas ou est introuvable (erreur 404)') . '
' . helper::translate('Retour') . '
') - ]); - } - } - } elseif ($this->output['content'] === '') { - http_response_code(404); - if ( - $this->getData(['config', 'page404']) !== 'none' - ) { - // Une page 404 est configurée, lire le nom de la page dans les pages du site home - $errorPage404 = json_decode(file_get_contents(self::DATA_DIR . 'home/page.json'), true); - // Vérification de l'existance de la page - if ($errorPage404['page'][$this->getData(['config', 'page404'])]) { - // On bascule sur le site d'accueil pour afficher la bonne page - $_SESSION['ZWII_SITE_CONTENT'] = 'home'; - header('Location:' . helper::baseUrl() . $this->getData(['config', 'page404'])); - } else { - // La page n'existe pas, affichage par défaut - $this->addOutput([ - 'title' => 'Page indisponible', + 'title' => 'Accès interdit', 'content' => template::speech('' . helper::translate('Vous n\'êtes pas autorisé à consulter cette page (erreur 403)') . '
'. helper::translate('Retour') . '
') ]); } + } + } elseif ($this->output['content'] === '') { + // Bascule sur le site d'accueil pour afficher la page d'erreur + /*if ( + isset($_SESSION['ZWII_SITE_CONTENT']) + && $_SESSION['ZWII_SITE_CONTENT'] !== 'home' + ) { + $_SESSION['ZWII_SITE_CONTENT'] = 'home'; + header('Location:' . helper::baseUrl() . $this->getUrl()); + exit(); + }*/ + http_response_code(404); + if ( + $this->getData(['config', 'page404']) !== 'none' + and $this->getData(['page', $this->getData(['config', 'page404'])]) + ) { + header('Location:' . helper::baseUrl() . $this->getData(['config', 'page404'])); } else { - // La page n'est pas configurée, affichage par défaut $this->addOutput([ 'title' => 'Page indisponible', - 'content' => template::speech('' . helper::translate('Vous n\'êtes pas autorisé à consulter cette page (erreur 403)') . '
'. helper::translate('Retour') . '
') + 'content' => template::speech('' . helper::translate('La page demandée n\'existe pas ou est introuvable (erreur 404)') . '
') ]); } }