예제 #1
0
	{
		$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();
예제 #2
0
     }
     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') {
예제 #3
0
파일: component.php 프로젝트: vim84/b-markt
} 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;
}