public function __construct($toolName, $toolInfo, $toolManager)
 {
     parent::__construct($toolName, $toolInfo, $toolManager);
     new ILABS3ImportProcess();
     $this->bucket = get_option('ilab-media-s3-bucket', getenv('ILAB_AWS_S3_BUCKET'));
     $this->key = get_option('ilab-media-s3-access-key', getenv('ILAB_AWS_S3_ACCESS_KEY'));
     $this->secret = get_option('ilab-media-s3-secret', getenv('ILAB_AWS_S3_ACCESS_SECRET'));
     $this->deleteOnUpload = get_option('ilab-media-s3-delete-uploads', false);
     $this->deleteFromS3 = get_option('ilab-media-s3-delete-from-s3', false);
     $this->cdn = get_option('ilab-media-s3-cdn-base', getenv('ILAB_AWS_S3_CDN_BASE'));
     if ($this->cdn) {
         $this->cdn = rtrim($this->cdn, '/');
     }
     $this->docCdn = get_option('ilab-doc-s3-cdn-base', $this->cdn);
     $this->settingsError = get_option('ilab-s3-settings-error', false);
     if ($this->haveSettingsChanged()) {
         $this->settingsChanged();
     }
     if ($this->settingsError) {
         $this->displayAdminNotice('error', 'Your AWS S3 settings are incorrect or the bucket does not exist.  Please verify your settings and update them.');
     }
     if (is_admin()) {
         add_action('wp_ajax_ilab_s3_import_media', [$this, 'importMedia']);
         add_action('wp_ajax_ilab_s3_import_progress', [$this, 'importProgress']);
     }
 }
 public function __construct($toolName, $toolInfo, $toolManager)
 {
     parent::__construct($toolName, $toolInfo, $toolManager);
 }