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