Аякс-индикатор числа непрочитанных сообщений

Nov 13, 2010 14:53

 Для соцсети Битрикса нужно было сделать простенький аяксовский индикатор, который должен показывать число непрочитанных сообщений у пользователя в личной переписке. Для этого можно было поизвращаться с компонентом socialnetwork.events_dyn, но там слишком велик функционал - он нам не нужен.
Нам нужны два файла:
1. "/user/chm.php"

global $APPLICATION, $USER;

$user = $USER->GetID();
if(CModule::IncludeModule("socialnetwork")){
$arMesFilter = array("TO_USER_ID" => $user);
$rsMessages = CSocNetMessages::GetList(array("ID" => "DESC"), $arMesFilter, $arMesSelect);
$unreadmess = 0;
while ($arMessages = $rsMessages -> GetNext()){
if ( $arMessages["DATE_VIEW"] == '' && $arMessages["TO_DELETED"] != 'Y' && $arMessages["MESSAGE_TYPE"] == "P"){
$unreadmess++;
}
}
}

echo '{"count":'.$unreadmess.'}';
?>

2. "/user/check_messages.php"

require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
global $APPLICATION;

echo "";
?>

и строчка вставки в то место, где должен отображаться индикатор:
$APPLICATION->IncludeFile("/user/check_messages.php", Array());

соцсеть, ajax, индикатор сообщений

Previous post Next post
Up