• Модуль: forum
  • Путь к файлу: ~/bitrix/modules/forum/classes/general/topic.php
  • Класс: CAllForumTopic
  • Вызов: CAllForumTopic::GetNeighboringTopics
static function GetNeighboringTopics($TID, $arUserGroups) // out-of-date function
{
	$TID = intval($TID);
	$arTopic = CForumTopic::GetByID($TID);
	if (!$arTopic) return False;

	//-- PREV_TOPIC
	$arFilter = array(
		"FORUM_ID" => $arTopic["FORUM_ID"],
		" $arTopic["LAST_POST_DATE"]
		);
	if (CForumNew::GetUserPermission($arTopic["FORUM_ID"], $arUserGroups)<"Q")
		$arFilter["APPROVED"] = "Y";

	$db_res = CForumTopic::GetList(array("LAST_POST_DATE"=>"DESC"), $arFilter, false, 1);
	$PREV_TOPIC = 0;
	if ($ar_res = $db_res->Fetch()) $PREV_TOPIC = $ar_res["ID"];

	//-- NEXT_TOPIC
	$arFilter = array(
		"FORUM_ID" => $arTopic["FORUM_ID"],
		">LAST_POST_DATE" => $arTopic["LAST_POST_DATE"]
		);
	if (CForumNew::GetUserPermission($arTopic["FORUM_ID"], $arUserGroups)<"Q")
		$arFilter["APPROVED"] = "Y";

	$db_res = CForumTopic::GetList(array("LAST_POST_DATE"=>"ASC"), $arFilter, false, 1);
	$NEXT_TOPIC = 0;
	if ($ar_res = $db_res->Fetch()) $NEXT_TOPIC = $ar_res["ID"];

	return array($PREV_TOPIC, $NEXT_TOPIC);
}