• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/FileUploader/SiteFormFileUploaderController.php
  • Класс: Bitrix\Crm\FileUploader\SiteFormFileUploaderController
  • Вызов: SiteFormFileUploaderController::checkFieldsSize
private function checkFieldsSize(array $fields, array $fieldsSizeMap): bool
{
	foreach ($fieldsSizeMap as $fieldCode => $sizeBytes)
	{
		$field = array_filter(
			$fields,
			function ($value) use ($fieldCode) {
				return $value['CODE'] === $fieldCode;
			}
		);
		if (empty(array_values($field)[0]))
		{
			continue;
		}
		$field = array_values($field)[0];

		if (!isset($field['SETTINGS_DATA']['MAX_SIZE_MB']))
		{
			return true;
		}

		$maxFieldSizeBytes = intval($field['SETTINGS_DATA']['MAX_SIZE_MB']) * (1024 * 1024);
		if ($maxFieldSizeBytes <= 0)
		{
			return true;
		}

		if ($sizeBytes > $maxFieldSizeBytes)
		{
			return false;
		}
	}

	return true;
}