db->query($query)->fetch(); //On retourne les infos return $return; } /** * @brief Insert un nouvel utilisateur dans la base de données * @arg $objet information de l'utilisateur à ajouter */ public function insert(&$objet) { //On récupère les informations à ajouter $login = $objet->getLogin(); $passwd = $objet->getPassword(); $nom = $objet->getNom(); $prenom = $objet->getPrenom(); $mail = $objet->getMail(); //On prépare la requête SQL $query = "INSERT INTO `user`(`login`,`pwd`,`nom`,`prenom`,`dateinscription`, `email`) VALUES ('$login','$passwd','$nom','$prenom',NOW(), '" . $mail . "')"; //On exécute la requête try { $this->db->query($query); return TRUE; } catch (Exception $ex) { $ex = NULL; return FALSE; } } /** * @brief Met à jour un utilisateur avec les nouvelles données spécifiée * @arg $objet objet user contenant les nouvelles données * @note le login est le seul élément inchangeable. On se sert de ce dernier pour mettre à jour la base de données */ public function update(&$object) { //On récupère les données de l'utilisateur $login = $object->getLogin(); $passwd = $object->getPassword(); $nom = $object->getNom(); $prenom = $object->getPrenom(); $mail = $object->getMail(); //On prépare la requête $query = "UPDATE `user` SET `pwd`='$passwd', `nom`='$nom', `prenom`='$prenom', `email`='$mail' WHERE login='$login'"; //On envoie la requête $result = $this->db->query($query); //On renvoie le résultat if ($result->rowCount() == 0) { return FALSE; } else { return TRUE; } } public function updateNoPassword($object) { $login = $object->getLogin(); $nom = $object->getNom(); $prenom = $object->getPrenom(); $mail = $object->getMail(); //On prépare la requête $query = "UPDATE `user` SET `nom`='$nom', `prenom`='$prenom', `email`='$mail' WHERE login='$login'"; //On envoie la requête $result = $this->db->query($query); //On renvoie le résultat if ($result->rowCount() == 0) { return FALSE; } else { return TRUE; } } /** * @brief Supprime un utilisateur de la base * @arg $id login de l'utilisateur à supprimer * @note la suppression d'un utilisateur entraine la suppression de ses parties et de ses réponses avec le ON DELETE CASCADE */ public function delete($id) { //On prépare la requête SQL $query = "DELETE FROM `user` WHERE `login`='$id'"; //On envoie la requête SQL $result = $this->db->query($query); if ($result->rowCount() == 0) { return FALSE; } else { return TRUE; } } } ?>