• Модуль: forum
  • Путь к файлу: ~/bitrix/modules/forum/classes/general/message.php
  • Класс: CAllForumMessage
  • Вызов: CAllForumMessage::CanUserAddMessage
static function CanUserAddMessage($TID, $arUserGroups, $iUserID = 0, $ExternalPermission = false)
{
	$TID = intval($TID);
	$arTopic = ($TID > 0 ? CForumTopic::GetByID($TID) : false);
	if ($arTopic)
	{
		if (!CForumUser::IsLocked($iUserID)):
			$strPerms = ($ExternalPermission == false ? CForumNew::GetUserPermission($arTopic["FORUM_ID"], $arUserGroups) : $ExternalPermission);
		else:
			$strPerms = CForumNew::GetPermissionUserDefault($arTopic["FORUM_ID"], $arUserGroups);
		endif;
		if ($strPerms >= "Y")
			return true;
		elseif ($strPerms < "I")
			return false;
		$arForum = CForumNew::GetByID($arTopic["FORUM_ID"]);
		if ($arForum["ACTIVE"] != "Y")
			return False;
		return ($strPerms < "U" && ($arTopic["STATE"] != "Y") ? false : true);
	}
	return False;
}