From b770d70a439665cf7e2c4dbc095ec5052a968a23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?No=C3=A9=20Garnier?= Date: Sun, 25 Dec 2022 15:43:54 +0100 Subject: [PATCH] =?UTF-8?q?Getsion=20de=20la=20fin=20du=20monde=20histoire?= =?UTF-8?q?=20+=20tr=C3=A8s=20l=C3=A9ger=20changement=20de=20la=20page=20A?= =?UTF-8?q?ddEnigmeSolo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- WEB/Controller/EnigmeGateway.php | 8 ++++++++ WEB/Controller/UserController.php | 3 +++ WEB/Model/UserModel.php | 4 ++++ WEB/View/src/pages/Admin/AddEnigmeSolo.php | 2 +- 4 files changed, 16 insertions(+), 1 deletion(-) diff --git a/WEB/Controller/EnigmeGateway.php b/WEB/Controller/EnigmeGateway.php index 21f2e903..d0bf8c24 100644 --- a/WEB/Controller/EnigmeGateway.php +++ b/WEB/Controller/EnigmeGateway.php @@ -131,6 +131,14 @@ class EnigmeGateway $tabEnigme=EnigmeFactory::create($results); return $tabEnigme; } + public function findLastEnigmaByOrdre() : array + { + $query = "SELECT * FROM Enigme ORDER BY ordre DESC LIMIT 1"; + $this->con->executequery($query); + $results = $this->con->getResults(); + $tabEnigme=EnigmeFactory::create($results); + return $tabEnigme; + } public function findByOrdre(int $ordre) : array { $query = "SELECT * FROM Enigme WHERE ordre = :ordre"; diff --git a/WEB/Controller/UserController.php b/WEB/Controller/UserController.php index ae727ffb..4199c5d7 100644 --- a/WEB/Controller/UserController.php +++ b/WEB/Controller/UserController.php @@ -104,6 +104,9 @@ class UserController $model = new UserModel(); $ordre = $_REQUEST['ordre']; $enigme = $model->getEnigmeByOrdre($ordre); + if ($enigme->getNom() == "") { + header("Location: index.php?action=goToHome"); + } require($rep . $vues['enigmePage']); } catch (Exception $e) { $error = $e->getMessage(); diff --git a/WEB/Model/UserModel.php b/WEB/Model/UserModel.php index e8c718eb..c8f6196f 100644 --- a/WEB/Model/UserModel.php +++ b/WEB/Model/UserModel.php @@ -70,6 +70,10 @@ class UserModel { $tabEnigme = $this->enigme_gateway->findByOrdre($num); if ($tabEnigme == null) { + $last = $this->enigme_gateway->findLastEnigmaByOrdre(); + if ($last[0]->getOrdre() == ($num - 1)){ + return new Enigme(1,"","","","",""); + } throw new Exception("Enigme non trouvée"); } return $tabEnigme[0]; diff --git a/WEB/View/src/pages/Admin/AddEnigmeSolo.php b/WEB/View/src/pages/Admin/AddEnigmeSolo.php index d9169459..efd7f577 100644 --- a/WEB/View/src/pages/Admin/AddEnigmeSolo.php +++ b/WEB/View/src/pages/Admin/AddEnigmeSolo.php @@ -65,7 +65,7 @@
- +