$storageNums Storages num * * @return array */ public static function getStorageUsageStats($storageNums) { if (($storages = AbstractStorageEntity::getAll()) === false) { $storages = []; } $storageNums['storages_s3_count'] = 0; $storageNums['storages_s3_compatible_count'] = 0; foreach ($storages as $index => $storage) { switch ($storage->getStype()) { case AmazonS3Storage::getSType(): $storageNums['storages_s3_count']++; break; case AmazonS3CompatibleStorage::getSType(): case GoogleCloudStorage::getSType(): case BackblazeStorage::getSType(): case DreamStorage::getSType(): case DigitalOceanStorage::getSType(): case VultrStorage::getSType(): case CloudflareStorage::getSType(): case WasabiStorage::getSType(): $storageNums['storages_s3_compatible_count']++; break; } } return $storageNums; } /** * Purge old S3 multipart uploads * * @return void */ public static function purgeOldS3MultipartUploads(): void { if (($storages = AbstractStorageEntity::getAll()) == false) { return; } foreach ($storages as $storage) { if (!$storage instanceof \Duplicator\Addons\AmazonS3Addon\Models\AmazonS3Storage) { continue; } $storage->purgeMultipartUpload(); } } /** * * @return string */ public static function getAddonPath(): string { return __DIR__; } /** * * @return string */ public static function getAddonFile(): string { return __FILE__; } }