WordPress.org

Make WordPress Core

Ticket #16248: 16248.diff

File 16248.diff, 4.5 KB (added by scribu, 4 years ago)
  • wp-admin/users.php

     
    3131); 
    3232 
    3333if ( empty($_REQUEST) ) { 
    34         $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) . '" />'; 
     34        $referer = '<input type="hidden" name="_wp_http_referer" value="'. esc_attr(stripslashes($_SERVER['REQUEST_URI'])) . '" />'; 
     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

     
    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') ? wp_get_referer() : $_SERVER['REQUEST_URI']; 
     232 
     233                                $edit_link = esc_url( add_query_arg( '_wp_http_referer', urlencode( esc_url( stripslashes( $referer ) ) ), "user-edit.php?user_id=$user_object->ID" ) ); 
    232234                        } 
    233235                        $edit = "<strong><a href=\"$edit_link\">$user_object->user_login</a></strong><br />"; 
    234236 
  • wp-admin/includes/class-wp-ms-users-list-table.php

     
    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') ? wp_get_referer() : $_SERVER['REQUEST_URI']; 
     178 
     179                                                        $edit_link = esc_url( network_admin_url( add_query_arg( '_wp_http_referer', urlencode( stripslashes( $referer ) ), 'user-edit.php?user_id=' . $user->ID ) ) ); 
    178180                                                } 
    179181 
    180182                                                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')); 
    1313 
    1414$user_id = (int) $user_id; 
    1515$current_user = wp_get_current_user(); 
     
    4949); 
    5050 
    5151 
    52 $wp_http_referer = remove_query_arg(array('update', 'delete_count'), stripslashes($wp_http_referer)); 
     52$wp_http_referer = remove_query_arg(array('update', 'delete_count'), stripslashes(wp_get_referer())); 
    5353 
    5454$all_post_caps = array('posts', 'pages'); 
    5555$user_can_edit = false; 
     
    148148if ( !is_wp_error( $errors ) ) { 
    149149        $redirect = (IS_PROFILE_PAGE ? "profile.php?" : "user-edit.php?user_id=$user_id&"). "updated=true"; 
    150150        if ( $wp_http_referer ) 
    151                 $redirect = add_query_arg('wp_http_referer', urlencode($wp_http_referer), $redirect); 
     151                $redirect = add_query_arg('_wp_http_referer', urlencode($wp_http_referer), $redirect); 
    152152        wp_redirect($redirect); 
    153153        exit; 
    154154} 
     
    184184<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'); ?>> 
    185185<?php wp_nonce_field('update-user_' . $user_id) ?> 
    186186<?php if ( $wp_http_referer ) : ?> 
    187         <input type="hidden" name="wp_http_referer" value="<?php echo esc_url($wp_http_referer); ?>" /> 
     187        <input type="hidden" name="_wp_http_referer" value="<?php echo esc_url($wp_http_referer); ?>" /> 
    188188<?php endif; ?> 
    189189<p> 
    190190<input type="hidden" name="from" value="profile" />