diff options
author | Dmitry <dmitry@dhtmlx.com> | 2012-05-22 19:04:01 +0200 |
---|---|---|
committer | Dmitry <dmitry@dhtmlx.com> | 2012-05-22 19:04:01 +0200 |
commit | 4e0e9848fd20129ccf6514917ef9eb72f2aa11e5 (patch) | |
tree | e4d72bdc71a407dc6f5942d512c175866a0836e9 /codebase | |
parent | 599f673d49d93d6e4726a90cd0675f3742a86aa7 (diff) | |
download | connector-php-4e0e9848fd20129ccf6514917ef9eb72f2aa11e5.zip connector-php-4e0e9848fd20129ccf6514917ef9eb72f2aa11e5.tar.gz connector-php-4e0e9848fd20129ccf6514917ef9eb72f2aa11e5.tar.bz2 |
fix crosslink connector
Diffstat (limited to 'codebase')
-rw-r--r-- | codebase/base_connector.php | 2 | ||||
-rw-r--r-- | codebase/crosslink_connector.php | 14 | ||||
-rw-r--r-- | codebase/strategy.php | 32 |
3 files changed, 29 insertions, 19 deletions
diff --git a/codebase/base_connector.php b/codebase/base_connector.php index 8890a68..c4cbb5d 100644 --- a/codebase/base_connector.php +++ b/codebase/base_connector.php @@ -569,7 +569,7 @@ class Connector { process commands, output requested data as XML */ protected function render_set($res){ - return $this->render->render_set($res, $this->names["item_class"], $this->dload, $this->data_separator); + return $this->render->render_set($res, $this->names["item_class"], $this->dload, $this->data_separator, $this->config); } /*! output fetched data as XML diff --git a/codebase/crosslink_connector.php b/codebase/crosslink_connector.php index f92d0c5..3bd2d2c 100644 --- a/codebase/crosslink_connector.php +++ b/codebase/crosslink_connector.php @@ -3,6 +3,8 @@ @author dhtmlx.com @license GPL, see license.txt */ +require_once("crosslink_connector.php"); + class DelayedConnector extends Connector{ protected $init_flag=false;//!< used to prevent rendering while initialization private $data_mode=false;//!< flag to separate xml and data request modes @@ -120,4 +122,16 @@ class CrossOptionsConnector extends Connector{ } } + +class JSONCrossOptionsConnector extends CrossOptionsConnector{ + public $options, $link; + private $master_name, $link_name, $master_value; + + public function __construct($res,$type=false,$item_type=false,$data_type=false){ + $this->options = new JSONOptionsConnector($res,$type,$item_type,$data_type); + $this->link = new DelayedConnector($res,$type,$item_type,$data_type); + + EventMaster::attach_static("connectorInit",array($this, "handle")); + } +} ?>
\ No newline at end of file diff --git a/codebase/strategy.php b/codebase/strategy.php index 5f02cf0..329f722 100644 --- a/codebase/strategy.php +++ b/codebase/strategy.php @@ -13,13 +13,13 @@ class RenderStrategy { DB resultset process commands, output requested data as XML */ - public function render_set($res, $name, $dload, $sep){ + public function render_set($res, $name, $dload, $sep, $config){ $output=""; $index=0; $conn = $this->conn; - $conn->event->trigger("beforeRenderSet",$conn,$res,$conn->get_config()); + $conn->event->trigger("beforeRenderSet",$conn,$res,$config); while ($data=$conn->sql->get_next($res)){ - $data = new $name($data,$conn->get_config(),$index); + $data = new $name($data,$config,$index); if ($data->get_id()===false) $data->set_id($conn->uuid()); $conn->event->trigger("beforeRender",$data); @@ -38,13 +38,13 @@ class JSONRenderStrategy extends RenderStrategy { DB resultset process commands, output requested data as json */ - public function render_set($res, $name, $dload, $sep){ + public function render_set($res, $name, $dload, $sep, $config){ $output=array(); $index=0; $conn = $this->conn; - $conn->event->trigger("beforeRenderSet",$conn,$res,$conn->get_config()); + $conn->event->trigger("beforeRenderSet",$conn,$res,$config); while ($data=$conn->sql->get_next($res)){ - $data = new $name($data,$conn->get_config(),$index); + $data = new $name($data,$config,$index); if ($data->get_id()===false) $data->set_id($conn->uuid()); $conn->event->trigger("beforeRender",$data); @@ -66,12 +66,12 @@ class TreeRenderStrategy extends RenderStrategy { $conn->event->attach("beforeProcessing",array($this,"parent_id_correction_b")); } - public function render_set($res, $name, $dload, $sep){ + public function render_set($res, $name, $dload, $sep, $config){ $output=""; $index=0; $conn = $this->conn; while ($data=$conn->sql->get_next($res)){ - $data = new $name($data,$conn->get_config(),$index); + $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, @@ -115,12 +115,12 @@ class TreeRenderStrategy extends RenderStrategy { class JSONTreeRenderStrategy extends TreeRenderStrategy { - public function render_set($res, $name, $dload, $sep){ + public function render_set($res, $name, $dload, $sep, $config){ $output=array(); $index=0; $conn = $this->conn; while ($data=$conn->sql->get_next($res)){ - $data = new $name($data,$conn->get_config(),$index); + $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, @@ -160,11 +160,10 @@ class MultitableTreeRenderStrategy extends TreeRenderStrategy { $this->sep = $sep; } - public function render_set($res, $name, $dload, $sep){ + public function render_set($res, $name, $dload, $sep, $config){ $output=""; $index=0; $conn = $this->conn; - $config = $conn->get_config(); while ($data=$conn->sql->get_next($res)){ $data[$config->id['name']] = $this->level_id($data[$config->id['name']]); $data = new $name($data,$config,$index); @@ -259,11 +258,10 @@ class MultitableTreeRenderStrategy extends TreeRenderStrategy { class JSONMultitableTreeRenderStrategy extends MultitableTreeRenderStrategy { - public function render_set($res, $name, $dload, $sep){ + public function render_set($res, $name, $dload, $sep, $config){ $output=array(); $index=0; $conn = $this->conn; - $config = $conn->get_config(); while ($data=$conn->sql->get_next($res)){ $data[$config->id['name']] = $this->level_id($data[$config->id['name']]); $data = new $name($data,$config,$index); @@ -295,11 +293,10 @@ class GroupRenderStrategy extends RenderStrategy { $conn->event->attach("onInit", Array($this, 'replace_postfix')); } - public function render_set($res, $name, $dload, $sep){ + public function render_set($res, $name, $dload, $sep, $config){ $output=""; $index=0; $conn = $this->conn; - $config = $conn->get_config(); while ($data=$conn->sql->get_next($res)){ if (isset($data[$config->id['name']])) { $has_kids = false; @@ -362,11 +359,10 @@ class GroupRenderStrategy extends RenderStrategy { class JSONGroupRenderStrategy extends GroupRenderStrategy { - public function render_set($res, $name, $dload, $sep){ + public function render_set($res, $name, $dload, $sep, $config){ $output=array(); $index=0; $conn = $this->conn; - $config = $conn->get_config(); while ($data=$conn->sql->get_next($res)){ if (isset($data[$config->id['name']])) { $has_kids = false; |