summaryrefslogtreecommitdiffstats
path: root/samples/tree
diff options
context:
space:
mode:
Diffstat (limited to 'samples/tree')
-rw-r--r--samples/tree/01_basic.html36
-rw-r--r--samples/tree/01_basic_connector.php10
-rw-r--r--samples/tree/01p_basic.html46
-rw-r--r--samples/tree/01p_basic_connector.php19
-rw-r--r--samples/tree/02_dynamic_loading.html38
-rw-r--r--samples/tree/02_dynamic_loading_connector.php11
-rw-r--r--samples/tree/03_sql_config.html36
-rw-r--r--samples/tree/03_sql_config_connector.php10
-rw-r--r--samples/tree/04_custom_styles.html44
-rw-r--r--samples/tree/04_custom_styles_connector.php17
-rw-r--r--samples/tree/05_save.html44
-rw-r--r--samples/tree/05_save_connector.php10
-rw-r--r--samples/tree/06_validation.html51
-rw-r--r--samples/tree/06_validation_connector.php15
-rw-r--r--samples/tree/08_tree_group_connector.html43
-rw-r--r--samples/tree/08_tree_group_connector.php11
-rw-r--r--samples/tree/09_tree_multitable_connector.html64
-rw-r--r--samples/tree/09_tree_multitable_connector.php30
-rw-r--r--samples/tree/index.html33
19 files changed, 568 insertions, 0 deletions
diff --git a/samples/tree/01_basic.html b/samples/tree/01_basic.html
new file mode 100644
index 0000000..7732bf5
--- /dev/null
+++ b/samples/tree/01_basic.html
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+ <title></title>
+ <script>
+ window.dhx_globalImgPath="../common/imgs/";
+ </script>
+
+
+
+<script src="../dhtmlx/dhtmlx.js" type="text/javascript" charset="utf-8"></script>
+<script src="../../codebase/connector.js" type="text/javascript" charset="utf-8"></script>
+<link rel="stylesheet" href="../dhtmlx/dhtmlx.css" type="text/css" charset="utf-8">
+</head>
+<body>
+<div id="treeboxbox_tree" style="width:300; height:218;background-color:#f5f5f5;border :1px solid Silver; "></div>
+<script type="text/javascript" charset="utf-8">
+ tree=new dhtmlXTreeObject("treeboxbox_tree","100%","100%",0);
+ tree.setImagePath("../dhtmlx/tree/");
+ //tree.enableSmartXMLParsing(true);
+ tree.loadXML("01_basic_connector.php");
+</script>
+<div class='code'><code><span style="color: #000000">
+<span style="color: #0000BB">&lt;?php
+<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">require_once(</span><span style="color: #DD0000">"../config.php"</span><span style="color: #007700">);
+<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$res</span><span style="color: #007700">=</span><span style="color: #0000BB">mysql_connect</span><span style="color: #007700">(</span><span style="color: #0000BB">$mysql_server</span><span style="color: #007700">,</span><span style="color: #0000BB">$mysql_user</span><span style="color: #007700">,</span><span style="color: #0000BB">$mysql_pass</span><span style="color: #007700">);
+<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">mysql_select_db</span><span style="color: #007700">(</span><span style="color: #0000BB">$mysql_db</span><span style="color: #007700">);
+<br />
+<br />&nbsp;&nbsp;&nbsp;require(</span><span style="color: #DD0000">"../../codebase/tree_connector.php"</span><span style="color: #007700">);
+<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$tree&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">TreeConnector</span><span style="color: #007700">(</span><span style="color: #0000BB">$res</span><span style="color: #007700">);
+<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$tree</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">enable_log</span><span style="color: #007700">(</span><span style="color: #DD0000">"temp.log"</span><span style="color: #007700">,</span><span style="color: #0000BB">true</span><span style="color: #007700">);
+<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$tree</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">render_table</span><span style="color: #007700">(</span><span style="color: #DD0000">"tasks"</span><span style="color: #007700">,</span><span style="color: #DD0000">"taskId"</span><span style="color: #007700">,</span><span style="color: #DD0000">"taskName"</span><span style="color: #007700">,</span><span style="color: #DD0000">""</span><span style="color: #007700">,</span><span style="color: #DD0000">"parentId"</span><span style="color: #007700">);
+<br /></span><span style="color: #0000BB">?&gt;</span>
+</span>
+</code></div></body>
+</html>
diff --git a/samples/tree/01_basic_connector.php b/samples/tree/01_basic_connector.php
new file mode 100644
index 0000000..57af485
--- /dev/null
+++ b/samples/tree/01_basic_connector.php
@@ -0,0 +1,10 @@
+<?php
+ require_once("../config.php");
+ $res=mysql_connect($mysql_server,$mysql_user,$mysql_pass);
+ mysql_select_db($mysql_db);
+
+ require("../../codebase/tree_connector.php");
+ $tree = new TreeConnector($res);
+//
+ $tree->render_table("tasks","taskId","taskName","","parentId");
+?> \ No newline at end of file
diff --git a/samples/tree/01p_basic.html b/samples/tree/01p_basic.html
new file mode 100644
index 0000000..8b587e0
--- /dev/null
+++ b/samples/tree/01p_basic.html
@@ -0,0 +1,46 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+ <title></title>
+ <script>
+ window.dhx_globalImgPath="../common/imgs/";
+ </script>
+
+
+
+<script src="../dhtmlx/dhtmlx.js" type="text/javascript" charset="utf-8"></script>
+<script src="../../codebase/connector.js" type="text/javascript" charset="utf-8"></script>
+<link rel="stylesheet" href="../dhtmlx/dhtmlx.css" type="text/css" charset="utf-8">
+</head>
+<body>
+ Server side code uses custom code to mark leafs|branches - data generated a lot faster ( about 5x ) than for default sample.
+<div id="treeboxbox_tree" style="width:300; height:218;background-color:#f5f5f5;border :1px solid Silver; "></div>
+<script type="text/javascript" charset="utf-8">
+ tree=new dhtmlXTreeObject("treeboxbox_tree","100%","100%",0);
+ tree.setImagePath("../dhtmlx/tree/");
+ //tree.enableSmartXMLParsing(true);
+ tree.loadXML("01p_basic_connector.php");
+</script>
+<div class='code'><code><span style="color: #000000">
+<span style="color: #0000BB">&lt;?php
+<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">require_once(</span><span style="color: #DD0000">"../config.php"</span><span style="color: #007700">);
+<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$res</span><span style="color: #007700">=</span><span style="color: #0000BB">mysql_connect</span><span style="color: #007700">(</span><span style="color: #0000BB">$mysql_server</span><span style="color: #007700">,</span><span style="color: #0000BB">$mysql_user</span><span style="color: #007700">,</span><span style="color: #0000BB">$mysql_pass</span><span style="color: #007700">);
+<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">mysql_select_db</span><span style="color: #007700">(</span><span style="color: #0000BB">$mysql_db</span><span style="color: #007700">);
+<br />
+<br />function&nbsp;</span><span style="color: #0000BB">child_setter</span><span style="color: #007700">(</span><span style="color: #0000BB">$data</span><span style="color: #007700">){
+<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//the&nbsp;check&nbsp;is&nbsp;kind&nbsp;of&nbsp;lame,&nbsp;in&nbsp;real&nbsp;table&nbsp;you&nbsp;most&nbsp;probably&nbsp;may&nbsp;have&nbsp;some&nbsp;more&nbsp;stable&nbsp;way&nbsp;to&nbsp;detect&nbsp;is&nbsp;item&nbsp;have&nbsp;childs&nbsp;or&nbsp;not
+<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if&nbsp;(</span><span style="color: #0000BB">$data</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">get_value</span><span style="color: #007700">(</span><span style="color: #DD0000">"taskId"</span><span style="color: #007700">)%</span><span style="color: #0000BB">100</span><span style="color: #007700">&gt;</span><span style="color: #0000BB">1</span><span style="color: #007700">)&nbsp;
+<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$data</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">set_kids</span><span style="color: #007700">(</span><span style="color: #0000BB">false</span><span style="color: #007700">);
+<br />&nbsp;&nbsp;&nbsp;&nbsp;else
+<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$data</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">set_kids</span><span style="color: #007700">(</span><span style="color: #0000BB">true</span><span style="color: #007700">);
+<br />}
+<br />
+<br />&nbsp;&nbsp;&nbsp;require(</span><span style="color: #DD0000">"../../codebase/tree_connector.php"</span><span style="color: #007700">);
+<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$tree&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">TreeConnector</span><span style="color: #007700">(</span><span style="color: #0000BB">$res</span><span style="color: #007700">);
+<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$tree</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">enable_log</span><span style="color: #007700">(</span><span style="color: #DD0000">"temp.log"</span><span style="color: #007700">,</span><span style="color: #0000BB">true</span><span style="color: #007700">);
+<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$tree</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">event</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">attach</span><span style="color: #007700">(</span><span style="color: #DD0000">"beforeRender"</span><span style="color: #007700">,</span><span style="color: #DD0000">"child_setter"</span><span style="color: #007700">);
+<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$tree</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">render_table</span><span style="color: #007700">(</span><span style="color: #DD0000">"tasks"</span><span style="color: #007700">,</span><span style="color: #DD0000">"taskId"</span><span style="color: #007700">,</span><span style="color: #DD0000">"taskName"</span><span style="color: #007700">,</span><span style="color: #DD0000">""</span><span style="color: #007700">,</span><span style="color: #DD0000">"parentId"</span><span style="color: #007700">);
+<br /></span><span style="color: #0000BB">?&gt;</span>
+</span>
+</code></div></body>
+</html>
diff --git a/samples/tree/01p_basic_connector.php b/samples/tree/01p_basic_connector.php
new file mode 100644
index 0000000..23739a1
--- /dev/null
+++ b/samples/tree/01p_basic_connector.php
@@ -0,0 +1,19 @@
+<?php
+ require_once("../config.php");
+ $res=mysql_connect($mysql_server,$mysql_user,$mysql_pass);
+ mysql_select_db($mysql_db);
+
+function child_setter($data){
+ //the check is kind of lame, in real table you most probably may have some more stable way to detect is item have childs or not
+ if ($data->get_value("taskId")%100>1)
+ $data->set_kids(false);
+ else
+ $data->set_kids(true);
+}
+
+ require("../../codebase/tree_connector.php");
+ $tree = new TreeConnector($res);
+//
+ $tree->event->attach("beforeRender","child_setter");
+ $tree->render_table("tasks","taskId","taskName","","parentId");
+?> \ No newline at end of file
diff --git a/samples/tree/02_dynamic_loading.html b/samples/tree/02_dynamic_loading.html
new file mode 100644
index 0000000..bf57ca8
--- /dev/null
+++ b/samples/tree/02_dynamic_loading.html
@@ -0,0 +1,38 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+ <title>Filtering and Autocomplete mode</title>
+ <script>
+ window.dhx_globalImgPath="../common/imgs/";
+ </script>
+
+
+
+<script src="../dhtmlx/dhtmlx.js" type="text/javascript" charset="utf-8"></script>
+<script src="../../codebase/connector.js" type="text/javascript" charset="utf-8"></script>
+<link rel="stylesheet" href="../dhtmlx/dhtmlx.css" type="text/css" charset="utf-8">
+</head>
+<body>
+<div id="treeboxbox_tree" style="width:300; height:218;background-color:#f5f5f5;border :1px solid Silver; "></div>
+<script type="text/javascript" charset="utf-8">
+ tree=new dhtmlXTreeObject("treeboxbox_tree","100%","100%",0);
+ tree.setImagePath("../dhtmlx/tree/");
+ //tree.enableSmartXMLParsing(true);
+ tree.setXMLAutoLoading("02_dynamic_loading_connector.php")
+ tree.loadXML("02_dynamic_loading_connector.php");
+</script>
+<div class='code'><code><span style="color: #000000">
+<span style="color: #0000BB">&lt;?php
+<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">require_once(</span><span style="color: #DD0000">"../config.php"</span><span style="color: #007700">);
+<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$res</span><span style="color: #007700">=</span><span style="color: #0000BB">mysql_connect</span><span style="color: #007700">(</span><span style="color: #0000BB">$mysql_server</span><span style="color: #007700">,</span><span style="color: #0000BB">$mysql_user</span><span style="color: #007700">,</span><span style="color: #0000BB">$mysql_pass</span><span style="color: #007700">);
+<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">mysql_select_db</span><span style="color: #007700">(</span><span style="color: #0000BB">$mysql_db</span><span style="color: #007700">);
+<br />
+<br />&nbsp;&nbsp;&nbsp;require(</span><span style="color: #DD0000">"../../codebase/tree_connector.php"</span><span style="color: #007700">);
+<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$tree&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">TreeConnector</span><span style="color: #007700">(</span><span style="color: #0000BB">$res</span><span style="color: #007700">);
+<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$tree</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">enable_log</span><span style="color: #007700">(</span><span style="color: #DD0000">"temp.log"</span><span style="color: #007700">,</span><span style="color: #0000BB">true</span><span style="color: #007700">);
+<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$tree</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">dynamic_loading</span><span style="color: #007700">(</span><span style="color: #0000BB">true</span><span style="color: #007700">);
+<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$tree</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">render_table</span><span style="color: #007700">(</span><span style="color: #DD0000">"tasks"</span><span style="color: #007700">,</span><span style="color: #DD0000">"taskId"</span><span style="color: #007700">,</span><span style="color: #DD0000">"taskName"</span><span style="color: #007700">,</span><span style="color: #DD0000">""</span><span style="color: #007700">,</span><span style="color: #DD0000">"parentId"</span><span style="color: #007700">);
+<br /></span><span style="color: #0000BB">?&gt;</span>
+</span>
+</code></div></body>
+</html>
diff --git a/samples/tree/02_dynamic_loading_connector.php b/samples/tree/02_dynamic_loading_connector.php
new file mode 100644
index 0000000..54812cd
--- /dev/null
+++ b/samples/tree/02_dynamic_loading_connector.php
@@ -0,0 +1,11 @@
+<?php
+ require_once("../config.php");
+ $res=mysql_connect($mysql_server,$mysql_user,$mysql_pass);
+ mysql_select_db($mysql_db);
+
+ require("../../codebase/tree_connector.php");
+ $tree = new TreeConnector($res);
+//
+ $tree->dynamic_loading(true);
+ $tree->render_table("tasks","taskId","taskName","","parentId");
+?> \ No newline at end of file
diff --git a/samples/tree/03_sql_config.html b/samples/tree/03_sql_config.html
new file mode 100644
index 0000000..b70bd85
--- /dev/null
+++ b/samples/tree/03_sql_config.html
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+ <title>Filtering and Autocomplete mode</title>
+ <script>
+ window.dhx_globalImgPath="../common/imgs/";
+ </script>
+
+
+
+<script src="../dhtmlx/dhtmlx.js" type="text/javascript" charset="utf-8"></script>
+<script src="../../codebase/connector.js" type="text/javascript" charset="utf-8"></script>
+<link rel="stylesheet" href="../dhtmlx/dhtmlx.css" type="text/css" charset="utf-8">
+</head>
+<body>
+<div id="treeboxbox_tree" style="width:300; height:218;background-color:#f5f5f5;border :1px solid Silver; "></div>
+<script type="text/javascript" charset="utf-8">
+ tree=new dhtmlXTreeObject("treeboxbox_tree","100%","100%",0);
+ tree.setImagePath("../dhtmlx/tree/");
+ //tree.enableSmartXMLParsing(true);
+ tree.loadXML("03_sql_config_connector.php");
+</script>
+<div class='code'><code><span style="color: #000000">
+<span style="color: #0000BB">&lt;?php
+<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">require_once(</span><span style="color: #DD0000">"../config.php"</span><span style="color: #007700">);
+<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$res</span><span style="color: #007700">=</span><span style="color: #0000BB">mysql_connect</span><span style="color: #007700">(</span><span style="color: #0000BB">$mysql_server</span><span style="color: #007700">,</span><span style="color: #0000BB">$mysql_user</span><span style="color: #007700">,</span><span style="color: #0000BB">$mysql_pass</span><span style="color: #007700">);
+<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">mysql_select_db</span><span style="color: #007700">(</span><span style="color: #0000BB">$mysql_db</span><span style="color: #007700">);
+<br />
+<br />&nbsp;&nbsp;&nbsp;require(</span><span style="color: #DD0000">"../../codebase/tree_connector.php"</span><span style="color: #007700">);
+<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$tree&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">TreeConnector</span><span style="color: #007700">(</span><span style="color: #0000BB">$res</span><span style="color: #007700">);
+<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$tree</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">enable_log</span><span style="color: #007700">(</span><span style="color: #DD0000">"temp.log"</span><span style="color: #007700">,</span><span style="color: #0000BB">true</span><span style="color: #007700">);
+<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$tree</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">render_sql</span><span style="color: #007700">(</span><span style="color: #DD0000">"SELECT&nbsp;taskId,taskName&nbsp;from&nbsp;tasks&nbsp;WHERE&nbsp;complete&gt;49"</span><span style="color: #007700">,</span><span style="color: #DD0000">"taskId"</span><span style="color: #007700">,</span><span style="color: #DD0000">"taskName"</span><span style="color: #007700">,</span><span style="color: #DD0000">""</span><span style="color: #007700">,</span><span style="color: #DD0000">"parentId"</span><span style="color: #007700">);
+<br /></span><span style="color: #0000BB">?&gt;</span>
+</span>
+</code></div></body>
+</html>
diff --git a/samples/tree/03_sql_config_connector.php b/samples/tree/03_sql_config_connector.php
new file mode 100644
index 0000000..453ae29
--- /dev/null
+++ b/samples/tree/03_sql_config_connector.php
@@ -0,0 +1,10 @@
+<?php
+ require_once("../config.php");
+ $res=mysql_connect($mysql_server,$mysql_user,$mysql_pass);
+ mysql_select_db($mysql_db);
+
+ require("../../codebase/tree_connector.php");
+ $tree = new TreeConnector($res);
+//
+ $tree->render_sql("SELECT taskId,taskName from tasks WHERE complete>49","taskId","taskName","","parentId");
+?> \ No newline at end of file
diff --git a/samples/tree/04_custom_styles.html b/samples/tree/04_custom_styles.html
new file mode 100644
index 0000000..2aee7f1
--- /dev/null
+++ b/samples/tree/04_custom_styles.html
@@ -0,0 +1,44 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+ <title>Filtering and Autocomplete mode</title>
+ <script>
+ window.dhx_globalImgPath="../common/imgs/";
+ </script>
+
+
+
+<script src="../dhtmlx/dhtmlx.js" type="text/javascript" charset="utf-8"></script>
+<script src="../../codebase/connector.js" type="text/javascript" charset="utf-8"></script>
+<link rel="stylesheet" href="../dhtmlx/dhtmlx.css" type="text/css" charset="utf-8">
+</head>
+<body>
+<div id="treeboxbox_tree" style="width:300; height:218;background-color:#f5f5f5;border :1px solid Silver; "></div>
+<script type="text/javascript" charset="utf-8">
+ tree=new dhtmlXTreeObject("treeboxbox_tree","100%","100%",0);
+ tree.setImagePath("../dhtmlx/tree/");
+ //tree.enableSmartXMLParsing(true);
+ tree.enableCheckBoxes(true);
+ tree.loadXML("04_custom_styles_connector.php");
+</script>
+<div class='code'><code><span style="color: #000000">
+<span style="color: #0000BB">&lt;?php
+<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">require_once(</span><span style="color: #DD0000">"../config.php"</span><span style="color: #007700">);
+<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$res</span><span style="color: #007700">=</span><span style="color: #0000BB">mysql_connect</span><span style="color: #007700">(</span><span style="color: #0000BB">$mysql_server</span><span style="color: #007700">,</span><span style="color: #0000BB">$mysql_user</span><span style="color: #007700">,</span><span style="color: #0000BB">$mysql_pass</span><span style="color: #007700">);
+<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">mysql_select_db</span><span style="color: #007700">(</span><span style="color: #0000BB">$mysql_db</span><span style="color: #007700">);
+<br />&nbsp;&nbsp;&nbsp;&nbsp;
+<br />&nbsp;&nbsp;&nbsp;&nbsp;require_once(</span><span style="color: #DD0000">"../../codebase/tree_connector.php"</span><span style="color: #007700">);
+<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$tree&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">TreeConnector</span><span style="color: #007700">(</span><span style="color: #0000BB">$res</span><span style="color: #007700">);
+<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$tree</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">enable_log</span><span style="color: #007700">(</span><span style="color: #DD0000">"temp.log"</span><span style="color: #007700">,</span><span style="color: #0000BB">true</span><span style="color: #007700">);
+<br />&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;</span><span style="color: #0000BB">custom_format</span><span style="color: #007700">(</span><span style="color: #0000BB">$item</span><span style="color: #007700">){
+<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">$item</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">get_value</span><span style="color: #007700">(</span><span style="color: #DD0000">"duration"</span><span style="color: #007700">)&gt;</span><span style="color: #0000BB">10</span><span style="color: #007700">)
+<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$item</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">set_image</span><span style="color: #007700">(</span><span style="color: #DD0000">"lock.gif"</span><span style="color: #007700">);
+<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">$item</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">get_value</span><span style="color: #007700">(</span><span style="color: #DD0000">"complete"</span><span style="color: #007700">)&gt;</span><span style="color: #0000BB">75</span><span style="color: #007700">)&nbsp;
+<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$item</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">set_check_state</span><span style="color: #007700">(</span><span style="color: #0000BB">1</span><span style="color: #007700">);
+<br />&nbsp;&nbsp;&nbsp;&nbsp;}
+<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$tree</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">event</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">attach</span><span style="color: #007700">(</span><span style="color: #DD0000">"beforeRender"</span><span style="color: #007700">,</span><span style="color: #0000BB">custom_format</span><span style="color: #007700">);
+<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$tree</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">render_sql</span><span style="color: #007700">(</span><span style="color: #DD0000">"SELECT&nbsp;taskId,taskName,duration,complete&nbsp;from&nbsp;tasks&nbsp;WHERE&nbsp;complete&gt;49"</span><span style="color: #007700">,</span><span style="color: #DD0000">"taskId"</span><span style="color: #007700">,</span><span style="color: #DD0000">"taskName"</span><span style="color: #007700">,</span><span style="color: #DD0000">""</span><span style="color: #007700">,</span><span style="color: #DD0000">"parentId"</span><span style="color: #007700">);
+<br /></span><span style="color: #0000BB">?&gt;</span>
+</span>
+</code></div></body>
+</html>
diff --git a/samples/tree/04_custom_styles_connector.php b/samples/tree/04_custom_styles_connector.php
new file mode 100644
index 0000000..2ab621e
--- /dev/null
+++ b/samples/tree/04_custom_styles_connector.php
@@ -0,0 +1,17 @@
+<?php
+ require_once("../config.php");
+ $res=mysql_connect($mysql_server,$mysql_user,$mysql_pass);
+ mysql_select_db($mysql_db);
+
+ require_once("../../codebase/tree_connector.php");
+ $tree = new TreeConnector($res);
+//
+ function custom_format($item){
+ if ($item->get_value("duration")>10)
+ $item->set_image("lock.gif");
+ if ($item->get_value("complete")>75)
+ $item->set_check_state(1);
+ }
+ $tree->event->attach("beforeRender",custom_format);
+ $tree->render_sql("SELECT taskId,taskName,duration,complete from tasks WHERE complete>49","taskId","taskName","","parentId");
+?> \ No newline at end of file
diff --git a/samples/tree/05_save.html b/samples/tree/05_save.html
new file mode 100644
index 0000000..19420a5
--- /dev/null
+++ b/samples/tree/05_save.html
@@ -0,0 +1,44 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+ <title>Filtering and Autocomplete mode</title>
+ <script>
+ window.dhx_globalImgPath="../common/imgs/";
+ </script>
+
+
+
+
+<script src="../dhtmlx/dhtmlx.js" type="text/javascript" charset="utf-8"></script>
+<script src="../dhtmlx/dhtmlxdataprocessor.js" type="text/javascript" charset="utf-8"></script>
+<script src="../../codebase/connector.js" type="text/javascript" charset="utf-8"></script>
+<link rel="stylesheet" href="../dhtmlx/dhtmlx.css" type="text/css" charset="utf-8">
+</head>
+<body>
+<div id="treeboxbox_tree" style="width:300; height:218;background-color:#f5f5f5;border :1px solid Silver; "></div>
+<script type="text/javascript" charset="utf-8">
+ tree=new dhtmlXTreeObject("treeboxbox_tree","100%","100%",0);
+ tree.setImagePath("../dhtmlx/tree/");
+ //tree.enableSmartXMLParsing(true);
+ tree.enableItemEditor(true);
+ tree.enableDragAndDrop(true)
+ tree.loadXML("05_save_connector.php");
+ var dp = new dataProcessor("05_save_connector.php");
+ dp.init(tree);
+</script>
+<input type="button" name="some_name" value="delete item" onclick="tree.deleteItem(tree.getSelectedItemId())">
+<input type="button" name="some_name" value="add item" onclick="tree.insertNewItem((tree.getSelectedItemId()||'0'),(new Date()).valueOf(),'item')">>
+<div class='code'><code><span style="color: #000000">
+<span style="color: #0000BB">&lt;?php
+<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">require_once(</span><span style="color: #DD0000">"../config.php"</span><span style="color: #007700">);
+<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$res</span><span style="color: #007700">=</span><span style="color: #0000BB">mysql_connect</span><span style="color: #007700">(</span><span style="color: #0000BB">$mysql_server</span><span style="color: #007700">,</span><span style="color: #0000BB">$mysql_user</span><span style="color: #007700">,</span><span style="color: #0000BB">$mysql_pass</span><span style="color: #007700">);
+<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">mysql_select_db</span><span style="color: #007700">(</span><span style="color: #0000BB">$mysql_db</span><span style="color: #007700">);
+<br />
+<br />&nbsp;&nbsp;&nbsp;require(</span><span style="color: #DD0000">"../../codebase/tree_connector.php"</span><span style="color: #007700">);
+<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$tree&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">TreeConnector</span><span style="color: #007700">(</span><span style="color: #0000BB">$res</span><span style="color: #007700">);
+<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$tree</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">enable_log</span><span style="color: #007700">(</span><span style="color: #DD0000">"temp.log"</span><span style="color: #007700">,</span><span style="color: #0000BB">true</span><span style="color: #007700">);
+<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$tree</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">render_table</span><span style="color: #007700">(</span><span style="color: #DD0000">"tasks"</span><span style="color: #007700">,</span><span style="color: #DD0000">"taskId"</span><span style="color: #007700">,</span><span style="color: #DD0000">"taskName"</span><span style="color: #007700">,</span><span style="color: #DD0000">""</span><span style="color: #007700">,</span><span style="color: #DD0000">"parentId"</span><span style="color: #007700">);
+<br /></span><span style="color: #0000BB">?&gt;</span>
+</span>
+</code></div></body>
+</html>
diff --git a/samples/tree/05_save_connector.php b/samples/tree/05_save_connector.php
new file mode 100644
index 0000000..57af485
--- /dev/null
+++ b/samples/tree/05_save_connector.php
@@ -0,0 +1,10 @@
+<?php
+ require_once("../config.php");
+ $res=mysql_connect($mysql_server,$mysql_user,$mysql_pass);
+ mysql_select_db($mysql_db);
+
+ require("../../codebase/tree_connector.php");
+ $tree = new TreeConnector($res);
+//
+ $tree->render_table("tasks","taskId","taskName","","parentId");
+?> \ No newline at end of file
diff --git a/samples/tree/06_validation.html b/samples/tree/06_validation.html
new file mode 100644
index 0000000..6951c00
--- /dev/null
+++ b/samples/tree/06_validation.html
@@ -0,0 +1,51 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+ <title>Filtering and Autocomplete mode</title>
+ <script>
+ window.dhx_globalImgPath="../common/imgs/";
+ </script>
+
+
+
+
+<script src="../dhtmlx/dhtmlx.js" type="text/javascript" charset="utf-8"></script>
+<script src="../dhtmlx/dhtmlxdataprocessor.js" type="text/javascript" charset="utf-8"></script>
+<script src="../../codebase/connector.js" type="text/javascript" charset="utf-8"></script>
+<link rel="stylesheet" href="../dhtmlx/dhtmlx.css" type="text/css" charset="utf-8">
+</head>
+<body>
+<div id="treeboxbox_tree" style="width:300; height:218;background-color:#f5f5f5;border :1px solid Silver; "></div>
+<script type="text/javascript" charset="utf-8">
+ tree=new dhtmlXTreeObject("treeboxbox_tree","100%","100%",0);
+ tree.setImagePath("../dhtmlx/tree/");
+ //tree.enableSmartXMLParsing(true);
+ tree.enableItemEditor(true);
+ tree.enableDragAndDrop(true)
+ tree.loadXML("06_validation_connector.php");
+ var dp = new dataProcessor("06_validation_connector.php");
+ dp.setUpdateMode("off");
+ dp.init(tree);
+</script>
+<input type="button" name="some_name" value="delete item" onclick="tree.deleteItem(tree.getSelectedItemId())">
+<input type="button" name="some_name" value="add item" onclick="tree.insertNewItem((tree.getSelectedItemId()||'0'),(new Date()).valueOf(),'item')">
+<input type="button" name="some_name" value="sync with server" onclick="dp.sendData();">
+<div class='code'><code><span style="color: #000000">
+<span style="color: #0000BB">&lt;?php
+<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">require_once(</span><span style="color: #DD0000">"../config.php"</span><span style="color: #007700">);
+<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$res</span><span style="color: #007700">=</span><span style="color: #0000BB">mysql_connect</span><span style="color: #007700">(</span><span style="color: #0000BB">$mysql_server</span><span style="color: #007700">,</span><span style="color: #0000BB">$mysql_user</span><span style="color: #007700">,</span><span style="color: #0000BB">$mysql_pass</span><span style="color: #007700">);
+<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">mysql_select_db</span><span style="color: #007700">(</span><span style="color: #0000BB">$mysql_db</span><span style="color: #007700">);
+<br />
+<br />&nbsp;&nbsp;&nbsp;require(</span><span style="color: #DD0000">"../../codebase/tree_connector.php"</span><span style="color: #007700">);
+<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$tree&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">TreeConnector</span><span style="color: #007700">(</span><span style="color: #0000BB">$res</span><span style="color: #007700">);
+<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$tree</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">enable_log</span><span style="color: #007700">(</span><span style="color: #DD0000">"temp.log"</span><span style="color: #007700">,</span><span style="color: #0000BB">true</span><span style="color: #007700">);
+<br />&nbsp;&nbsp;&nbsp;function&nbsp;</span><span style="color: #0000BB">my_check</span><span style="color: #007700">(</span><span style="color: #0000BB">$action</span><span style="color: #007700">){
+<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(</span><span style="color: #0000BB">strlen</span><span style="color: #007700">(</span><span style="color: #0000BB">$action</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">get_value</span><span style="color: #007700">(</span><span style="color: #DD0000">"taskName"</span><span style="color: #007700">))&lt;</span><span style="color: #0000BB">5</span><span style="color: #007700">)
+<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$action</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">invalid</span><span style="color: #007700">();
+<br />&nbsp;&nbsp;&nbsp;}
+<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$tree</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">event</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">attach</span><span style="color: #007700">(</span><span style="color: #DD0000">"beforeProcessing"</span><span style="color: #007700">,</span><span style="color: #0000BB">my_check</span><span style="color: #007700">);
+<br />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$tree</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">render_table</span><span style="color: #007700">(</span><span style="color: #DD0000">"tasks"</span><span style="color: #007700">,</span><span style="color: #DD0000">"taskId"</span><span style="color: #007700">,</span><span style="color: #DD0000">"taskName"</span><span style="color: #007700">,</span><span style="color: #DD0000">""</span><span style="color: #007700">,</span><span style="color: #DD0000">"parentId"</span><span style="color: #007700">);
+<br /></span><span style="color: #0000BB">?&gt;</span>
+</span>
+</code></div></body>
+</html>
diff --git a/samples/tree/06_validation_connector.php b/samples/tree/06_validation_connector.php
new file mode 100644
index 0000000..baccdaf
--- /dev/null
+++ b/samples/tree/06_validation_connector.php
@@ -0,0 +1,15 @@
+<?php
+ require_once("../config.php");
+ $res=mysql_connect($mysql_server,$mysql_user,$mysql_pass);
+ mysql_select_db($mysql_db);
+
+ require("../../codebase/tree_connector.php");
+ $tree = new TreeConnector($res);
+//
+ function my_check($action){
+ if (strlen($action->get_value("taskName"))<5)
+ $action->invalid();
+ }
+ $tree->event->attach("beforeProcessing",my_check);
+ $tree->render_table("tasks","taskId","taskName","","parentId");
+?> \ No newline at end of file
diff --git a/samples/tree/08_tree_group_connector.html b/samples/tree/08_tree_group_connector.html
new file mode 100644
index 0000000..ad1c478
--- /dev/null
+++ b/samples/tree/08_tree_group_connector.html
@@ -0,0 +1,43 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+ <title>Group connector</title>
+ <script>
+ window.dhx_globalImgPath="../common/imgs/";
+ </script>
+
+
+
+
+<script src="../dhtmlx/dhtmlx.js" type="text/javascript" charset="utf-8"></script>
+<script src="../../codebase/connector.js" type="text/javascript" charset="utf-8"></script>
+<link rel="stylesheet" href="../dhtmlx/dhtmlx.css" type="text/css" charset="utf-8">
+</head>
+
+<body>
+<div id="treeboxbox_tree" style="width:300; height:218;background-color:#f5f5f5;border :1px solid Silver; "></div>
+
+<script type="text/javascript" charset="utf-8">
+ tree=new dhtmlXTreeObject("treeboxbox_tree","100%","100%",0);
+ tree.setImagePath("../dhtmlx/tree/");
+
+ tree.loadXML("08_tree_group_connector.php");
+</script>
+
+<div class='code'><code><span style="color: #000000">
+<span style="color: #0000BB">&lt;?php
+<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">require_once(</span><span style="color: #DD0000">"../config.php"</span><span style="color: #007700">);
+<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$res</span><span style="color: #007700">=</span><span style="color: #0000BB">mysql_connect</span><span style="color: #007700">(</span><span style="color: #0000BB">$mysql_server</span><span style="color: #007700">,</span><span style="color: #0000BB">$mysql_user</span><span style="color: #007700">,</span><span style="color: #0000BB">$mysql_pass</span><span style="color: #007700">);
+<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">mysql_select_db</span><span style="color: #007700">(</span><span style="color: #0000BB">$mysql_db</span><span style="color: #007700">);
+<br />&nbsp;&nbsp;&nbsp;&nbsp;require(</span><span style="color: #DD0000">"../../codebase/treegroup_connector.php"</span><span style="color: #007700">);
+<br />&nbsp;&nbsp;&nbsp;&nbsp;
+<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$tree&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">TreeGroupConnector</span><span style="color: #007700">(</span><span style="color: #0000BB">$res</span><span style="color: #007700">);
+<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$tree</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">enable_log</span><span style="color: #007700">(</span><span style="color: #DD0000">"temp.log"</span><span style="color: #007700">,</span><span style="color: #0000BB">true</span><span style="color: #007700">);
+<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$tree</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">render_table</span><span style="color: #007700">(</span><span style="color: #DD0000">"products"</span><span style="color: #007700">,</span><span style="color: #DD0000">"id"</span><span style="color: #007700">,</span><span style="color: #DD0000">"product_name"</span><span style="color: #007700">,</span><span style="color: #DD0000">""<span style="color: #007700">,</span>"category"<span style="color: #007700">);
+<br />&nbsp;&nbsp;&nbsp;&nbsp;
+<br /></span><span style="color: #0000BB">?&gt;</span>
+</span>
+</code></div>
+
+</body>
+</html>
diff --git a/samples/tree/08_tree_group_connector.php b/samples/tree/08_tree_group_connector.php
new file mode 100644
index 0000000..10de6e1
--- /dev/null
+++ b/samples/tree/08_tree_group_connector.php
@@ -0,0 +1,11 @@
+<?php
+
+ require_once("../config.php");
+ $res=mysql_connect($mysql_server,$mysql_user,$mysql_pass);
+ mysql_select_db($mysql_db);
+
+ require("../../codebase/treegroup_connector.php");
+ $tree = new TreeGroupConnector($res);
+ $tree->render_table("products", "id", "product_name", "", "category");
+
+?> \ No newline at end of file
diff --git a/samples/tree/09_tree_multitable_connector.html b/samples/tree/09_tree_multitable_connector.html
new file mode 100644
index 0000000..7c010ec
--- /dev/null
+++ b/samples/tree/09_tree_multitable_connector.html
@@ -0,0 +1,64 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+ <title>Multitable connector</title>
+ <script>
+ window.dhx_globalImgPath="../common/imgs/";
+ </script>
+
+
+
+
+<script src="../dhtmlx/dhtmlx.js" type="text/javascript" charset="utf-8"></script>
+<script src="../../codebase/connector.js" type="text/javascript" charset="utf-8"></script>
+<link rel="stylesheet" href="../dhtmlx/dhtmlx.css" type="text/css" charset="utf-8">
+
+</head>
+
+<body>
+<div id="treeboxbox_tree" style="width:300; height:218;background-color:#f5f5f5;border :1px solid Silver; "></div>
+
+<script type="text/javascript" charset="utf-8">
+ tree=new dhtmlXTreeObject("treeboxbox_tree","100%","100%",0);
+ tree.setImagePath("../dhtmlx/tree/");
+
+ tree.setXMLAutoLoading("09_tree_multitable_connector.php");
+ tree.loadXML("09_tree_multitable_connector.php");
+</script>
+
+<div class='code'><code><span style="color: #000000">
+<span style="color: #0000BB">&lt;?php
+<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">require_once(</span><span style="color: #DD0000">"../config.php"</span><span style="color: #007700">);
+<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$res</span><span style="color: #007700">=</span><span style="color: #0000BB">mysql_connect</span><span style="color: #007700">(</span><span style="color: #0000BB">$mysql_server</span><span style="color: #007700">,</span><span style="color: #0000BB">$mysql_user</span><span style="color: #007700">,</span><span style="color: #0000BB">$mysql_pass</span><span style="color: #007700">);
+<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">mysql_select_db</span><span style="color: #007700">(</span><span style="color: #0000BB">$mysql_db</span><span style="color: #007700">);
+<br />&nbsp;&nbsp;&nbsp;&nbsp;require(</span><span style="color: #DD0000">"../../codebase/treegridmultitable_connector.php"</span><span style="color: #007700">);
+<br />&nbsp;&nbsp;&nbsp;&nbsp;
+<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$tree&nbsp;</span><span style="color: #007700">=&nbsp;new&nbsp;</span><span style="color: #0000BB">TreeMultitableConnector</span><span style="color: #007700">(</span><span style="color: #0000BB">$res</span><span style="color: #007700">);
+<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$tree</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">enable_log</span><span style="color: #007700">(</span><span style="color: #DD0000">"temp.log"</span><span style="color: #007700">,</span><span style="color: #0000BB">true</span><span style="color: #007700">);
+<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$tree</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">setMaxLevel</span><span style="color: #007700">(</span><span style="color: #0000BB">3</span><span style="color: #007700">);
+<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$level&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">$tree</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">get_level</span><span style="color: #007700">();
+<br />
+<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">switch&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">$level</span><span style="color: #007700">)&nbsp;{
+<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">case 0</span><span style="color: #007700">:
+<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$tree</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">render_table(</span><span style="color: #DD0000">"projects"</span><span style="color: #007700">,</span><span style="color: #DD0000">"project_id"</span><span style="color: #007700">,</span><span style="color: #DD0000">"project_name"</span><span style="color: #007700">,</span><span style="color: #DD0000">""</span><span style="color: #007700">,</span><span style="color: #DD0000">""</span><span style="color: #007700">);
+<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">break</span><span style="color: #007700">;
+
+<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">case 1</span><span style="color: #007700">:
+<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$tree</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">render_sql(</span><span style="color: #DD0000">"SELECT teams.team_id, teams.team_name, project_team.project_id FROM teams INNER JOIN project_team ON teams.team_id=project_team.team_id"</span><span style="color: #007700">,</span><span style="color: #DD0000">"team_id"</span><span style="color: #007700">,</span><span style="color: #DD0000">"team_name"</span><span style="color: #007700">,</span><span style="color: #DD0000">""</span><span style="color: #007700">,</span><span style="color: #DD0000">"project_id"</span><span style="color: #007700">);
+<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">break</span><span style="color: #007700">;
+
+<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">case 2</span><span style="color: #007700">:
+<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$tree</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">render_table(</span><span style="color: #DD0000">"developers"</span><span style="color: #007700">,</span><span style="color: #DD0000">"developer_id"</span><span style="color: #007700">,</span><span style="color: #DD0000">"developer_name"</span><span style="color: #007700">,</span><span style="color: #DD0000">""</span><span style="color: #007700">,</span><span style="color: #DD0000">"developer_team"</span><span style="color: #007700">);
+<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">break</span><span style="color: #007700">;
+
+<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">case 3</span><span style="color: #007700">:
+<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$tree</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">render_table(</span><span style="color: #DD0000">"phones"</span><span style="color: #007700">,</span><span style="color: #DD0000">"phone_id"</span><span style="color: #007700">,</span><span style="color: #DD0000">"phone"</span><span style="color: #007700">,</span><span style="color: #DD0000">""</span><span style="color: #007700">,</span><span style="color: #DD0000">"phone_developer"</span><span style="color: #007700">);
+<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">break</span><span style="color: #007700">;
+
+<br />&nbsp;&nbsp;&nbsp;&nbsp;}
+<br /></span><span style="color: #0000BB">?&gt;</span>
+</span>
+</code></div>
+
+</body>
+</html>
diff --git a/samples/tree/09_tree_multitable_connector.php b/samples/tree/09_tree_multitable_connector.php
new file mode 100644
index 0000000..48dd0e8
--- /dev/null
+++ b/samples/tree/09_tree_multitable_connector.php
@@ -0,0 +1,30 @@
+<?php
+
+ require_once("../config.php");
+ $res=mysql_connect($mysql_server,$mysql_user,$mysql_pass);
+ mysql_select_db($mysql_db);
+
+ require("../../codebase/treemultitable_connector.php");
+
+
+ $tree = new TreeMultitableConnector($res);
+ //
+ $tree->setMaxLevel(3);
+ $level = $tree->get_level();
+
+ switch ($level) {
+ case 0:
+ $tree->render_table("projects","project_id","project_name","","");
+ break;
+ case 1:
+ $tree->render_sql("SELECT teams.team_id, teams.team_name, project_team.project_id FROM teams INNER JOIN project_team ON teams.team_id=project_team.team_id", "team_id", "team_name", "", "project_id");
+ break;
+ case 2:
+ $tree->render_table("developers", "developer_id", "developer_name", "", "developer_team");
+ break;
+ case 3:
+ $tree->render_table("phones", "phone_id", "phone", "", "phone_developer");
+ break;
+ }
+
+?> \ No newline at end of file
diff --git a/samples/tree/index.html b/samples/tree/index.html
new file mode 100644
index 0000000..7582ec0
--- /dev/null
+++ b/samples/tree/index.html
@@ -0,0 +1,33 @@
+<html>
+ <head></head>
+ <style type="text/css" media="screen">
+ *{
+ font-family:Tahoma;
+ }
+ div,li{
+ font-size:10pt;
+ }
+ div{
+ padding-bottom:20px;
+ }
+ li{
+ padding-left:50px;
+ padding-bottom:10px;
+ }
+ </style>
+ <body>
+ <h2>dhtmlxConnector for PHP :: Samples</h2>
+
+ <li><a href="01_basic.html">Basic init</a></li>
+ <li><a href="01p_basic.html">Basic init with server side child flag setting</a></li>
+ <li><a href="02_dynamic_loading.html">Dynamical loading</a></li>
+ <li><a href="03_sql_config.html">Basic init with SQL configuration</a></li>
+ <li><a href="04_custom_styles.html">Rendering customization</a></li>
+ <li><a href="05_save.html">DataProcessor usage</a></li>
+ <li><a href="06_validation.html">Validation</a></li>
+ <li><a href="08_tree_group_connector.html">Group connector</a></li>
+ <li><a href="09_tree_multitable_connector.html">Multitable connector</a></li>
+
+ </body>
+</html>
+