{ $errorMessage = ""; if (substr($_POST['USER_ID'], 0, 4) == 'chat') { $CIMChat = new CIMChat(); $CIMChat->SetReadMessage(intval(substr($_POST['USER_ID'],4)), (isset($_POST['LAST_ID']) && intval($_POST['LAST_ID'])>0 ? $_POST['LAST_ID']: null)); } else { $CIMMessage = new CIMMessage(); $CIMMessage->SetReadMessage($_POST['USER_ID'], (isset($_POST['LAST_ID']) && intval($_POST['LAST_ID'])>0 ? $_POST['LAST_ID']: null)); } CIMMessenger::SetCurrentTab($_POST['TAB']); CIMContactList::SetOnline(); echo CUtil::PhpToJsObject(Array( 'USER_ID' => htmlspecialcharsbx($_POST['USER_ID']), 'ERROR' => $errorMessage )); } else if ($_POST['IM_LOAD_LAST_MESSAGE'] == 'Y') { $error = ''; $arMessage = Array(); if ($_POST['CHAT'] == 'Y') { $chatId = intval(substr($_POST['USER_ID'], 4)); $CIMChat = new CIMChat();
} echo CUtil::PhpToJsObject($arResult); CIMContactList::SetOnline(null, true); CIMMessenger::SetCurrentTab(intval($_POST['TAB'])); } else { if ($_POST['IM_READ_MESSAGE'] == 'Y') { $errorMessage = ""; if (substr($_POST['USER_ID'], 0, 4) == 'chat') { $CIMChat = new CIMChat(); $CIMChat->SetReadMessage(intval(substr($_POST['USER_ID'], 4)), isset($_POST['LAST_ID']) && intval($_POST['LAST_ID']) > 0 ? $_POST['LAST_ID'] : null); } else { $CIMMessage = new CIMMessage(); $CIMMessage->SetReadMessage($_POST['USER_ID'], isset($_POST['LAST_ID']) && intval($_POST['LAST_ID']) > 0 ? $_POST['LAST_ID'] : null); } CIMMessenger::SetCurrentTab(intval($_POST['TAB'])); CIMContactList::SetOnline(null, true); echo CUtil::PhpToJsObject(array('USER_ID' => htmlspecialcharsbx($_POST['USER_ID']), 'ERROR' => $errorMessage)); } else { if ($_POST['IM_LOAD_LAST_MESSAGE'] == 'Y') { $arMessage = array(); if ($_POST['CHAT'] == 'Y') { $chatId = intval(substr($_POST['USER_ID'], 4)); $CIMChat = new CIMChat(); $arMessage = $CIMChat->GetLastMessage($chatId, false, $_POST['USER_LOAD'] == 'Y' ? true : false, false); if (isset($arMessage['message'])) { foreach ($arMessage['message'] as $id => $ar) { $arMessage['message'][$id]['recipientId'] = 'chat' . $ar['recipientId']; } $arMessage['usersMessage']['chat' . $chatId] = $arMessage['usersMessage'][$chatId]; unset($arMessage['usersMessage'][$chatId]); if (isset($_POST['READ']) && $_POST['READ'] == 'Y') {
} else { define("IM_COMPONENT_INIT", true); } if (intval($USER->GetID()) <= 0) { return; } if (!CModule::IncludeModule('im')) { return; } CModule::IncludeModule('voximplant'); CModule::IncludeModule('disk'); $arParams["DESKTOP"] = isset($arParams['DESKTOP']) && $arParams['DESKTOP'] == 'Y' ? 'Y' : 'N'; $arResult = array(); // Counters $arResult["COUNTERS"] = CUserCounter::GetValues($USER->GetID(), SITE_ID); CIMContactList::SetOnline(null, $arParams['DESKTOP'] == 'N'); $arSettings = CIMSettings::Get(); $arResult['SETTINGS'] = $arSettings['settings']; if ($arParams['DESKTOP'] == 'Y') { $GLOBALS["APPLICATION"]->SetPageProperty("BodyClass", "im-desktop"); CIMMessenger::SetDesktopStatusOnline(); CIMMessenger::SetDesktopVersion(empty($_GET['BXD_API_VERSION']) ? 0 : $_GET['BXD_API_VERSION']); } else { if ($arParams['FULLSCREEN'] == 'Y') { $GLOBALS["APPLICATION"]->SetPageProperty("BodyClass", "bx-im-fullscreen bx-language-" . LANGUAGE_ID); } } if ($arResult['SETTINGS']['bxdNotify'] && CIMMessenger::CheckInstallDesktop()) { CIMSettings::SetSetting(CIMSettings::SETTINGS, array('bxdNotify' => false)); $arResult['SETTINGS']['bxdNotify'] = false; }