From 9d06149272b26312b9342edb4e4c4dd7940c6984 Mon Sep 17 00:00:00 2001 From: johan Date: Tue, 6 Dec 2022 15:15:21 +0100 Subject: [PATCH] =?UTF-8?q?Corrections=20suppl=C3=A9mentaires=20de=20la=20?= =?UTF-8?q?fil=20d'attente?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- WEB/Controller/PartieGateway.php | 7 ++++++- WEB/Controller/UtilisateurGateway.php | 12 +++++++++--- WEB/Model/UserModel.php | 23 ++++++++++++++++------- WEB/Model/scripted.db | Bin 53248 -> 53248 bytes 4 files changed, 31 insertions(+), 11 deletions(-) diff --git a/WEB/Controller/PartieGateway.php b/WEB/Controller/PartieGateway.php index de3204af..0e983213 100644 --- a/WEB/Controller/PartieGateway.php +++ b/WEB/Controller/PartieGateway.php @@ -57,8 +57,13 @@ class PartieGateway return $partie; } + public function rejoindrePartieMulti(int $idPartieInQueue,array $tabEnigme) : Partie{ + $partie = PartieFactory::createPartieMulti($idPartieInQueue,$tabEnigme); + return $partie; + } + public function findPartieInQueue(){ - $query = "SELECT id + $query = "SELECT p.id FROM Partie p, Participer pa WHERE pa.etat=0 AND pa.partie=p.id"; diff --git a/WEB/Controller/UtilisateurGateway.php b/WEB/Controller/UtilisateurGateway.php index 3f34802a..76211171 100644 --- a/WEB/Controller/UtilisateurGateway.php +++ b/WEB/Controller/UtilisateurGateway.php @@ -79,11 +79,11 @@ class UtilisateurGateway } public function addToQueue(Utilisateur $utilisateur,Partie $partie){ - $query = "INSERT INTO Participer VALUES (:idUtilisateur,:idPartie,0)"; + $query = "INSERT INTO Participer VALUES (:idPartie,:idUtilisateur,0)"; $this->con->executeQuery($query,array( ':idUtilisateur' => array($utilisateur->getEmail(),SQLITE3_TEXT), ':idPartie' => array($partie->getIdPartie(), SQLITE3_INTEGER) - )); + )); } public function isAlreadyInqueue(Utilisateur $utilisateur) : bool{ @@ -93,7 +93,7 @@ class UtilisateurGateway ) ); $results=$this->con->getResults(); - if ($results != array()) + if (empty($results)) return false; else return true; @@ -108,6 +108,12 @@ class UtilisateurGateway return False; } + private function launchGame(Utilisateur $utilisateur){ + $query = "UPDATE Participer SET etat=1 WHERE etat=0 AND utilisateur=:utilisateur"; + $this->con->executeQuery($query,array( + 'utilisateur' => array($utilisateur->getEmail(),SQLITE3_TEXT))); + } + /*public function resoudreEnigmeMulti(string $emailUtilisateur) { $query="SELECT c.partie FROM Contenir diff --git a/WEB/Model/UserModel.php b/WEB/Model/UserModel.php index c2ae4b1c..4f4d55d9 100644 --- a/WEB/Model/UserModel.php +++ b/WEB/Model/UserModel.php @@ -64,30 +64,39 @@ class UserModel } public function addToQueue(){ + echo '1'; if($this->utilisateur_gateway->isAlreadyInqueue($_SESSION['utilisateur'])) { + if ($this->utilisateur_gateway->queueFilled()) + { + echo "Partie is launched"; + $this->utilisateur_gateway->launchGame($_SESSION['utilisateur']); + } return; } - echo '1'; + echo '2'; if (!$this->partie_gateway->partieInQueueExists()) { - echo '2'; - $tabEnigme = $this->enigme_gateway->findMultiEnigma(); echo '3'; + $tabEnigme = $this->enigme_gateway->findMultiEnigma(); $idNewPartie = $this->partie_gateway->findPartieMaxId(); - echo '4'; $partie=$this->partie_gateway->creerPartieMulti($idNewPartie,$tabEnigme); } else{ + echo '4'; $idPartieInQueue = $this->partie_gateway->findPartieInQueue(); + echo '5'; $tabEnigme = $this->enigme_gateway->findEnigmaFromPartie($idPartieInQueue); - $partie = $this->partie_gateway->creerPartieMulti($idPartieInQueue, $tabEnigme); + echo '6'; + $partie = $this->partie_gateway->rejoindrePartieMulti($idPartieInQueue, $tabEnigme); + echo '7'; } - echo '6'; + echo '8'; $this->utilisateur_gateway->addToQueue($_SESSION['utilisateur'],$partie); + echo '9'; if ($this->utilisateur_gateway->queueFilled()) { echo "Partie is launched"; - /*$this->launchGame();*/ + $this->utilisateur_gateway->launchGame($_SESSION['utilisateur']); } } public function logout() diff --git a/WEB/Model/scripted.db b/WEB/Model/scripted.db index 8bad5f78a7b2a51b6852954d8ecd863b5ee63eaa..c43c9bfd2247ed178e2823ba43deaee0aeafb040 100644 GIT binary patch delta 259 zcmZozz}&Ead4jZH3IhWJFA&3k;Y1x{#*~c-OZYjM_@f#4*YZbi78LO34+>ynQx$Av z<;cpG6)KvyjDIOXvsYW{`dU%HVZ0T;ujQPR%JxCfNAr4 zeQ^PnFAV%&HVYcO;^*OFWR_$MNGvMJOl8^>z?QI??Z9(>SwTh?PIaKmG7|G(PU8Z4 Wh>`yt1OGdq#wYwjf-FA&3k%tReyM*WQmOZeFs`PVY=uiY%Du$X`HTKRAw|2+f$ z`^|y|Px&{$*B2LH`O3im707+f&&|omEXf&=SX7dkx+#Dyf#nSY{~MspBYsgKMizB` gj;#EQ#5{-G#LOJMv?4>U&5Rq~@Cyq8WjIk~0Ed+-J^%m!