check_exist_email($email); // Si non if (!$exist) { // Chiffrement du pass $crypt = $this->crypt_pass($pass); // Préparation de la requète $reqAddUser = "INSERT INTO ".$this->tableUserAccount." (email, password, inscriptionDate, isAdmin, isUser, isConsultant) VALUES (?, ?, ?, ?, ?, ?)"; // Execution de la requète $this->exec_cmd($reqAddUser, array($email, $crypt, date("Y-m-d H:i:s"), $is_admin, $is_user, $is_consultant ) ); // Retourne 1 pour réussite return 1; } else { // Retourne 0 pour échec return 0; } } // Suppresion d'un utilisateur final public function del_user($id) { // Préparation de la requète pour voir si l'utilisateur existe $reqCheckExistId = "SELECT EXISTS(SELECT * FROM ".$this->tableUserAccount." WHERE id = ?)"; // Exécution de la requète $data = $this->exec_cmd($reqCheckExistId, array($id))->fetchAll(PDO::FETCH_NUM); // Si il existe if ($data[0][0]) { // Préparation de la requète pour suppression $reqDelUser = "DELETE FROM ".$this->tableUserAccount." WHERE id = ?"; // Exécution de la requète $this->exec_cmd($reqDelUser, array($id)); // Retourne 1 pour réussite return 1; } else { // Retourne 0 pour échec return 0; } } // Mise à jour des infos d'un utilisateur final public function update_user_info($lastname, $firstname, $job, $degree, $capability, $description, $phoneNumber, $adress, $zipCode, $city, $userId) { // Préparation de la requète pour mise à jour des infos $reqAddInfo = "REPLACE INTO ".$this->tableUserInfo." (lastname, firstname, job, degree, capability, description, phoneNumber, adress, zipCode, city, userId) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"; // Exécution de la requète $this->exec_cmd($reqAddInfo, array($lastname, $firstname, $job, $degree, $capability, $description, $phoneNumber, $adress, $zipCode, $city, $userId ) ); } // Enregistrement d'une mission final public function register_mission($subject, $note, $review, $userId, $consultantId) { // Vérification de l'existance de l'id de consultant $exist = $this->check_exist_consultant($consultantId); // Si il existe if ($exist) { // Préparation de la requète pour enregistrement de la mission $reqAddMission = "INSERT INTO ".$this->tableMission." (date, subject, note, review, userId, consultantId) VALUES (?, ?, ?, ?, ?, ?)"; // Exécution de la requète $this->exec_cmd($reqAddMission, array(date("Y-m-d H:i:s"), $subject, $note, $review, $userId, $consultantId ) ); // Retourne 1 pour réussite return 1; } else { // Retourne 0 pour échec return 0; } } // Vérification de la combinaison email - pass pour authentification final public function check_credential($email, $pass) { // Préparation de la requète pour récupérer les infos ou l'email est présent $reqCheckCredential = "SELECT id, password FROM ".$this->tableUserAccount." WHERE email = ? "; // Chiffrement du mot de passe $crypt = $this->crypt_pass($pass); // Execution de la requète $data = $this->exec_cmd($reqCheckCredential, array($email))->fetchAll(PDO::FETCH_ASSOC); // Vérifiaction de correspondance email & pass foreach ($data as $rows) { if ($rows["password"] == $crypt) { return $rows["id"]; } } } // Vérification de la combinaison email - jeton d'auto-login pour authentification final public function check_token_autologin($email, $token) { // Préparation de la requète pour récupérer les infos ou l'email est présent $reqCheckToken = "SELECT id, tokenAutoLogin FROM ".$this->tableUserAccount." WHERE email = ?"; // Exécution de la requète $data = $this->exec_cmd($reqCheckToken, array($email))->fetchAll(PDO::FETCH_ASSOC); // Vérifiaction de correspondance email & jeton d'auto-connection foreach ($data as $rows) { if ($rows["tokenAutoLogin"] == $token) { return $rows["id"]; } } } // Mise à jour du jeton d'auto-login final public function update_token_autologin($email, $token) { // Préparation de la requète pour mise à jour du jeton d'auto-connection $reqUpdateToken = "UPDATE ".$this->tableUserAccount." SET tokenAutoLogin = ? WHERE email = ?"; // Execution de la requète $this->exec_cmd($reqUpdateToken, array($token, $email))->fetchAll(PDO::FETCH_ASSOC); } // Supression du jeton d'auto-login final public function delete_token_autologin($email) { // Préparation de la requète pour supression du jeton d'auto-connection $reqDeleteToken = "UPDATE ".$this->tableUserAccount." SET tokenAutoLogin = NULL WHERE email = ?"; // Execution de la requète $this->exec_cmd($reqDeleteToken, array($email))->fetchAll(PDO::FETCH_ASSOC); } } ?>