/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
- * Copyright (c) 2001-2012 *
+ * Copyright (c) 2001-2019 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
\***************************************************************************/
-if (!defined('_ECRIRE_INC_VERSION')) return;
+if (!defined('_ECRIRE_INC_VERSION')) {
+ return;
+}
// Les fonctions de toggg pour faire du JSON
/**
* Transform a variable into its javascript equivalent (recursive)
+ *
* @access private
* @param mixed the variable
* @return string js script | boolean false if error
*/
-// http://doc.spip.org/@var2js
+// http://code.spip.net/@var2js
function var2js($var) {
$asso = false;
switch (true) {
- case is_null($var) :
+ case is_null($var):
return 'null';
- case is_string($var) :
- return '"' .addcslashes($var, "\"\\\n\r/") . '"';
- case is_bool($var) :
+ case is_string($var):
+ return '"' . addcslashes($var, "\"\\\n\r/") . '"';
+ case is_bool($var):
return $var ? 'true' : 'false';
- case is_scalar($var) :
+ case is_scalar($var):
return (string)$var;
- case is_object( $var) :
+ case is_object($var):// blam
$var = get_object_vars($var);
$asso = true;
- case is_array($var) :
+ // $var devient un array, on continue
+ case is_array($var):
$keys = array_keys($var);
$ikey = count($keys);
while (!$asso && $ikey--) {
$ret .= $sep . '"' . $key . '":' . var2js($elt);
$sep = ',';
}
- return $ret ."}";
+
+ return $ret . '}';
} else {
$ret = '[';
foreach ($var as $elt) {
$ret .= $sep . var2js($elt);
$sep = ',';
}
- return $ret ."]";
+
+ return $ret . ']';
}
}
+
return false;
}
-if(!function_exists('json_encode')) {
- function json_encode($v) { return var2js($v); }
+if (!function_exists('json_encode')) {
+ function json_encode($v) {
+ return var2js($v);
+ }
}
-// http://doc.spip.org/@json_export
+// http://code.spip.net/@json_export
function json_export($var) {
$var = json_encode($var);
// flag indiquant qu'on est en iframe et qu'il faut proteger nos
// donnees dans un <textarea> ; attention $_FILES a ete vide par array_pop
- if (defined('FILE_UPLOAD'))
- return "<textarea>".htmlspecialchars($var)."</textarea>";
- else
+ if (defined('FILE_UPLOAD')) {
+ return '<textarea>' . spip_htmlspecialchars($var) . '</textarea>';
+ } else {
return $var;
+ }
}
-
-
-
-?>