/** * Méthode permettant d'enregistrer un membre. * @param $user User la news à enregistrer * @see self::add() * @see self::modify() * @return void */ public function save(User $user) { if ($user->isValid()) { $user->isNew() ? $this->add($user) : $this->modify($user); } else { throw new \RuntimeException('Le membre doit être validé pour être enregistré'); } }
protected function modify(User $user) { $requete = $this->dao->prepare('UPDATE users SET nickName = :nickName, mail = :mail, pass = :pass, authLevel = :authLevel, name = :name, firstName = :firstName, address = :address, city = :city, postCode = :postCode, cellPhone = :cellPhone, phone = :phone, gender= :gender, avatar = :avatar, firstLogin = :firstLogin, lastLogin = NOW() WHERE id = :id'); $requete->bindValue(':id', $user->id(), \PDO::PARAM_INT); $requete->bindValue(':nickName', $user->nickName(), \PDO::PARAM_STR); $requete->bindValue(':mail', $user->mail(), \PDO::PARAM_STR); $requete->bindValue(':pass', $user->pass(), \PDO::PARAM_STR); $requete->bindValue(':authLevel', $user->authLevel(), \PDO::PARAM_INT); $requete->bindValue(':name', $user->name(), \PDO::PARAM_STR); $requete->bindValue(':firstName', $user->firstName(), \PDO::PARAM_STR); $requete->bindValue(':address', $user->address(), \PDO::PARAM_STR); $requete->bindValue(':city', $user->city(), \PDO::PARAM_STR); $requete->bindValue(':postCode', $user->postCode(), \PDO::PARAM_INT); $requete->bindValue(':cellPhone', $user->cellPhone(), \PDO::PARAM_INT); $requete->bindValue(':phone', $user->phone(), \PDO::PARAM_INT); $requete->bindValue(':gender', $user->gender(), \PDO::PARAM_STR); $requete->bindValue(':avatar', $user->avatar(), \PDO::PARAM_STR); $requete->bindValue(':firstLogin', $user->firstLogin()->format('Y-m-d H:i:s')); $requete->execute(); }