• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/filter/entitydataprovider.php
  • Класс: BitrixMainFilterEntityDataProvider
  • Вызов: EntityDataProvider::getUserEntitySelectorParams
protected function getUserEntitySelectorParams(string $context, array $params): array
{
	$entities = [
		[
			'id' => 'user',
			'options' => [
				'inviteEmployeeLink' => false,
				'intranetUsersOnly' => true,
			]
		],
	];

	if (class_exists(BitrixSocialnetworkIntegrationUIEntitySelectorFiredUserProvider::class))
	{
		$entities[] = [
			'id' => 'fired-user',
			'options' => [
				'inviteEmployeeLink' => false,
				'intranetUsersOnly' => true,
				'fieldName' => $params['fieldName'],
				'referenceClass'  => ($params['referenceClass'] ?? null),
				'entityTypeId' => ($params['entityTypeId'] ?? null),
				'module' => ($params['module'] ?? null),
			]
		];
	}

	$isEnableAllUsers = isset($params['isEnableAllUsers']) && $params['isEnableAllUsers'] === true;
	$isEnableOtherUsers = isset($params['isEnableOtherUsers']) && $params['isEnableOtherUsers'] === true;

	if ($isEnableAllUsers || $isEnableOtherUsers)
	{
		$metaUser = [
			'id' => 'meta-user',
			'options' => [],
		];

		if ($isEnableAllUsers)
		{
			$metaUser['options']['all-users'] = true;
		}
		if ($isEnableOtherUsers)
		{
			$metaUser['options']['other-users'] = true;
		}

		$entities[] = $metaUser;
	}

	return [
		'params' => [
			'multiple' => 'Y',
			'dialogOptions' => [
				'height' => 200,
				'context' => $context,
				'entities' => $entities,
				'showAvatars' => true,
				'dropdownMode' => false,
			],
		],
	];
}