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 @@
- +