diff options
author | dmitry-radyno <dmitry.radyno@gmail.com> | 2013-09-24 11:49:47 +0300 |
---|---|---|
committer | dmitry-radyno <dmitry.radyno@gmail.com> | 2013-09-24 11:49:47 +0300 |
commit | e8adb5a9ce248e67c523fac807f9ee1bc33bcb7d (patch) | |
tree | 9daeac9008d7feaf017cc82cbfb4685f8a25cd32 /codebase/strategy.php | |
parent | d15f7f2e3b673306b491c5d3d0ed78e73ac616b3 (diff) | |
parent | 351c266ee5165fd2588f96282dcff697c31d6e19 (diff) | |
download | connector-php-e8adb5a9ce248e67c523fac807f9ee1bc33bcb7d.zip connector-php-e8adb5a9ce248e67c523fac807f9ee1bc33bcb7d.tar.gz connector-php-e8adb5a9ce248e67c523fac807f9ee1bc33bcb7d.tar.bz2 |
Merge branch 'master' of 192.168.3.251:connector-php
Diffstat (limited to 'codebase/strategy.php')
-rw-r--r-- | codebase/strategy.php | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/codebase/strategy.php b/codebase/strategy.php index e81e55a..47582a5 100644 --- a/codebase/strategy.php +++ b/codebase/strategy.php @@ -155,6 +155,7 @@ class TreeRenderStrategy extends RenderStrategy { $output=""; $index=0; $conn = $this->conn; + $config_copy = new DataConfig($config); $this->mix($config, $mix); while ($data=$conn->sql->get_next($res)){ $data = $this->simple_mix($mix, $data); @@ -168,8 +169,9 @@ class TreeRenderStrategy extends RenderStrategy { $output.=$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()); - $output.=$this->render_set($conn->sql->select($sub_request), $name, $dload, $sep, $config); + $output.=$this->render_set($conn->sql->select($sub_request), $name, $dload, $sep, $config_copy, $mix); } $output.=$data->to_xml_end(); $index++; @@ -207,6 +209,7 @@ class JSONTreeRenderStrategy extends TreeRenderStrategy { $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); @@ -220,8 +223,10 @@ class JSONTreeRenderStrategy extends TreeRenderStrategy { $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()); - $temp = $this->render_set($conn->sql->select($sub_request), $name, $dload, $sep, $config, $mix); + $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; } |