diff --git a/WEB/Controller/UtilisateurGateway.php b/WEB/Controller/UtilisateurGateway.php index 76211171..0404b4a9 100644 --- a/WEB/Controller/UtilisateurGateway.php +++ b/WEB/Controller/UtilisateurGateway.php @@ -86,6 +86,16 @@ class UtilisateurGateway )); } + public function findUsersInQueue() : array{ + $query = "SELECT u.* FROM Utilisateur u, Participer p + WHERE u.email=p.utilisateur + AND p.etat=0"; + $this->con->executeQuery($query); + $results = $this->con->getResults(); + $user_group = UtilisateurFactory::createTabUtilisateur($results); + return $user_group; + } + public function isAlreadyInqueue(Utilisateur $utilisateur) : bool{ $query="SELECT utilisateur FROM Participer WHERE utilisateur=:utilisateur"; $this->con->executeQuery($query, array( diff --git a/WEB/Model/UserModel.php b/WEB/Model/UserModel.php index ed20225b..94f43a9a 100644 --- a/WEB/Model/UserModel.php +++ b/WEB/Model/UserModel.php @@ -105,16 +105,17 @@ class UserModel require($rep . $vues['erreur']); } } - public function addToQueue(){ echo '1'; + $userGroup=$this->utilisateur_gateway->findUsersInQueue(); if($this->utilisateur_gateway->isAlreadyInqueue($_SESSION['utilisateur'])) { if ($this->utilisateur_gateway->queueFilled()) { echo "Partie is launched"; $this->utilisateur_gateway->launchGame($_SESSION['utilisateur']); - } + } else + $this->attente(); return; } echo '2'; @@ -139,9 +140,16 @@ class UserModel if ($this->utilisateur_gateway->queueFilled()) { echo "Partie is launched"; + trigger_event('queue_filled',$user_group,$partie,$user_group); $this->utilisateur_gateway->launchGame($_SESSION['utilisateur']); } + $this->attente(); + } + + public function onQueueFilled{ + } + public function logout() { $_SESSION['role'] = 'visitor';