• Модуль: forum
  • Путь к файлу: ~/bitrix/modules/forum/classes/general/topic.php
  • Класс: CAllForumTopic
  • Вызов: CAllForumTopic::CanUserViewTopic
static function CanUserViewTopic($TID, $arUserGroups, $iUserID = 0, $ExternalPermission = false)
{
	$TID = intval($TID);
	$arTopic = CForumTopic::GetByID($TID);
	if ($arTopic)
	{
		if ($ExternalPermission === false && CForumUser::IsAdmin($arUserGroups)):
			return true;
		endif;
		$strPerms = ($ExternalPermission == false ? CForumNew::GetUserPermission($arTopic["FORUM_ID"], $arUserGroups) : $ExternalPermission);
		if ($strPerms >= "Y")
			return true;
		if ($strPerms < "E" || ($strPerms < "Q" && $arTopic["APPROVED"] != "Y"))
			return false;
		$arForum = CForumNew::GetByID($arTopic["FORUM_ID"]);
		return ($arForum["ACTIVE"] == "Y" ? true : false);
	}
	return false;
}