diff options
author | Egor <egor.26.93@gmail.com> | 2015-06-11 16:01:20 +0300 |
---|---|---|
committer | Egor <egor.26.93@gmail.com> | 2015-06-11 16:01:20 +0300 |
commit | 5992398183bf84c87dd4315d1532d10022718e9b (patch) | |
tree | c192dec5f76a7875265659d42dc2a5be22fc319b /codebase/Dhtmlx/Connector/Output/JSONTreeRenderStrategy.php | |
parent | 388e84730286a153c12a77d9f19215f2b74c5c4f (diff) | |
download | connector-php-5992398183bf84c87dd4315d1532d10022718e9b.zip connector-php-5992398183bf84c87dd4315d1532d10022718e9b.tar.gz connector-php-5992398183bf84c87dd4315d1532d10022718e9b.tar.bz2 |
Changed psr-4 structure to psr-0. Added connectors for phpcake, codeigniter frameworks.
Diffstat (limited to 'codebase/Dhtmlx/Connector/Output/JSONTreeRenderStrategy.php')
-rw-r--r-- | codebase/Dhtmlx/Connector/Output/JSONTreeRenderStrategy.php | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/codebase/Dhtmlx/Connector/Output/JSONTreeRenderStrategy.php b/codebase/Dhtmlx/Connector/Output/JSONTreeRenderStrategy.php new file mode 100644 index 0000000..04a8672 --- /dev/null +++ b/codebase/Dhtmlx/Connector/Output/JSONTreeRenderStrategy.php @@ -0,0 +1,39 @@ +<?php +namespace DHTMLX\Connector\Output; + +class JSONTreeRenderStrategy extends TreeRenderStrategy { + + public function render_set($res, $name, $dload, $sep, $config,$mix){ + $output=array(); + $index=0; + $conn = $this->conn; + $config_copy = new DataConfig($config); + $this->mix($config, $mix); + while ($data=$conn->sql->get_next($res)){ + $data = $this->complex_mix($mix, $data); + $data = new $name($data,$config,$index); + $conn->event->trigger("beforeRender",$data); + //there is no info about child elements, + //if we are using dyn. loading - assume that it has, + //in normal mode just exec sub-render routine + if ($data->has_kids()===-1 && $dload) + $data->set_kids(true); + $record = $data->to_xml_start(); + if ($data->has_kids()===-1 || ( $data->has_kids()==true && !$dload)){ + $sub_request = new DataRequestConfig($conn->get_request()); + //$sub_request->set_fieldset(implode(",",$config_copy->db_names_list($conn->sql))); + $sub_request->set_relation($data->get_id()); + //$sub_request->set_filters(array()); + $temp = $this->render_set($conn->sql->select($sub_request), $name, $dload, $sep, $config_copy, $mix); + if (sizeof($temp)) + $record["data"] = $temp; + } + if ($record !== false) + $output[] = $record; + $index++; + } + $this->unmix($config, $mix); + return $output; + } + +}
\ No newline at end of file |