summaryrefslogtreecommitdiffstats
path: root/codebase/strategy.php
diff options
context:
space:
mode:
authordmitry-radyno <dmitry.radyno@gmail.com>2013-09-24 11:49:47 +0300
committerdmitry-radyno <dmitry.radyno@gmail.com>2013-09-24 11:49:47 +0300
commite8adb5a9ce248e67c523fac807f9ee1bc33bcb7d (patch)
tree9daeac9008d7feaf017cc82cbfb4685f8a25cd32 /codebase/strategy.php
parentd15f7f2e3b673306b491c5d3d0ed78e73ac616b3 (diff)
parent351c266ee5165fd2588f96282dcff697c31d6e19 (diff)
downloadconnector-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.php9
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;
}