- Модуль: landing
- Путь к файлу: ~/bitrix/modules/landing/lib/rights.php
- Класс: BitrixLandingRights
- Вызов: Rights::getAccessFilter
static function getAccessFilter(array $additionalFilterOr = [])
{
$filter = [];
if (
self::isOn() &&
!self::isAdmin() &&
self::isFeatureOn() &&
self::exist()
)
{
$tasks = self::getAccessTasksReferences();
$extendedRights = self::isExtendedMode();
$uid = self::getContextUserId();
if ($extendedRights)
{
$filter[] = [
'LOGIC' => 'OR',
[
'!RIGHTS.TASK_ID' => $tasks[Rights::ACCESS_TYPES['denied']],
'RIGHTS.USER_ACCESS.USER_ID' => $uid
],
[
'=RIGHTS.TASK_ID' => null
],
$additionalFilterOr
];
}
else
{
if ($additionalFilterOr)
{
$filter[] = [
'LOGIC' => 'OR',
[
'!RIGHTS.TASK_ID' => $tasks[Rights::ACCESS_TYPES['denied']],
'RIGHTS.USER_ACCESS.USER_ID' => $uid
],
$additionalFilterOr
];
}
else
{
$filter['RIGHTS.USER_ACCESS.USER_ID'] = $uid;
$filter['!RIGHTS.TASK_ID'] = $tasks[Rights::ACCESS_TYPES['denied']];
}
}
}
return $filter;
}