• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/FileUploader/SiteFormFileUploaderController.php
  • Класс: Bitrix\Crm\FileUploader\SiteFormFileUploaderController
  • Вызов: SiteFormFileUploaderController::canUpload
public function canUpload(): bool
{
	if (
		empty($this->options['formId'])
		|| empty($this->options['secCode'])
		|| empty($this->options['fieldId'])
		|| empty($this->getFingerprint())
		|| !is_array($this->options['fieldsSize'])
	)
	{
		return false;
	}

	$fieldsSize = $this->options['fieldsSize'];
	$formId = intval($this->options['formId']);
	$fieldId = $this->options['fieldId'];

	$form = new WebForm\Form($formId);
	if (
		!$form->checkSecurityCode($this->options['secCode'])
		|| !$form->isActive()
		|| !$form->hasField($fieldId)
	)
	{
		return false;
	}

	$fileFields = $form->getFieldsByType('file');
	if (
		!$this->checkFieldsSize($fileFields, $fieldsSize)
		|| !$this->checkDailyLimit($fieldsSize)
	)
	{
		return false;
	}

	return true;
}