|
|
@ -79,17 +79,25 @@ class UtilisateurGateway
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public function addToQueue(Utilisateur $utilisateur,Partie $partie){
|
|
|
|
public function addToQueue(Utilisateur $utilisateur,Partie $partie){
|
|
|
|
$query = "INSERT INTO Participer VALUES (:idUtilisateur,:idPartie)";
|
|
|
|
$query = "INSERT INTO Participer VALUES (:idUtilisateur,:idPartie,0)";
|
|
|
|
$this->con->executeQuery($query,array(
|
|
|
|
$this->con->executeQuery($query,array(
|
|
|
|
'idUtilisateur' => array($utilisateur->getEmail(),SQLITE3_TEXT),
|
|
|
|
'idUtilisateur' => array($utilisateur->getEmail(),SQLITE3_TEXT),
|
|
|
|
'idPartie' => array($partie->getIdPartie(), SQLITE3_INTEGER)
|
|
|
|
'idPartie' => array($partie->getIdPartie(), SQLITE3_INTEGER)
|
|
|
|
));
|
|
|
|
));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public function isAlreadyInqueue(Utilisateur $utilisateur){
|
|
|
|
|
|
|
|
$query="SELECT utilisateur FROM Participer WHERE utilisateur=:utilisateur";
|
|
|
|
|
|
|
|
$this->con->executeQuery($query, array(
|
|
|
|
|
|
|
|
'utilisateur' => array($utilisateur->getEmail())
|
|
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public function queueFilled(){
|
|
|
|
public function queueFilled(){
|
|
|
|
$query = "SELECT count(*) FROM Participer WHERE etat=0";
|
|
|
|
$query = "SELECT count(*) FROM Participer WHERE etat=0";
|
|
|
|
$this->con->executeQuery($query);
|
|
|
|
$this->con->executeQuery($query);
|
|
|
|
if ($this->con->getResults()[0]['count'] >= 4)
|
|
|
|
if ($this->con->getResults()[0]['count(*)'] >= 4)
|
|
|
|
return True;
|
|
|
|
return True;
|
|
|
|
else
|
|
|
|
else
|
|
|
|
return False;
|
|
|
|
return False;
|
|
|
@ -98,7 +106,7 @@ class UtilisateurGateway
|
|
|
|
/*public function resoudreEnigmeMulti(string $emailUtilisateur)
|
|
|
|
/*public function resoudreEnigmeMulti(string $emailUtilisateur)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
$query="SELECT c.partie FROM Contenir
|
|
|
|
$query="SELECT c.partie FROM Contenir
|
|
|
|
WHERE c.joueur = :emailUtilisateur
|
|
|
|
WHERE c.utilisateur = :emailUtilisateur
|
|
|
|
and c.enCours = TRUE";
|
|
|
|
and c.enCours = TRUE";
|
|
|
|
$this->con->executeQuery($query, array(
|
|
|
|
$this->con->executeQuery($query, array(
|
|
|
|
':emailUtilisateur' => array($emailUtilisateur,SQLITE3_TEXT)
|
|
|
|
':emailUtilisateur' => array($emailUtilisateur,SQLITE3_TEXT)
|
|
|
@ -107,7 +115,7 @@ class UtilisateurGateway
|
|
|
|
|
|
|
|
|
|
|
|
$query="SELECT e.id, c2.indexEnigme FROM Resoudre r, Contenir c1,Contenir c2, Enigme e WHERE
|
|
|
|
$query="SELECT e.id, c2.indexEnigme FROM Resoudre r, Contenir c1,Contenir c2, Enigme e WHERE
|
|
|
|
r.id = :idPartie
|
|
|
|
r.id = :idPartie
|
|
|
|
AND r.joueur=:idJoueur
|
|
|
|
AND r.utilisateur=:idutilisateur
|
|
|
|
AND r.partie=:idPartie
|
|
|
|
AND r.partie=:idPartie
|
|
|
|
AND r.temps IS NOT NULL
|
|
|
|
AND r.temps IS NOT NULL
|
|
|
|
AND c1.partie = r.partie
|
|
|
|
AND c1.partie = r.partie
|
|
|
@ -136,19 +144,19 @@ class UtilisateurGateway
|
|
|
|
$classement=$results[0]["max"]+1;
|
|
|
|
$classement=$results[0]["max"]+1;
|
|
|
|
|
|
|
|
|
|
|
|
$query="SELECT * FROM Resoudre
|
|
|
|
$query="SELECT * FROM Resoudre
|
|
|
|
WHERE r.joueur=:joueur
|
|
|
|
WHERE r.utilisateur=:utilisateur
|
|
|
|
AND r.enigme=:idEnigme
|
|
|
|
AND r.enigme=:idEnigme
|
|
|
|
AND r.partie=:idPartie";
|
|
|
|
AND r.partie=:idPartie";
|
|
|
|
$this->con->executeQuery($query, array(
|
|
|
|
$this->con->executeQuery($query, array(
|
|
|
|
"joueur" => array($emailUtilisateur, SQLITE3_TEXT),
|
|
|
|
"utilisateur" => array($emailUtilisateur, SQLITE3_TEXT),
|
|
|
|
"enigme" => array($idEnigme, SQLITE3_INTEGER),
|
|
|
|
"enigme" => array($idEnigme, SQLITE3_INTEGER),
|
|
|
|
"partie" => array($idPartie, SQLITE3_INTEGER)));
|
|
|
|
"partie" => array($idPartie, SQLITE3_INTEGER)));
|
|
|
|
$results=$this->con->getResults();
|
|
|
|
$results=$this->con->getResults();
|
|
|
|
if(empty($results))
|
|
|
|
if(empty($results))
|
|
|
|
{
|
|
|
|
{
|
|
|
|
$query="INSERT INTO Resoudre VALUES (:joueur, :enigme,:partie,:classement,:index,:temps,TRUE)";
|
|
|
|
$query="INSERT INTO Resoudre VALUES (:utilisateur, :enigme,:partie,:classement,:index,:temps,TRUE)";
|
|
|
|
$this->con->executeQuery($query, array(
|
|
|
|
$this->con->executeQuery($query, array(
|
|
|
|
"joueur" => array($emailUtilisateur, SQLITE3_TEXT),
|
|
|
|
"utilisateur" => array($emailUtilisateur, SQLITE3_TEXT),
|
|
|
|
"enigme" => array($idEnigme, SQLITE3_INTEGER),
|
|
|
|
"enigme" => array($idEnigme, SQLITE3_INTEGER),
|
|
|
|
"partie" => array($idPartie, SQLITE3_INTEGER),
|
|
|
|
"partie" => array($idPartie, SQLITE3_INTEGER),
|
|
|
|
"classement" => array($classement, SQLITE3_INTEGER),
|
|
|
|
"classement" => array($classement, SQLITE3_INTEGER),
|
|
|
@ -160,11 +168,11 @@ class UtilisateurGateway
|
|
|
|
{
|
|
|
|
{
|
|
|
|
$query="UPDATE Resoudre
|
|
|
|
$query="UPDATE Resoudre
|
|
|
|
SET classement=:classement;
|
|
|
|
SET classement=:classement;
|
|
|
|
WHERE joueur=:joueur
|
|
|
|
WHERE utilisateur=:utilisateur
|
|
|
|
AND enigme=:idEnigme
|
|
|
|
AND enigme=:idEnigme
|
|
|
|
AND partie=:idPartie";
|
|
|
|
AND partie=:idPartie";
|
|
|
|
$this->con->executeQuery($query, array(
|
|
|
|
$this->con->executeQuery($query, array(
|
|
|
|
"joueur" => array($emailUtilisateur, SQLITE3_TEXT),
|
|
|
|
"utilisateur" => array($emailUtilisateur, SQLITE3_TEXT),
|
|
|
|
"enigme" => array($idEnigme, SQLITE3_INTEGER),
|
|
|
|
"enigme" => array($idEnigme, SQLITE3_INTEGER),
|
|
|
|
"partie" => array($idPartie, SQLITE3_INTEGER),
|
|
|
|
"partie" => array($idPartie, SQLITE3_INTEGER),
|
|
|
|
"classement" => array($classement, SQLITE3_INTEGER)));
|
|
|
|
"classement" => array($classement, SQLITE3_INTEGER)));
|
|
|
@ -174,7 +182,7 @@ class UtilisateurGateway
|
|
|
|
|
|
|
|
|
|
|
|
public function passerEnigmeMulti(string $emailUtilisateur){
|
|
|
|
public function passerEnigmeMulti(string $emailUtilisateur){
|
|
|
|
$query="SELECT p.partie FROM Participer
|
|
|
|
$query="SELECT p.partie FROM Participer
|
|
|
|
WHERE p.joueur = :emailUtilisateur
|
|
|
|
WHERE p.utilisateur = :emailUtilisateur
|
|
|
|
and p.enCours = TRUE";
|
|
|
|
and p.enCours = TRUE";
|
|
|
|
$this->con->executeQuery($query, array(
|
|
|
|
$this->con->executeQuery($query, array(
|
|
|
|
':emailUtilisateur' => array($emailUtilisateur,SQLITE3_TEXT)
|
|
|
|
':emailUtilisateur' => array($emailUtilisateur,SQLITE3_TEXT)
|
|
|
@ -183,7 +191,7 @@ class UtilisateurGateway
|
|
|
|
|
|
|
|
|
|
|
|
$query="SELECT e.id, c2.indexEnigme FROM Resoudre r, Contenir c1,Contenir c2, Enigme e WHERE
|
|
|
|
$query="SELECT e.id, c2.indexEnigme FROM Resoudre r, Contenir c1,Contenir c2, Enigme e WHERE
|
|
|
|
r.id = :idPartie
|
|
|
|
r.id = :idPartie
|
|
|
|
AND r.joueur=:idJoueur
|
|
|
|
AND r.utilisateur=:idUtilisateur
|
|
|
|
AND r.partie=:idPartie
|
|
|
|
AND r.partie=:idPartie
|
|
|
|
AND r.temps IS NOT NULL
|
|
|
|
AND r.temps IS NOT NULL
|
|
|
|
AND r.enigme=c1.enigme
|
|
|
|
AND r.enigme=c1.enigme
|
|
|
@ -201,9 +209,9 @@ class UtilisateurGateway
|
|
|
|
$idEnigme=$results[0]["enigme"];
|
|
|
|
$idEnigme=$results[0]["enigme"];
|
|
|
|
$index=$results[0]["indexEnigme"];
|
|
|
|
$index=$results[0]["indexEnigme"];
|
|
|
|
|
|
|
|
|
|
|
|
$query="INSERT INTO Resoudre VALUES (:joueur, :enigme,:partie,:classement,:index,:temps,TRUE)";
|
|
|
|
$query="INSERT INTO Resoudre VALUES (:utilisateur, :enigme,:partie,:classement,:index,:temps,TRUE)";
|
|
|
|
$this->con->executeQuery($query, array(
|
|
|
|
$this->con->executeQuery($query, array(
|
|
|
|
"joueur" => array($emailUtilisateur, SQLITE3_TEXT),
|
|
|
|
"utilisateur" => array($emailUtilisateur, SQLITE3_TEXT),
|
|
|
|
"enigme" => array($idEnigme, SQLITE3_INTEGER),
|
|
|
|
"enigme" => array($idEnigme, SQLITE3_INTEGER),
|
|
|
|
"partie" => array($idPartie, SQLITE3_INTEGER),
|
|
|
|
"partie" => array($idPartie, SQLITE3_INTEGER),
|
|
|
|
"classement" => array(NULL, SQLITE3_NULL),
|
|
|
|
"classement" => array(NULL, SQLITE3_NULL),
|
|
|
@ -214,7 +222,7 @@ class UtilisateurGateway
|
|
|
|
public function resoudreEnigmeSolo(string $emailUtilisateur)
|
|
|
|
public function resoudreEnigmeSolo(string $emailUtilisateur)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
$query="SELECT c.partie FROM Contenir
|
|
|
|
$query="SELECT c.partie FROM Contenir
|
|
|
|
WHERE c.joueur = :emailUtilisateur
|
|
|
|
WHERE c.utilisateur = :emailUtilisateur
|
|
|
|
and c.enCours = TRUE";
|
|
|
|
and c.enCours = TRUE";
|
|
|
|
$this->con->executeQuery($query, array(
|
|
|
|
$this->con->executeQuery($query, array(
|
|
|
|
':emailUtilisateur' => array($emailUtilisateur,SQLITE3_TEXT)
|
|
|
|
':emailUtilisateur' => array($emailUtilisateur,SQLITE3_TEXT)
|
|
|
@ -223,7 +231,7 @@ class UtilisateurGateway
|
|
|
|
|
|
|
|
|
|
|
|
$query="SELECT e.id, c2.indexEnigme FROM Resoudre r, Contenir c1,Contenir c2, Enigme e WHERE
|
|
|
|
$query="SELECT e.id, c2.indexEnigme FROM Resoudre r, Contenir c1,Contenir c2, Enigme e WHERE
|
|
|
|
r.id = :idPartie
|
|
|
|
r.id = :idPartie
|
|
|
|
AND r.joueur=:idJoueur
|
|
|
|
AND r.utilisateur=:idUtilisateur
|
|
|
|
AND r.partie=:idPartie
|
|
|
|
AND r.partie=:idPartie
|
|
|
|
AND r.enigme = c1.enigme
|
|
|
|
AND r.enigme = c1.enigme
|
|
|
|
AND c1.partie = r.partie
|
|
|
|
AND c1.partie = r.partie
|
|
|
@ -253,19 +261,19 @@ class UtilisateurGateway
|
|
|
|
$classement=$results[0]["max"]+1;
|
|
|
|
$classement=$results[0]["max"]+1;
|
|
|
|
|
|
|
|
|
|
|
|
$query="SELECT * FROM Resoudre
|
|
|
|
$query="SELECT * FROM Resoudre
|
|
|
|
WHERE r.joueur=:joueur
|
|
|
|
WHERE r.utilisateur=:utilisateur
|
|
|
|
AND r.enigme=:idEnigme
|
|
|
|
AND r.enigme=:idEnigme
|
|
|
|
AND r.partie=:idPartie";
|
|
|
|
AND r.partie=:idPartie";
|
|
|
|
$this->con->executeQuery($query, array(
|
|
|
|
$this->con->executeQuery($query, array(
|
|
|
|
"joueur" => array($emailUtilisateur, SQLITE3_TEXT),
|
|
|
|
"utilisateur" => array($emailUtilisateur, SQLITE3_TEXT),
|
|
|
|
"enigme" => array($idEnigme, SQLITE3_INTEGER),
|
|
|
|
"enigme" => array($idEnigme, SQLITE3_INTEGER),
|
|
|
|
"partie" => array($idPartie, SQLITE3_INTEGER)));
|
|
|
|
"partie" => array($idPartie, SQLITE3_INTEGER)));
|
|
|
|
$results=$this->con->getResults();
|
|
|
|
$results=$this->con->getResults();
|
|
|
|
if(empty($results))
|
|
|
|
if(empty($results))
|
|
|
|
{
|
|
|
|
{
|
|
|
|
$query="INSERT INTO Resoudre VALUES (:joueur, :enigme,:partie,:classement,:index,:temps,TRUE)";
|
|
|
|
$query="INSERT INTO Resoudre VALUES (:utilisateur, :enigme,:partie,:classement,:index,:temps,TRUE)";
|
|
|
|
$this->con->executeQuery($query, array(
|
|
|
|
$this->con->executeQuery($query, array(
|
|
|
|
"joueur" => array($emailUtilisateur, SQLITE3_TEXT),
|
|
|
|
"utilisateur" => array($emailUtilisateur, SQLITE3_TEXT),
|
|
|
|
"enigme" => array($idEnigme, SQLITE3_INTEGER),
|
|
|
|
"enigme" => array($idEnigme, SQLITE3_INTEGER),
|
|
|
|
"partie" => array($idPartie, SQLITE3_INTEGER),
|
|
|
|
"partie" => array($idPartie, SQLITE3_INTEGER),
|
|
|
|
"classement" => array($classement, SQLITE3_INTEGER),
|
|
|
|
"classement" => array($classement, SQLITE3_INTEGER),
|
|
|
@ -276,11 +284,11 @@ class UtilisateurGateway
|
|
|
|
{
|
|
|
|
{
|
|
|
|
$query="UPDATE Resoudre
|
|
|
|
$query="UPDATE Resoudre
|
|
|
|
SET classement=:classement;
|
|
|
|
SET classement=:classement;
|
|
|
|
WHERE joueur=:joueur
|
|
|
|
WHERE utilisateur=:utilisateur
|
|
|
|
AND enigme=:idEnigme
|
|
|
|
AND enigme=:idEnigme
|
|
|
|
AND partie=:idPartie";
|
|
|
|
AND partie=:idPartie";
|
|
|
|
$this->con->executeQuery($query, array(
|
|
|
|
$this->con->executeQuery($query, array(
|
|
|
|
"joueur" => array($emailUtilisateur, SQLITE3_TEXT),
|
|
|
|
"utilisateur" => array($emailUtilisateur, SQLITE3_TEXT),
|
|
|
|
"enigme" => array($idEnigme, SQLITE3_INTEGER),
|
|
|
|
"enigme" => array($idEnigme, SQLITE3_INTEGER),
|
|
|
|
"partie" => array($idPartie, SQLITE3_INTEGER),
|
|
|
|
"partie" => array($idPartie, SQLITE3_INTEGER),
|
|
|
|
"classement" => array($classement, SQLITE3_INTEGER)));
|
|
|
|
"classement" => array($classement, SQLITE3_INTEGER)));
|
|
|
|