From 4c28d9c34f5f3e5ccbbed6dbb0ba08bc5235b53b Mon Sep 17 00:00:00 2001 From: ftimme <ft@falkotimme.com> Date: Thu, 10 May 2012 12:24:12 -0400 Subject: [PATCH] - Added global search (FS#2210, FS#2146). --- interface/lib/classes/functions.inc.php | 40 ++++++++++++++++++++++++++++++++++++++++ 1 files changed, 40 insertions(+), 0 deletions(-) diff --git a/interface/lib/classes/functions.inc.php b/interface/lib/classes/functions.inc.php index b744e35..2fe7191 100644 --- a/interface/lib/classes/functions.inc.php +++ b/interface/lib/classes/functions.inc.php @@ -109,6 +109,46 @@ return $url; } + function json_encode($data) { + if(!function_exists('json_encode')){ + switch ($type = gettype($data)){ + case 'NULL': + return 'null'; + case 'boolean': + return ($data ? 'true' : 'false'); + case 'integer': + case 'double': + case 'float': + return $data; + case 'string': + return '"' . addslashes($data) . '"'; + case 'object': + $data = get_object_vars($data); + case 'array': + $output_index_count = 0; + $output_indexed = array(); + $output_associative = array(); + foreach($data as $key => $value){ + $output_indexed[] = $this->json_encode($value); + $output_associative[] = $this->json_encode($key) . ':' . $this->json_encode($value); + if($output_index_count !== NULL && $output_index_count++ !== $key){ + $output_index_count = NULL; + } + } + if($output_index_count !== NULL){ + return '[' . implode(',', $output_indexed) . ']'; + } else { + return '{' . implode(',', $output_associative) . '}'; + } + default: + return ''; // Not supported + } + } else { + return json_encode($data); + } + } + + } -- Gitblit v1.9.1