- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/webform/requisite.php
- Класс: Bitrix\Crm\WebForm\Requisite
- Вызов: Requisite::convertSettingsToOptions
public function convertSettingsToOptions(array $settings): array
{
$dictPresets = $this->getPresets();
$dictPresets = array_combine(
array_column($dictPresets, 'id'),
array_column($dictPresets, 'fields')
);
$presets = [];
foreach (($options['presets'] ?? []) as $preset)
{
if (!empty($preset['disabled']))
{
continue;
}
$dictPresetFields = $dictPresets[$preset['id']]['fields'] ?? null;
if (!$dictPresetFields)
{
continue;
}
$dictPresetFields = array_combine(
array_column($dictPresetFields, 'name'),
$dictPresetFields
);
$fields = [];
foreach (($preset['fields'] ?? []) as $field)
{
if (!empty($field['disabled']))
{
continue;
}
$dictField = $dictPresetFields[$field['name']] ?? null;
if (!$dictField)
{
continue;
}
$fields[] = [
'name' => $field['name'],
'label' => $dictField['label'] === $field['label'] ? '' : $field['label'],
];
}
$presets[] = [
'id' => $preset['id'],
'fields' => $fields,
];
}
return [
'presets' => $this->getPresets(),
];
}