<?php
namespace Elementor\App\Modules\ImportExportCustomization\Data\Routes\Traits;
use Elementor\App\Modules\ImportExportCustomization\Data\Response;
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}
trait Handles_Quota_Errors {
protected function get_cloud_kit_library_app() {
try {
return \Elementor\Modules\CloudKitLibrary\Module::get_app();
} catch ( \Exception | \Error $e ) {
return null;
}
}
private function is_quota_error( $error_message ) {
return \Elementor\Modules\CloudKitLibrary\Connect\Cloud_Kits::INSUFFICIENT_STORAGE_QUOTA === $error_message;
}
private function get_quota_error_response( $quota, $kit_data ) {
$max_size_gb = 0;
if ( ! empty( $quota['storage']['threshold'] ) ) {
$max_size_gb = round( $quota['storage']['threshold'] / ( 1024 * 1024 * 1024 ), 2 );
}
$filename = __( 'This file', 'elementor' );
if ( ! empty( $kit_data['title'] ) ) {
$filename = '"' . $kit_data['title'] . '"';
} elseif ( ! empty( $kit_data['fileName'] ) ) {
$filename = '"' . $kit_data['fileName'] . '"';
}
return Response::error(
\Elementor\Modules\CloudKitLibrary\Connect\Cloud_Kits::INSUFFICIENT_STORAGE_QUOTA,
[
'replacements' => [
'filename' => $filename,
'maxSize' => $max_size_gb,
],
]
);
}
}