- Модуль: highloadblock
- Путь к файлу: ~/bitrix/modules/highloadblock/classes/general/cusertypehlblock.php
- Класс: CUserTypeHlblock
- Вызов: CUserTypeHlblock::verifySettings
static function verifySettings(array $settings, bool $multiple): array
{
$defaultSettings = self::getDefaultSettings($multiple);
$height = (int)($settings['LIST_HEIGHT'] ?? $defaultSettings['LIST_HEIGHT']);
if ($height < 1)
{
$height = $defaultSettings['LIST_HEIGHT'];
}
$display = (string)($settings['DISPLAY'] ?? $defaultSettings['DISPLAY']);
if ($display !== self::DISPLAY_CHECKBOX && $display !== self::DISPLAY_LIST)
{
$display = $defaultSettings['DISPLAY'];
}
$hlblockId = (int)($settings['HLBLOCK_ID'] ?? $defaultSettings['HLBLOCK_ID']);
if ($hlblockId < 0)
{
$hlblockId = $defaultSettings['HLBLOCK_ID'];
}
$hlfieldId = (int)($settings['HLFIELD_ID'] ?? $defaultSettings['HLFIELD_ID']);
if ($hlfieldId < 0)
{
$hlfieldId = $defaultSettings['HLFIELD_ID'];
}
$defaultValue = $settings['DEFAULT_VALUE'] ?? $defaultSettings['DEFAULT_VALUE'];
if ($multiple)
{
if (!is_array($defaultValue))
{
$defaultValue = [$defaultValue];
}
MainTypeCollection::normalizeArrayValuesByInt($defaultValue, true);
}
else
{
if (!is_int($defaultValue) && !is_string($defaultValue))
{
$defaultValue = $defaultSettings['DEFAULT_VALUE'];
}
$defaultValue = (int)$defaultValue;
if ($defaultValue < 0)
{
$defaultValue = $defaultSettings['DEFAULT_VALUE'];
}
}
return [
'DISPLAY' => $display,
'LIST_HEIGHT' => $height,
'HLBLOCK_ID' => $hlblockId,
'HLFIELD_ID' => $hlfieldId,
'DEFAULT_VALUE' => $defaultValue,
];
}