- Модуль: clouds
- Путь к файлу: ~/bitrix/modules/clouds/classes/general/storage_upload.php
- Класс: CCloudStorageUpload
- Вызов: CCloudStorageUpload::CleanUp
static function CleanUp($ID = '')
{
global $DB;
if ($ID)
{
$rs = $DB->Query("
SELECT ID, BUCKET_ID, NEXT_STEP
FROM b_clouds_file_upload
WHERE ID = '".$DB->ForSql($ID)."'
");
}
else
{
$days = COption::GetOptionInt("clouds", "multipart_upload_keep_days");
if ($days > 0)
{
$seconds = $days * 3600 * 24;
$delete_time = ConvertTimeStamp(time() - $seconds, 'FULL');
$rs = $DB->Query("
SELECT ID, BUCKET_ID, NEXT_STEP
FROM b_clouds_file_upload
WHERE TIMESTAMP_X < ".$DB->CharToDateFunction($delete_time)
);
}
}
while ($arBucket = $rs->Fetch())
{
$obBucket = new CCloudStorageBucket(intval($arBucket["BUCKET_ID"]));
if ($obBucket->Init())
{
$arUploadInfo = unserialize($arBucket["NEXT_STEP"], ['allowed_classes' => false]);
$service = $obBucket->GetService();
$service->CancelMultipartUpload($obBucket->GetBucketArray(), $arUploadInfo);
}
$DB->Query("DELETE FROM b_clouds_file_upload WHERE ID = '".$DB->ForSql($arBucket["ID"])."'");
}
}