- Модуль: forum
- Путь к файлу: ~/bitrix/modules/forum/classes/general/message.php
- Класс: CAllForumMessage
- Вызов: CAllForumMessage::GetFirstUnread
static function GetFirstUnread($FID, $TID, $PERMISSION) // out-of-date function
{
$FID = intval($FID);
$TID = intval($TID);
if ($FID<=0) return false;
if ($PERMISSION == '') return false;
$MESSAGE_ID = 0;
$TOPIC_ID = 0;
$read_forum_cookie = COption::GetOptionString("main", "cookie_name", "BITRIX_SM")."_FORUM_0";
if ($_SESSION["first_read_forum_".$FID] == '' || intval($_SESSION["first_read_forum_".$FID])<0)
{
if (isset($_COOKIE[$read_forum_cookie]) && $_COOKIE[$read_forum_cookie] <> '')
{
$arForumCookie = explode("/", $_COOKIE[$read_forum_cookie]);
$i = 0;
while ($i < count($arForumCookie))
{
if (intval($arForumCookie[$i])==$FID)
{
$iCurFirstReadForum = intval($arForumCookie[$i+1]);
break;
}
$i += 2;
}
}
$read_forum_cookie1 = COption::GetOptionString("main", "cookie_name", "BITRIX_SM")."_FORUM_".$FID;
if (isset($_COOKIE[$read_forum_cookie1]) && intval($_COOKIE[$read_forum_cookie1])>0)
{
if ($iCurFirstReadForum $FID);
if (intval($_SESSION["first_read_forum_" . $FID])>0)
$arFilter[">ID"] = intval($_SESSION["first_read_forum_" . $FID]);
if ($_SESSION["read_forum_" . $FID]!="0")
{
$arFMIDsTmp = explode(",", $_SESSION["read_forum_" . $FID]);
if (count($arFMIDsTmp)>950)
{
for ($i1 = 0; $i1ID"] = intval($_SESSION["first_read_forum_" . $FID]);
}
else
{
$arFilter["!@ID"] = $_SESSION["read_forum_" . $FID];
}
}
if ($PERMISSION<="Q") $arFilter["APPROVED"] = "Y";
if ($TID>0) $arFilter["TOPIC_ID"] = $TID;
//$db_res = CForumMessage::GetList(array("ID"=>"ASC"), $arFilter, false, 1);
$db_res = CForumMessage::QueryFirstUnread($arFilter);
if ($res = $db_res->Fetch())
{
$MESSAGE_ID = $res["ID"];
$TOPIC_ID = $res["TOPIC_ID"];
}
return array($TOPIC_ID, $MESSAGE_ID);
}