File "Deactivator.php"
Full Path: /home/tekvhqgl/public_html/dev2024_old_skip/wp-content/plugins/presto-player/inc/Deactivator.php
File size: 2.46 KB
MIME-type: text/x-php
Charset: utf-8
<?php
namespace PrestoPlayer;
use PrestoPlayer\Database\Table;
use PrestoPlayer\Database\Visits;
use PrestoPlayer\Database\Presets;
use PrestoPlayer\Database\Videos;
use PrestoPlayer\Database\AudioPresets;
use PrestoPlayer\Database\Webhooks;
use PrestoPlayer\Models\ReusableVideo;
class Deactivator
{
public static function uninstall()
{
// get plugin settings
$uninstall_settings = get_option('presto_player_uninstall');
// uninstall all data on delete if selected
if (isset($uninstall_settings['uninstall_data']) && $uninstall_settings['uninstall_data']) {
self::delete_data_on_uninstall();
}
}
public static function delete_data_on_uninstall()
{
// license
delete_option('presto_player_license');
delete_option('presto_player_license_data');
// settings
delete_option('presto_player_analytics');
delete_option('presto_player_google_analytics');
delete_option('presto_player_branding');
delete_option('presto_player_bunny_keys');
delete_option('presto_player_bunny_storage_zones');
delete_option('presto_player_bunny_pull_zones');
delete_option('presto_player_bunny_uid');
// notices
delete_option('presto_player_dismissed_notice_nginx_rules');
delete_option('presto_player_presto_player_bunny_uid');
delete_option('presto_player_dismissed_notice_presto_player_reusable_notice');
// uninstall option
delete_option('presto_player_uninstall');
// tables
delete_option('presto_preset_seed_version');
delete_option('presto_player_visits_database_version');
delete_option('presto_player_videos_database_version');
delete_option('presto_player_presets_database_version');
delete_option('presto_zone_token');
delete_option('presto_player_visits_upgrade_version');
delete_option('presto_player_pro_update_performance');
delete_option('presto_player_audio_presets_database_version');
delete_option('presto_player_email_collection_database_version');
delete_option('presto_audio_preset_seed_version');
// delete our tables
$table = new Table();
(new Visits($table))->uninstall();
(new Presets($table))->uninstall();
(new AudioPresets($table))->uninstall();
(new Videos($table))->uninstall();
(new Webhooks($table))->uninstall();
// delete all reusable videos
$videos = new ReusableVideo();
$all_videos = $videos->all(['fields' => 'ids']);
foreach ($all_videos as $video_id) {
wp_delete_post($video_id, true);
}
}
}