diff --git a/Controller/AdminController.php b/Controller/AdminController.php
index ec20f7e4..3742b422 100644
--- a/Controller/AdminController.php
+++ b/Controller/AdminController.php
@@ -81,6 +81,48 @@ class AdminController extends UserController
case "modifOrdre":
$this->modifOrdre();
break;
+ case "goToGame":
+ $this->goToGame();
+ break;
+ case "enigmeMultiEnded":
+ $this->enigmeMultiEnded();
+ break;
+ case "goToLobby":
+ $this->goToLobby();
+ break;
+ case "waiting":
+ $this->waiting();
+ break;
+ case "addToQueue":
+ $this->addToQueue();
+ break;
+ case "saveCode":
+ $this->saveCode();
+ break;
+ case "saveCodeMulti":
+ $this->saveCodeMulti();
+ break;
+ case "saveCodeInCookie":
+ $this->saveCodeInCookie();
+ break;
+ case "getGameEtat":
+ $this->getGameEtat();
+ break;
+ case "endGame":
+ $this->endGame();
+ break;
+ case "quitQueue":
+ $this->quitQueue();
+ break;
+ case "quitGame":
+ $this->quitGame();
+ break;
+ case "skipEnigme":
+ $this->skipEnigme();
+ break;
+ case "goToDashboard":
+ $this->goToDashboard();
+ break;
default:
$error = "Action non valide";
require($rep . $vues['erreur']);
diff --git a/Controller/PartieGateway.php b/Controller/PartieGateway.php
index 9d32703b..be8c9ed2 100644
--- a/Controller/PartieGateway.php
+++ b/Controller/PartieGateway.php
@@ -391,8 +391,6 @@ class PartieGateway
)
);
}
- // public function quitGame(string $mailUtilisateur,int $idPartie){
- // }
public function showAll(): void
{
$query = "SELECT * FROM Partie";
diff --git a/Controller/UserController.php b/Controller/UserController.php
index 7ceb6462..197ce200 100644
--- a/Controller/UserController.php
+++ b/Controller/UserController.php
@@ -414,10 +414,9 @@ class UserController
$model = new UserModel();
$idPartie = $_SESSION['idPartie'];
$utilisateur = $_SESSION['utilisateur'];
+ $model->quitGame($utilisateur->getEmail(), $idPartie);
+ echo '';
require ($rep . $vues['lobby']);
- // $model->quitGame($utilisateur->getEmail(), $idPartie);
- // echo '';
- // require ($rep . $vues['lobby']);
}
catch (Exception $e) {
$error = $e->getMessage();
diff --git a/Model/UserModel.php b/Model/UserModel.php
index d21f1aac..4d5c40ce 100644
--- a/Model/UserModel.php
+++ b/Model/UserModel.php
@@ -125,7 +125,6 @@ class UserModel
$now = new DateTime();
$interval = $now->diff($dateDebut);
$tempDeResolution = $interval->days * 24 * 60 * 60 + $interval->h * 60 * 60 + $interval->i * 60 + $interval->s;
- // $result = $this->resoudre_gateway->getMaxClassement($enigmeId, $idPartie);
$leClassement = $this->resoudre_gateway->getClassement($enigmeId, $idPartie);
usort($leClassement, function($leClassement, $b) {
if ($leClassement === $b) {
@@ -145,12 +144,6 @@ class UserModel
break;
}
}
- // if ($result == 0){
- // $classement = 1;
- // }
- // else{
- // $classement = $result + 1;
- // }
$this->resoudre_gateway->enigmeMultiEnded($mailUtilisateur,$enigmeId, $idPartie ,$tempDeResolution, $classement);
}
@@ -284,10 +277,15 @@ class UserModel
public function skipEnigme(string $mailUtilisateur, int $idPartie, int $idEnigme) {
$this->resoudre_gateway->skipEnigme($mailUtilisateur, $idPartie, $idEnigme);
}
- // public function quitGame(string $mailUtilisateur, int $idPartie) {
- // $this->partie_gateway->quitGame($mailUtilisateur, $idPartie);
- // if ($this->partie_gateway->getPlayerNumber($idPartie) == 0){
- // $this->partie_gateway->delete($idPartie);
- // }
- // }
+ public function quitGame(string $mailUtilisateur, int $idPartie) {
+ $lesIdEnigmes = $this->partie_gateway->getLesIdEnigmes($idPartie);
+ foreach ($lesIdEnigmes as $idEnigme){
+ if ($this->resoudre_gateway->checkEnigmeIsEndedInPartie($mailUtilisateur, $idEnigme, $idPartie) == false){
+ $this->resoudre_gateway->skipEnigme($mailUtilisateur, $idPartie, $idEnigme);
+ }
+ }
+ if ($this->partie_gateway->getPlayerNumber($idPartie) == 0){
+ $this->partie_gateway->delete($idPartie);
+ }
+ }
}
\ No newline at end of file