summaryrefslogtreecommitdiffstats
path: root/codebase/base_connector.php
diff options
context:
space:
mode:
Diffstat (limited to 'codebase/base_connector.php')
-rw-r--r--codebase/base_connector.php18
1 files changed, 15 insertions, 3 deletions
diff --git a/codebase/base_connector.php b/codebase/base_connector.php
index 850f6d7..ac25b00 100644
--- a/codebase/base_connector.php
+++ b/codebase/base_connector.php
@@ -448,7 +448,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();
}
@@ -578,10 +578,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)){
@@ -732,6 +736,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."'";