|
|
|
|
@ -311,13 +311,35 @@ class AmazonS3 extends \OC\Files\Storage\Common {
|
|
|
|
|
$connection->deleteObjects([
|
|
|
|
|
'Bucket' => $this->bucket,
|
|
|
|
|
'Delete' => [
|
|
|
|
|
'Objects' => $objects['Contents']
|
|
|
|
|
'Objects' => $objects['Contents'],
|
|
|
|
|
]
|
|
|
|
|
]);
|
|
|
|
|
$this->testTimeout();
|
|
|
|
|
}
|
|
|
|
|
// we reached the end when the list is no longer truncated
|
|
|
|
|
} while ($objects['IsTruncated']);
|
|
|
|
|
|
|
|
|
|
do {
|
|
|
|
|
// delete all contained versions and deletion markers
|
|
|
|
|
$objects = $connection->listObjectVersions($params);
|
|
|
|
|
if (isset($objects['Versions'])) {
|
|
|
|
|
$connection->deleteObjects([
|
|
|
|
|
'Bucket' => $this->bucket,
|
|
|
|
|
'Delete' => [
|
|
|
|
|
'Objects' => $objects['Versions'],
|
|
|
|
|
]
|
|
|
|
|
]);
|
|
|
|
|
}
|
|
|
|
|
if (isset($objects['DeleteMarkers'])) {
|
|
|
|
|
$connection->deleteObjects([
|
|
|
|
|
'Bucket' => $this->bucket,
|
|
|
|
|
'Delete' => [
|
|
|
|
|
'Objects' => $objects['DeleteMarkers'],
|
|
|
|
|
]
|
|
|
|
|
]);
|
|
|
|
|
}
|
|
|
|
|
// we reached the end when the list is no longer truncated
|
|
|
|
|
} while ($objects['IsTruncated']);
|
|
|
|
|
$this->deleteObject($path);
|
|
|
|
|
} catch (S3Exception $e) {
|
|
|
|
|
\OC::$server->getLogger()->logException($e, ['app' => 'files_external']);
|
|
|
|
|
|