WordPress.org

Make WordPress Core

Ticket #11102: 11102.diff

File 11102.diff, 1021 bytes (added by dd32, 9 years ago)
  • wp-includes/wp-db.php

     
    557557        function prepare($query = null) { // ( $query, *$args )
    558558                if ( is_null( $query ) )
    559559                        return;
    560                 $args = func_get_args();
    561                 array_shift($args);
    562                 // If args were passed as an array (as in vsprintf), move them up
    563                 if ( isset($args[0]) && is_array($args[0]) )
    564                         $args = $args[0];
     560                $_args = func_get_args();
     561                array_shift($_args);
     562                $args = array();
     563                // If any args were passed as arrays, merge them inline.
     564                foreach ( $_args as $arg ) {
     565                        if ( is_array($arg) )
     566                                $args = array_merge($args, $arg);
     567                        else
     568                                $args[] = $arg;
     569                }
    565570                $query = str_replace("'%s'", '%s', $query); // in case someone mistakenly already singlequoted it
    566571                $query = str_replace('"%s"', '%s', $query); // doublequote unquoting
    567572                $query = str_replace('%s', "'%s'", $query); // quote the strings