• Модуль: highloadblock
  • Путь к файлу: ~/bitrix/modules/highloadblock/classes/general/cusertypehlblock.php
  • Класс: CUserTypeHlblock
  • Вызов: CUserTypeHlblock::getSettingsFromForm
static function getSettingsFromForm(?array $userField, ?array $control): array
{
	$multiple = ($userField['MULTIPLE'] ?? 'N') === 'Y';
	$result = self::getDefaultSettings($multiple);
	if (empty($userField) || empty($control))
	{
		return $result;
	}

	$name = trim($control['NAME'] ?? '');
	if ($name === '' || !isset($GLOBALS[$name]))
	{
		return $result;
	}

	$result['DISPLAY'] = (string)($GLOBALS[$name]['DISPLAY'] ?? $result['DISPLAY']);
	$result['LIST_HEIGHT'] = (int)($GLOBALS[$name]['LIST_HEIGHT'] ?? $result['DISPLAY']);
	$result['HLBLOCK_ID'] = (int)($GLOBALS[$name]['HLBLOCK_ID'] ?? $result['HLBLOCK_ID']);
	$result['HLFIELD_ID'] = (int)($GLOBALS[$name]['HLFIELD_ID'] ?? $result['HLFIELD_ID']);
	if (isset($GLOBALS[$name]['DEFAULT_VALUE']))
	{
		if ($multiple)
		{
			$result['DEFAULT_VALUE'] = is_array($GLOBALS[$name]['DEFAULT_VALUE'])
				? $GLOBALS[$name]['DEFAULT_VALUE']
				: [$GLOBALS[$name]['DEFAULT_VALUE']]
			;
		}
		else
		{
			$result['DEFAULT_VALUE'] =
				is_string($GLOBALS[$name]['DEFAULT_VALUE'])
				? $GLOBALS[$name]['DEFAULT_VALUE']
				: ''
			;
		}
	}

	return $result;
}