WordPress 3.5.1-scripts
[autoinstalls/wordpress.git] / wp-includes / compat.php
index e84ba3c97d9d6cc9dbaca4a8c5badc06f50a85af..cb2a5597c8cde15867682100cfbf507a2016bc6d 100644 (file)
@@ -60,3 +60,37 @@ function _hash_hmac($algo, $data, $key, $raw_output = false) {
                return pack( $pack, $hmac );
        return $hmac;
 }
+
+if ( !function_exists('json_encode') ) {
+       function json_encode( $string ) {
+               global $wp_json;
+
+               if ( !is_a($wp_json, 'Services_JSON') ) {
+                       require_once( ABSPATH . WPINC . '/class-json.php' );
+                       $wp_json = new Services_JSON();
+               }
+
+               return $wp_json->encodeUnsafe( $string );
+       }
+}
+
+if ( !function_exists('json_decode') ) {
+       function json_decode( $string, $assoc_array = false ) {
+               global $wp_json;
+
+               if ( !is_a($wp_json, 'Services_JSON') ) {
+                       require_once( ABSPATH . WPINC . '/class-json.php' );
+                       $wp_json = new Services_JSON();
+               }
+
+               $res = $wp_json->decode( $string );
+               if ( $assoc_array )
+                       $res = _json_decode_object_helper( $res );
+               return $res;
+       }
+       function _json_decode_object_helper($data) {
+               if ( is_object($data) )
+                       $data = get_object_vars($data);
+               return is_array($data) ? array_map(__FUNCTION__, $data) : $data;
+       }
+}