00001 <?php
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 class GyroJSON implements IConverter {
00017
00018
00019
00020
00021
00022
00023 public function decode($str, $params = false) {
00024 $ret = false;
00025 if (function_exists('json_decode')) {
00026
00027
00028
00029 $cur_locale = setlocale(LC_NUMERIC, '0');
00030 setlocale(LC_NUMERIC, 'C');
00031 $ret = json_decode($str);
00032 setlocale(LC_NUMERIC, $cur_locale);
00033 return $ret;
00034 }
00035 else {
00036
00037 include_once 'Services/JSON.php';
00038 if (class_exists('Services_JSON')) {
00039 $json = new Services_JSON();
00040 return $json->decode($str);
00041 }
00042 }
00043 throw new Exception(tr('No JSON implementation found', 'ajax'));
00044 }
00045
00046
00047
00048
00049
00050
00051
00052 public function encode($data, $params = false) {
00053 if (function_exists('json_encode')) {
00054
00055
00056
00057 $cur_locale = setlocale(LC_NUMERIC, '0');
00058 setlocale(LC_NUMERIC, 'C');
00059 $ret = json_encode($data);
00060 setlocale(LC_NUMERIC, $cur_locale);
00061 return $ret;
00062 }
00063
00064 include_once 'Services/JSON.php';
00065 if (class_exists('Services_JSON')) {
00066 $json = new Services_JSON();
00067 return $json->encode($str);
00068 }
00069 throw new Exception(tr('No JSON implementation found', 'ajax'));
00070 }
00071 }
00072 ?>