PluginProbe
UsersWP – Front-end login form, User Registration, User Profile & Members Directory plugin for WP / 1.2.48
UsersWP – Front-end login form, User Registration, User Profile & Members Directory plugin for WP v1.2.48
1.2.74 1.2.73 1.2.72 1.2.71 1.2.70 1.2.69 1.2.68 1.2.67 1.2.66 1.2.65 1.2.64 1.2.63 trunk 1.0.10 1.0.11 1.0.12 1.0.13 1.0.14 1.0.15 1.0.16 1.0.17 1.0.18 1.0.19 1.0.20 1.0.21 All 174 releases
← All changes | uninstall.php +75 -37 1.0.111.2.48 View file →
@@ -9,56 +9,94 @@
9 9 */
10 10
11 11 // Exit if accessed directly.
12 12 if ( ! defined( 'WP_UNINSTALL_PLUGIN' ) ) {
13 - exit;
13 + exit;
14 14 }
15 15
16 16 global $wpdb;
17 17
18 -if ( !class_exists( 'UsersWP' ) ) {
19 - // Load plugin file.
20 - include_once( 'userswp.php' );
18 +$wpdb->hide_errors();
19 +
20 +if ( is_multisite() ) {
21 + $main_site = get_network()->site_id;
22 + $sql = "SELECT blog_id FROM $wpdb->blogs
23 + WHERE archived = '0' AND spam = '0'
24 + AND deleted = '0'";
25 +
26 + $blog_ids = $wpdb->get_col( $sql );
27 +
28 + foreach ( $blog_ids as $blog_id ) {
29 + switch_to_blog( $blog_id );
30 + uwp_uninstall();
31 + }
32 + switch_to_blog( $main_site );
33 + uwp_drop_usermeta_table();
34 + restore_current_blog();
35 +} else {
36 + uwp_uninstall();
37 + uwp_drop_usermeta_table();
21 38 }
22 39
23 -if ( uwp_get_option('uninstall_erase_data') == '1' ) {
24 - $wpdb->hide_errors();
25 -
26 - // Delete options
27 - delete_option('uwp_settings');
28 - delete_option('uwp_activation_redirect');
29 - delete_option('uwp_flush_rewrite');
30 - delete_option('uwp_default_data_installed');
31 - //delete_option('uwp_db_version');
40 +function uwp_uninstall() {
41 + $uwp_options = get_option( 'uwp_settings' );
42 + if ( isset($uwp_options['uninstall_erase_data']) && $uwp_options['uninstall_erase_data'] == '1' ) {
43 + global $wpdb;
32 44
45 + $table_name = $wpdb->prefix . 'uwp_form_fields';
46 + $rows = $wpdb->get_results( "select * from " . $table_name . "" );
33 47
34 - $table_name = uwp_get_table_prefix() . 'uwp_form_fields';
35 - $rows = $wpdb->get_results("select * from " . $table_name . "");
48 + // Delete user meta for all users
49 + $meta_type = 'user';
50 + $user_id = 0; // This will be ignored, since we are deleting for all users.
51 + $meta_value = ''; // Also ignored. The meta will be deleted regardless of value.
52 + $delete_all = true;
36 53
37 - // Delete user meta for all users
38 - $meta_type = 'user';
39 - $user_id = 0; // This will be ignored, since we are deleting for all users.
40 - $meta_key = 'uwp_usermeta';
41 - $meta_value = ''; // Also ignored. The meta will be deleted regardless of value.
42 - $delete_all = true;
54 + foreach ( $rows as $row ) {
55 + delete_metadata( $meta_type, $user_id, $row->htmlvar_name, $meta_value, $delete_all );
56 + }
43 57
44 - foreach ($rows as $row) {
45 - delete_metadata( $meta_type, $user_id, $row->htmlvar_name, $meta_value, $delete_all );
46 - }
58 + // Drop form fields table
59 + $table_name = $wpdb->prefix . 'uwp_form_fields';
60 + $sql = "DROP TABLE IF EXISTS $table_name";
61 + $wpdb->query( $sql );
47 62
48 - // Drop tables.
49 - // Drop form fields table
50 - $table_name = uwp_get_table_prefix() . 'uwp_form_fields';
51 - $sql = "DROP TABLE IF EXISTS $table_name";
52 - $wpdb->query($sql);
63 + // Drop form extras table
64 + $extras_table_name = $wpdb->prefix . 'uwp_form_extras';
65 + $sql = "DROP TABLE IF EXISTS $extras_table_name";
66 + $wpdb->query( $sql );
53 67
54 - // Drop form extras table
55 - $extras_table_name = uwp_get_table_prefix() . 'uwp_form_extras';
56 - $sql = "DROP TABLE IF EXISTS $extras_table_name";
57 - $wpdb->query($sql);
68 + // Drop form profile tabs table
69 + $profile_table_name = $wpdb->prefix . 'uwp_profile_tabs';
70 + $sql = "DROP TABLE IF EXISTS $profile_table_name";
71 + $wpdb->query( $sql );
58 72
59 - // Drop usermeta table
60 - $meta_table_name = uwp_get_table_prefix() . 'uwp_usermeta';
61 - $sql = "DROP TABLE IF EXISTS $meta_table_name";
62 - $wpdb->query($sql);
73 + // Drop user sorting table
74 + $sorting_table_name = $wpdb->prefix . 'uwp_user_sorting';
75 + $sql = "DROP TABLE IF EXISTS $sorting_table_name";
76 + $wpdb->query( $sql );
63 77
78 + // Delete pages
79 + $pages = array( 'register_page', 'login_page', 'profile_page', 'account_page', 'change_page', 'forgot_page', 'reset_page', 'users_page', 'user_list_item_page');
80 +
81 + foreach ($pages as $page){
82 + if(isset($uwp_options[$page]) && !empty($uwp_options[$page])){
83 + wp_delete_post( $uwp_options[$page], true );
84 + }
85 + }
86 +
87 + // Delete options
88 + delete_option( 'uwp_settings' );
89 + delete_option( 'uwp_activation_redirect' );
90 + delete_option( 'uwp_flush_rewrite' );
91 + delete_option( 'uwp_default_data_installed' );
92 + delete_option( 'uwp_db_version' );
93 + }
94 +}
95 +
96 +function uwp_drop_usermeta_table() {
97 + global $wpdb;
98 + // Drop usermeta table
99 + $meta_table_name = $wpdb->prefix . 'uwp_usermeta';
100 + $sql = "DROP TABLE IF EXISTS $meta_table_name";
101 + $wpdb->query( $sql );
64 102 }