WordPress.org

Make WordPress Core

Ticket #15558: 15558.4.diff

File 15558.4.diff, 4.5 KB (added by PeteMall, 9 years ago)

Update and error messages.

  • wp-admin/network/site-users.php

     
    5151
    5252$action = $wp_list_table->current_action();
    5353
     54if ( isset( $_GET['action'] ) && 'update-site' == $_GET['action'] )
     55        wp_redirect( wp_get_referer() );
     56
    5457if ( $action ) {
    5558        switch_to_blog( $id );
    5659       
    5760        switch ( $action ) {
    5861                case 'adduser':
    5962                        if ( !empty( $_POST['newuser'] ) ) {
    60                                 $newuser = $_POST['newuser'];
     63                                $update = 'add';
     64                                $newuser = $_POST['newuser'];                           
    6165                                $userid = $wpdb->get_var( $wpdb->prepare( "SELECT ID FROM " . $wpdb->users . " WHERE user_login = %s", $newuser ) );
    6266                                if ( $userid ) {
    6367                                        $user = $wpdb->get_var( "SELECT user_id FROM " . $wpdb->usermeta . " WHERE user_id='$userid' AND meta_key='{$blog_prefix}capabilities'" );
    6468                                        if ( $user == false )
    6569                                                add_user_to_blog( $id, $userid, $_POST['new_role'] );
     70                                        else
     71                                                $update = 'err_add_member';
     72                                } else {
     73                                        $update = 'err_add_notfound';
    6674                                }
     75                        } else {
     76                                $update = 'err_add_notfound';
    6777                        }
    6878                        break;
    6979               
    7080                case 'remove':
    7181                        if ( !current_user_can('remove_users')  )
    7282                                die(__('You can’t remove users.'));
    73 
     83                               
     84                        $update = 'remove';
    7485                        if ( isset( $_REQUEST['users'] ) ) {
    7586                                $userids = $_REQUEST['users'];
    7687
     
    7889                                        $user_id = (int) $user_id;
    7990                                        remove_user_from_blog( $user_id, $id );
    8091                                }
     92                        } elseif ( isset( $_GET['user'] ) ) {
     93                                remove_user_from_blog( $_GET['user'] );
    8194                        } else {
    82                                 remove_user_from_blog( $_GET['user'] );
     95                                $update = 'err_remove';
    8396                        }
    8497                        break;
    8598
     
    88101                        if ( empty( $editable_roles[$_REQUEST['new_role']] ) )
    89102                                wp_die(__('You can’t give users that role.'));
    90103
    91                         $userids = $_REQUEST['users'];
    92                         $update = 'promote';
    93                         foreach ( $userids as $user_id ) {
    94                                 $user_id = (int) $user_id;
     104                        if ( isset( $_REQUEST['users'] ) ) {
     105                                $userids = $_REQUEST['users'];
     106                                $update = 'promote';
     107                                foreach ( $userids as $user_id ) {
     108                                        $user_id = (int) $user_id;
    95109
    96                                 // If the user doesn't already belong to the blog, bail.
    97                                 if ( !is_user_member_of_blog( $user_id ) )
    98                                         wp_die(__('Cheatin’ uh?'));
     110                                        // If the user doesn't already belong to the blog, bail.
     111                                        if ( !is_user_member_of_blog( $user_id ) )
     112                                                wp_die(__('Cheatin’ uh?'));
    99113
    100                                 $user = new WP_User( $user_id );
    101                                 $user->set_role( $_REQUEST['new_role'] );
     114                                        $user = new WP_User( $user_id );
     115                                        $user->set_role( $_REQUEST['new_role'] );
     116                                }
     117                        } else {
     118                                $update = 'err_promote';
    102119                        }
    103120                        break;
    104121        }
    105122       
    106123        restore_current_blog();
    107         wp_redirect( wp_get_referer() ); // @todo add_query_arg for update message
     124        wp_redirect( add_query_arg( 'update', $update, wp_get_referer() ) );
    108125}
    109126
    110127add_screen_option( 'per_page', array( 'label' => _x( 'Users', 'users per page (screen options)' ) ) );
     
    113130$parent_file = 'sites.php';
    114131$submenu_file = 'sites.php';
    115132
    116 require('../admin-header.php');
     133require('../admin-header.php'); ?>
    117134
    118 ?>
    119 
    120135<div class="wrap">
    121136<?php screen_icon('ms-admin'); ?>
    122137<h2 id="edit-site"><?php echo $title ?></h2>
     
    129144        echo '<a href="' . $tab['url'] . '?id=' . $id .'" class="nav-tab' . $class . '">' .  esc_html( $tab['label'] ) . '</a>';
    130145}
    131146?>
    132 </h3>
     147</h3><?php
     148
     149if ( isset($_GET['update']) ) :
     150        switch($_GET['update']) {
     151        case 'add':
     152                echo '<div id="message" class="updated"><p>' . __( 'User added.' ) . '</p></div>';
     153                break;
     154        case 'err_add_member':
     155                echo '<div id="message" class="error"><p>' . __( 'User is already a member of this site.' ) . '</p></div>';
     156                break;
     157        case 'err_add_notfound':
     158                echo '<div id="message" class="error"><p>' . __( 'Enter the username of an existing user.' ) . '</p></div>';
     159                break;
     160        case 'promote':
     161                echo '<div id="message" class="updated"><p>' . __( 'Changed roles.' ) . '</p></div>';
     162                break;
     163        case 'err_promote':
     164                echo '<div id="message" class="error"><p>' . __( 'Select a user to change role.' ) . '</p></div>';
     165                break;
     166        case 'remove':
     167                echo '<div id="message" class="updated fade"><p>' . __( 'User removed from this site.' ) . '</p></div>';
     168                break;
     169        case 'err_remove':
     170                echo '<div id="message" class="error"><p>' . __( 'Select a user to remove.' ) . '</p></div>';
     171                break;
     172        }
     173endif; ?>
     174
    133175<form class="search-form" action="" method="get">
    134176<p class="search-box">
    135177        <label class="screen-reader-text" for="user-search-input"><?php _e( 'Search Users' ); ?>:</label>