diff --git a/wp-admin/includes/class-wp-ms-sites-list-table.php b/wp-admin/includes/class-wp-ms-sites-list-table.php index 0e0d25be9..d6569fbee 100644 --- a/wp-admin/includes/class-wp-ms-sites-list-table.php +++ b/wp-admin/includes/class-wp-ms-sites-list-table.php @@ -248,22 +248,22 @@ class WP_MS_Sites_List_Table extends WP_List_Table { $actions['backend'] = "" . __( 'Dashboard' ) . ''; if ( $current_site->blog_id != $blog['blog_id'] ) { if ( get_blog_status( $blog['blog_id'], 'deleted' ) == '1' ) - $actions['activate'] = '' . __( 'Activate' ) . ''; + $actions['activate'] = '' . __( 'Activate' ) . ''; else - $actions['deactivate'] = '' . __( 'Deactivate' ) . ''; + $actions['deactivate'] = '' . __( 'Deactivate' ) . ''; if ( get_blog_status( $blog['blog_id'], 'archived' ) == '1' ) - $actions['unarchive'] = '' . __( 'Unarchive' ) . ''; + $actions['unarchive'] = '' . __( 'Unarchive' ) . ''; else - $actions['archive'] = '' . _x( 'Archive', 'verb; site' ) . ''; + $actions['archive'] = '' . _x( 'Archive', 'verb; site' ) . ''; if ( get_blog_status( $blog['blog_id'], 'spam' ) == '1' ) - $actions['unspam'] = '' . _x( 'Not Spam', 'site' ) . ''; + $actions['unspam'] = '' . _x( 'Not Spam', 'site' ) . ''; else - $actions['spam'] = '' . _x( 'Spam', 'site' ) . ''; + $actions['spam'] = '' . _x( 'Spam', 'site' ) . ''; if ( current_user_can( 'delete_site', $blog['blog_id'] ) ) - $actions['delete'] = '' . __( 'Delete' ) . ''; + $actions['delete'] = '' . __( 'Delete' ) . ''; } $actions['visit'] = "" . __( 'Visit' ) . ''; diff --git a/wp-admin/includes/class-wp-ms-users-list-table.php b/wp-admin/includes/class-wp-ms-users-list-table.php index 66c41c4c6..67caa03b1 100644 --- a/wp-admin/includes/class-wp-ms-users-list-table.php +++ b/wp-admin/includes/class-wp-ms-users-list-table.php @@ -188,8 +188,8 @@ class WP_MS_Users_List_Table extends WP_List_Table { $actions = array(); $actions['edit'] = '' . __( 'Edit' ) . ''; - if ( current_user_can( 'delete_user', $user->ID) && ! in_array( $user->user_login, $super_admins ) ) { - $actions['delete'] = '' . __( 'Delete' ) . ''; + if ( current_user_can( 'delete_user', $user->ID ) && ! in_array( $user->user_login, $super_admins ) ) { + $actions['delete'] = '' . __( 'Delete' ) . ''; } $actions = apply_filters( 'ms_user_row_actions', $actions, $user ); diff --git a/wp-admin/network/edit.php b/wp-admin/network/edit.php index ac687a755..3cd958a3a 100644 --- a/wp-admin/network/edit.php +++ b/wp-admin/network/edit.php @@ -18,396 +18,11 @@ if ( empty( $_GET['action'] ) ) { exit; } -function confirm_delete_users( $users ) { - $current_user = wp_get_current_user(); - if ( !is_array( $users ) ) - return false; - - screen_icon(); - ?> -

-

-
- - ID'>$current_user->user_login"; - - foreach ( ( $allusers = (array) $_POST['allusers'] ) as $key => $val ) { - if ( $val != '' && $val != '0' ) { - $delete_user = new WP_User( $val ); - - if ( ! current_user_can( 'delete_user', $delete_user->ID ) ) - wp_die( sprintf( __( 'Warning! User %s cannot be deleted.' ), $delete_user->user_login ) ); - - if ( in_array( $delete_user->user_login, $site_admins ) ) - wp_die( sprintf( __( 'Warning! User cannot be deleted. The user %s is a network admnistrator.' ), $delete_user->user_login ) ); - - echo "\n"; - $blogs = get_blogs_of_user( $val, true ); - - if ( !empty( $blogs ) ) { - ?> -

%s?" ), $delete_user->user_login ); ?>

- $details ) { - $blog_users = get_users( array( 'blog_id' => $details->userblog_id ) ); - if ( is_array( $blog_users ) && !empty( $blog_users ) ) { - $user_site = "{$details->blogname}"; - $user_dropdown = "\n"; - ?> - - "; - } - } - } - - submit_button( __('Confirm Deletion'), 'delete' ); - ?> - - blog_id && current_user_can( 'delete_site', $id ) ) { - wpmu_delete_blog( $id, true ); - wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'delete' ), wp_get_referer() ) ); - } else { - wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'not_deleted' ), wp_get_referer() ) ); - } - - exit(); - break; - - case 'allblogs': - if ( ( isset( $_POST['action'] ) || isset( $_POST['action2'] ) ) && isset( $_POST['allblogs'] ) ) { - check_admin_referer( 'bulk-sites' ); - - if ( ! current_user_can( 'manage_sites' ) ) - wp_die( __( 'You do not have permission to access this page.' ) ); - - if ( $_GET['action'] != -1 || $_POST['action2'] != -1 ) - $doaction = $_POST['action'] != -1 ? $_POST['action'] : $_POST['action2']; - - $blogfunction = ''; - - foreach ( (array) $_POST['allblogs'] as $key => $val ) { - if ( $val != '0' && $val != $current_site->blog_id ) { - switch ( $doaction ) { - case 'delete': - if ( ! current_user_can( 'delete_site', $val ) ) - wp_die( __( 'You are not allowed to delete the site.' ) ); - $blogfunction = 'all_delete'; - wpmu_delete_blog( $val, true ); - break; - - case 'spam': - $blogfunction = 'all_spam'; - update_blog_status( $val, 'spam', '1' ); - set_time_limit( 60 ); - break; - - case 'notspam': - $blogfunction = 'all_notspam'; - update_blog_status( $val, 'spam', '0' ); - set_time_limit( 60 ); - break; - } - } else { - wp_die( __( 'You are not allowed to change the current site.' ) ); - } - } - - wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => $blogfunction ), wp_get_referer() ) ); - } else { - wp_redirect( network_admin_url( 'sites.php' ) ); - } - exit(); - break; - - case 'archiveblog': - check_admin_referer( 'archiveblog' ); - if ( ! current_user_can( 'manage_sites' ) ) - wp_die( __( 'You do not have permission to access this page.' ) ); - - update_blog_status( $id, 'archived', '1' ); - wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'archive' ), wp_get_referer() ) ); - exit(); - break; - - case 'unarchiveblog': - check_admin_referer( 'unarchiveblog' ); - if ( ! current_user_can( 'manage_sites' ) ) - wp_die( __( 'You do not have permission to access this page.' ) ); - - update_blog_status( $id, 'archived', '0' ); - wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'unarchive' ), wp_get_referer() ) ); - exit(); - break; - - case 'activateblog': - check_admin_referer( 'activateblog' ); - if ( ! current_user_can( 'manage_sites' ) ) - wp_die( __( 'You do not have permission to access this page.' ) ); - - update_blog_status( $id, 'deleted', '0' ); - do_action( 'activate_blog', $id ); - wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'activate' ), wp_get_referer() ) ); - exit(); - break; - - case 'deactivateblog': - check_admin_referer( 'deactivateblog' ); - if ( ! current_user_can( 'manage_sites' ) ) - wp_die( __( 'You do not have permission to access this page.' ) ); - - do_action( 'deactivate_blog', $id ); - update_blog_status( $id, 'deleted', '1' ); - wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'deactivate' ), wp_get_referer() ) ); - exit(); - break; - - case 'unspamblog': - check_admin_referer( 'unspamblog' ); - if ( ! current_user_can( 'manage_sites' ) ) - wp_die( __( 'You do not have permission to access this page.' ) ); - - update_blog_status( $id, 'spam', '0' ); - wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'unspam' ), wp_get_referer() ) ); - exit(); - break; - - case 'spamblog': - check_admin_referer( 'spamblog' ); - if ( ! current_user_can( 'manage_sites' ) ) - wp_die( __( 'You do not have permission to access this page.' ) ); - - update_blog_status( $id, 'spam', '1' ); - wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'spam' ), wp_get_referer() ) ); - exit(); - break; - - case 'unmatureblog': - check_admin_referer( 'unmatureblog' ); - if ( ! current_user_can( 'manage_sites' ) ) - wp_die( __( 'You do not have permission to access this page.' ) ); - - update_blog_status( $id, 'mature', '0' ); - wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'unmature' ), wp_get_referer() ) ); - exit(); - break; - - case 'matureblog': - check_admin_referer( 'matureblog' ); - if ( ! current_user_can( 'manage_sites' ) ) - wp_die( __( 'You do not have permission to access this page.' ) ); - - update_blog_status( $id, 'mature', '1' ); - wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'mature' ), wp_get_referer() ) ); - exit(); - break; - - // Common - case 'confirm': - check_admin_referer( 'confirm' ); - if ( !headers_sent() ) { - nocache_headers(); - header( 'Content-Type: text/html; charset=utf-8' ); - } - if ( $current_site->blog_id == $id ) - wp_die( __( 'You are not allowed to change the current site.' ) ); - ?> - - > - - <?php _e( 'WordPress › Confirm your action' ); ?> - - - - - -

WordPress

-
- - - - -

- -
- - - '; - confirm_delete_users( $_POST['allusers'] ); - echo ''; - require_once( '../admin-footer.php' ); - } else { - wp_redirect( network_admin_url( 'users.php' ) ); - } - exit(); - break; - - case 'allusers': - if ( !current_user_can( 'manage_network_users' ) ) - wp_die( __( 'You do not have permission to access this page.' ) ); - - if ( ( isset( $_POST['action']) || isset($_POST['action2'] ) ) && isset( $_POST['allusers'] ) ) { - check_admin_referer( 'bulk-users-network' ); - - if ( $_GET['action'] != -1 || $_POST['action2'] != -1 ) - $doaction = $_POST['action'] != -1 ? $_POST['action'] : $_POST['action2']; - - $userfunction = ''; - - foreach ( (array) $_POST['allusers'] as $key => $val ) { - if ( !empty( $val ) ) { - switch ( $doaction ) { - case 'delete': - if ( ! current_user_can( 'delete_users' ) ) - wp_die( __( 'You do not have permission to access this page.' ) ); - $title = __( 'Users' ); - $parent_file = 'users.php'; - require_once( '../admin-header.php' ); - echo '
'; - confirm_delete_users( $_POST['allusers'] ); - echo '
'; - require_once( '../admin-footer.php' ); - exit(); - break; - - case 'spam': - $user = new WP_User( $val ); - if ( in_array( $user->user_login, get_super_admins() ) ) - wp_die( sprintf( __( 'Warning! User cannot be modified. The user %s is a network administrator.' ), esc_html( $user->user_login ) ) ); - - $userfunction = 'all_spam'; - $blogs = get_blogs_of_user( $val, true ); - foreach ( (array) $blogs as $key => $details ) { - if ( $details->userblog_id != $current_site->blog_id ) // main blog not a spam ! - update_blog_status( $details->userblog_id, 'spam', '1' ); - } - update_user_status( $val, 'spam', '1' ); - break; - - case 'notspam': - $userfunction = 'all_notspam'; - $blogs = get_blogs_of_user( $val, true ); - foreach ( (array) $blogs as $key => $details ) - update_blog_status( $details->userblog_id, 'spam', '0' ); - - update_user_status( $val, 'spam', '0' ); - break; - } - } - } - - wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => $userfunction ), wp_get_referer() ) ); - } else { - $location = network_admin_url( 'users.php' ); - - if ( ! empty( $_REQUEST['paged'] ) ) - $location = add_query_arg( 'paged', (int) $_REQUEST['paged'], $location ); - wp_redirect( $location ); - } - exit(); - break; - - case 'dodelete': - check_admin_referer( 'ms-users-delete' ); - if ( ! ( current_user_can( 'manage_network_users' ) && current_user_can( 'delete_users' ) ) ) - wp_die( __( 'You do not have permission to access this page.' ) ); - - if ( ! empty( $_POST['blog'] ) && is_array( $_POST['blog'] ) ) { - foreach ( $_POST['blog'] as $id => $users ) { - foreach ( $users as $blogid => $user_id ) { - if ( ! current_user_can( 'delete_user', $id ) ) - continue; - - if ( ! empty( $_POST['delete'] ) && 'reassign' == $_POST['delete'][$blogid][$id] ) - remove_user_from_blog( $id, $blogid, $user_id ); - else - remove_user_from_blog( $id, $blogid ); - } - } - } - $i = 0; - if ( is_array( $_POST['user'] ) && ! empty( $_POST['user'] ) ) - foreach( $_POST['user'] as $id ) { - if ( ! current_user_can( 'delete_user', $id ) ) - continue; - wpmu_delete_user( $id ); - $i++; - } - - if ( $i == 1 ) - $deletefunction = 'delete'; - else - $deletefunction = 'all_delete'; - - wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => $deletefunction ), network_admin_url( 'users.php' ) ) ); - exit(); - break; - - default: - // Let plugins use us as a post handler easily - do_action( 'network_admin_edit_' . $_GET['action'] ); - wp_redirect( network_admin_url( 'index.php' ) ); - exit(); - break; -} ?> diff --git a/wp-admin/network/sites.php b/wp-admin/network/sites.php index ee76a970b..52778d8ec 100644 --- a/wp-admin/network/sites.php +++ b/wp-admin/network/sites.php @@ -42,6 +42,196 @@ add_contextual_help($current_screen, $id = isset( $_REQUEST['id'] ) ? intval( $_REQUEST['id'] ) : 0; +if ( isset( $_GET['action'] ) ) { + do_action( 'wpmuadminedit' , '' ); + + switch ( $_GET['action'] ) { + case 'updateblog': + // No longer used. + break; + + case 'deleteblog': + check_admin_referer('deleteblog'); + if ( ! ( current_user_can( 'manage_sites' ) && current_user_can( 'delete_sites' ) ) ) + wp_die( __( 'You do not have permission to access this page.' ) ); + + if ( $id != '0' && $id != $current_site->blog_id && current_user_can( 'delete_site', $id ) ) { + wpmu_delete_blog( $id, true ); + wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'delete' ), wp_get_referer() ) ); + } else { + wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'not_deleted' ), wp_get_referer() ) ); + } + + exit(); + break; + + case 'allblogs': + if ( ( isset( $_POST['action'] ) || isset( $_POST['action2'] ) ) && isset( $_POST['allblogs'] ) ) { + check_admin_referer( 'bulk-sites' ); + + if ( ! current_user_can( 'manage_sites' ) ) + wp_die( __( 'You do not have permission to access this page.' ) ); + + if ( $_GET['action'] != -1 || $_POST['action2'] != -1 ) + $doaction = $_POST['action'] != -1 ? $_POST['action'] : $_POST['action2']; + + $blogfunction = ''; + + foreach ( (array) $_POST['allblogs'] as $key => $val ) { + if ( $val != '0' && $val != $current_site->blog_id ) { + switch ( $doaction ) { + case 'delete': + if ( ! current_user_can( 'delete_site', $val ) ) + wp_die( __( 'You are not allowed to delete the site.' ) ); + $blogfunction = 'all_delete'; + wpmu_delete_blog( $val, true ); + break; + + case 'spam': + $blogfunction = 'all_spam'; + update_blog_status( $val, 'spam', '1' ); + set_time_limit( 60 ); + break; + + case 'notspam': + $blogfunction = 'all_notspam'; + update_blog_status( $val, 'spam', '0' ); + set_time_limit( 60 ); + break; + } + } else { + wp_die( __( 'You are not allowed to change the current site.' ) ); + } + } + + wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => $blogfunction ), wp_get_referer() ) ); + } else { + wp_redirect( network_admin_url( 'sites.php' ) ); + } + exit(); + break; + + case 'archiveblog': + check_admin_referer( 'archiveblog' ); + if ( ! current_user_can( 'manage_sites' ) ) + wp_die( __( 'You do not have permission to access this page.' ) ); + + update_blog_status( $id, 'archived', '1' ); + wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'archive' ), wp_get_referer() ) ); + exit(); + break; + + case 'unarchiveblog': + check_admin_referer( 'unarchiveblog' ); + if ( ! current_user_can( 'manage_sites' ) ) + wp_die( __( 'You do not have permission to access this page.' ) ); + + update_blog_status( $id, 'archived', '0' ); + wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'unarchive' ), wp_get_referer() ) ); + exit(); + break; + + case 'activateblog': + check_admin_referer( 'activateblog' ); + if ( ! current_user_can( 'manage_sites' ) ) + wp_die( __( 'You do not have permission to access this page.' ) ); + + update_blog_status( $id, 'deleted', '0' ); + do_action( 'activate_blog', $id ); + wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'activate' ), wp_get_referer() ) ); + exit(); + break; + + case 'deactivateblog': + check_admin_referer( 'deactivateblog' ); + if ( ! current_user_can( 'manage_sites' ) ) + wp_die( __( 'You do not have permission to access this page.' ) ); + + do_action( 'deactivate_blog', $id ); + update_blog_status( $id, 'deleted', '1' ); + wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'deactivate' ), wp_get_referer() ) ); + exit(); + break; + + case 'unspamblog': + check_admin_referer( 'unspamblog' ); + if ( ! current_user_can( 'manage_sites' ) ) + wp_die( __( 'You do not have permission to access this page.' ) ); + + update_blog_status( $id, 'spam', '0' ); + wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'unspam' ), wp_get_referer() ) ); + exit(); + break; + + case 'spamblog': + check_admin_referer( 'spamblog' ); + if ( ! current_user_can( 'manage_sites' ) ) + wp_die( __( 'You do not have permission to access this page.' ) ); + + update_blog_status( $id, 'spam', '1' ); + wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'spam' ), wp_get_referer() ) ); + exit(); + break; + + case 'unmatureblog': + check_admin_referer( 'unmatureblog' ); + if ( ! current_user_can( 'manage_sites' ) ) + wp_die( __( 'You do not have permission to access this page.' ) ); + + update_blog_status( $id, 'mature', '0' ); + wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'unmature' ), wp_get_referer() ) ); + exit(); + break; + + case 'matureblog': + check_admin_referer( 'matureblog' ); + if ( ! current_user_can( 'manage_sites' ) ) + wp_die( __( 'You do not have permission to access this page.' ) ); + + update_blog_status( $id, 'mature', '1' ); + wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => 'mature' ), wp_get_referer() ) ); + exit(); + break; + + // Common + case 'confirm': + check_admin_referer( 'confirm' ); + if ( !headers_sent() ) { + nocache_headers(); + header( 'Content-Type: text/html; charset=utf-8' ); + } + if ( $current_site->blog_id == $id ) + wp_die( __( 'You are not allowed to change the current site.' ) ); + ?> + + > + + <?php _e( 'WordPress › Confirm your action' ); ?> + + + + + +

WordPress

+
+ + + + +

+ +
+ + + -
+ display(); ?>
diff --git a/wp-admin/network/users.php b/wp-admin/network/users.php index 44a6c9c6e..3a5002fbd 100644 --- a/wp-admin/network/users.php +++ b/wp-admin/network/users.php @@ -16,6 +16,205 @@ if ( ! is_multisite() ) if ( ! current_user_can( 'manage_network_users' ) ) wp_die( __( 'You do not have permission to access this page.' ) ); +function confirm_delete_users( $users ) { + $current_user = wp_get_current_user(); + if ( !is_array( $users ) ) + return false; + + screen_icon(); + ?> +

+

+
+ + ID'>$current_user->user_login"; + + foreach ( ( $allusers = (array) $_POST['allusers'] ) as $key => $val ) { + if ( $val != '' && $val != '0' ) { + $delete_user = new WP_User( $val ); + + if ( ! current_user_can( 'delete_user', $delete_user->ID ) ) + wp_die( sprintf( __( 'Warning! User %s cannot be deleted.' ), $delete_user->user_login ) ); + + if ( in_array( $delete_user->user_login, $site_admins ) ) + wp_die( sprintf( __( 'Warning! User cannot be deleted. The user %s is a network admnistrator.' ), $delete_user->user_login ) ); + + echo "\n"; + $blogs = get_blogs_of_user( $val, true ); + + if ( !empty( $blogs ) ) { + ?> +

%s?" ), $delete_user->user_login ); ?>

+ $details ) { + $blog_users = get_users( array( 'blog_id' => $details->userblog_id ) ); + if ( is_array( $blog_users ) && !empty( $blog_users ) ) { + $user_site = "{$details->blogname}"; + $user_dropdown = "\n"; + ?> +
    +
  • +
  • +
  • +
+ "; + } + } + } + + submit_button( __('Confirm Deletion'), 'delete' ); + ?> + + '; + confirm_delete_users( $_POST['allusers'] ); + echo ''; + require_once( '../admin-footer.php' ); + } else { + wp_redirect( network_admin_url( 'users.php' ) ); + } + exit(); + break; + + case 'allusers': + if ( !current_user_can( 'manage_network_users' ) ) + wp_die( __( 'You do not have permission to access this page.' ) ); + + if ( ( isset( $_POST['action']) || isset($_POST['action2'] ) ) && isset( $_POST['allusers'] ) ) { + check_admin_referer( 'bulk-users-network' ); + + if ( $_GET['action'] != -1 || $_POST['action2'] != -1 ) + $doaction = $_POST['action'] != -1 ? $_POST['action'] : $_POST['action2']; + + $userfunction = ''; + + foreach ( (array) $_POST['allusers'] as $key => $val ) { + if ( !empty( $val ) ) { + switch ( $doaction ) { + case 'delete': + if ( ! current_user_can( 'delete_users' ) ) + wp_die( __( 'You do not have permission to access this page.' ) ); + $title = __( 'Users' ); + $parent_file = 'users.php'; + require_once( '../admin-header.php' ); + echo '
'; + confirm_delete_users( $_POST['allusers'] ); + echo '
'; + require_once( '../admin-footer.php' ); + exit(); + break; + + case 'spam': + $user = new WP_User( $val ); + if ( in_array( $user->user_login, get_super_admins() ) ) + wp_die( sprintf( __( 'Warning! User cannot be modified. The user %s is a network administrator.' ), esc_html( $user->user_login ) ) ); + + $userfunction = 'all_spam'; + $blogs = get_blogs_of_user( $val, true ); + foreach ( (array) $blogs as $key => $details ) { + if ( $details->userblog_id != $current_site->blog_id ) // main blog not a spam ! + update_blog_status( $details->userblog_id, 'spam', '1' ); + } + update_user_status( $val, 'spam', '1' ); + break; + + case 'notspam': + $userfunction = 'all_notspam'; + $blogs = get_blogs_of_user( $val, true ); + foreach ( (array) $blogs as $key => $details ) + update_blog_status( $details->userblog_id, 'spam', '0' ); + + update_user_status( $val, 'spam', '0' ); + break; + } + } + } + + wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => $userfunction ), wp_get_referer() ) ); + } else { + $location = network_admin_url( 'users.php' ); + + if ( ! empty( $_REQUEST['paged'] ) ) + $location = add_query_arg( 'paged', (int) $_REQUEST['paged'], $location ); + wp_redirect( $location ); + } + exit(); + break; + + case 'dodelete': + check_admin_referer( 'ms-users-delete' ); + if ( ! ( current_user_can( 'manage_network_users' ) && current_user_can( 'delete_users' ) ) ) + wp_die( __( 'You do not have permission to access this page.' ) ); + + if ( ! empty( $_POST['blog'] ) && is_array( $_POST['blog'] ) ) { + foreach ( $_POST['blog'] as $id => $users ) { + foreach ( $users as $blogid => $user_id ) { + if ( ! current_user_can( 'delete_user', $id ) ) + continue; + + if ( ! empty( $_POST['delete'] ) && 'reassign' == $_POST['delete'][$blogid][$id] ) + remove_user_from_blog( $id, $blogid, $user_id ); + else + remove_user_from_blog( $id, $blogid ); + } + } + } + $i = 0; + if ( is_array( $_POST['user'] ) && ! empty( $_POST['user'] ) ) + foreach( $_POST['user'] as $id ) { + if ( ! current_user_can( 'delete_user', $id ) ) + continue; + wpmu_delete_user( $id ); + $i++; + } + + if ( $i == 1 ) + $deletefunction = 'delete'; + else + $deletefunction = 'all_delete'; + + wp_redirect( add_query_arg( array( 'updated' => 'true', 'action' => $deletefunction ), network_admin_url( 'users.php' ) ) ); + exit(); + break; + } +} + $wp_list_table = _get_list_table('WP_MS_Users_List_Table'); $pagenum = $wp_list_table->get_pagenum(); $wp_list_table->prepare_items(); @@ -88,7 +287,7 @@ if ( isset( $_REQUEST['updated'] ) && $_REQUEST['updated'] == 'true' && ! empty( search_box( __( 'Search Users' ), 'user' ); ?> -
+ display(); ?>