Пример #1
0
<?php

if ($_SERVER["REQUEST_METHOD"] == "POST" && array_key_exists("IM_AJAX_CALL", $_REQUEST) && $_REQUEST["IM_AJAX_CALL"] === "Y" && $_POST['IM_PHONE'] == 'Y') {
    if (intval($USER->GetID()) <= 0 || !(IsModuleInstalled('voximplant') && (!IsModuleInstalled('extranet') || CModule::IncludeModule('extranet') && CExtranet::IsIntranetUser()))) {
        echo CUtil::PhpToJsObject(array('ERROR' => 'AUTHORIZE_ERROR'));
        require $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/epilog_after.php";
        die;
    }
    if (check_bitrix_sessid()) {
        IncludeModuleLangFile($_SERVER['DOCUMENT_ROOT'] . BX_ROOT . '/modules/voximplant/ajax_hit.php');
        $chatId = intval($_POST['CHAT_ID']);
        $userId = intval($USER->GetId());
        if ($_POST['COMMAND'] == 'authorize') {
            $updateInfo = $_POST['UPDATE_INFO'] == 'Y';
            $ViMain = new CVoxImplantMain($userId);
            $result = $ViMain->GetAuthorizeInfo($updateInfo);
            if (!$result) {
                echo CUtil::PhpToJsObject(array('CODE' => $ViMain->GetError()->code, 'ERROR' => $ViMain->GetError()->msg));
            } else {
                echo CUtil::PhpToJsObject(array('ACCOUNT' => $result['ACCOUNT'], 'SERVER' => $result['SERVER'], 'LOGIN' => $result['LOGIN'], 'CALLERID' => $result['CALLERID'], 'HR_PHOTO' => $result['HR_PHOTO'], 'ERROR' => ''));
            }
        } else {
            if ($_POST['COMMAND'] == 'onetimekey') {
                $ViMain = new CVoxImplantMain($userId);
                $result = $ViMain->GetOneTimeKey($_POST['KEY']);
                if (!$result) {
                    echo CUtil::PhpToJsObject(array('CODE' => $ViMain->GetError()->code, 'ERROR' => $ViMain->GetError()->msg));
                } else {
                    echo CUtil::PhpToJsObject(array('HASH' => $result, 'ERROR' => ''));
                }
            } else {