c18868bdbee4ffb31a0d2cbc82b65655a44beb5f
3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
6 * Copyright (c) 2001-2019 *
7 * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
9 * Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
10 * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
11 \***************************************************************************/
13 if (!defined('_ECRIRE_INC_VERSION')) {
17 // Les fonctions de toggg pour faire du JSON
20 * Transform a variable into its javascript equivalent (recursive)
23 * @param mixed the variable
24 * @return string js script | boolean false if error
27 // http://code.spip.net/@var2js
28 function var2js($var) {
34 return '"' . addcslashes($var, "\"\\\n\r/") . '"';
36 return $var ?
'true' : 'false';
39 case is_object($var):// blam
40 $var = get_object_vars($var);
42 // $var devient un array, on continue
44 $keys = array_keys($var);
46 while (!$asso && $ikey--) {
47 $asso = $ikey !== $keys[$ikey];
52 foreach ($var as $key => $elt) {
53 $ret .= $sep . '"' . $key . '":' . var2js($elt);
60 foreach ($var as $elt) {
61 $ret .= $sep . var2js($elt);
72 if (!function_exists('json_encode')) {
73 function json_encode($v) {
78 // http://code.spip.net/@json_export
79 function json_export($var) {
80 $var = json_encode($var);
82 // flag indiquant qu'on est en iframe et qu'il faut proteger nos
83 // donnees dans un <textarea> ; attention $_FILES a ete vide par array_pop
84 if (defined('FILE_UPLOAD')) {
85 return '<textarea>' . spip_htmlspecialchars($var) . '</textarea>';