• Модуль: landing
  • Путь к файлу: ~/bitrix/modules/landing/lib/publicaction/block.php
  • Класс: BitrixLandingPublicActionBlock
  • Вызов: Block::uploadFile
static function uploadFile($block, $picture, $ext = false, array $params = [], $temp = false): PublicActionResult
{
	static $mixedParams = ['picture'];

	$result = new PublicActionResult();
	$error = new BitrixLandingError;
	$block = intval($block);

	$landing = Landing::createInstance(
		BlockCore::getLandingIdByBlockId($block),
		['skip_blocks' => true]
	);

	if ($landing->exist())
	{
		$file = Manager::savePicture($picture, $ext, $params);
		if ($file)
		{
			File::addToBlock($block, $file['ID'], Utils::isTrue($temp));
			$result->setResult(array(
				'id' => $file['ID'],
				'src' => $file['SRC']
			));
		}
		else
		{
			$error->addError(
				'FILE_ERROR',
				Loc::getMessage('LANDING_FILE_ERROR')
			);
			$result->setError($error);
		}
	}
	else
	{
		$error->addError(
			'BLOCK_NOT_FOUND',
			Loc::getMessage('LANDING_BLOCK_NOT_FOUND')
		);
		$result->setError($error);
	}

	return $result;
}