WordPress.org

Make WordPress Core

Ticket #16248: 16248.3.diff

File 16248.3.diff, 5.1 KB (added by PeteMall, 3 years ago)

Fixed ajax search query vars.

  • wp-admin/users.php

     
    3232 
    3333if ( empty($_REQUEST) ) { 
    3434        $referer = '<input type="hidden" name="wp_http_referer" value="'. esc_attr(stripslashes($_SERVER['REQUEST_URI'])) . '" />'; 
    35 } elseif ( isset($_REQUEST['wp_http_referer']) ) { 
    36         $redirect = remove_query_arg(array('wp_http_referer', 'updated', 'delete_count'), stripslashes($_REQUEST['wp_http_referer'])); 
    37         $referer = '<input type="hidden" name="wp_http_referer" value="' . esc_attr($redirect) . '" />'; 
     35} elseif ( $ref = wp_get_referer() ) { 
     36        $redirect = remove_query_arg( array( '_wp_http_referer', 'updated', 'delete_count' ), stripslashes( $ref ) ); 
     37        $referer = '<input type="hidden" name="_wp_http_referer" value="' . esc_attr($redirect) . '" />'; 
    3838} else { 
    3939        $redirect = 'users.php'; 
    4040        $referer = ''; 
  • wp-admin/includes/class-wp-users-list-table.php

     
    208208         * @return string 
    209209         */ 
    210210        function single_row( $user_object, $style = '', $role = '', $numposts = 0 ) { 
    211                 global $wp_roles; 
     211                global $wp_roles, $usersearch; 
    212212 
    213213                if ( !( is_object( $user_object ) && is_a( $user_object, 'WP_User' ) ) ) 
    214214                        $user_object = new WP_User( (int) $user_object ); 
     
    228228                        if ( get_current_user_id() == $user_object->ID ) { 
    229229                                $edit_link = 'profile.php'; 
    230230                        } else { 
    231                                 $edit_link = esc_url( add_query_arg( 'wp_http_referer', urlencode( esc_url( stripslashes( $_SERVER['REQUEST_URI'] ) ) ), "user-edit.php?user_id=$user_object->ID" ) ); 
     231                                $referer = defined('DOING_AJAX') ? add_query_arg( array( 'paged' => $this->get_pagenum(), 's' => $usersearch ), wp_get_referer() ) : $_SERVER['REQUEST_URI']; 
     232                                $edit_link = add_query_arg( '_wp_http_referer', urlencode( $referer ), "user-edit.php?user_id=$user_object->ID" ); 
    232233                        } 
    233234 
    234235                        // Set up the hover actions for this user 
  • wp-admin/includes/class-wp-ms-users-list-table.php

     
    131131        } 
    132132 
    133133        function display_rows() { 
    134                 global $current_site, $mode; 
     134                global $current_site, $mode, $usersearch; 
    135135 
    136136                $alt = ''; 
    137137                $super_admins = get_super_admins(); 
     
    174174                                                if ( get_current_user_id() == $user->ID ) { 
    175175                                                        $edit_link = esc_url( network_admin_url( 'profile.php' ) ); 
    176176                                                } 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 ) ) ); 
     177                                                        $referer = defined('DOING_AJAX') ? add_query_arg( array( 'paged' => $this->get_pagenum(), 's' => $usersearch ), wp_get_referer() ) : $_SERVER['REQUEST_URI']; 
     178                                                        $edit_link = add_query_arg( '_wp_http_referer', urlencode( $referer ), "user-edit.php?user_id=$user->ID" ); 
    178179                                                } 
    179180 
    180181                                                echo "<td $attributes>"; ?> 
  • wp-admin/user-edit.php

     
    99/** WordPress Administration Bootstrap */ 
    1010require_once('./admin.php'); 
    1111 
    12 wp_reset_vars(array('action', 'redirect', 'profile', 'user_id', 'wp_http_referer')); 
     12wp_reset_vars(array('action', 'redirect', 'profile', 'user_id', '_wp_http_referer')); 
    1313 
    1414$user_id = (int) $user_id; 
    1515$current_user = wp_get_current_user(); 
     
    4848    '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>' 
    4949); 
    5050 
     51$wp_http_referer = remove_query_arg(array('update', 'delete_count'), stripslashes(wp_get_referer())); 
    5152 
    52 $wp_http_referer = remove_query_arg(array('update', 'delete_count'), stripslashes($wp_http_referer)); 
    53  
    5453$all_post_caps = array('posts', 'pages'); 
    5554$user_can_edit = false; 
    5655foreach ( $all_post_caps as $post_cap ) 
     
    148147if ( !is_wp_error( $errors ) ) { 
    149148        $redirect = (IS_PROFILE_PAGE ? "profile.php?" : "user-edit.php?user_id=$user_id&"). "updated=true"; 
    150149        if ( $wp_http_referer ) 
    151                 $redirect = add_query_arg('wp_http_referer', urlencode($wp_http_referer), $redirect); 
     150                $redirect = add_query_arg('_wp_http_referer', urlencode($wp_http_referer), $redirect); 
    152151        wp_redirect($redirect); 
    153152        exit; 
    154153} 
     
    184183<form id="your-profile" action="<?php echo esc_url( self_admin_url( IS_PROFILE_PAGE ? 'profile.php' : 'user-edit.php' ) ); ?>" method="post"<?php do_action('user_edit_form_tag'); ?>> 
    185184<?php wp_nonce_field('update-user_' . $user_id) ?> 
    186185<?php if ( $wp_http_referer ) : ?> 
    187         <input type="hidden" name="wp_http_referer" value="<?php echo esc_url($wp_http_referer); ?>" /> 
     186        <input type="hidden" name="_wp_http_referer" value="<?php echo esc_url($wp_http_referer); ?>" /> 
    188187<?php endif; ?> 
    189188<p> 
    190189<input type="hidden" name="from" value="profile" />