$v ) { if ( $urlencode) { $k = urlencode( $k ); } if ( is_int( $k ) && $prefix != null ) { $k = $prefix.$k; } if ( !empty( $key ) ) { $k = $key . '%5B' . $k . '%5D'; } if ( $v === NULL ) { continue; } elseif ( $v === FALSE ) { $v = '0'; } if ( is_array( $v ) || is_object( $v ) ) { array_push( $ret, _http_build_query( $v, '', $sep, $k, $urlencode ) ); } elseif ( $urlencode ) { array_push( $ret, $k . '=' . urlencode( $v ) ); } else { array_push( $ret, $k . '=' . $v ); } } if ( NULL === $sep ) { $sep = ini_get( 'arg_separator.output' ); } return implode( $sep, $ret ); } } if ( !function_exists( '_' ) ) { // Alias of gettext() - requires l10n functions function _( $string ) { return $string; } } if ( !function_exists( 'stripos' ) ) { // Added in PHP 5.0.0 function stripos( $haystack, $needle, $offset = 0 ) { return strpos( strtolower( $haystack ), strtolower( $needle ), $offset ); } } if ( !function_exists( 'hash_hmac' ) ) { // Added in PHP 5.1.2 function hash_hmac( $algo, $data, $key, $raw_output = false ) { $packs = array( 'md5' => 'H32', 'sha1' => 'H40' ); if ( !isset( $packs[$algo] ) ) { return false; } $pack = $packs[$algo]; if ( strlen( $key ) > 64 ) { $key = pack( $pack, $algo( $key ) ); } elseif ( strlen($key) < 64 ) { $key = str_pad( $key, 64, chr( 0 ) ); } $ipad = ( substr( $key, 0, 64 ) ^ str_repeat( chr( 0x36 ), 64 ) ); $opad = ( substr( $key, 0, 64 ) ^ str_repeat( chr( 0x5C ), 64 ) ); return $algo( $opad . pack( $pack, $algo ( $ipad . $data ) ) ); } } if ( !function_exists( 'mb_substr' ) ) { // Requires multi-byte support in PHP function mb_substr( $str, $start, $length = null, $encoding = null ) { return _mb_substr( $str, $start, $length, $encoding ); } } if ( !function_exists( '_mb_substr' ) ) { function _mb_substr( $str, $start, $length = null, $encoding = null ) { // the solution below, works only for utf-8, so in case of a different // charset, just use built-in substr $charset = backpress_get_option( 'charset' ); if ( !in_array( $charset, array( 'utf8', 'utf-8', 'UTF8', 'UTF-8' ) ) ) { return is_null( $length )? substr( $str, $start ) : substr( $str, $start, $length); } // use the regex unicode support to separate the UTF-8 characters into an array preg_match_all( '/./us', $str, $match ); $chars = is_null( $length )? array_slice( $match[0], $start ) : array_slice( $match[0], $start, $length ); return implode( '', $chars ); } } if ( !function_exists( 'htmlspecialchars_decode' ) ) { // Added in PHP 5.1.0 // Error checks from PEAR::PHP_Compat function htmlspecialchars_decode( $str, $quote_style = ENT_COMPAT ) { if ( !is_scalar( $string ) ) { trigger_error( 'htmlspecialchars_decode() expects parameter 1 to be string, ' . gettype( $string ) . ' given', E_USER_WARNING ); return; } if ( !is_int( $quote_style ) && $quote_style !== null ) { trigger_error( 'htmlspecialchars_decode() expects parameter 2 to be integer, ' . gettype( $quote_style ) . ' given', E_USER_WARNING ); return; } return wp_specialchars_decode( $str, $quote_style ); } }