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