- Модуль: clouds
- Путь к файлу: ~/bitrix/modules/clouds/classes/general/storage_upload.php
- Класс: CCloudStorageUpload
- Вызов: CCloudStorageUpload::Finish
function Finish($obBucket = null)
{
global $APPLICATION;
if($this->isStarted())
{
$ar = $this->GetArray();
if($obBucket == null)
$obBucket = new CCloudStorageBucket(intval($ar["BUCKET_ID"]));
if(!$obBucket->Init())
return false;
$arUploadInfo = unserialize($ar["NEXT_STEP"], ['allowed_classes' => false]);
$bSuccess = $obBucket->GetService()->CompleteMultipartUpload(
$obBucket->GetBucketArray(),
$arUploadInfo
);
if ($bSuccess)
{
$this->Delete();
if ($obBucket->getQueueFlag())
{
CCloudFailover::queueCopy($obBucket, $this->_filePath);
}
foreach(GetModuleEvents("clouds", "OnAfterCompleteMultipartUpload", true) as $arEvent)
{
ExecuteModuleEventEx($arEvent, array($obBucket, array("size" => $ar["FILE_SIZE"]), $this->_filePath));
}
}
else
{
$error = $obBucket->GetService()->formatError();
if ($error)
{
$APPLICATION->ThrowException($error);
}
}
return $bSuccess;
}
return false;
}