PluginProbe
WP-Members Membership Plugin / trunk
WP-Members Membership Plugin vtrunk
trunk 3.3.9 3.4.0 3.4.1 3.4.2 3.4.3 3.4.4 3.4.4.2 3.4.5 3.4.6 3.4.7 3.4.8 3.4.9 3.4.9.1 3.4.9.2 3.4.9.3 3.4.9.4 3.4.9.5 3.4.9.6 3.4.9.7 3.5.0 3.5.1 3.5.2 3.5.3 3.5.4 All 34 releases
wp-members / uninstall.php

uninstall.php in WP-Members Membership Plugin trunk, at uninstall.php

126 lines 4.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * WP-Members Uninstall
4 *
5 * Removes all settings WP-Members added to the WP options table
6 *
7 * This file is part of the WP-Members plugin by Chad Butler
8 * You can find out more about this plugin at https://rocketgeek.com
9 * Copyright (c) 2006-2026 Chad Butler
10 * WP-Members(tm) is a trademark of butlerblog.com
11 *
12 * @package WP-Members
13 * @author Chad Butler
14 * @copyright 2006-2026
15 */
16
17 // Exit if accessed directly.
18 if ( ! defined( 'ABSPATH' ) ) {
19 exit();
20 }
21
22 // If uninstall is not called from WordPress, kill the uninstall.
23 if( ! defined( 'WP_UNINSTALL_PLUGIN' ) ) {
24 die( 'invalid uninstall' );
25 }
26
27 // Uninstall process removes WP-Members settings from the WordPress database (_options table).
28 if ( WP_UNINSTALL_PLUGIN ) {
29
30 if ( is_multisite() ) {
31
32 global $wpdb;
33 $wpmem_blog_ids = get_sites( array( 'fields' => 'ids' ) );
34 $wpmem_orig_blog_id = get_current_blog_id();
35
36 foreach ( $wpmem_blog_ids as $blog_id ) {
37 switch_to_blog( $blog_id );
38 wpmem_uninstall_options();
39 }
40 switch_to_blog( $wpmem_orig_blog_id );
41
42 } else {
43 wpmem_uninstall_options();
44 }
45 }
46
47
48 /**
49 * Compartmentalizes uninstall
50 *
51 * @since 2.9.3
52 */
53 function wpmem_uninstall_options() {
54
55 global $wpdb;
56
57 $optin = get_option( 'wpmembers_optin' );
58 if ( 1 == $optin ) {
59 include_once( plugin_dir_path( __FILE__ ) . 'includes/vendor/rocketgeek-tools/class-rocketgeek-satellite.php' );
60 $uninstall = new RocketGeek_Deploy_Plugin_v1( 'wp-members', plugin_dir_path( __FILE__ ) . 'wp-members.php', 'delete', 'plugin' );
61 }
62 delete_option( 'wpmembers_optin' );
63
64 delete_option( 'wpmembers_settings' );
65 delete_option( 'wpmembers_fields' );
66 delete_option( 'wpmembers_dialogs' );
67 delete_option( 'wpmembers_captcha' );
68 delete_option( 'wpmembers_tos' );
69 delete_option( 'wpmembers_export' );
70 delete_option( 'wpmembers_dropins' );
71 delete_option( 'wpmem_hidden_posts' );
72 delete_option( 'wpmem_memberships' );
73
74 delete_option( 'wpmembers_utfields' );
75 delete_option( 'wpmembers_usfields' );
76 delete_option( 'wpmembers_wcchkout_fields' );
77 delete_option( 'wpmembers_wcupdate_fields' );
78 delete_option( 'wpmembers_wcacct_fields' );
79
80 delete_option( 'wpmembers_email_newreg' );
81 delete_option( 'wpmembers_email_newmod' );
82 delete_option( 'wpmembers_email_appmod' );
83 delete_option( 'wpmembers_email_repass' );
84 delete_option( 'wpmembers_email_footer' );
85 delete_option( 'wpmembers_email_notify' );
86 delete_option( 'wpmembers_email_wpfrom' );
87 delete_option( 'wpmembers_email_wpname' );
88 delete_option( 'wpmembers_email_html' );
89 delete_option( 'wpmembers_email_getuser' );
90 delete_option( 'wpmembers_email_validated' );
91
92 // Delete both possible option names.
93 delete_option( 'widget_widget_wpmemwidget' );
94 delete_option( 'widget_wpmemwidget' );
95
96 // Delete view count transients.
97 $transients = $wpdb->get_results( 'SELECT option_name FROM ' . $wpdb->prefix . 'options WHERE option_name LIKE "%_transient_wpmem_user_counts%";' );
98 if ( $transients ) {
99 foreach ( $transients as $transient ) {
100 delete_transient( esc_attr( str_replace( '_transient_', '', $transient->option_name ) ) );
101 }
102 }
103 delete_transient( 'wpmem_user_counts' );
104
105 // Drop user meta key search table.
106 $wpdb->query( "DROP TABLE IF EXISTS {$wpdb->prefix}wpmembers_user_search_keys" );
107
108 // These should not exist following 3.5.0 upgrade, but check them anyway.
109 delete_option( 'wpmembers_install_state' );
110 delete_option( 'wpmem_enable_field_sc' );
111
112 // These should be cleared.
113 delete_option( 'wpmem_dismiss_filesystem_upgrade_notice' );
114 delete_option( 'wpmem_upgrade_filesystem_move_complete' );
115
116 // For pre-3.x settings that may remain.
117 delete_option( 'wpmembers_msurl' );
118 delete_option( 'wpmembers_regurl' );
119 delete_option( 'wpmembers_logurl' );
120 delete_option( 'wpmembers_cssurl' );
121 delete_option( 'wpmembers_style' );
122 delete_option( 'wpmembers_autoex' );
123 delete_option( 'wpmembers_attrib' );
124 }
125
126 // End of file.