if (!CVoxImplantMain::CheckAccess()) { echo CUtil::PhpToJsObject(array('ERROR' => 'AUTHORIZE_ERROR')); require $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/epilog_after.php"; die; } if (check_bitrix_sessid()) { if ($_POST['VI_ADD']) { $arSend['ERROR'] = ''; CUtil::decodeURIComponent($_POST); $viSip = new CVoxImplantSip(); $result = $viSip->Add(array('TYPE' => strtolower($_POST['TYPE']), 'PHONE_NAME' => $_POST['TITLE'], 'SERVER' => $_POST['SERVER'], 'LOGIN' => $_POST['LOGIN'], 'PASSWORD' => $_POST['PASSWORD'])); if ($result) { $arSend['RESULT'] = $result; } else { $arSend['ERROR'] = $viSip->GetError()->msg; } echo CUtil::PhpToJsObject($arSend); } else { if ($_POST['VI_DELETE'] == 'Y') { $arSend['ERROR'] = ''; $viSip = new CVoxImplantSip(); $viSip->Delete($_POST['CONFIG_ID']); echo CUtil::PhpToJsObject($arSend); } else { echo CUtil::PhpToJsObject(array('ERROR' => 'UNKNOWN_ERROR')); } } } else { echo CUtil::PhpToJsObject(array('BITRIX_SESSID' => bitrix_sessid(), 'ERROR' => 'SESSION_ERROR')); } require $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/epilog_after.php";
public static function sipDelete($arParams, $nav, $server) { if (!CVoxImplantMain::CheckAccess()) { throw new \Bitrix\Rest\AccessException(); } $arParams = array_change_key_case($arParams, CASE_UPPER); $dbResCnt = \Bitrix\Voximplant\SipTable::getList(array('filter' => array('CONFIG_ID' => $arParams["CONFIG_ID"], 'APP_ID' => $server->getAppId()), 'select' => array("CNT" => new Bitrix\Main\Entity\ExpressionField('CNT', 'COUNT(1)')))); $arResCnt = $dbResCnt->fetch(); if (!$arResCnt || $arResCnt["CNT"] <= 0) { throw new Bitrix\Rest\RestException("Specified CONFIG_ID is not found", Bitrix\Rest\RestException::ERROR_NOT_FOUND, CRestServer::STATUS_WRONG_REQUEST); } $viSip = new CVoxImplantSip(); $result = $viSip->Delete($arParams['CONFIG_ID']); if (!$result || $viSip->GetError()->error) { throw new Bitrix\Rest\RestException($viSip->GetError()->msg, $viSip->GetError()->code, CRestServer::STATUS_WRONG_REQUEST); } return 1; }