/** * Function to reset password * @param string $token token for which password is to be reset * @param string $npassword new password * @return boolean * **/ public function resetPassword($token, $npassword) { $userRow = \R::findOne($this->_name, "token=:t", array(":t" => $token)); if ($userRow) { $passwordExpTime = time() + 90 * 24 * 60 * 60; $salt = $this->_generateSalt(); $userRow->token = null; $userRow->locked = 0; $userRow->locked_status_updatetime = time(); $userRow->pwd_exp_time = date('Y-m-d H:i:s', $passwordExpTime); $userRow->salt = $salt; $userRow->password = md5($npassword . $salt); $this->_redBeans->store($userRow); //clear invalid attempts $objInvalidAttempts = new \models\UserLoginAttempts(); $objInvalidAttempts->clearInvalidLoginAttempts($userRow->email); return true; } return false; }