WordPress.org

Make WordPress Core

Ticket #39048: wp_parse_str_undifeied_vars.3.patch

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

fix the if block

  • src/wp-includes/functions.php

     
    34293429 * @return array Merged user defined values with defaults.
    34303430 */
    34313431function wp_parse_args( $args, $defaults = '' ) {
    3432         if ( is_object( $args ) )
     3432        if ( is_object( $args ) ) {
    34333433                $r = get_object_vars( $args );
    3434         elseif ( is_array( $args ) )
     3434        } elseif ( is_array( $args ) ) {
     3435
    34353436                $r =& $args;
    3436         else
     3437        } else {
     3438                $r = array();
    34373439                wp_parse_str( $args, $r );
     3440        }
    34383441
     3442
    34393443        if ( is_array( $defaults ) )
    34403444                return array_merge( $defaults, $r );
    34413445        return $r;
  • 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        }