• Модуль: 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);
}