예제 #1
0
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";
예제 #2
0
 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;
 }