File "uninstall.php"

Full path: /home/kosmetik/public_html/wp-content/plugins/easy-wp-smtp/uninstall.php
File size: 5.35 B
MIME-type: text/x-php
Charset: utf-8

Download   Open   Edit   Advanced Editor   Back

<?php

if (!defined('WP_UNINSTALL_PLUGIN')) {
    exit;
}
if (is_plugin_active('easy-wp-smtp-pro/easy-wp-smtp.php')) {
    return;
}
require_once 'easy-wp-smtp.php';
require_once dirname(__FILE__) . '/vendor/woocommerce/action-scheduler/action-scheduler.php';
global $wpdb;
$options = ['swpsmtp_options', 'swpsmtp_enc_key', 'swpsmtp_pass_encrypted', 'smtp_test_mail'];
if (class_exists('ActionScheduler_QueueRunner')) {
    $as_queue_runner = \ActionScheduler_QueueRunner::instance();
    if (method_exists($as_queue_runner, 'unhook_dispatch_async_request')) {
        $as_queue_runner->unhook_dispatch_async_request();
    }
}
if (is_multisite()) {
    $sites = get_sites();
    foreach ($sites as $site) {
        $settings = get_blog_option($site->blog_id, 'easy_wp_smtp', []);
        if (empty($settings['general']['uninstall'])) {
            continue;
        }
        foreach ($options as $option) {
            delete_blog_option($site->blog_id, $option);
        }
        switch_to_blog($site->blog_id);
        $wpdb->query("DELETE FROM {$wpdb->options} WHERE option_name LIKE 'easy\\_wp\\_smtp%'");
        $wpdb->query("DELETE FROM {$wpdb->usermeta} WHERE meta_key LIKE 'easy\\_wp\\_smtp\\_%'");
        $wpdb->query("DELETE FROM {$wpdb->options} WHERE option_name LIKE '\\_transient\\_easy\\_wp\\_smtp\\_%'");
        $wpdb->query("DELETE FROM {$wpdb->options} WHERE option_name LIKE '\\_site\\_transient\\_easy\\_wp\\_smtp\\_%'");
        $wpdb->query("DELETE FROM {$wpdb->options} WHERE option_name LIKE '\\_transient\\_timeout\\_easy\\_wp\\_smtp\\_%'");
        $wpdb->query("DELETE FROM {$wpdb->options} WHERE option_name LIKE '\\_site\\_transient\\_timeout\\_easy\\_wp\\_smtp\\_%'");
        $debug_events_table = \EasyWPSMTP\Admin\DebugEvents\DebugEvents::get_table_name();
        $wpdb->query("DROP TABLE IF EXISTS {$debug_events_table};");
        if (function_exists('easy_wp_smtp') && is_readable(easy_wp_smtp()->plugin_path . '/src/Pro/Pro.php')) {
            $table = \EasyWPSMTP\Pro\Emails\Logs\Logs::get_table_name();
            $wpdb->query("DROP TABLE IF EXISTS {$table};");
            $attachment_files_table = \EasyWPSMTP\Pro\Emails\Logs\Attachments\Attachments::get_attachment_files_table_name();
            $wpdb->query("DROP TABLE IF EXISTS {$attachment_files_table};");
            $email_attachments_table = \EasyWPSMTP\Pro\Emails\Logs\Attachments\Attachments::get_email_attachments_table_name();
            $wpdb->query("DROP TABLE IF EXISTS {$email_attachments_table};");
            (new \EasyWPSMTP\Pro\Emails\Logs\Attachments\Attachments())->delete_all_attachments();
            $tracking_events_table = \EasyWPSMTP\Pro\Emails\Logs\Tracking\Tracking::get_events_table_name();
            $wpdb->query("DROP TABLE IF EXISTS {$tracking_events_table};");
            $tracking_links_table = \EasyWPSMTP\Pro\Emails\Logs\Tracking\Tracking::get_links_table_name();
            $wpdb->query("DROP TABLE IF EXISTS {$tracking_links_table};");
        }
        (new \EasyWPSMTP\Tasks\Tasks())->remove_all();
        $meta_table = \EasyWPSMTP\Tasks\Meta::get_table_name();
        $wpdb->query("DROP TABLE IF EXISTS {$meta_table};");
        restore_current_blog();
    }
} else {
    $settings = get_option('easy_wp_smtp', []);
    if (empty($settings['general']['uninstall'])) {
        return;
    }
    foreach ($options as $option) {
        delete_option($option);
    }
    $wpdb->query("DELETE FROM {$wpdb->options} WHERE option_name LIKE 'easy\\_wp\\_smtp%'");
    $wpdb->query("DELETE FROM {$wpdb->usermeta} WHERE meta_key LIKE 'easy\\_wp\\_smtp\\_%'");
    $wpdb->query("DELETE FROM {$wpdb->options} WHERE option_name LIKE '\\_transient\\_easy\\_wp\\_smtp\\_%'");
    $wpdb->query("DELETE FROM {$wpdb->options} WHERE option_name LIKE '\\_site\\_transient\\_easy\\_wp\\_smtp\\_%'");
    $wpdb->query("DELETE FROM {$wpdb->options} WHERE option_name LIKE '\\_transient\\_timeout\\_easy\\_wp\\_smtp\\_%'");
    $wpdb->query("DELETE FROM {$wpdb->options} WHERE option_name LIKE '\\_site\\_transient\\_timeout\\_easy\\_wp\\_smtp\\_%'");
    $debug_events_table = \EasyWPSMTP\Admin\DebugEvents\DebugEvents::get_table_name();
    $wpdb->query("DROP TABLE IF EXISTS {$debug_events_table};");
    if (function_exists('easy_wp_smtp') && is_readable(easy_wp_smtp()->plugin_path . '/src/Pro/Pro.php')) {
        $table = \EasyWPSMTP\Pro\Emails\Logs\Logs::get_table_name();
        $wpdb->query("DROP TABLE IF EXISTS {$table};");
        $attachment_files_table = \EasyWPSMTP\Pro\Emails\Logs\Attachments\Attachments::get_attachment_files_table_name();
        $wpdb->query("DROP TABLE IF EXISTS {$attachment_files_table};");
        $email_attachments_table = \EasyWPSMTP\Pro\Emails\Logs\Attachments\Attachments::get_email_attachments_table_name();
        $wpdb->query("DROP TABLE IF EXISTS {$email_attachments_table};");
        (new \EasyWPSMTP\Pro\Emails\Logs\Attachments\Attachments())->delete_all_attachments();
        $tracking_events_table = \EasyWPSMTP\Pro\Emails\Logs\Tracking\Tracking::get_events_table_name();
        $wpdb->query("DROP TABLE IF EXISTS {$tracking_events_table};");
        $tracking_links_table = \EasyWPSMTP\Pro\Emails\Logs\Tracking\Tracking::get_links_table_name();
        $wpdb->query("DROP TABLE IF EXISTS {$tracking_links_table};");
    }
    (new \EasyWPSMTP\Tasks\Tasks())->remove_all();
    $meta_table = \EasyWPSMTP\Tasks\Meta::get_table_name();
    $wpdb->query("DROP TABLE IF EXISTS {$meta_table};");
}