Make WordPress Core

Changeset 17201


Ignore:
Timestamp:
01/01/2011 10:30:46 PM (13 years ago)
Author:
nacin
Message:

Allow us to return from whence we came. Specify wp_http_referer for user-edit in the network admin, as we may come from network/users or site-users. props PeteMall, SergeyBiryukov, fixes #16053.

Location:
trunk/wp-admin
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-admin/includes/class-wp-ms-users-list-table.php

    r17189 r17201  
    172172                    case 'username':
    173173                        $avatar = get_avatar( $user->user_email, 32 );
    174                         $edit_link = ( get_current_user_id() == $user->ID ) ? 'profile.php' : 'user-edit.php?user_id=' . $user->ID;
     174                        if ( get_current_user_id() == $user->ID ) {
     175                            $edit_link = esc_url( network_admin_url( 'profile.php' ) );
     176                        } else {
     177                            $edit_link = esc_url( network_admin_url( add_query_arg( 'wp_http_referer', urlencode( stripslashes( $_SERVER['REQUEST_URI'] ) ), 'user-edit.php?user_id=' . $user->ID ) ) );
     178                        }
    175179
    176180                        echo "<td $attributes>"; ?>
    177                             <?php echo $avatar; ?><strong><a href="<?php echo esc_url( self_admin_url( $edit_link ) ); ?>" class="edit"><?php echo stripslashes( $user->user_login ); ?></a><?php
     181                            <?php echo $avatar; ?><strong><a href="<?php echo $edit_link; ?>" class="edit"><?php echo stripslashes( $user->user_login ); ?></a><?php
    178182                            if ( in_array( $user->user_login, $super_admins ) )
    179183                                echo ' - ' . __( 'Super Admin' );
     
    182186                            <?php
    183187                                $actions = array();
    184                                 $actions['edit'] = '<a href="' . esc_url( self_admin_url( $edit_link ) ) . '">' . __( 'Edit' ) . '</a>';
     188                                $actions['edit'] = '<a href="' . $edit_link . '">' . __( 'Edit' ) . '</a>';
    185189
    186190                                if ( current_user_can( 'delete_user', $user->ID) && ! in_array( $user->user_login, $super_admins ) ) {
  • trunk/wp-admin/user-edit.php

    r17161 r17201  
    148148if ( !is_wp_error( $errors ) ) {
    149149    $redirect = (IS_PROFILE_PAGE ? "profile.php?" : "user-edit.php?user_id=$user_id&"). "updated=true";
    150     $redirect = add_query_arg('wp_http_referer', urlencode($wp_http_referer), $redirect);
     150    if ( $wp_http_referer )
     151        $redirect = add_query_arg('wp_http_referer', urlencode($wp_http_referer), $redirect);
    151152    wp_redirect($redirect);
    152153    exit;
     
    169170    <p><strong><?php _e('User updated.') ?></strong></p>
    170171    <?php if ( $wp_http_referer && !IS_PROFILE_PAGE ) : ?>
    171     <p><a href="users.php"><?php _e('&larr; Back to Authors and Users'); ?></a></p>
     172    <p><a href="<?php echo esc_url( $wp_http_referer ); ?>"><?php _e('&larr; Back to Authors and Users'); ?></a></p>
    172173    <?php endif; ?>
    173174</div>
Note: See TracChangeset for help on using the changeset viewer.