'CHANNEL_DT' => $arChannel['CHANNEL_DT'], 'LAST_ID' => $pullChannel['LAST_ID'], 'PATH' => $pullPath, 'PATH_WS' => ($nginxStatus && $webSocketStatus? (CMain::IsHTTPS()? CPullOptions::GetWebSocketSecureUrl($arChannels): CPullOptions::GetWebSocketUrl($arChannels)): ''), 'METHOD' => ($nginxStatus? 'LONG': 'PULL'), 'REVISION' => PULL_REVISION, 'ERROR' => '', )); } else echo CUtil::PhpToJsObject(Array('ERROR' => 'ERROR_OPEN_CHANNEL')); } elseif ($_POST['PULL_UPDATE_WATCH'] == 'Y') { foreach ($_POST['WATCH'] as $tag) CPullWatch::Extend($USER->GetID(), $tag); echo CUtil::PhpToJsObject(Array('ERROR' => '')); } elseif ($_POST['PULL_UPDATE_STATE'] == 'Y') { $arMessage = CPullStack::Get($_POST['CHANNEL_ID'], intval($_POST['CHANNEL_LAST_ID'])); $arResult["COUNTERS"] = CUserCounter::GetAllValues($USER->GetID()); if (!empty($arResult["COUNTERS"])) { $arMessage[] = Array( 'module_id' => 'main', 'command' => 'user_counter', 'params' => $arResult["COUNTERS"] );
} } else { $userId = PULL_USER_ID; } if (check_bitrix_sessid()) { if ($_POST['PULL_GET_CHANNEL'] == 'Y') { session_write_close(); $arConfig = CPullChannel::GetConfig($userId, $_POST['CACHE'] == 'Y', $_POST['CACHE'] == 'Y' ? false : true, $_POST['MOBILE'] == 'Y'); if (is_array($arConfig)) { echo CUtil::PhpToJsObject($arConfig); } else { echo CUtil::PhpToJsObject(array('ERROR' => 'ERROR_OPEN_CHANNEL')); } } elseif ($_POST['PULL_UPDATE_WATCH'] == 'Y') { foreach ($_POST['WATCH'] as $tag) { CPullWatch::Extend($userId, $tag); } echo CUtil::PhpToJsObject(array('ERROR' => '')); } elseif ($_POST['PULL_UPDATE_STATE'] == 'Y') { $arMessage = CPullStack::Get($_POST['CHANNEL_ID'], intval($_POST['CHANNEL_LAST_ID'])); $arResult["COUNTERS"] = CUserCounter::GetAllValues($userId); if (!empty($arResult["COUNTERS"])) { $arMessage[] = array('module_id' => 'main', 'command' => 'user_counter', 'params' => $arResult["COUNTERS"]); } echo CUtil::PhpToJsObject(array('MESSAGE' => $arMessage, 'ERROR' => '')); } else { echo CUtil::PhpToJsObject(array('ERROR' => 'UNKNOWN_ERROR')); } } else { echo CUtil::PhpToJsObject(array('BITRIX_SESSID' => bitrix_sessid(), 'ERROR' => 'SESSION_ERROR')); }