• Модуль: forum
  • Путь к файлу: ~/bitrix/modules/forum/classes/general/topic.php
  • Класс: CAllForumTopic
  • Вызов: CAllForumTopic::SetReadLabels
static function SetReadLabels($ID, $arUserGroups) // out-of-date function
{
	$ID = intval($ID);
	$arTopic = CForumTopic::GetByID($ID);
	if ($arTopic)
	{
		$FID = intval($arTopic["FORUM_ID"]);
		if (is_null($_SESSION["read_forum_".$FID]) || $_SESSION["read_forum_".$FID] == '')
		{
			$_SESSION["read_forum_".$FID] = "0";
		}

		$_SESSION["first_read_forum_".$FID] = intval($_SESSION["first_read_forum_".$FID]);

		$arFilter = array(
			"FORUM_ID" => $FID,
			"TOPIC_ID" => $ID
			);
		if (intval($_SESSION["first_read_forum_".$FID])>0)
			$arFilter[">ID"] = intval($_SESSION["first_read_forum_".$FID]);
		if ($_SESSION["read_forum_".$FID]!="0")
			$arFilter["!@ID"] = $_SESSION["read_forum_".$FID];
		if (CForumNew::GetUserPermission($FID, $arUserGroups)<"Q")
			$arFilter["APPROVED"] = "Y";
		$db_res = CForumMessage::GetList(array(), $arFilter);
		if ($db_res)
		{
			while ($ar_res = $db_res->Fetch())
			{
				$_SESSION["read_forum_".$FID] .= ",".intval($ar_res["ID"]);
			}
		}
		CForumTopic::Update($ID, array("=VIEWS"=>"VIEWS+1"));
	}
}