| @@ -9,9 +9,9 @@ | ||
| 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 | |
| @@ -16,69 +16,87 @@ | ||
| 16 | 16 | global $wpdb; |
| 17 | 17 | |
| 18 | 18 | $wpdb->hide_errors(); |
| 19 | 19 | |
| 20 | -if (is_multisite()) { | |
| 21 | - $main_site = get_network()->site_id; | |
| 22 | - $sql = "SELECT blog_id FROM $wpdb->blogs | |
| 20 | +if ( is_multisite() ) { | |
| 21 | + $main_site = get_network()->site_id; | |
| 22 | + $sql = "SELECT blog_id FROM $wpdb->blogs | |
| 23 | 23 | WHERE archived = '0' AND spam = '0' |
| 24 | 24 | AND deleted = '0'"; |
| 25 | 25 | |
| 26 | - $blog_ids = $wpdb->get_col( $sql ); | |
| 26 | + $blog_ids = $wpdb->get_col( $sql ); | |
| 27 | 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(); | |
| 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 | 35 | } else { |
| 36 | - uwp_uninstall(); | |
| 37 | - uwp_drop_usermeta_table(); | |
| 36 | + uwp_uninstall(); | |
| 37 | + uwp_drop_usermeta_table(); | |
| 38 | 38 | } |
| 39 | 39 | |
| 40 | -function uwp_uninstall(){ | |
| 41 | - $uwp_options = get_option( 'uwp_settings' ); | |
| 42 | - if ( $uwp_options['uninstall_erase_data'] == '1' ) { | |
| 43 | - global $wpdb; | |
| 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; | |
| 44 | 44 | |
| 45 | - $table_name = $wpdb->prefix . 'uwp_form_fields'; | |
| 46 | - $rows = $wpdb->get_results("select * from " . $table_name . ""); | |
| 45 | + $table_name = $wpdb->prefix . 'uwp_form_fields'; | |
| 46 | + $rows = $wpdb->get_results( "select * from " . $table_name . "" ); | |
| 47 | 47 | |
| 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_key = 'uwp_usermeta'; | |
| 52 | - $meta_value = ''; // Also ignored. The meta will be deleted regardless of value. | |
| 53 | - $delete_all = true; | |
| 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; | |
| 54 | 53 | |
| 55 | - foreach ($rows as $row) { | |
| 56 | - delete_metadata( $meta_type, $user_id, $row->htmlvar_name, $meta_value, $delete_all ); | |
| 57 | - } | |
| 54 | + foreach ( $rows as $row ) { | |
| 55 | + delete_metadata( $meta_type, $user_id, $row->htmlvar_name, $meta_value, $delete_all ); | |
| 56 | + } | |
| 58 | 57 | |
| 59 | - // Drop form fields table | |
| 60 | - $table_name = $wpdb->prefix . 'uwp_form_fields'; | |
| 61 | - $sql = "DROP TABLE IF EXISTS $table_name"; | |
| 62 | - $wpdb->query($sql); | |
| 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 ); | |
| 63 | 62 | |
| 64 | - // Drop form extras table | |
| 65 | - $extras_table_name = $wpdb->prefix . 'uwp_form_extras'; | |
| 66 | - $sql = "DROP TABLE IF EXISTS $extras_table_name"; | |
| 67 | - $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 ); | |
| 68 | 67 | |
| 69 | - // Delete options | |
| 70 | - delete_option('uwp_settings'); | |
| 71 | - delete_option('uwp_activation_redirect'); | |
| 72 | - delete_option('uwp_flush_rewrite'); | |
| 73 | - delete_option('uwp_default_data_installed'); | |
| 74 | - delete_option('uwp_db_version'); | |
| 75 | - } | |
| 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 ); | |
| 72 | + | |
| 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 ); | |
| 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 | + } | |
| 76 | 94 | } |
| 77 | 95 | |
| 78 | -function uwp_drop_usermeta_table(){ | |
| 79 | - global $wpdb; | |
| 80 | - // Drop usermeta table | |
| 81 | - $meta_table_name = $wpdb->prefix . 'uwp_usermeta'; | |
| 82 | - $sql = "DROP TABLE IF EXISTS $meta_table_name"; | |
| 83 | - $wpdb->query($sql); | |
| 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 ); | |
| 84 | 102 | } |