• Модуль: disk
  • Путь к файлу: ~/bitrix/modules/disk/lib/shortcut/uploader.php
  • Класс: BitrixDiskShortcutUploader
  • Вызов: Uploader::uploadBatchFilesToUserStorage
public function uploadBatchFilesToUserStorage($userId, array $files, $createdBy = null, SecurityContext $securityContext = null)
{
	if($createdBy === null)
	{
		$createdBy = $userId;
	}

	$driver = Driver::getInstance();
	$storage = $driver->getStorageByUserId($userId);

	if(!$storage)
	{
		$this->errorCollection[] = new Error('Could not find/create user storage');
		$this->errorCollection->add($driver->getErrors());

		return null;
	}

	if($securityContext === null)
	{
		$securityContext = $storage->getSecurityContext($createdBy);
	}

	$folder = $storage->getFolderForUploadedFiles();

	if(!$folder)
	{
		$this->errorCollection[] = new Error('Could not find/create folder to upload file');
		$this->errorCollection->add($storage->getErrors());

		return null;
	}

	if(!$folder->canAdd($securityContext))
	{
		$this->errorCollection[] = new Error('Could not find/create upload file. Bad permission');

		return null;
	}

	$newFiles = array();

	foreach($files as $file)
	{
		$newFile = $folder->uploadFile($file, array(
			'NAME' => $file['name'],
			'CREATED_BY' => $createdBy,
		), array(), true);

		if(!$newFile)
		{
			$this->errorCollection->add($folder->getErrors());
			continue;
		}

		$newFiles[] = $newFile;
	}

	return $newFiles;
}