/**
  * Creates the Google Drive CDN folder on the google drive
  * @since 1.0
  *
  * @param null $folder
  *
  */
 public function create_folder($folder = null)
 {
     if (is_null($folder)) {
         $folder = home_url();
         $folder = str_replace('http://', '', $folder);
         $folder = str_replace('https://', '', $folder);
         $folder = sanitize_key($folder);
     }
     $service = new Google_Service_Drive($this->_google_drive_cdn->get_google_client());
     $file = new Google_Service_Drive_DriveFile();
     $file->setTitle($folder);
     $file->setDescription(home_url() . ' to Google Drive CDN Folder');
     $file->setMimeType('application/vnd.google-apps.folder');
     try {
         $createdFile = $service->files->insert($file, array('mimeType' => 'application/vnd.google-apps.folder'));
     } catch (Exception $e) {
         $this->_google_drive_cdn->set_error($e->getMessage() . '(wpbgdc: create_folder 1)', false);
         return;
     }
     WPB_Google_Drive_Cdn_Settings::set_setting('folder_id', $createdFile->getId(), 'wpbgdc_folders');
     // set permissions
     $permission = new Google_Service_Drive_Permission();
     $permission->setValue('');
     $permission->setType('anyone');
     $permission->setRole('reader');
     try {
         $service->permissions->insert($createdFile->getId(), $permission);
     } catch (Exception $e) {
         $this->_google_drive_cdn->set_error($e->getMessage() . '(wpbgdc: create_folder 2)', false);
         return;
     }
     try {
         $created_file_info = $service->files->get($createdFile->getId());
     } catch (Exception $e) {
         $this->_google_drive_cdn->set_error($e->getMessage() . '(wpbgdc: create_folder 3)', false);
         return $createdFile->getId();
     }
     WPB_Google_Drive_Cdn_Settings::set_setting('folder_link', $created_file_info->webViewLink, 'wpbgdc_folders');
     WPB_Google_Drive_Cdn_Settings::set_setting('folder_name', $folder, 'wpbgdc_folders');
     return $createdFile->getId();
 }
 /**
  * Disconnects the Google Drive by removing the
  * @since 1.1
  */
 public function disconnect()
 {
     if (!isset($_REQUEST['action'])) {
         return;
     }
     if ('disconnect' != $_REQUEST['action']) {
         return;
     }
     // Check nonces
     if (!isset($_REQUEST['wpbgdc_nonce'])) {
         return;
     }
     if (!wp_verify_nonce($_REQUEST['wpbgdc_nonce'], 'wpbgdc_disconnect')) {
         return;
     }
     update_option('wpbgdc_currently_syncing', 0);
     global $wpdb;
     if ($wpdb instanceof wpdb) {
         $wpdb->query('TRUNCATE TABLE `' . $wpdb->prefix . 'wpbgdc_files`');
     }
     WPB_Google_Drive_Cdn_Settings::set_setting('token', '', 'wpbgdc_oauth_token');
     wp_redirect(admin_url('options-general.php?page=wpbgdc') . '&notice=disconnected');
 }