-
Notifications
You must be signed in to change notification settings - Fork 32
/
uninstall.php
86 lines (75 loc) · 1.92 KB
/
uninstall.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
<?php
/**
* Handles uninstalling the plugin
*
* @package ZeroSpam
*/
// Security Note: Blocks direct access to the plugin PHP files.
defined( 'ABSPATH' ) || die();
global $wpdb;
$tables = array(
'log' => 'wpzerospam_log',
'blocked' => 'wpzerospam_blocked',
'blacklist' => 'wpzerospam_blacklist',
);
$modules = array(
'comments',
'contactform7',
'davidwalsh',
'fluentforms',
'formidable',
'givewp',
'gravityforms',
'login',
'mailchimp4wp',
'registration',
'woocommerce',
'wpforms',
'debug',
'google',
'ipinfo',
'ipstack',
'project_honeypot',
'security',
'stop_forum_spam',
'zerospam',
);
if ( is_multisite() ) {
// @codingStandardsIgnoreLine
$blogs = $wpdb->get_results( "SELECT blog_id FROM {$wpdb->blogs}", ARRAY_A );
if ( $blogs ) {
foreach ( $blogs as $blog ) {
switch_to_blog( $blog['blog_id'] );
delete_option( 'wpzerospam' );
delete_option( 'wpzerospam_honeypot' );
delete_option( 'zerospam_db_version' );
delete_option( 'zerospam_configured' );
delete_option( 'zerospam_davidwalsh' );
delete_option( 'zero_spam_last_api_report' );
delete_option( 'zero-spam-last-update' );
foreach ( $modules as $key => $module ) {
delete_option( "zero-spam-$module" );
}
foreach ( $tables as $key => $table ) {
// @codingStandardsIgnoreLine
$wpdb->query( "DROP TABLE IF EXISTS " . $wpdb->prefix . $table );
}
}
restore_current_blog();
}
} else {
delete_option( 'wpzerospam' );
delete_option( 'wpzerospam_honeypot' );
delete_option( 'zerospam_db_version' );
delete_option( 'zerospam_configured' );
delete_option( 'zerospam_davidwalsh' );
delete_option( 'zero_spam_last_api_report' );
delete_option( 'zero-spam-last-update' );
foreach ( $modules as $module => $settings ) {
delete_option( "zero-spam-$module" );
}
foreach ( $tables as $key => $table ) {
// @codingStandardsIgnoreLine
$wpdb->query( "DROP TABLE IF EXISTS " . $wpdb->prefix . $table );
}
}