mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-05-11 04:52:14 +09:00
issue 2740 rollback json_encode2 function (Because in other feature error )
git-svn-id: http://xe-core.googlecode.com/svn/branches/maserati@12383 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
e0e6cdd1b2
commit
8327266214
2 changed files with 47 additions and 1 deletions
|
|
@ -1109,7 +1109,39 @@ function detectUTF8($string, $return_convert = false, $urldecode = true)
|
||||||
*/
|
*/
|
||||||
function json_encode2($data)
|
function json_encode2($data)
|
||||||
{
|
{
|
||||||
return json_encode($data);
|
switch (gettype($data))
|
||||||
|
{
|
||||||
|
case 'boolean':
|
||||||
|
return $data?'true':'false';
|
||||||
|
case 'integer':
|
||||||
|
case 'double':
|
||||||
|
return $data;
|
||||||
|
case 'string':
|
||||||
|
return '"'.strtr($data, array('\\'=>'\\\\','"'=>'\\"')).'"';
|
||||||
|
case 'object':
|
||||||
|
$data = get_object_vars($data);
|
||||||
|
case 'array':
|
||||||
|
$rel = false; // relative array?
|
||||||
|
$key = array_keys($data);
|
||||||
|
foreach($key as $v)
|
||||||
|
{
|
||||||
|
if(!is_int($v))
|
||||||
|
{
|
||||||
|
$rel = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$arr = array();
|
||||||
|
foreach ($data as $k=>$v)
|
||||||
|
{
|
||||||
|
$arr[] = ($rel?'"'.strtr($k, array('\\'=>'\\\\','"'=>'\\"')).'":':'').json_encode2($v);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $rel?'{'.join(',', $arr).'}':'['.join(',', $arr).']';
|
||||||
|
default:
|
||||||
|
return '""';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -290,6 +290,13 @@ class counterModel extends counter
|
||||||
$date = date('Ymd');
|
$date = date('Ymd');
|
||||||
$output = $this->getHourlyStatus('week', $date);
|
$output = $this->getHourlyStatus('week', $date);
|
||||||
|
|
||||||
|
$tmp = array();
|
||||||
|
foreach($output->list AS $key=>$value)
|
||||||
|
{
|
||||||
|
$tmp["'".$key."'"] = $value;
|
||||||
|
}
|
||||||
|
$output->list = $tmp;
|
||||||
|
|
||||||
$this->add('data', $output);
|
$this->add('data', $output);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -298,6 +305,13 @@ class counterModel extends counter
|
||||||
$date = date('Ymd');
|
$date = date('Ymd');
|
||||||
$output = $this->getHourlyStatus('week', $date, 0, true);
|
$output = $this->getHourlyStatus('week', $date, 0, true);
|
||||||
|
|
||||||
|
$tmp = array();
|
||||||
|
foreach($output->list AS $key=>$value)
|
||||||
|
{
|
||||||
|
$tmp["'".$key."'"] = $value;
|
||||||
|
}
|
||||||
|
$output->list = $tmp;
|
||||||
|
|
||||||
$this->add('data', $output);
|
$this->add('data', $output);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue