/home/arranoyd/telegastro/wp-content/plugins/fv-wordpress-flowplayer/uninstall.php
<?php

// Exit if accessed directly.
if ( ! defined( 'WP_UNINSTALL_PLUGIN' ) ) exit;

global $wpdb;

$options = get_option( 'fvwpflowplayer', array() );

if( isset($options['remove_all_data']) && filter_var($options['remove_all_data'], FILTER_VALIDATE_BOOLEAN) ) {

  // delete options
  delete_option( 'fvwpflowplayer' );
  delete_option( 'fvwpflowplayer_core_ver' );
  delete_option( 'fv_flowplayer_extension_install' );
  delete_option( 'fv_wordpress_flowplayer_deferred_notices' );
  delete_option( 'fv_wordpress_flowplayer_persistent_notices' );
  delete_option( 'fv_player_email_lists' );
  delete_option( 'fv_player_mailchimp_time' );
  delete_option( 'fv_player_mailchimp_lists' );
  delete_option( 'fv_flowplayer_checker_queue' );
  delete_option( 'fv_player_popups' );
  delete_option( 'fv_preview_hls' );
  delete_option( 'fv_flowplayer_ppv' );
  delete_option( 'fv_flowplayer_vast' );

  // delete transients
  delete_transient( 'fv_flowplayer_license' );
  delete_transient( 'fv_player_s3_browser_cf' );

  // delete tables
  $wpdb->query( "DROP TABLE IF EXISTS " . $wpdb->prefix . "fv_player_players" );
  $wpdb->query( "DROP TABLE IF EXISTS " . $wpdb->prefix . "fv_player_videos" );
  $wpdb->query( "DROP TABLE IF EXISTS " . $wpdb->prefix . "fv_player_videometa" );
  $wpdb->query( "DROP TABLE IF EXISTS " . $wpdb->prefix . "fv_player_playermeta" );
  $wpdb->query( "DROP TABLE IF EXISTS " . $wpdb->prefix . "fv_player_stats" );
  $wpdb->query( "DROP TABLE IF EXISTS " . $wpdb->prefix . "fv_player_drm_logs" );
  $wpdb->query( "DROP TABLE IF EXISTS " . $wpdb->prefix . "fv_player_emails" );
  $wpdb->query( "DROP TABLE IF EXISTS " . $wpdb->prefix . "fv_player_encoding_jobs" );
  $wpdb->query( "DROP TABLE IF EXISTS " . $wpdb->prefix . "fv_player_user_playlist" );
  $wpdb->query( "DROP TABLE IF EXISTS " . $wpdb->prefix . "fv_player_user_playlist_video" );
  $wpdb->query( "DROP TABLE IF EXISTS " . $wpdb->prefix . "fv_fp_hls_access_tokens" );

  // clear hooks
  wp_clear_scheduled_hook( 'fv_flowplayer_checker_event' );
  wp_clear_scheduled_hook( 'fv_player_stats' );
  wp_clear_scheduled_hook( 'fv_player_pro_update_cloudflare_ips' );
  wp_clear_scheduled_hook( 'fv_player_pro_clear_cache' );
  wp_clear_scheduled_hook( 'fv_player_pro_update_vimeo_cache' );
  wp_clear_scheduled_hook( 'fv_player_pro_update_youtube_cache' );
  wp_clear_scheduled_hook( 'fv_player_pro_update_transcript_cache' );
  wp_clear_scheduled_hook( 'fv_player_pro_stream_loader_clear_log' );

  // remove any transients and options we've left behind
  $wpdb->query( "DELETE FROM $wpdb->options WHERE option_name LIKE '\_transient\_fv\_player%'" );
  $wpdb->query( "DELETE FROM $wpdb->options WHERE option_name LIKE '\_site\_transient\_fv\_player%'" );
  $wpdb->query( "DELETE FROM $wpdb->options WHERE option_name LIKE '\_transient\_timeout\_fv\_player%'" );
  $wpdb->query( "DELETE FROM $wpdb->options WHERE option_name LIKE '\_site\_transient\_timeout\_fv\_player%'" );

  $wpdb->query( "DELETE FROM $wpdb->options WHERE option_name LIKE '\_transient\_fv-player%'" );
  $wpdb->query( "DELETE FROM $wpdb->options WHERE option_name LIKE '\_site\_transient\_fv-player%'" );
  $wpdb->query( "DELETE FROM $wpdb->options WHERE option_name LIKE '\_transient\_timeout\_fv-player%'" );
  $wpdb->query( "DELETE FROM $wpdb->options WHERE option_name LIKE '\_site\_transient\_timeout\_fv-player%'" );

  $wpdb->query( "DELETE FROM $wpdb->options WHERE option_name LIKE 'fv\_player\_%'" );
  $wpdb->query( "DELETE FROM $wpdb->options WHERE option_name LIKE 'fv-player-%'" );

  // delete plugin created folders
  if ( WP_Filesystem() ) {
    global $wp_filesystem;

    if( $wp_filesystem->exists( $wp_filesystem->wp_content_dir().'fv-flowplayer-custom/' ) ) {
      $wp_filesystem->rmdir( $wp_filesystem->wp_content_dir().'fv-flowplayer-custom/', true );
    }

    if( $wp_filesystem->exists( $wp_filesystem->wp_content_dir().'fv-player-tracking/' ) ) {
      $wp_filesystem->rmdir( $wp_filesystem->wp_content_dir().'fv-player-tracking/', true );
    }
  }
}