Index: wp-admin/includes/class-wp-ms-users-list-table.php
===================================================================
--- wp-admin/includes/class-wp-ms-users-list-table.php (revision 18539)
+++ wp-admin/includes/class-wp-ms-users-list-table.php (working copy)
@@ -188,8 +188,8 @@
$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 );
Index: wp-admin/network/users.php
===================================================================
--- wp-admin/network/users.php (revision 18539)
+++ wp-admin/network/users.php (working copy)
@@ -16,6 +16,205 @@
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();
+ ?>
+
+
+
+ ';
+ 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 @@
search_box( __( 'Search Users' ), 'user' ); ?>
-
Index: wp-admin/network/edit.php
===================================================================
--- wp-admin/network/edit.php (revision 18539)
+++ wp-admin/network/edit.php (working copy)
@@ -18,76 +18,6 @@
exit;
}
-function confirm_delete_users( $users ) {
- $current_user = wp_get_current_user();
- if ( !is_array( $users ) )
- return false;
-
- screen_icon();
- ?>
-
-
-
- ';
- 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'] );