From b027322e4ff0297db71ce531a91267fc31f5c380 Mon Sep 17 00:00:00 2001 From: mapoint2 Date: Fri, 17 Nov 2023 14:33:11 +0100 Subject: [PATCH] :bug: connection ne fonction plus --- fluxRSS/controleur/AdminControleur.php | 4 ++-- fluxRSS/controleur/FrontControleur.php | 4 ++-- fluxRSS/controleur/UserControleur.php | 19 +++++++++++++++---- fluxRSS/model/AdminModel.php | 4 +++- fluxRSS/templates/Connection.html | 2 +- 5 files changed, 23 insertions(+), 10 deletions(-) diff --git a/fluxRSS/controleur/AdminControleur.php b/fluxRSS/controleur/AdminControleur.php index 132369c..13bdd22 100755 --- a/fluxRSS/controleur/AdminControleur.php +++ b/fluxRSS/controleur/AdminControleur.php @@ -36,7 +36,7 @@ class AdminControleur //mauvaise action default: $dVueEreur[] = "Erreur d'appel php"; - echo $twig->render('listArticle.html', ['dVueErreur'=>$dVueEreur,'isAdmin' => AdminModel::isAdmin()]); + echo $twig->render('listArticle.html', ['dVueErreur'=>$dVueEreur,'isAdmin' => (AdminModel::isAdmin())]); break; } } catch (\PDOException $e) { @@ -67,7 +67,7 @@ class AdminControleur public function connection(){ global $twig; // nécessaire pour utiliser variables globales - if (!AdminModel::isAdmin()){ + if (AdminModel::isAdmin()){ $this->listArticle(); } else { diff --git a/fluxRSS/controleur/FrontControleur.php b/fluxRSS/controleur/FrontControleur.php index 26b23c9..1ba5f66 100755 --- a/fluxRSS/controleur/FrontControleur.php +++ b/fluxRSS/controleur/FrontControleur.php @@ -15,7 +15,7 @@ class FrontControleur global $twig; $router = new AltoRouter(); $router->setBasePath('~mapoint2/SAE/Php_RSS/fluxRSS/'); - $router->map('GET', '/[a:action]?', 'UserControleur'); + $router->map('GET', '/', 'AdminControleur'); $router->map('GET|POST','/user/[a:action]?','UserControleur'); $router->map('GET|POST','/admin/[a:action]?','AdminControleur'); @@ -31,7 +31,7 @@ class FrontControleur try { if($controller == "AdminControleur"){ if (!AdminModel::isAdmin()){ - $action = "connection"; + //$action = "connection"; } } $controller = '\\controleur\\' . $controller; diff --git a/fluxRSS/controleur/UserControleur.php b/fluxRSS/controleur/UserControleur.php index 827434f..1816532 100755 --- a/fluxRSS/controleur/UserControleur.php +++ b/fluxRSS/controleur/UserControleur.php @@ -71,25 +71,36 @@ class UserControleur */ public function connection(){ global $twig; // nécessaire pour utiliser variables globales - echo $twig->render('Connection.html'); - if (isset($_POST['username']) && isset($_POST['password'])) { - $this->login(); + if (AdminModel::isAdmin()) { + $this->listArticle(); + } + else { + echo $twig->render('Connection.html'); + if (isset($_POST['username']) && isset($_POST['password'])) { + $this->login(); + } } } + /** + * @throws \Twig\Error\RuntimeError + * @throws \Twig\Error\SyntaxError + * @throws \Twig\Error\LoaderError + * @throws \Exception + */ public function login(){ $username = $_POST['username']; $password = $_POST['password']; $adminModel = new AdminModel(); $admin = $adminModel->connection($username, $password); - if ($admin != null) { $this->listArticle(); } else{ unset($_POST['username']); unset($_POST['passwords']); + unset($_SESSION['role']); $this->connection(); } } diff --git a/fluxRSS/model/AdminModel.php b/fluxRSS/model/AdminModel.php index 3350adc..5c4f9d8 100755 --- a/fluxRSS/model/AdminModel.php +++ b/fluxRSS/model/AdminModel.php @@ -25,11 +25,13 @@ class AdminModel return new Admin($username,$motDePasse['mail']); } } + unset($_SESSION['role']); + unset($_SESSION['pseudo']); return null; } public static function isAdmin(): bool { - return isset($_SESSION['role']) && $_SESSION['role'] == 'admin'; + return (isset($_SESSION['role']) && $_SESSION['role'] == 'admin'); } } \ No newline at end of file diff --git a/fluxRSS/templates/Connection.html b/fluxRSS/templates/Connection.html index 8a9cf92..a330795 100755 --- a/fluxRSS/templates/Connection.html +++ b/fluxRSS/templates/Connection.html @@ -43,7 +43,7 @@ - Not a member? Go to Articles + Not a member? Go to Articles