|
1
|
|
|
<?php |
|
2
|
|
|
class Yikes_Inc_Easy_Mailchimp_Extender_Uninstaller { |
|
3
|
|
|
|
|
4
|
|
|
public static function uninstall() { |
|
5
|
|
|
global $wpdb; |
|
6
|
|
|
// define global switched (required for switch_to_blog()) |
|
7
|
|
|
global $switched; |
|
8
|
|
|
if ( function_exists( 'is_multisite' ) && is_multisite() ) { |
|
9
|
|
|
// users can only unisntall a plugin from the network dashboard page |
|
10
|
|
|
// Get all blog ids |
|
11
|
|
|
$blogids = $wpdb->get_col("SELECT blog_id FROM $wpdb->blogs"); |
|
12
|
|
|
foreach ( $blogids as $blog_id ) { |
|
13
|
|
|
switch_to_blog( $blog_id ); |
|
14
|
|
|
self::_uninstall_yikes_easy_mailchimp( $wpdb ); |
|
15
|
|
|
restore_current_blog(); |
|
16
|
|
|
} |
|
17
|
|
|
switch_to_blog( $old_blog ); |
|
|
|
|
|
|
18
|
|
|
return; |
|
19
|
|
|
} |
|
20
|
|
|
self::_uninstall_yikes_easy_mailchimp( $wpdb ); |
|
21
|
|
|
} |
|
22
|
|
|
|
|
23
|
|
|
/** |
|
24
|
|
|
* Short Description. Plugin Activation. |
|
25
|
|
|
* |
|
26
|
|
|
* Long Description. Creates our custom form tables on activation. |
|
27
|
|
|
* |
|
28
|
|
|
* @since 6.0.0 |
|
29
|
|
|
*/ |
|
30
|
|
|
static function _uninstall_yikes_easy_mailchimp( $wpdb ) { |
|
|
|
|
|
|
31
|
|
|
require_once(ABSPATH . 'wp-admin/includes/upgrade.php'); |
|
32
|
|
|
|
|
33
|
|
|
/* Clean up and delete our custom table from the databse */ |
|
34
|
|
|
$table = $wpdb->prefix."yikes_easy_mc_forms"; |
|
35
|
|
|
$sql = 'DROP TABLE IF EXISTS ' . $table; |
|
36
|
|
|
|
|
37
|
|
|
//Delete any options thats stored also? |
|
38
|
|
|
$wpdb->query( $sql ); |
|
39
|
|
|
dbDelta($sql); |
|
40
|
|
|
|
|
41
|
|
|
/* Clear All Transient Data */ |
|
42
|
|
|
delete_transient( 'yikes-easy-mailchimp-list-data' ); |
|
43
|
|
|
delete_transient( 'yikes-easy-mailchimp-account-data' ); |
|
44
|
|
|
delete_transient( 'yikes-easy-mailchimp-profile-data' ); |
|
45
|
|
|
delete_transient( 'yikes-easy-mailchimp-account-activity' ); |
|
46
|
|
|
delete_transient( 'yikes-mailchimp-contributor-transient' ); |
|
47
|
|
|
|
|
48
|
|
|
/* Clear All Plugin Options */ |
|
49
|
|
|
delete_option( 'yikes_easy_mailchimp_activation_date' ); |
|
50
|
|
|
delete_option( 'widget_yikes_easy_mc_widget' ); |
|
51
|
|
|
delete_option( 'yikes-mc-api-key' ); |
|
52
|
|
|
delete_option( 'yikes-mc-api-validation' ); |
|
53
|
|
|
delete_option( 'yikes-mailchimp-debug-status' ); |
|
54
|
|
|
delete_option( 'yikes-mc-double-optin-message' ); |
|
55
|
|
|
delete_option( 'yikes-mc-flavor' ); |
|
56
|
|
|
delete_option( 'yikes-mc-lists' ); |
|
57
|
|
|
delete_option( 'yikes-mc-optin' ); |
|
58
|
|
|
delete_option( 'yikes-mc-optIn-checkbox' ); |
|
59
|
|
|
delete_option( 'yikes-mc-recaptcha-api-key' ); |
|
60
|
|
|
delete_option( 'yikes-mc-recaptcha-private-api-key' ); |
|
61
|
|
|
delete_option( 'yikes-mc-recaptcha-setting' ); |
|
62
|
|
|
delete_option( 'yikes-mc-single-optin-message' ); |
|
63
|
|
|
delete_option( 'yikes-mc-yks-mailchimp-jquery-datepicker' ); |
|
64
|
|
|
delete_option( 'yikes-mc-yks-mailchimp-optin-checkbox-text' ); |
|
65
|
|
|
delete_option( 'yikes-mc-yks-mailchimp-optIn-default-list' ); |
|
66
|
|
|
delete_option( 'yikes-mc-yks-mailchimp-required-text' ); |
|
67
|
|
|
delete_option( 'yikes-mc-single-optin-message' ); |
|
68
|
|
|
delete_option( 'yikes-mc-api-invalid-key-response' ); |
|
69
|
|
|
delete_option( 'yikes-mc-recaptcha-status' ); |
|
70
|
|
|
delete_option( 'yikes-mc-recaptcha-site-key' ); |
|
71
|
|
|
delete_option( 'yikes-mc-recaptcha-secret-key' ); |
|
72
|
|
|
delete_option( 'yikes-mc-error-messages' ); |
|
73
|
|
|
delete_option( 'yikes_mc_database_version' ); |
|
74
|
|
|
delete_option( 'yikes_mailchimp_activation_redirect' ); |
|
75
|
|
|
delete_option( 'yikes_easy_mailchimp_extender_forms' ); |
|
76
|
|
|
delete_option( 'yikes_easy_mailchimp_extender_version' ); |
|
77
|
|
|
} |
|
78
|
|
|
} |
|
79
|
|
|
|
This check marks access to variables or properties that have not been declared yet. While PHP has no explicit notion of declaring a variable, accessing it before a value is assigned to it is most likely a bug.