• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/userfield/userfieldaccess.php
  • Класс: BitrixMainUserFieldUserFieldAccess
  • Вызов: UserFieldAccess::prepareFilter
public function prepareFilter(array $filter = []): ?array
{
	$filterEntityIds = [];
	foreach($filter as $name => $value)
	{
		if(strpos($name, 'ENTITY_ID') !== false)
		{
			if($name === 'ENTITY_ID')
			{
				if(is_array($value))
				{
					$filterEntityIds = $value;
				}
				else
				{
					$filterEntityIds = [$value];
				}
			}

			unset($filter[$name]);
		}
	}
	$availableEntityIds = $this->getAvailableEntityIds();
	if(empty($filterEntityIds))
	{
		$filterEntityIds = $availableEntityIds;
	}
	else
	{
		foreach($filterEntityIds as $key => $entityId)
		{
			if(!in_array($entityId, $availableEntityIds, true))
			{
				unset($filterEntityIds[$key]);
			}
		}
	}

	if(empty($filterEntityIds))
	{
		return null;
	}

	$filter['=ENTITY_ID'] = $filterEntityIds;

	return $filter;
}