static function setUserPassword($options) { //} $login,$pwd1,$pwd2,$old_pwd = null) { //инициализируем параметры по умолчанию $options = initFuncDefaultParams($options, array("id" => null, "login" => null, "old_pwd" => null)); //ищем пользователя $user = self::getUser(array("id" => $options["id"], "login" => $options["login"], "hide_pwd" => false, "auth" => false)); if (empty($user)) { return self::ERROR_USER_NOT_FOUND; } // //проверяем старый пароль, если он указан if (!empty($old_pwd) && !empty($user['pwd']) && !Crypt::password_verify($old_pwd, $user['pwd'])) { return self::ERROR_PWD_NOT_MATCH; } //проводим валидацию нового пароля $pwd_strong_level = 0; $error = self::validatePassword($options["pwd1"], $options["pwd2"], $pwd_strong_level); if ($error !== self::ERROR_NOT) { return $error; } //обновляем запись в бд Database::DB()->reset(); Database::DB()->update(self::$users_table, array("pwd" => Crypt::password_hash($options["pwd1"], Crypt::CRYPT_HASH_DEFAULT)))->where("id", $user["id"])->exec(); return self::ERROR_NOT; }