Changeset 6064
- Timestamp:
- 09/08/2007 02:27:24 PM (17 years ago)
- Location:
- trunk/wp-includes
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/wp-includes/compat.php
r5999 r6064 106 106 107 107 // from php.net (modified by Mark Jaquith to behave like the native PHP5 function) 108 function _http_build_query($data, $prefix=null, $sep=null, $key='' ) {108 function _http_build_query($data, $prefix=null, $sep=null, $key='', $urlencode=true) { 109 109 $ret = array(); 110 if ( $urlencode ) { 111 $lsb = '%5B'; 112 $rsb = '%5D'; 113 } else { 114 $lsb = '['; 115 $rsb = ']'; 116 } 110 117 foreach ( (array) $data as $k => $v ) { 111 $k = urlencode($k); 118 if ( $urlencode) 119 $k = urlencode($k); 112 120 if ( is_int($k) && $prefix != null ) 113 121 $k = $prefix.$k; 114 122 if ( !empty($key) ) 115 123 $k = $key . '%5B' . $k . '%5D'; 116 117 124 if ( $v === NULL ) 118 125 continue; … … 121 128 122 129 if ( is_array($v) || is_object($v) ) 123 array_push($ret,_http_build_query($v, '', $sep, $k)); 130 array_push($ret,_http_build_query($v, '', $sep, $k, $urlencode)); 131 elseif ( $urlencode ) 132 array_push($ret, $k.'='.urlencode($v)); 124 133 else 125 array_push($ret, $k.'='. urlencode($v));126 134 array_push($ret, $k.'='.$v); 135 } 127 136 128 137 if ( NULL === $sep ) -
trunk/wp-includes/functions.php
r6057 r6064 582 582 } 583 583 584 function build_query($data) { 585 return _http_build_query($data, NULL, '&', '', false); 586 } 587 584 588 /* 585 589 add_query_arg: Returns a modified querystring by adding … … 636 640 637 641 wp_parse_str($query, $qs); 642 $qs = urlencode_deep($qs); // this re-URL-encodes things that were already in the query string 638 643 if ( is_array(func_get_arg(0)) ) { 639 644 $kayvees = func_get_arg(0); … … 648 653 } 649 654 650 if ( ini_get('arg_separator.output') === '&') 651 $ret = http_build_query($qs, '', '&'); 652 else 653 $ret = _http_build_query($qs, NULL, '&'); 655 $ret = build_query($qs); 654 656 $ret = trim($ret, '?'); 655 657 $ret = preg_replace('#=(&|$)#', '$1', $ret);
Note: See TracChangeset
for help on using the changeset viewer.