• Модуль: 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(),
	];
}