- Модуль: 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;
}