summaryrefslogtreecommitdiffstats
path: root/codebase/TreeConnector.php
diff options
context:
space:
mode:
authorKirylka <kirylanoshko@gmail.com>2015-03-31 17:56:47 +0300
committerKirylka <kirylanoshko@gmail.com>2015-03-31 17:56:47 +0300
commitf5f99c335707d9b11d40f1eb0f6ddb5a993fd31a (patch)
treed9c0d3532ec9f0f2fb68e31d2611282ae0642181 /codebase/TreeConnector.php
parent458f0aead573842f1df00ce2ae00334c27f66585 (diff)
downloadconnector-php-f5f99c335707d9b11d40f1eb0f6ddb5a993fd31a.zip
connector-php-f5f99c335707d9b11d40f1eb0f6ddb5a993fd31a.tar.gz
connector-php-f5f99c335707d9b11d40f1eb0f6ddb5a993fd31a.tar.bz2
Creating a new connector for yii2.
Diffstat (limited to 'codebase/TreeConnector.php')
-rw-r--r--codebase/TreeConnector.php63
1 files changed, 63 insertions, 0 deletions
diff --git a/codebase/TreeConnector.php b/codebase/TreeConnector.php
new file mode 100644
index 0000000..b01e399
--- /dev/null
+++ b/codebase/TreeConnector.php
@@ -0,0 +1,63 @@
+<?php
+
+namespace DHTMLX\Connector;
+
+class TreeConnector extends Connector
+{
+ protected $parent_name = 'id';
+ public $rootId = "0";
+
+ /*! constructor
+
+ Here initilization of all Masters occurs, execution timer initialized
+ @param res
+ db connection resource
+ @param type
+ string , which hold type of database ( MySQL or Postgre ), optional, instead of short DB name, full name of DataWrapper-based class can be provided
+ @param item_type
+ name of class, which will be used for item rendering, optional, DataItem will be used by default
+ @param data_type
+ name of class which will be used for dataprocessor calls handling, optional, DataProcessor class will be used by default.
+ * @param render_type
+ * name of class which will provides data rendering
+ */
+ public function __construct($res, $type = false, $item_type = false, $data_type = false, $render_type = false)
+ {
+ if (!$item_type) $item_type = "TreeDataItem";
+ if (!$data_type) $data_type = "TreeDataProcessor";
+ if (!$render_type) $render_type = "TreeRenderStrategy";
+ parent::__construct($res, $type, $item_type, $data_type, $render_type);
+ }
+
+ //parse GET scoope, all operations with incoming request must be done here
+ public function parse_request()
+ {
+ parent::parse_request();
+
+ if (isset($_GET[$this->parent_name]))
+ $this->request->set_relation($_GET[$this->parent_name]);
+ else
+ $this->request->set_relation($this->rootId);
+
+ $this->request->set_limit(0, 0); //netralize default reaction on dyn. loading mode
+ }
+
+ /*! renders self as xml, starting part
+ */
+ public function xml_start()
+ {
+ $attributes = "";
+ foreach ($this->attributes as $k => $v)
+ $attributes .= " " . $k . "='" . $v . "'";
+
+ return "<tree id='" . $this->request->get_relation() . "'" . $attributes . ">";
+ }
+
+ /*! renders self as xml, ending part
+ */
+ public function xml_end()
+ {
+ $this->fill_collections();
+ return $this->extra_output . "</tree>";
+ }
+}