WordPress.org

Make WordPress Core

Ticket #19470: 19470.3.patch

File 19470.3.patch, 9.5 KB (added by SergeyBiryukov, 6 years ago)

An attempt to add the link to all the "Add User" screens (unfinished)

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

     
    8383                                        wp_new_user_notification( $user_id, $password );
    8484                                        add_user_to_blog( $id, $user_id, $_POST['new_role'] );
    8585                                        $update = 'newuser';
     86                                        $referer = add_query_arg( 'user_id', $user_id, $referer );
    8687                                }
    8788                        }
    8889                        break;
     
    9293                        if ( !empty( $_POST['newuser'] ) ) {
    9394                                $update = 'adduser';
    9495                                $newuser = $_POST['newuser'];
    95                                 $userid = $wpdb->get_var( $wpdb->prepare( "SELECT ID FROM " . $wpdb->users . " WHERE user_login = %s", $newuser ) );
    96                                 if ( $userid ) {
    97                                         $user = $wpdb->get_var( "SELECT user_id FROM " . $wpdb->usermeta . " WHERE user_id='$userid' AND meta_key='{$blog_prefix}capabilities'" );
    98                                         if ( $user == false )
    99                                                 add_user_to_blog( $id, $userid, $_POST['new_role'] );
    100                                         else
     96                                $user_id = $wpdb->get_var( $wpdb->prepare( "SELECT ID FROM " . $wpdb->users . " WHERE user_login = %s", $newuser ) );
     97                                if ( $user_id ) {
     98                                        $user = $wpdb->get_var( "SELECT user_id FROM " . $wpdb->usermeta . " WHERE user_id = '$user_id' AND meta_key='{$blog_prefix}capabilities'" );
     99                                        if ( $user == false ) {
     100                                                add_user_to_blog( $id, $user_id, $_POST['new_role'] );
     101                                                $referer = add_query_arg( 'user_id', $user_id, $referer );
     102                                        } else {
    101103                                                $update = 'err_add_member';
     104                                        }
    102105                                } else {
    103106                                        $update = 'err_add_notfound';
    104107                                }
     
    202205</h3><?php
    203206
    204207if ( isset($_GET['update']) ) :
     208        if ( !empty( $_GET['user_id'] ) )
     209                $edit_link = esc_url( add_query_arg( 'wp_http_referer', urlencode( stripslashes( $_SERVER['REQUEST_URI'] ) ), 'user-edit.php?user_id=' . absint( $_GET['user_id'] ) ) );
     210
    205211        switch($_GET['update']) {
    206212        case 'adduser':
    207                 echo '<div id="message" class="updated"><p>' . __( 'User added.' ) . '</p></div>';
     213                echo '<div id="message" class="updated"><p>' . sprintf( __( 'User added. <a href="%s">Edit User</a>' ), $edit_link ) . '</p></div>';
    208214                break;
    209215        case 'err_add_member':
    210216                echo '<div id="message" class="error"><p>' . __( 'User is already a member of this site.' ) . '</p></div>';
     
    225231                echo '<div id="message" class="error"><p>' . __( 'Select a user to remove.' ) . '</p></div>';
    226232                break;
    227233        case 'newuser':
    228                 echo '<div id="message" class="updated"><p>' . __( 'User created.' ) . '</p></div>';
     234                echo '<div id="message" class="updated"><p>' . sprintf( __( 'User created. <a href="%s">Edit User</a>' ), $edit_link ) . '</p></div>';
    229235                break;
    230236        case 'err_new':
    231237                echo '<div id="message" class="error"><p>' . __( 'Enter the username and email.' ) . '</p></div>';
  • wp-admin/network/user-new.php

     
    5151                        $add_user_errors = new WP_Error( 'add_user_fail', __( 'Cannot add user.' ) );
    5252                } else {
    5353                        wp_new_user_notification( $user_id, $password );
    54                         wp_redirect( add_query_arg( array('update' => 'added'), 'user-new.php' ) );
     54                        wp_redirect( add_query_arg( array( 'update' => 'added', 'user_id' => $user_id ), 'user-new.php' ) );
    5555                        exit;
    5656                }
    5757        }
     
    5959
    6060if ( isset($_GET['update']) ) {
    6161        $messages = array();
    62         if ( 'added' == $_GET['update'] )
    63                 $messages[] = __('User added.');
     62        if ( 'added' == $_GET['update'] ) {
     63                $edit_link = esc_url( network_admin_url( 'user-edit.php?user_id=' . absint( $_GET['user_id'] ) ) );
     64                $messages[] = sprintf( __( 'User added. <a href="%s">Edit User</a>' ), $edit_link );
     65        }
    6466}
    6567
    6668$title = __('Add New User');
  • wp-admin/network/users.php

     
    267267                                _e( 'Users deleted.' );
    268268                        break;
    269269                        case 'add':
    270                                 _e( 'User added.' );
     270                                $edit_link = esc_url( network_admin_url( add_query_arg( 'wp_http_referer', urlencode( stripslashes( $_SERVER['REQUEST_URI'] ) ), 'user-edit.php?user_id=' . absint( $_GET['user_id'] ) ) ) );
     271                                printf( __( 'User added. <a href="%s">Edit User</a>' ), $edit_link );
    271272                        break;
    272273                }
    273274                ?>
  • wp-admin/user-new.php

     
    6868        } else {
    6969                if ( isset( $_POST[ 'noconfirmation' ] ) && is_super_admin() ) {
    7070                        add_existing_user_to_blog( array( 'user_id' => $user_id, 'role' => $_REQUEST[ 'role' ] ) );
    71                         $redirect = add_query_arg( array('update' => 'addnoconfirmation'), 'user-new.php' );
     71                        $redirect = add_query_arg( array( 'update' => 'addnoconfirmation', 'user_id' => $user_id ), 'user-new.php' );
    7272                } else {
    7373                        $newuser_key = substr( md5( $user_id ), 0, 5 );
    7474                        add_option( 'new_user_' . $newuser_key, array( 'user_id' => $user_id, 'email' => $user_details->user_email, 'role' => $_REQUEST[ 'role' ] ) );
     
    9999                        $add_user_errors = $user_id;
    100100                } else {
    101101                        if ( current_user_can('edit_users') ) {
    102                                 $new_user_login = apply_filters('pre_user_login', sanitize_user(stripslashes($_REQUEST['user_login']), true));
    103                                 $redirect = 'users.php?usersearch='. urlencode($new_user_login) . '&update=add' . '#user-' . $user_id;
     102                                $new_user_login = apply_filters( 'pre_user_login', sanitize_user( stripslashes( $_REQUEST['user_login'] ), true ) );
     103                                $redirect = 'users.php?usersearch='. urlencode( $new_user_login ) . '&update=add&user_id=' . $user_id;
    104104                        } else {
    105105                                $redirect = add_query_arg( 'update', 'add', 'user-new.php' );
    106106                        }
     
    122122                        if ( isset( $_POST[ 'noconfirmation' ] ) && is_super_admin() ) {
    123123                                $key = $wpdb->get_var( $wpdb->prepare( "SELECT activation_key FROM {$wpdb->signups} WHERE user_login = %s AND user_email = %s", $new_user_login, $_REQUEST[ 'email' ] ) );
    124124                                wpmu_activate_signup( $key );
    125                                 $redirect = add_query_arg( array('update' => 'addnoconfirmation'), 'user-new.php' );
     125                                $redirect = add_query_arg( array( 'update' => 'addnoconfirmation', 'user_id' => get_user_by( 'login', $new_user_login )->ID ), 'user-new.php' );
    126126                        } else {
    127                                 $redirect = add_query_arg( array('update' => 'newuserconfimation'), 'user-new.php' );
     127                                $redirect = add_query_arg( array( 'update' => 'newuserconfimation' ), 'user-new.php' );
    128128                        }
    129129                        wp_redirect( $redirect );
    130130                        die();
     
    190190
    191191if ( isset($_GET['update']) ) {
    192192        $messages = array();
     193
     194        if ( !empty( $_GET['user_id'] ) )
     195                $edit_link = esc_url( admin_url( 'user-edit.php?user_id=' . absint( $_GET['user_id'] ) ) );
     196
    193197        if ( is_multisite() ) {
    194198                switch ( $_GET['update'] ) {
    195                         case "newuserconfimation":
    196                                 $messages[] = __('Invitation email sent to new user. A confirmation link must be clicked before their account is created.');
     199                        case 'newuserconfimation':
     200                                $messages[] = __( 'Invitation email sent to new user. A confirmation link must be clicked before their account is created.' );
    197201                                break;
    198                         case "add":
    199                                 $messages[] = __('Invitation email sent to user. A confirmation link must be clicked for them to be added to your site.');
     202                        case 'add':
     203                                $messages[] = __( 'Invitation email sent to user. A confirmation link must be clicked for them to be added to your site.' );
    200204                                break;
    201                         case "addnoconfirmation":
    202                                 $messages[] = __('User has been added to your site.');
     205                        case 'addnoconfirmation':
     206                                $messages[] =  sprintf( __( 'User has been added to your site. <a href="%s">Edit User</a>' ), $edit_link );
    203207                                break;
    204                         case "addexisting":
    205                                 $messages[] = __('That user is already a member of this site.');
     208                        case 'addexisting':
     209                                $messages[] = __( 'That user is already a member of this site.' );
    206210                                break;
    207                         case "does_not_exist":
    208                                 $messages[] = __('The requested user does not exist.');
     211                        case 'does_not_exist':
     212                                $messages[] = __( 'The requested user does not exist.' );
    209213                                break;
    210                         case "does_not_exist":
    211                                 $messages[] = __('Please enter a valid email address.');
     214                        case 'does_not_exist':
     215                                $messages[] = __( 'Please enter a valid email address.' );
    212216                                break;
    213217                }
    214218        } else {
    215219                if ( 'add' == $_GET['update'] )
    216                         $messages[] = __('User added.');
     220                        $messages[] = sprintf( __( 'User added. <a href="%s">Edit User</a>' ), $edit_link );
    217221        }
    218222}
    219223?>
  • wp-admin/users.php

     
    346346                case 'del':
    347347                case 'del_many':
    348348                        $delete_count = isset($_GET['delete_count']) ? (int) $_GET['delete_count'] : 0;
    349                         $messages[] = '<div id="message" class="updated"><p>' . sprintf(_n('%s user deleted', '%s users deleted', $delete_count), $delete_count) . '</p></div>';
     349                        $messages[] = '<div id="message" class="updated"><p>' . sprintf( _n( '%s user deleted', '%s users deleted', $delete_count ), $delete_count ) . '</p></div>';
    350350                        break;
    351351                case 'add':
    352                         $messages[] = '<div id="message" class="updated"><p>' . __('New user created.') . '</p></div>';
     352                        $edit_link = esc_url( add_query_arg( 'wp_http_referer', urlencode( stripslashes( $_SERVER['REQUEST_URI'] ) ), 'user-edit.php?user_id=' . absint( $_GET['user_id'] ) ) );
     353                        $messages[] = '<div id="message" class="updated"><p>' . sprintf( __( 'New user created. <a href="%s">Edit User</a>' ), $edit_link ) . '</p></div>';
    353354                        break;
    354355                case 'promote':
    355356                        $messages[] = '<div id="message" class="updated"><p>' . __('Changed roles.') . '</p></div>';