• Модуль: controller
  • Путь к файлу: ~/bitrix/modules/controller/lib/authgrant.php
  • Класс: BitrixControllerAuthGrantTable
  • Вызов: AuthGrantTable::getActiveForControllerMember
static function getActiveForControllerMember($controllerMemberId, $granteeUserId, $granteeGroups = array())
{
	$filter = array(
		"=CONTROLLER_MEMBER_ID" => $controllerMemberId,
		"=ACTIVE" => "Y",
		array(
			"LOGIC" => "OR",
			"=DATE_START" => false,
			"<=DATE_START" => new BitrixMainTypeDateTime(),
		),
		array(
			"LOGIC" => "OR",
			"=DATE_END" => false,
			">=DATE_END" => new BitrixMainTypeDateTime(),
		),
		"!=GRANTED_BY" => $granteeUserId,
	);

	if (is_array($granteeGroups) && $granteeGroups)
	{
		$filter[] = array(
			"LOGIC" => "OR",
			"=GRANTEE_USER.ID" => $granteeUserId,
			"@GRANTEE_GROUP_ID" => $granteeGroups,
		);
	}
	else
	{
		$filter["=GRANTEE_USER.ID"] = $granteeUserId;
	}

	return self::getList(array(
		"select" => array("ID", "SCOPE"),
		"filter" => $filter,
		"order" => array("ID" => "asc"),
	));
}