WordPress.org

Make WordPress Core

Ticket #35705: 35705.diff

File 35705.diff, 4.3 KB (added by codex-m, 6 years ago)

Patch

  • 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','userid' =>$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['userid'])) {                   
     73                        $user_id_new=absint( $_GET['userid'] );
     74                        if ($user_id_new > 0) {
     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                if (empty($edit_link)) {                       
     79                        $messages[] = __('User added.');                       
     80                } else {                       
     81                        $messages[] = sprintf(
     82                                        __( 'User added.  <a href="%1$s">Edit User</a>' ), $edit_link
     83                                        );                     
     84                }
     85        }
    7286}
    7387
    7488$title = __('Add New User');
  • 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','userid'=>$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' ] ) );
     
    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 ) );
    150150                                wpmu_activate_signup( $key );
     151                                $userid_noconfirmation = 0;
     152                                $user_noconfirmation= get_user_by('email',$new_user_email);
     153                                if ($user_noconfirmation) {
     154                                        if (isset($user_noconfirmation->ID)) {
     155                                                $userid_noconfirmation = $user_noconfirmation->ID;
     156                                                $userid_noconfirmation = intval($userid_noconfirmation);
     157                                        }
     158                                }
    151159                                $redirect = add_query_arg( array('update' => 'addnoconfirmation'), 'user-new.php' );
     160                                if ($userid_noconfirmation > 0) {
     161                                        $redirect = add_query_arg( array('update' => 'addnoconfirmation','userid' =>$userid_noconfirmation), 'user-new.php' );
     162                                }
     163                               
    152164                        } else {
    153165                                $redirect = add_query_arg( array('update' => 'newuserconfirmation'), 'user-new.php' );
    154166                        }
     
    223235if ( isset($_GET['update']) ) {
    224236        $messages = array();
    225237        if ( is_multisite() ) {
     238                $edit_link='';
     239                if ((isset($_GET['userid'])) && (isset($current_user->ID))) {
     240                        $user_id_new=absint( $_GET['userid'] );
     241                        $current_user_id=$current_user->ID;
     242                        if ( current_user_can( 'edit_user',  $current_user_id ) ) {
     243                                $edit_link = esc_url( add_query_arg( 'wp_http_referer', urlencode( wp_unslash( $_SERVER['REQUEST_URI'] ) ), get_edit_user_link( $user_id_new ) ) );     
     244                        }
     245                }
    226246                switch ( $_GET['update'] ) {
    227247                        case "newuserconfirmation":
    228248                                $messages[] = __('Invitation email sent to new user. A confirmation link must be clicked before their account is created.');
     
    231251                                $messages[] = __('Invitation email sent to user. A confirmation link must be clicked for them to be added to your site.');
    232252                                break;
    233253                        case "addnoconfirmation":
    234                                 $messages[] = __('User has been added to your site.');
     254                                if (empty($edit_link)) {
     255                                        $messages[] = __('User has been added to your site.');
     256                                } else {
     257                                        $messages[] = sprintf(
     258                                                        __( 'User has been added to your site.  <a href="%1$s">Edit User</a>' ), $edit_link
     259                                        );                                     
     260                                }
    235261                                break;
    236262                        case "addexisting":
    237263                                $messages[] = __('That user is already a member of this site.');