WordPress.org

Make WordPress Core

Ticket #35705: 35705.3.diff

File 35705.3.diff, 4.8 KB (added by jeremyfelt, 6 years ago)
  • src/wp-admin/network/user-new.php

     
    5959                          * @param int $user_id ID of the newly created user.
    6060                          */
    6161                        do_action( 'network_user_new_created_user', $user_id );
    62                         wp_redirect( add_query_arg( array('update' => 'added'), 'user-new.php' ) );
     62                        wp_redirect( add_query_arg( array('update' => 'added', 'user_id' => $user_id ), 'user-new.php' ) );
    6363                        exit;
    6464                }
    6565        }
     
    6767
    6868if ( isset($_GET['update']) ) {
    6969        $messages = array();
    70         if ( 'added' == $_GET['update'] )
    71                 $messages[] = __('User added.');
     70        if ( 'added' == $_GET['update'] ) {
     71                $edit_link = '';
     72                if ( isset( $_GET['user_id'] ) ) {
     73                        $user_id_new = absint( $_GET['user_id'] );
     74                        if ( $user_id_new ) {
     75                                $edit_link = esc_url( add_query_arg( 'wp_http_referer', urlencode( wp_unslash( $_SERVER['REQUEST_URI'] ) ), get_edit_user_link( $user_id_new ) ) );
     76                        }
     77                }
     78
     79                if ( empty( $edit_link ) ) {
     80                        $messages[] = __( 'User added.' );
     81                } else {
     82                        $messages[] = sprintf( __( 'User added. <a href="%1$s">Edit User</a>' ), $edit_link );
     83                }
     84        }
    7285}
    7386
    7487$title = __('Add New User');
  • src/wp-admin/user-edit.php

     
    5656);
    5757
    5858$wp_http_referer = remove_query_arg(array('update', 'delete_count'), $wp_http_referer );
    59 
    6059$user_can_edit = current_user_can( 'edit_posts' ) || current_user_can( 'edit_pages' );
    6160
    6261/**
     
    179178        <?php else: ?>
    180179        <p><strong><?php _e('User updated.') ?></strong></p>
    181180        <?php endif; ?>
    182         <?php if ( $wp_http_referer && !IS_PROFILE_PAGE ) : ?>
     181        <?php if ( $wp_http_referer && false === strpos( $wp_http_referer, 'user-new.php' ) && ! IS_PROFILE_PAGE ) : ?>
    183182        <p><a href="<?php echo esc_url( $wp_http_referer ); ?>"><?php _e('&larr; Back to Users'); ?></a></p>
    184183        <?php endif; ?>
    185184</div>
  • src/wp-admin/user-new.php

     
    6868        } else {
    6969                if ( isset( $_POST[ 'noconfirmation' ] ) && current_user_can( 'manage_network_users' ) ) {
    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' ] ) );
     
    147147                        wpmu_signup_user( $new_user_login, $new_user_email, array( 'add_to_blog' => $wpdb->blogid, 'new_role' => $_REQUEST['role'] ) );
    148148                        if ( isset( $_POST[ 'noconfirmation' ] ) && current_user_can( 'manage_network_users' ) ) {
    149149                                $key = $wpdb->get_var( $wpdb->prepare( "SELECT activation_key FROM {$wpdb->signups} WHERE user_login = %s AND user_email = %s", $new_user_login, $new_user_email ) );
    150                                 wpmu_activate_signup( $key );
    151                                 $redirect = add_query_arg( array('update' => 'addnoconfirmation'), 'user-new.php' );
     150                                $new_user = wpmu_activate_signup( $key );
     151                                $redirect = add_query_arg( array( 'update' => 'addnoconfirmation', 'user_id' => $new_user['user_id'] ), 'user-new.php' );
    152152                        } else {
    153153                                $redirect = add_query_arg( array('update' => 'newuserconfirmation'), 'user-new.php' );
    154154                        }
     
    223223if ( isset($_GET['update']) ) {
    224224        $messages = array();
    225225        if ( is_multisite() ) {
     226                $edit_link = '';
     227                if ( ( isset( $_GET['user_id'] ) ) ) {
     228                        $user_id_new = absint( $_GET['user_id'] );
     229                        if ( $user_id_new ) {
     230                                $edit_link = esc_url( add_query_arg( 'wp_http_referer', urlencode( wp_unslash( $_SERVER['REQUEST_URI'] ) ), get_edit_user_link( $user_id_new ) ) );
     231                        }
     232                }
     233
    226234                switch ( $_GET['update'] ) {
    227235                        case "newuserconfirmation":
    228236                                $messages[] = __('Invitation email sent to new user. A confirmation link must be clicked before their account is created.');
     
    231239                                $messages[] = __('Invitation email sent to user. A confirmation link must be clicked for them to be added to your site.');
    232240                                break;
    233241                        case "addnoconfirmation":
    234                                 $messages[] = __('User has been added to your site.');
     242                                if ( empty( $edit_link ) ) {
     243                                        $messages[] = __( 'User has been added to your site.' );
     244                                } else {
     245                                        $messages[] = sprintf( __( 'User has been added to your site. <a href="%1$s">Edit User</a>' ), $edit_link );
     246                                }
    235247                                break;
    236248                        case "addexisting":
    237249                                $messages[] = __('That user is already a member of this site.');