[SPIP][PLUGINS] v3.0-->v3.2
[lhc/web/www.git] / www / ecrire / inc / json.php
index 49cce51..77837be 100644 (file)
@@ -3,40 +3,44 @@
 /***************************************************************************\
  *  SPIP, Systeme de publication pour l'internet                           *
  *                                                                         *
- *  Copyright (c) 2001-2016                                                *
+ *  Copyright (c) 2001-2017                                                *
  *  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--) {
@@ -49,35 +53,37 @@ function var2js($var) {
                                        $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>".spip_htmlspecialchars($var)."</textarea>";
-       else
+       if (defined('FILE_UPLOAD')) {
+               return '<textarea>' . spip_htmlspecialchars($var) . '</textarea>';
+       } else {
                return $var;
+       }
 }
-
-
-
-?>