Fill::getFilledFileFieldsSize

  1. Bitrix24 API (v. 23.675.0)
  2. crm
  3. Fill
  4. getFilledFileFieldsSize
  • Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/webform/fill.php
  • Класс: Bitrix\Crm\WebForm\Fill
  • Вызов: Fill::getFilledFileFieldsSize
private function getFilledFileFieldsSize(): array
{
	$fieldsSizeMap = [];

	$fields = array_filter(
		$this->form->getFieldsMap(),
		function ($field) {
			return $field['type'] == 'file';
		}
	);

	foreach ($fields as $fieldKey => $field)
	{
		$fieldName = $field['name'];
		$fieldValues = $this->values[$fieldName] ?? [];
		if (!is_array($fieldValues))
		{
			$fieldValues = [$fieldValues];
		}

		$summaryFieldSize = array_reduce(
			$fieldValues,
			function ($sum, $value) {
				return $sum + $value['size'] ?? 0;
			},
			0
		);
		if ($summaryFieldSize > 0)
		{
			$fieldsSizeMap[$fieldName] = $summaryFieldSize;
		}
	}

	return $fieldsSizeMap;
}

Добавить комментарий