From c49a7c4e5a2e3151a852bae13d3c6d4c9b72a3b3 Mon Sep 17 00:00:00 2001 From: TheTroll Date: Mon, 29 Mar 2010 23:58:45 +0200 Subject: Json function in case its not in apache --- bin/utils.php | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/bin/utils.php b/bin/utils.php index 4fe3484..2324032 100644 --- a/bin/utils.php +++ b/bin/utils.php @@ -136,5 +136,50 @@ function isurlvalid($url, $type) return 1; } +if (!function_exists('json_encode')) +{ + function json_encode($a=false) + { + if (is_null($a)) return 'null'; + if ($a === false) return 'false'; + if ($a === true) return 'true'; + if (is_scalar($a)) + { + if (is_float($a)) + { + // Always use "." for floats. + return floatval(str_replace(",", ".", strval($a))); + } + + if (is_string($a)) + { + static $jsonReplaces = array(array("\\", "/", "\n", "\t", "\r", "\b", "\f", '"'), array('\\\\', '\\/', '\\n', '\\t', '\\r', '\\b', '\\f', '\"')); + return '"' . str_replace($jsonReplaces[0], $jsonReplaces[1], $a) . '"'; + } + else + return $a; + } + $isList = true; + for ($i = 0, reset($a); $i < count($a); $i++, next($a)) + { + if (key($a) !== $i) + { + $isList = false; + break; + } + } + $result = array(); + if ($isList) + { + foreach ($a as $v) $result[] = json_encode($v); + return '[' . join(',', $result) . ']'; + } + else + { + foreach ($a as $k => $v) $result[] = json_encode($k).':'.json_encode($v); + return '{' . join(',', $result) . '}'; + } + } +} ?> -- cgit v1.2.3