- Модуль: 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);
}