• Модуль: voximplant
  • Путь к файлу: ~/bitrix/modules/voximplant/classes/general/vi_user.php
  • Класс: CVoxImplantUser
  • Вызов: CVoxImplantUser::UpdateUserPassword
public function UpdateUserPassword($userId, $mode = self::MODE_USER, $password = false)
{
	if ($password)
	{
		preg_match("/^[\x20-\x7e]{3,32}$/D", $password, $matches);
		if (empty($matches))
		{
			$this->error = new CVoxImplantError(__METHOD__, 'PASSWORD_INCORRECT', GetMessage('VI_USER_PASS_ERROR'));
			return false;
		}
	}

	$ViHttp = new CVoxImplantHttp();
	$result = $ViHttp->UpdateUserPassword($userId, $mode, $password);
	if (!$result || $ViHttp->GetError()->error)
	{
		if ($ViHttp->GetError()->code == 'USER_NOT_FOUND')
		{
			$this->ClearUserInfo($userId);
		}

		$this->error = new CVoxImplantError(__METHOD__, $ViHttp->GetError()->code, $ViHttp->GetError()->msg);
		return false;
	}

	global $USER_FIELD_MANAGER;
	if ($mode == self::MODE_USER)
	{
		$USER_FIELD_MANAGER->Update("USER", $userId, Array('UF_VI_PASSWORD' => $result->PASSWORD));
	}
	else if ($mode == self::MODE_PHONE)
	{
		$USER_FIELD_MANAGER->Update("USER", $userId, Array('UF_VI_PHONE_PASSWORD' => $result->PASSWORD));
	}

	return Array('PASSWORD' => $result->PASSWORD);
}