• Модуль: forum
  • Путь к файлу: ~/bitrix/modules/forum/lib/comments/entity.php
  • Класс: BitrixForumCommentsEntity
  • Вызов: Entity::getPermission
public function getPermission($userId)
{
	if (!array_key_exists($userId, self::$permissions))
	{
		self::$permissions[$userId] = [];
		if (!array_key_exists($this->forum["ID"], self::$permissions[$userId]))
		{
			if (CForumUser::IsAdmin($userId))
				$result = "Y";
			else if ($this->forum["ACTIVE"] != "Y")
				$result = "A";
			else if (CForumUser::IsLocked($userId))
				$result = CForumNew::GetPermissionUserDefault($this->forum["ID"]);
			else
			{
				if (in_array($this->getType(), array('PH', 'TR', 'TM', 'IBLOCK')))
				{
					$result = 'Y';
				}
				else
				{
					$res = ForumTable::getList(array(
						'filter' => array(
							'=ID' => $this->forum["ID"],
							'@XML_ID' => array(
								'USERS_AND_GROUPS'
							)
						),
						'select' => array('ID')
					));
					if ($forumFields = $res->fetch())
					{
						$result = 'Y';
					}
					else
					{
						$result = CForumNew::GetUserPermission($this->forum["ID"], $userId);
					}
				}
			}

			self::$permissions[$userId][$this->forum["ID"]] = $result;
		}
	}
	return self::$permissions[$userId][$this->forum["ID"]];
}