- Модуль: 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"),
));
}