public function SetVerifyResult($params) { if ($params['STATUS'] == 'VERIFIED') { $phoneVerified = array(); $orm = VI\ConfigTable::getList(array('filter' => array('=PHONE_COUNTRY_CODE' => $params['REGION']))); while ($config = $orm->fetch()) { VI\ConfigTable::update($config['ID'], array('PHONE_VERIFIED' => 'Y')); $phoneVerified[] = $config['PHONE_NAME']; } if (!empty($phoneVerified)) { CVoxImplantHistory::WriteToLog($phoneVerified, 'VERIFY PHONES'); } } return true; }
public function Update($configId, $fields) { $configId = intval($configId); if ($configId <= 0) { $this->error = new CVoxImplantError(__METHOD__, 'CONFIG_ID_NULL', GetMessage('VI_SIP_CONFIG_ID_NULL')); return false; } $arUpdate = $this->PrepareFiedls($fields, self::CHECK_UPDATE); if (!$arUpdate) { return false; } if (isset($arUpdate['SEARCH_ID'])) { $orm = VI\ConfigTable::getList(array('filter' => array('=SEARCH_ID' => $arUpdate['SEARCH_ID'], '!=ID' => $configId))); if ($orm->fetch()) { $this->error = new CVoxImplantError(__METHOD__, 'SEARCH_ID_EXISTS', GetMessage('VI_SIP_SEARCH_ID_EXISTS')); return false; } } if (isset($arUpdate['PHONE_NAME'])) { $orm = VI\ConfigTable::getList(array('filter' => array('=PHONE_NAME' => $arUpdate['PHONE_NAME'], '!=ID' => $configId))); if ($orm->fetch()) { $this->error = new CVoxImplantError(__METHOD__, 'TITLE_EXISTS', GetMessage('VI_SIP_TITLE_EXISTS')); return false; } } if (isset($arUpdate['SEARCH_ID'])) { $result = \Bitrix\Voximplant\ConfigTable::getById($configId); $currentConfig = $result->fetch(); if ($currentConfig['SEARCH_ID'] == CVoxImplantConfig::GetPortalNumber()) { COption::SetOptionString("voximplant", "portal_number", $arUpdate['SEARCH_ID']); } VI\ConfigTable::update($configId, array('SEARCH_ID' => $arUpdate['SEARCH_ID'])); } if (isset($arUpdate['PHONE_NAME'])) { VI\ConfigTable::update($configId, array('PHONE_NAME' => $arUpdate['PHONE_NAME'])); } unset($arUpdate['SEARCH_ID']); unset($arUpdate['PHONE_NAME']); unset($arUpdate['CONFIG_ID']); if (empty($arUpdate)) { return true; } $orm = VI\SipTable::getList(array('filter' => array('=CONFIG_ID' => $configId))); $entity = $orm->fetch(); if (!$entity) { $this->error = new CVoxImplantError(__METHOD__, 'CONFIG_NOT_FOUND', GetMessage('VI_SIP_CONFIG_NOT_FOUND')); return false; } VI\SipTable::update($entity['ID'], $arUpdate); if (isset($arUpdate['SERVER']) || isset($arUpdate['LOGIN']) || isset($arUpdate['PASSWORD'])) { $orm = VI\SipTable::getById($entity['ID']); $sipConfig = $orm->fetch(); if ($entity['SERVER'] != $sipConfig['SERVER'] || $entity['LOGIN'] != $sipConfig['LOGIN'] || $entity['PASSWORD'] != $sipConfig['PASSWORD'] || $fields['NEED_UPDATE'] == 'Y') { $this->UpdateSipRegistration($sipConfig['REG_ID'], $sipConfig['SERVER'], $sipConfig['LOGIN'], $sipConfig['PASSWORD']); } } return true; }
public static function CancelDeactivatePhoneNumber($number) { $result = VI\ConfigTable::getList(array('select' => array('ID'), 'filter' => array('=SEARCH_ID' => (string) $number))); $config = $result->fetch(); if (!$config) { return false; } $viHttp = new CVoxImplantHttp(); $result = $viHttp->CancelDeactivatePhoneNumber($number); if (!$result) { return false; } VI\ConfigTable::update($config['ID'], array('TO_DELETE' => 'N', 'DATE_DELETE' => '')); CAgent::RemoveAgent("CVoxImplantPhone::CheckDeleteAgent(" . $config['ID'] . ");", "voximplant"); return $result; }