WordPress.org

Make WordPress Core

Ticket #39048: wp_parse_str_undifeied_vars.2.patch

File wp_parse_str_undifeied_vars.2.patch, 2.2 KB (added by pbearne, 3 years ago)

fixed patch remove other changes

  • src/wp-includes/functions.php

     
    807807                $base = '';
    808808                $query = $uri;
    809809        }
    810 
     810        $qs = array();
    811811        wp_parse_str( $query, $qs );
    812812        $qs = urlencode_deep( $qs ); // this re-URL-encodes things that were already in the query string
    813813        if ( is_array( $args[0] ) ) {
     
    34343433        elseif ( is_array( $args ) )
    34353434                $r =& $args;
    34363435        else
     3436                $r = array();
    34373437                wp_parse_str( $args, $r );
    34383438
    34393439        if ( is_array( $defaults ) )
  • src/wp-includes/general-template.php

     
    32773277                // Find the format argument.
    32783278                $format = explode( '?', str_replace( '%_%', $args['format'], $args['base'] ) );
    32793279                $format_query = isset( $format[1] ) ? $format[1] : '';
     3280                $format_args = array();
    32803281                wp_parse_str( $format_query, $format_args );
    32813282
    32823283                // Find the query args of the requested URL.
     3284                $url_query_args = array();
    32833285                wp_parse_str( $url_parts[1], $url_query_args );
    32843286
    32853287                // Remove the format argument from the array of query arguments, to avoid overwriting custom format.
  • src/wp-includes/script-loader.php

     
    10301030
    10311031                $parsed = parse_url( $src );
    10321032                if ( isset($parsed['query']) && $parsed['query'] ) {
     1033                        $qv = array();
    10331034                        wp_parse_str( $parsed['query'], $qv );
    10341035                        $url = add_query_arg( $qv, $url );
    10351036                }
  • tests/phpunit/tests/functions.php

     
    3535
    3636        function test_wp_parse_args_other() {
    3737                $b = true;
     38                $s = array();
    3839                wp_parse_str($b, $s);
    3940                $this->assertEquals($s, wp_parse_args($b));
    4041                $q = 'x=5&_baba=dudu&';
     42                $ss = array();
    4143                wp_parse_str($q, $ss);
    4244                $this->assertEquals($ss, wp_parse_args($q));
    4345        }