Beispiel #1
0
 /**
  * Set User Password overriding the old one
  * 
  * @param User $user
  * @param string $password
  * @throws InvalidArgumentException
  * @return integer Affected
  */
 public function setUserPassword(User $user, $password)
 {
     if (empty($password)) {
         throw new InvalidArgumentException("\$password can't be empty");
     }
     $salt = Crypto::secureRandom(512);
     $passwordHash = UserAuthorization::getUserPasswordHash($password, $salt);
     $qb = new QueryBuilder();
     $qb->update(Tbl::get('TBL_USERS'))->set(new Field('password'), $passwordHash)->set(new Field('salt'), $salt)->where($qb->expr()->equal(new Field('id'), $user->id));
     return $this->query->exec($qb->getSQL())->affected();
 }