• Модуль: forum
  • Путь к файлу: ~/bitrix/modules/forum/classes/general/forum_new.php
  • Класс: CAllForumNew
  • Вызов: CAllForumNew::SetLabelsBeRead
static function SetLabelsBeRead($ID, $arUserGroups) // out-of-date function
{
	$ID = intval($ID);
	$_SESSION["read_forum_".$ID] = "0";
	$strPerms = CForumNew::GetUserPermission($ID, $arUserGroups);
	$iCurFirstReadForum = 0;
	if ($strPerms > "Q"):
		$db_res = CForumMessage::GetList(array("ID"=>"DESC"), array("FORUM_ID" => $ID, "APPROVED" => "N"), false, 1);
		if ($db_res && $res = $db_res->Fetch()):
			$iCurFirstReadForum = intval($res["ID"]);
		endif;
	endif;
	$res = CForumNew::GetByID($ID);
	$iCurFirstReadForum = intval($res["LAST_MESSAGE_ID"]);
	$_SESSION["first_read_forum_".$ID] = $iCurFirstReadForum;

	$arForumCookie = array();
	$read_forum_cookie = COption::GetOptionString("main", "cookie_name", "BITRIX_SM")."_FORUM_0";
	if (isset($_COOKIE[$read_forum_cookie]) && $_COOKIE[$read_forum_cookie] <> '')
	{
		$arForumCookie = explode("/", $_COOKIE[$read_forum_cookie]);
	}

	$i = 0;
	$arCookieVal = array();
	while ($i < count($arForumCookie))
	{
		if (intval($arForumCookie[$i])!=$ID)
		{
			$arCookieVal[] = intval($arForumCookie[$i])."/".intval($arForumCookie[$i+1]);
		}
		$i += 2;
	}
	$arCookieVal[] = $ID."/".$iCurFirstReadForum;

	$_COOKIE[$read_forum_cookie] = implode("/", $arCookieVal);
//		$GLOBALS["APPLICATION"]->set_cookie($read_forum_cookie, $strCookieVal, false, "/", false, false, "Y", "");
	$GLOBALS["APPLICATION"]->set_cookie("FORUM_0", implode("/", $arCookieVal), false, "/", false, false, "Y", false);
	return true;
}