|
|
|
@ -11,31 +11,26 @@ Class UserGateway{
|
|
|
|
|
|
|
|
|
|
public function insert(string $username,string $email,string $passwd):string{
|
|
|
|
|
|
|
|
|
|
// récupération id
|
|
|
|
|
$query='SELECT id_user FROM Users WHERE id_user >= ALL (SELECT id_user FROM Users);';
|
|
|
|
|
$this->con->executeQuery($query);
|
|
|
|
|
$result=$this->con->getResults();
|
|
|
|
|
foreach($result as $row){
|
|
|
|
|
$id=$row['id_user'] + 1;
|
|
|
|
|
}
|
|
|
|
|
//crypte passeword
|
|
|
|
|
$passwordEncrypted = crypt($passwd);
|
|
|
|
|
// insertion user
|
|
|
|
|
$query='INSERT INTO Users VALUES (:id,:username,:email,:passwd,CURRENT_DATE,false);';
|
|
|
|
|
$this->con->executeQuery($query,array(':id' => array($id,PDO::PARAM_STR),':username' => array($u->username,PDO::PARAM_STR),':email' => array($u->email,PDO::PARAM_STR),':passwd' => array($u->passwd,PDO::PARAM_STR)));
|
|
|
|
|
$query='INSERT INTO Users VALUES (:username,:email,:passwd,CURRENT_DATE,false);';
|
|
|
|
|
$this->con->executeQuery($query,array(':username' => array($u->username,PDO::PARAM_STR),':email' => array($u->email,PDO::PARAM_STR),':passwd' => array($u->passwordEncrypted,PDO::PARAM_STR)));
|
|
|
|
|
return $id;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function delete(string $id) : bool{
|
|
|
|
|
|
|
|
|
|
// supretion user
|
|
|
|
|
// suppression user
|
|
|
|
|
$query='DELETE FROM Users WHERE id_user = :id;';
|
|
|
|
|
return $this->con->executeQuery($query,array(':id' => array($id,PDO::PARAM_STR)));
|
|
|
|
|
return $this->con->executeQuery($query,array(':id' => array($id,PDO::PARAM_INT)));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function getFavorite(string $id):array{
|
|
|
|
|
|
|
|
|
|
//obtention favoris d'un user
|
|
|
|
|
$query='SELECT * FROM Quote WHERE id_quote IN (SELECT id_quote IN Favorite f JOIN User u ON u.id_user = f.user WHERE id_user = :id);';
|
|
|
|
|
$this->con->executeQuery($query,array(':id' => array($id,PDO::PARAM_STR)));
|
|
|
|
|
$this->con->executeQuery($query,array(':id' => array($id,PDO::PARAM_INT)));
|
|
|
|
|
$result=$this->con->getResults();
|
|
|
|
|
return $result;
|
|
|
|
|
}
|
|
|
|
@ -44,32 +39,101 @@ Class UserGateway{
|
|
|
|
|
//obtenir les information d'un user
|
|
|
|
|
public function findDataUser(int $id):array{
|
|
|
|
|
$query = 'SELECT * FROM Users WHERE id_user=:idUser';
|
|
|
|
|
$con->executeQuery($query, array(':idUser'=>array($id, PDO::PARAM_STR)));
|
|
|
|
|
$con->executeQuery($query, array(':idUser'=>array($id, PDO::PARAM_INT)));
|
|
|
|
|
$result = $con->getResults();
|
|
|
|
|
return $result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function createQuote(int $id, string $content, string $langue, string $caracter, string $source):array{
|
|
|
|
|
|
|
|
|
|
//recupère id du personnage
|
|
|
|
|
$queryCaracter = "SELECT id_caracter FROM Caracter WHERE caracter =:caracter";
|
|
|
|
|
$con->executeQuery($queryCaracter, array(
|
|
|
|
|
':caracter'=>array($caracter, PDO::PARAM_STR)
|
|
|
|
|
));
|
|
|
|
|
$resultCaracter = $con->getResult();
|
|
|
|
|
|
|
|
|
|
if($resultCaracter == NULL){
|
|
|
|
|
//ajout creationCaracter
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//recupère id de la source
|
|
|
|
|
$querySource = "SELECT id_source FROM Source WHERE title =:source";
|
|
|
|
|
$con->executeQuery($querySource, array(
|
|
|
|
|
':source'=>array($source, PDO::PARAM_STR)
|
|
|
|
|
));
|
|
|
|
|
$resultSource = $con->getResult();
|
|
|
|
|
|
|
|
|
|
if($resultSource == NULL){
|
|
|
|
|
//ajout creationSource
|
|
|
|
|
}
|
|
|
|
|
$queryInsert = "INSERT INTO Quote (content, langue, id_caracter, id_source, id_user_verif) VALUES (:content, :langue, :caracter, :source, :idverif)";
|
|
|
|
|
$con->executeQuery($queryInsert, array(
|
|
|
|
|
':content'=>array($content, PDO::PARAM_STR),
|
|
|
|
|
':langue'=>array($langue, PDO::PARAM_STR),
|
|
|
|
|
':caracter'=>array($resultCaracter, PDO::PARAM_STR),
|
|
|
|
|
':source'=>array($resultSource, PDO::PARAM_STR),
|
|
|
|
|
':idverif'=>array($id, PDO::PARAM_INT)
|
|
|
|
|
));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public function createCaracter(string $caracter, string $img):array{
|
|
|
|
|
//creation du personnage
|
|
|
|
|
$queryCaracter = "INSERT INTO Caracter(caracter, img_path) VALUES (:caracter, :img)";
|
|
|
|
|
$con->executeQuery($queryCaracter, array(
|
|
|
|
|
':caracter'=>array($caracter, PDO::PARAM_STR),
|
|
|
|
|
'img'=>array($img, PDO::PARAM_STR)
|
|
|
|
|
));
|
|
|
|
|
|
|
|
|
|
//récuperation de id caracter
|
|
|
|
|
$queryCaracter = "SELECT id_caracter FROM Caracter WHERE caracter =:caracter";
|
|
|
|
|
$con->executeQuery($queryCaracter, array(
|
|
|
|
|
':caracter'=>array($caracter, PDO::PARAM_STR)
|
|
|
|
|
));
|
|
|
|
|
$resultCaracter = $con->getResult();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public function createSource(string $title, string $dateS):array{
|
|
|
|
|
//creation du personnage
|
|
|
|
|
$querySource = "INSERT INTO Source(title, dateS) VALUES (:title, :dateS)";
|
|
|
|
|
$con->executeQuery($querySource, array(
|
|
|
|
|
':title'=>array($title, PDO::PARAM_STR),
|
|
|
|
|
'dateS'=>array($dateS, PDO::PARAM_STR)
|
|
|
|
|
));
|
|
|
|
|
|
|
|
|
|
//recupère id de la source
|
|
|
|
|
$querySource = "SELECT id_source FROM Source WHERE title =:source";
|
|
|
|
|
$con->executeQuery($querySource, array(
|
|
|
|
|
':source'=>array($source, PDO::PARAM_STR)
|
|
|
|
|
));
|
|
|
|
|
$querySource = $con->getResult();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// ===================== UPDATE FUNCTION =====================
|
|
|
|
|
|
|
|
|
|
public function updateUsername(int $id, string $newUsername):array{
|
|
|
|
|
//Update le nom du user passé en paramètre
|
|
|
|
|
$queryUpdate = 'UPDATE Users SET username=:newUsername WHERE id_user=:idUser';
|
|
|
|
|
$con->executeQuery($queryUpdate, array(':idUser'=>array($id, PDO::PARAM_STR), ':newUsername'=> array($newUsername, PDO::PARAM_STR)));
|
|
|
|
|
$con->executeQuery($queryUpdate, array(':idUser'=>array($id, PDO::PARAM_INT), ':newUsername'=> array($newUsername, PDO::PARAM_STR)));
|
|
|
|
|
|
|
|
|
|
//Renvoie le nouveau nom du user
|
|
|
|
|
$queryReponse = 'SELECT username FROM Users WHERE id_user=:idUser';
|
|
|
|
|
$con->executeQuery($queryReponse, array($id=>array($newUsername, PDO::PARAM_STR)));
|
|
|
|
|
$con->executeQuery($queryReponse, array($id=>array($id, PDO::PARAM_INT)));
|
|
|
|
|
return $result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function updateEmail(int $id, string $newEmail):array{
|
|
|
|
|
//Update le email du user passé en paramètre
|
|
|
|
|
$queryUpdate = 'UPDATE Users SET email=:newEmail WHERE id_user=:idUser';
|
|
|
|
|
$con->executeQuery($queryUpdate, array(':idUser'=>array($id, PDO::PARAM_STR), ':newEmail'=> array($newEmail, PDO::PARAM_STR)));
|
|
|
|
|
$con->executeQuery($queryUpdate, array(':idUser'=>array($id, PDO::PARAM_INT), ':newEmail'=> array($newEmail, PDO::PARAM_STR)));
|
|
|
|
|
|
|
|
|
|
//Renvoie le nouveau email du user
|
|
|
|
|
$queryReponse = 'SELECT email FROM Users WHERE id_user=:idUser';
|
|
|
|
|
$con->executeQuery($queryReponse, array(':idUser'=>array($id, PDO::PARAM_STR)));
|
|
|
|
|
$con->executeQuery($queryReponse, array(':idUser'=>array($id, PDO::PARAM_INT)));
|
|
|
|
|
$result = $con->getResults();
|
|
|
|
|
return $result;
|
|
|
|
|
}
|
|
|
|
@ -77,29 +141,30 @@ Class UserGateway{
|
|
|
|
|
public function updateImg(int $id, int $newImg):array{
|
|
|
|
|
//Update l'image du user passé en paramètre
|
|
|
|
|
$query = 'UPDATE Users SET img=:newImg WHERE id_user=:idUser';
|
|
|
|
|
$con->executeQuery($query, array(':idUser'=>array($id, PDO::PARAM_STR), ':newImg'=> array($newImg, PDO::PARAM_STR)));
|
|
|
|
|
$con->executeQuery($query, array(':idUser'=>array($id, PDO::PARAM_INT), ':newImg'=> array($newImg, PDO::PARAM_STR)));
|
|
|
|
|
|
|
|
|
|
//Renvoie la nouvelle image du user
|
|
|
|
|
$queryReponse = 'SELECT img FROM Users WHERE id_user=:idUser';
|
|
|
|
|
$con->executeQuery($queryReponse, array(':idUser'=>array($id, PDO::PARAM_STR)));
|
|
|
|
|
$con->executeQuery($queryReponse, array(':idUser'=>array($id, PDO::PARAM_INT)));
|
|
|
|
|
$result = $con->getResults();
|
|
|
|
|
return $result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function updatePasswd(int $id, string $newPassWd):array{
|
|
|
|
|
//Update le passwd du user passé en paramètre
|
|
|
|
|
$query = 'UPDATE Users SET pssword=:newPassWd WHERE id_user=:idUser';
|
|
|
|
|
$con->executeQuery($query, array(':idUser'=>array($id, PDO::PARAM_STR), ':newPassWd'=> array($newPassWd, PDO::PARAM_STR)));
|
|
|
|
|
|
|
|
|
|
//Renvoie le nouveau passwd du user
|
|
|
|
|
$queryReponse = 'SELECT pssword FROM Users WHERE id_user=:idUser';
|
|
|
|
|
$con->executeQuery($queryReponse, array(':idUser'=>array($id, PDO::PARAM_STR)));
|
|
|
|
|
$result = $con->getResults();
|
|
|
|
|
return $result;
|
|
|
|
|
//crypte le mot de passe
|
|
|
|
|
$passwordEncrypted = crypt($newPassWd);
|
|
|
|
|
|
|
|
|
|
//Update le passwd du user passé en paramètre
|
|
|
|
|
$query = 'UPDATE Users SET password=:newPassWd WHERE id_user=:idUser';
|
|
|
|
|
$con->executeQuery($query, array(':idUser'=>array($id, PDO::PARAM_INT), ':newPassWd'=> array($passwordEncrypted, PDO::PARAM_STR)));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$uG = new UserGateway(new Connection("pgsql:host=londres;dbname=dblebeaulato","lebeaulato",""));
|
|
|
|
|
|
|
|
|
|
?>
|
|
|
|
|