diff options
Diffstat (limited to 'Database/meth_dbuser.php')
| -rw-r--r-- | Database/meth_dbuser.php | 90 |
1 files changed, 57 insertions, 33 deletions
diff --git a/Database/meth_dbuser.php b/Database/meth_dbuser.php index 1b62b46..ea5c66e 100644 --- a/Database/meth_dbuser.php +++ b/Database/meth_dbuser.php @@ -12,9 +12,8 @@ class DbUser extends DbMain { // **************************************************************************** // Gestion d'un utilisateur // **************************************************************************** - // Enregistrement d'un nouvel utilisateur - final public function user_register($email, $pass, $is_client, $is_pro, $is_admin) { + final public function user_register($email, $pass, $userStatus) { // On vérifie si l'email existe deja dans la bdd $exist = $this->check_exist_email($email); // Si non @@ -22,18 +21,18 @@ class DbUser extends DbMain { // Chiffrement du pass $crypt = $this->crypt_pass($pass); // Préparation de la requète - $reqAddUser = "INSERT INTO ".$this->tableUserAccount." - (email, password, inscriptionDate, isClient, isPro, isAdmin) + $reqAddUser = " + INSERT INTO + ".$this->tableUserAccount." + (email, password, inscriptionDate, userStatus) VALUES - (?, ?, ?, ?, ?, ?)"; + (?, ?, ?, ?)"; // Execution de la requète $this->exec_cmd($reqAddUser, array($email, $crypt, date("Y-m-d H:i:s"), - $is_client, - $is_pro, - $is_admin + $userStatus ) ); // Retourne 1 pour réussite @@ -47,8 +46,13 @@ class DbUser extends DbMain { // Vérification de la combinaison email - pass pour authentification final public function user_check_credential($email, $pass) { // Préparation de la requète pour récupérer les infos ou l'email est présent - $reqCheckCredential = "SELECT userId, password - FROM ".$this->tableUserAccount." WHERE email = ? "; + $reqCheckCredential = " + SELECT + userId, password + FROM + ".$this->tableUserAccount." + WHERE + email = ? "; // Chiffrement du mot de passe $crypt = $this->crypt_pass($pass); // Execution de la requète @@ -67,24 +71,30 @@ class DbUser extends DbMain { // J'ai préféré faire deux requètes distinctes et ne pas utiliser des valeurs // passées par $POST ($key => $value) pour gérer les noms des colonnes // car je préfère les passer en "dur" dans mes requêtes (risque d'injection SQL?). - $reqAddInfoClient = "UPDATE ".$this->tableUserInfo." - SET - lastname = ?, firstname = ?, phoneNumber = ?, - adress = ?, zipCode = ?, city = ? - WHERE - userId = ?"; - $reqAddInfoPro = "UPDATE ".$this->tableUserInfo." - SET - lastname = ?, firstname = ?, phoneNumber = ?, - adress = ?, zipCode = ?, city = ?, - degree = ?, capability = ?, description = ? - WHERE - userId = ?"; - $reqAddInfoProJobs = "INSERT INTO ".$this->tableUserJob." + $reqAddInfoClient = " + REPLACE INTO + ".$this->tableUserInfo." + (lastname, firstname, phoneNumber, + adress, zipCode, city, userId) + VALUES + (?, ?, ?, ?, ?, ?, ?)"; + $reqAddInfoPro = " + REPLACE INTO + ".$this->tableUserInfo." + (lastname, firstname, phoneNumber, + adress, zipCode, city, degree, + capability, description, userId) + VALUES + (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"; + $reqAddInfoProJobs = " + INSERT INTO + ".$this->tableUserJob." (jobCategoryId, userId) VALUES (?, ?)"; - $reqRemoveInfoProJobs = "DELETE FROM ".$this->tableUserJob." + $reqRemoveInfoProJobs = " + DELETE FROM + ".$this->tableUserJob." WHERE jobCategoryId = ? AND @@ -95,7 +105,7 @@ class DbUser extends DbMain { // Pour passer de dict a list -> array_values() $args = array_values($userInfos); array_push($args, $userId); - $this->exec_cmd($reqAddInfoClient, array_push($args, $userId)); + $this->exec_cmd($reqAddInfoClient, $args); } else { // TODO: Commenter // https://stackoverflow.com/questions/15986235/how-to-use-json-stringify-and-json-decode-properly @@ -118,12 +128,16 @@ class DbUser extends DbMain { // **************************************************************************** // Gestion du token-autologin // **************************************************************************** - // Vérification de la combinaison email - jeton d'auto-login pour authentification final public function autologin_token_check($email, $token) { // Préparation de la requète pour récupérer les infos ou l'email est présent - $reqCheckToken = "SELECT userId, tokenAutoLogin - FROM ".$this->tableUserAccount." WHERE email = ?"; + $reqCheckToken = " + SELECT + userId, tokenAutoLogin + FROM + ".$this->tableUserAccount." + WHERE + email = ?"; // Exécution de la requète $result = $this->exec_cmd($reqCheckToken, array($email))->fetchAll(PDO::FETCH_ASSOC); // Vérifiaction de correspondance email & jeton d'auto-connection @@ -137,8 +151,13 @@ class DbUser extends DbMain { // Mise à jour du jeton d'auto-login final public function autologin_token_update($email, $token) { // Préparation de la requète pour mise à jour du jeton d'auto-connection - $reqUpdateToken = "UPDATE ".$this->tableUserAccount." SET tokenAutoLogin = ? - WHERE email = ?"; + $reqUpdateToken = " + UPDATE + ".$this->tableUserAccount." + SET + tokenAutoLogin = ? + WHERE + email = ?"; // Execution de la requète $this->exec_cmd($reqUpdateToken, array($token, $email))->fetchAll(PDO::FETCH_ASSOC); } @@ -146,8 +165,13 @@ class DbUser extends DbMain { // Supression du jeton d'auto-login final public function autologin_token_delete($email) { // Préparation de la requète pour supression du jeton d'auto-connection - $reqDeleteToken = "UPDATE ".$this->tableUserAccount." SET tokenAutoLogin = NULL - WHERE email = ?"; + $reqDeleteToken = " + UPDATE + ".$this->tableUserAccount." + SET + tokenAutoLogin = NULL + WHERE + email = ?"; // Execution de la requète $this->exec_cmd($reqDeleteToken, array($email))->fetchAll(PDO::FETCH_ASSOC); } |
