--- a/includes/comment.php Sat May 30 14:46:57 2009 -0400
+++ b/includes/comment.php Sun May 31 23:26:05 2009 -0400
@@ -65,7 +65,7 @@
/**
* Processes a command in JSON format.
- * @param string The JSON-encoded input, probably something sent from the Javascript/AJAX frontend
+ * @param mixed Either the JSON-encoded input string, probably something sent from the Javascript/AJAX frontend, or an equivalent array
*/
function process_json($json)
@@ -73,8 +73,17 @@
global $db, $session, $paths, $template, $plugins; // Common objects
global $lang;
- $data = enano_json_decode($json);
- $data = decode_unicode_array($data);
+ $is_json = !is_array($json);
+
+ if ( $is_json )
+ {
+ $data = enano_json_decode($json);
+ $data = decode_unicode_array($data);
+ }
+ else
+ {
+ $data =& $json;
+ }
if ( !isset($data['mode']) )
{
$ret = Array('mode'=>'error','error'=>'No mode defined!');
@@ -442,7 +451,9 @@
);
break;
}
- echo enano_json_encode($ret);
+ if ( $is_json )
+ echo enano_json_encode($ret);
+
return $ret;
}