X-Git-Url: https://git.cyclocoop.org/?a=blobdiff_plain;f=www%2Fplugins%2Fcrayons%2Finc%2Fcrayons-json.php;fp=www%2Fplugins%2Fcrayons%2Finc%2Fcrayons-json.php;h=5311c5e722f18f4bbdb8fe8a5b0af3ecb4c1b45f;hb=39f8b2ffa1fd0a3c67d6c74ed0fee9af296ccbb8;hp=0000000000000000000000000000000000000000;hpb=65eb21b34b55f850024ccda121bb96c73be4309f;p=lhc%2Fweb%2Fclavette_www.git diff --git a/www/plugins/crayons/inc/crayons-json.php b/www/plugins/crayons/inc/crayons-json.php new file mode 100644 index 0000000..5311c5e --- /dev/null +++ b/www/plugins/crayons/inc/crayons-json.php @@ -0,0 +1,93 @@ + $elt) { + $ret .= $sep . '"' . $key . '":' . crayons_var2js($elt); + $sep = ','; + } + return $ret ."}"; + } else { + $ret = '['; + foreach ($var as $elt) { + $ret .= $sep . crayons_var2js($elt); + $sep = ','; + } + return $ret ."]"; + } + } + return false; +} + +// Un json_encode qui marche en iso (la spec JSON exige utf-8) +function crayons_json_encode($v) { + if ($GLOBALS['meta']['charset'] == 'utf-8' + AND function_exists('json_encode')) + return json_encode($v); + + $v = crayons_var2js($v); + + if ($GLOBALS['meta']['charset'] != 'utf-8') { + include_spip('inc/charsets'); + $v = charset2unicode($v); + } + + return $v; +} + +// http://doc.spip.org/@json_export +function crayons_json_export($var) { + return crayons_json_encode($var); + +/// Il semble que ce hack n'ait plus lieu d'etre avec jquery 1.5 +/* + // flag indiquant qu'on est en iframe et qu'il faut proteger nos + // donnees dans un "; + else + return $var; +*/ +} + +?>