• Модуль: iblock
  • Путь к файлу: ~/bitrix/modules/iblock/classes/general/prop_element_auto.php
  • Класс: CIBlockPropertyElementAutoComplete
  • Вызов: CIBlockPropertyElementAutoComplete::GetAdminFilterHTML
static function GetAdminFilterHTML($arProperty, $strHTMLControlName)
{
	global $APPLICATION;

	$arSettings = static::PrepareSettings($arProperty);
	if (isset($arSettings['USER_TYPE_SETTINGS']))
	{
		$arSettings = $arSettings['USER_TYPE_SETTINGS'];
	}
	$arSymbols = static::GetSymbols($arSettings);

	$selfFolderUrl = (defined("SELF_FOLDER_URL") ? SELF_FOLDER_URL : "/bitrix/admin/");

	$isMainUiFilter = ($strHTMLControlName["FORM_NAME"] ?? '') === "main-ui-filter";
	$inputName = $strHTMLControlName['VALUE'].'[]';
	if ($isMainUiFilter)
	{
		$inputName = $strHTMLControlName['VALUE'];
	}

	$strValue = '';

	$fixIBlock = $arProperty["LINK_IBLOCK_ID"] > 0;
	$windowTableId = 'iblockprop-'.IblockPropertyTable::TYPE_ELEMENT.'-'.$arProperty['ID'].'-'.$arProperty['LINK_IBLOCK_ID'];

	if (isset($_REQUEST[$strHTMLControlName["VALUE"]]) && (is_array($_REQUEST[$strHTMLControlName["VALUE"]]) || (0 < (int)$_REQUEST[$strHTMLControlName["VALUE"]])))
	{
		$arFilterValues = (is_array($_REQUEST[$strHTMLControlName["VALUE"]]) ? $_REQUEST[$strHTMLControlName["VALUE"]] : array($_REQUEST[$strHTMLControlName["VALUE"]]));
		$mxResultValue = static::GetValueForAutoCompleteMulti($arProperty,$arFilterValues,$arSymbols['BAN_SYM'],$arSymbols['REP_SYM']);
		$strValue = (is_array($mxResultValue) ? htmlspecialcharsback(implode("n",$mxResultValue)) : '');
	}
	elseif (isset($GLOBALS[$strHTMLControlName["VALUE"]]) && (is_array($GLOBALS[$strHTMLControlName["VALUE"]]) || (0 < (int)$GLOBALS[$strHTMLControlName["VALUE"]])))
	{
		$arFilterValues = (is_array($GLOBALS[$strHTMLControlName["VALUE"]]) ? $GLOBALS[$strHTMLControlName["VALUE"]] : array($GLOBALS[$strHTMLControlName["VALUE"]]));
		$mxResultValue = static::GetValueForAutoCompleteMulti($arProperty,$arFilterValues,$arSymbols['BAN_SYM'],$arSymbols['REP_SYM']);
		$strValue = (is_array($mxResultValue) ? htmlspecialcharsback(implode("n",$mxResultValue)) : '');
	}
	ob_start();
	?>IncludeComponent(
		"bitrix:main.lookup.input",
		"iblockedit",
		array(
			"INPUT_NAME" => $inputName,
			"INPUT_NAME_STRING" => "inp_".$strHTMLControlName['VALUE'],
			"INPUT_VALUE_STRING" => $strValue,
			"START_TEXT" => '',
			"MULTIPLE" => $isMainUiFilter ? 'N' : 'Y', // TODO
			'MAX_WIDTH' => '200',
			'MIN_HEIGHT' => '24',
			"IBLOCK_ID" => $arProperty["LINK_IBLOCK_ID"],
			'WITHOUT_IBLOCK' => (!$fixIBlock ? 'Y' : 'N'),
			'BAN_SYM' => $arSymbols['BAN_SYM_STRING'],
			'REP_SYM' => $arSymbols['REP_SYM_STRING'],
			'FILTER' => 'Y',
			'MAIN_UI_FILTER' => ($isMainUiFilter ? 'Y' : 'N'),
		), null, array("HIDE_ICONS" => "Y")
	);
	$inputStyle = 'float: left; margin-right: 10px;';
	if ($isMainUiFilter)
	{
		$inputStyle = 'float: left; margin-right: 4px; margin-top: 7px; margin-left: 10px;';
	}
	?>&n=&k=&m=y&lookup=', 900, 700);">