- Модуль: clouds
- Путь к файлу: ~/bitrix/modules/clouds/classes/general/storage_upload.php
- Класс: CCloudStorageUpload
- Вызов: CCloudStorageUpload::Part
function Part($data, $part_no, $obBucket = null)
{
global $APPLICATION;
if($this->isStarted())
{
$ar = $this->GetArray();
if($obBucket == null)
$obBucket = new CCloudStorageBucket(intval($ar["BUCKET_ID"]));
if(!$obBucket->Init())
{
$APPLICATION->ThrowException(GetMessage('CLO_STORAGE_UPLOAD_ERROR', array('#errno#'=>3)));
return false;
}
$service = $obBucket->GetService();
if (!is_callable(array($service, 'UploadPartNo')))
{
$APPLICATION->ThrowException(GetMessage('CLO_STORAGE_UPLOAD_ERROR', array('#errno#'=>4)));
return false;
}
$arUploadInfo = unserialize($ar["NEXT_STEP"], ['allowed_classes' => false]);
$bSuccess = $obBucket->GetService()->UploadPartNo(
$obBucket->GetBucketArray(),
$arUploadInfo,
$data,
$part_no
);
if (!$bSuccess)
{
$error = $obBucket->GetService()->formatError();
if ($error)
{
$APPLICATION->ThrowException($error);
}
}
if (!$this->UpdateProgress($arUploadInfo, $bSuccess))
{
$APPLICATION->ThrowException(GetMessage('CLO_STORAGE_UPLOAD_ERROR', array('#errno#'=>5)));
return false;
}
return $bSuccess;
}
return false;
}