summaryrefslogtreecommitdiffstats
path: root/codebase/connector/treegroup_connector.php
diff options
context:
space:
mode:
Diffstat (limited to 'codebase/connector/treegroup_connector.php')
-rw-r--r--codebase/connector/treegroup_connector.php46
1 files changed, 46 insertions, 0 deletions
diff --git a/codebase/connector/treegroup_connector.php b/codebase/connector/treegroup_connector.php
new file mode 100644
index 0000000..5266d0b
--- /dev/null
+++ b/codebase/connector/treegroup_connector.php
@@ -0,0 +1,46 @@
+<?php
+/*
+ @author dhtmlx.com
+ @license GPL, see license.txt
+*/
+require_once("tree_connector.php");
+
+class TreeGroupConnector extends TreeConnector{
+
+ public function __construct($res,$type=false,$item_type=false,$data_type=false,$render_type=false){
+ if (!$render_type) $render_type="GroupRenderStrategy";
+ parent::__construct($res,$type,$item_type,$data_type,$render_type);
+ }
+
+ /*! if not isset $_GET[id] then it's top level
+ */
+ protected function set_relation() {
+ if (!isset($_GET[$this->parent_name])) $this->request->set_relation(false);
+ }
+
+ /*! if it's first level then distinct level
+ * else select by parent
+ */
+ protected function get_resource() {
+ $resource = null;
+ if (isset($_GET[$this->parent_name]))
+ $resource = $this->sql->select($this->request);
+ else
+ $resource = $this->sql->get_variants($this->config->relation_id['name'], $this->request);
+ return $resource;
+ }
+
+
+ /*! renders self as xml, starting part
+ */
+ public function xml_start(){
+ if (isset($_GET[$this->parent_name])) {
+ return "<tree id='".$_GET[$this->parent_name].$this->render->get_postfix()."'>";
+ } else {
+ return "<tree id='0'>";
+ }
+ }
+
+}
+
+?> \ No newline at end of file