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/base_connector.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/base_connector.php')
-rw-r--r-- | codebase/base_connector.php | 28 |
1 files changed, 24 insertions, 4 deletions
diff --git a/codebase/base_connector.php b/codebase/base_connector.php index 5b4534f..ab11cb5 100644 --- a/codebase/base_connector.php +++ b/codebase/base_connector.php @@ -445,7 +445,7 @@ class Connector { public function render_array($data, $id, $fields, $extra=false, $relation_id=false){ $this->configure("-",$id,$fields,$extra,$relation_id); - $this->sql = new ArrayDBDataWrapper($data, null); + $this->sql = new ArrayDBDataWrapper($data, $this->config); return $this->render(); } @@ -475,7 +475,8 @@ class Connector { $this->event->trigger("onInit", $this); EventMaster::trigger_static("connectorInit",$this); - $this->parse_request(); + if (!$this->as_string) + $this->parse_request(); $this->set_relation(); if ($this->live_update !== false && $this->updating!==false) { @@ -550,6 +551,13 @@ class Connector { $this->limit = $limit; } + + public function limit($start, $count, $sort_field=false, $sort_dir=false){ + $this->request->set_limit($start, $count); + if ($sort_field) + $this->request->set_sort($sort_field, $sort_dir); + } + protected function parse_request_mode(){ //detect edit mode if (isset($_GET["editing"])){ @@ -567,10 +575,14 @@ class Connector { protected function parse_request(){ //set default dyn. loading params, can be reset in child classes if ($this->dload) - $this->request->set_limit(0,$this->dload); + $this->request->set_limit(0,$this->dload); else if ($this->limit) $this->request->set_limit(0,$this->limit); - + + if (isset($_GET["posStart"]) && isset($_GET["count"])) { + $this->request->set_limit($_GET["posStart"],$_GET["count"]); + } + $this->parse_request_mode(); if ($this->live_update && ($this->updating || $this->editing)){ @@ -721,6 +733,14 @@ class Connector { */ protected function xml_start(){ $attributes = ""; + + if ($this->dload){ + //info for dyn. loadin + if ($pos=$this->request->get_start()) + $attributes .= " pos='".$pos."'"; + else + $attributes .= " total_count='".$this->sql->get_size($this->request)."'"; + } foreach($this->attributes as $k=>$v) $attributes .= " ".$k."='".$v."'"; |