• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/webform/result.php
  • Класс: Bitrix\Crm\WebForm\Result
  • Вызов: Result::formatFieldsByTemplate
static function formatFieldsByTemplate(array $fields, $fieldTemplate = "%caption%%required%: %values%\n", $valueTemplate = "%value%\n", $valueListTemplate = "\n%value%")
{
	$result = '';
	foreach($fields as $field)
	{
		if(!$field || !is_array($field['value']))
		{
			continue;
		}

		$values = array();
		foreach($field['value'] as $value)
		{
			if(is_array($value))
			{
				$values[] = htmlspecialcharsbx($value['title'] ?? $value['name']);

			}
			else
			{
				$values[] = htmlspecialcharsbx($value);
			}
		}

		// format values
		$displayedValues = '';
		foreach ($values as $value)
		{
			switch ($field['type'])
			{
				case Internals\FieldTable::TYPE_ENUM_CHECKBOX:
					if (in_array($value, ['Y', 'N']))
					{
						EntityFieldProvider::getBooleanFieldItems();
						$value = Loc::getMessage('CRM_WEBFORM_FIELD_PROVIDER_' . (
							$value === 'Y' ? 'YES' : 'NO'
						));
					}
					break;
				case Internals\FieldTable::TYPE_ENUM_DATETIME:
					if (is_numeric($value))
					{
						$value = DateTime::createFromTimestamp($value)->toString();
					}
					break;
			}

			$displayedValues .= str_replace(
				array('%value%'),
				array($value),
				($valueListTemplate && count($values) > 1) ? $valueListTemplate : $valueTemplate
			);
		}

		// format field
		$result .= str_replace(
			array(
				'%caption%',
				'%required%',
				'%values%'
			),
			array(
				htmlspecialcharsbx($field['caption']),
				$field['required'] ? '*' : '',
				$displayedValues
			),
			$fieldTemplate
		);
	}

	return $result;
}