• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/filter/userdataprovider.php
  • Класс: BitrixMainFilterUserDataProvider
  • Вызов: UserDataProvider::prepareFieldData
public function prepareFieldData($fieldID)
{
	$result = null;

	if ($fieldID === 'GENDER')
	{
		$result = [
			'params' => ['multiple' => 'N'],
			'items' => [
				'F' => Loc::getMessage('MAIN_USER_FILTER_GENDER_F'),
				'M' => Loc::getMessage('MAIN_USER_FILTER_GENDER_M')
			]
		];
	}
	elseif (in_array($fieldID, [ 'INTEGRATOR', 'ADMIN' ]))
	{
		$result = [
			'params' => ['multiple' => 'N'],
			'items' => [
				'Y' => Loc::getMessage('MAIN_USER_FILTER_Y'),
			]
		];
	}
	elseif (
		$fieldID === 'PERSONAL_COUNTRY'
		|| $fieldID === 'WORK_COUNTRY'
	)
	{
		$countriesList = [];
		$countries = getCountryArray();
		foreach($countries['reference_id'] as $key => $countryId)
		{
			$countriesList[$countryId] = $countries['reference'][$key];
		}

		$result = [
			'items' => $countriesList
		];
	}
	elseif (
		$fieldID === 'DEPARTMENT'
		|| $fieldID === 'DEPARTMENT_FLAT'
	)
	{
		return [
			'params' => [
				'apiVersion' => 3,
				'context' => 'USER_LIST_FILTER_DEPARTMENT',
				'multiple' => 'N',
				'contextCode' => 'DR',
				'enableDepartments' => 'Y',
				'departmentFlatEnable' => ($fieldID === 'DEPARTMENT_FLAT' ? 'Y' : 'N'),
				'enableAll' => 'N',
				'enableUsers' => 'N',
				'enableSonetgroups' => 'N',
				'allowEmailInvitation' => 'N',
				'allowSearchEmailUsers' => 'N',
				'departmentSelectDisable' => 'N',
				'isNumeric' => 'N',
			]
		];
	}

	return $result;
}