From 2022dfe96dd309dbf865def5d85063ac09ee457f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?No=C3=A9=20Garnier?= Date: Wed, 18 Jan 2023 01:20:39 +0100 Subject: [PATCH] =?UTF-8?q?Changement=20de=20le=20mani=C3=A8re=20de=20chan?= =?UTF-8?q?ger=20l'ordre?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Controller/AdminController.php | 11 ++++++----- Model/AdminModel.php | 18 ++++++++++++++++++ View/src/pages/Admin/SeeOrdre.php | 6 ++++++ 3 files changed, 30 insertions(+), 5 deletions(-) diff --git a/Controller/AdminController.php b/Controller/AdminController.php index 25220977..6563da8a 100644 --- a/Controller/AdminController.php +++ b/Controller/AdminController.php @@ -354,12 +354,13 @@ class AdminController extends UserController try{ global $rep, $vues; $model = new AdminModel(); - $lesOrdres = []; - $lesEnigmes=$model->getEnigmesSolo(); - foreach ($lesEnigmes as $enigme) { - $lesOrdres[] = array($enigme->getIdEnigme(),(int)$_POST['ordre'.$enigme->getIdEnigme()]); + $enigme = $_GET['id']; + $dir = $_GET['dir']; + if ($dir == 'up'){ + $model->modifOrdreUp($enigme); + } else { + $model->modifOrdreDown($enigme); } - $model->modifOrdre($lesOrdres); echo ''; $this->goToSeeOrdre(); } diff --git a/Model/AdminModel.php b/Model/AdminModel.php index ee56fbd3..96439a95 100644 --- a/Model/AdminModel.php +++ b/Model/AdminModel.php @@ -182,4 +182,22 @@ async function submit(){ $this->enigme_gateway->update($enigme); } } + public function modifOrdreUp(int $idEnigme){ + $enigme = $this->enigme_gateway->findById($idEnigme)[0]; + $ordre = $enigme->getOrdre(); + $enigme2 = $this->enigme_gateway->findByOrdre($ordre-1)[0]; + $enigme2->setOrdre($ordre); + $this->enigme_gateway->update($enigme2); + $enigme->setOrdre($ordre-1); + $this->enigme_gateway->update($enigme); + } + public function modifOrdreDown(int $idEnigme){ + $enigme = $this->enigme_gateway->findById($idEnigme)[0]; + $ordre = $enigme->getOrdre(); + $enigme2 = $this->enigme_gateway->findByOrdre($ordre+1)[0]; + $enigme2->setOrdre($ordre); + $this->enigme_gateway->update($enigme2); + $enigme->setOrdre($ordre+1); + $this->enigme_gateway->update($enigme); + } } \ No newline at end of file diff --git a/View/src/pages/Admin/SeeOrdre.php b/View/src/pages/Admin/SeeOrdre.php index ef0dbe5b..bd70c649 100644 --- a/View/src/pages/Admin/SeeOrdre.php +++ b/View/src/pages/Admin/SeeOrdre.php @@ -16,6 +16,7 @@ integrity="sha384-F3w7mX95PdgyTmZZMECAngseQB83DfGTowi0iMjiWaeVhAn4FJkqJByhZMI3AhiU" crossorigin="anonymous" /> + @@ -35,6 +36,7 @@ Enigme Ordre + @@ -43,6 +45,10 @@ echo ""; echo "".$enigme->getNom().""; echo "".$enigme->getOrdre().""; + echo ''; + echo 'getIdEnigme() .'&dir=up> arrow_upward '; + echo 'getIdEnigme() .'&dir=down> arrow_downward '; + echo ''; echo ""; } ?>