|
@@ -16,6 +16,9 @@ class Parse
|
|
|
$doc->log(new Log($project));
|
|
|
$data = $doc->get();
|
|
|
if ($data) {
|
|
|
+ if (!is_array($data) && !is_object($data)) {
|
|
|
+ $data = Dever::json_decode($data);
|
|
|
+ }
|
|
|
foreach ($data as $k => $v) {
|
|
|
$this->data[$k] = $this->load($doc, $v, $col, $project);
|
|
|
}
|
|
@@ -30,7 +33,7 @@ class Parse
|
|
|
|
|
|
private function load($doc, $data, $col, $project)
|
|
|
{
|
|
|
- $result = array();
|
|
|
+ $result = $table = array();
|
|
|
foreach ($col as $v) {
|
|
|
$callback = false;
|
|
|
if (strpos($v['key'], '.') !== false) {
|
|
@@ -43,14 +46,21 @@ class Parse
|
|
|
break;
|
|
|
}
|
|
|
if ($callback) {
|
|
|
- $value = Dever::{$callback}($value);
|
|
|
+ if (function_exists($callback)) {
|
|
|
+ $value = $callback($value);
|
|
|
+ } else {
|
|
|
+ $value = Dever::{$callback}($value);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
$result[$v['key']] = $value;
|
|
|
+ if (Dever::input('test') == 1) {
|
|
|
+ $table[$v['name']] = $value;
|
|
|
+ }
|
|
|
}
|
|
|
if (Dever::input('test') == 1) {
|
|
|
$doc->outLog();
|
|
|
- print_r(Dever::table($result));die;
|
|
|
+ print_r(Dever::table($table));die;
|
|
|
}
|
|
|
$this->update($result, $project);
|
|
|
return $result;
|