summaryrefslogtreecommitdiffstats
path: root/codebase
diff options
context:
space:
mode:
Diffstat (limited to 'codebase')
-rw-r--r--codebase/Dhtmlx/Connector/Connector.php (renamed from codebase/Connector.php)0
-rw-r--r--codebase/Dhtmlx/Connector/ConvertService.php (renamed from codebase/ConvertService.php)0
-rw-r--r--codebase/Dhtmlx/Connector/Data/CommonDataItem.php (renamed from codebase/Data/CommonDataItem.php)0
-rw-r--r--codebase/Dhtmlx/Connector/Data/CommonDataProcessor.php (renamed from codebase/Data/CommonDataProcessor.php)0
-rw-r--r--codebase/Dhtmlx/Connector/Data/DataAction.php (renamed from codebase/Data/DataAction.php)0
-rw-r--r--codebase/Dhtmlx/Connector/Data/DataItem.php (renamed from codebase/Data/DataItem.php)0
-rw-r--r--codebase/Dhtmlx/Connector/Data/DataItemUpdate.php (renamed from codebase/Data/DataItemUpdate.php)0
-rw-r--r--codebase/Dhtmlx/Connector/Data/DataProcessor.php (renamed from codebase/Data/DataProcessor.php)0
-rw-r--r--codebase/Dhtmlx/Connector/Data/DataUpdate.php (renamed from codebase/Data/DataUpdate.php)0
-rw-r--r--codebase/Dhtmlx/Connector/Data/GridDataProcessor.php (renamed from codebase/Data/GridDataProcessor.php)0
-rw-r--r--codebase/Dhtmlx/Connector/Data/JSONCommonDataItem.php (renamed from codebase/Data/JSONCommonDataItem.php)0
-rw-r--r--codebase/Dhtmlx/Connector/Data/TreeDataItem.php (renamed from codebase/Data/TreeDataItem.php)0
-rw-r--r--codebase/Dhtmlx/Connector/Data/TreeDataProcessor.php (renamed from codebase/Data/TreeDataProcessor.php)0
-rw-r--r--codebase/Dhtmlx/Connector/DataConnector.php (renamed from codebase/DataConnector.php)0
-rw-r--r--codebase/Dhtmlx/Connector/DataStorage/ArrayDBDataWrapper.php (renamed from codebase/DataStorage/ArrayDBDataWrapper.php)0
-rw-r--r--codebase/Dhtmlx/Connector/DataStorage/ArrayQueryWrapper.php (renamed from codebase/DataStorage/ArrayQueryWrapper.php)0
-rw-r--r--codebase/Dhtmlx/Connector/DataStorage/DBDataWrapper.php (renamed from codebase/DataStorage/DBDataWrapper.php)0
-rw-r--r--codebase/Dhtmlx/Connector/DataStorage/DataConfig.php (renamed from codebase/DataStorage/DataConfig.php)0
-rw-r--r--codebase/Dhtmlx/Connector/DataStorage/DataRequestConfig.php (renamed from codebase/DataStorage/DataRequestConfig.php)0
-rw-r--r--codebase/Dhtmlx/Connector/DataStorage/DataWrapper.php (renamed from codebase/DataStorage/DataWrapper.php)0
-rw-r--r--codebase/Dhtmlx/Connector/DataStorage/MsSQLDBDataWrapper.php (renamed from codebase/DataStorage/MsSQLDBDataWrapper.php)0
-rw-r--r--codebase/Dhtmlx/Connector/DataStorage/MySQLDBDataWrapper.php (renamed from codebase/DataStorage/MySQLDBDataWrapper.php)0
-rw-r--r--codebase/Dhtmlx/Connector/DataStorage/PDODBDataWrapper.php (renamed from codebase/DataStorage/PDODBDataWrapper.php)0
-rw-r--r--codebase/Dhtmlx/Connector/DataStorage/PDOResultSet.php (renamed from codebase/DataStorage/PDOResultSet.php)0
-rwxr-xr-xcodebase/Dhtmlx/Connector/DataStorage/PHPCI2DBDataWrapper.php58
-rwxr-xr-xcodebase/Dhtmlx/Connector/DataStorage/PHPCIDBDataWrapper.php67
-rwxr-xr-xcodebase/Dhtmlx/Connector/DataStorage/PHPCakeDBDataWrapper.php (renamed from codebase/DataStorage/PHPCake3DBDataWrapper.php)4
-rw-r--r--codebase/Dhtmlx/Connector/DataStorage/PHPYii1DBDataWrapper.php (renamed from codebase/DataStorage/PHPYii2DBDataWrapper.php)67
-rw-r--r--codebase/Dhtmlx/Connector/DataStorage/PHPYiiDBDataWrapper.php92
-rw-r--r--codebase/Dhtmlx/Connector/DataStorage/PostgreDBDataWrapper.php (renamed from codebase/DataStorage/PostgreDBDataWrapper.php)0
-rw-r--r--codebase/Dhtmlx/Connector/DistinctOptionsConnector.php (renamed from codebase/DistinctOptionsConnector.php)0
-rw-r--r--codebase/Dhtmlx/Connector/Event/EventInterface.php (renamed from codebase/Event/EventInterface.php)0
-rw-r--r--codebase/Dhtmlx/Connector/Event/FilterInterface.php (renamed from codebase/Event/FilterInterface.php)0
-rw-r--r--codebase/Dhtmlx/Connector/Event/SortInterface.php (renamed from codebase/Event/SortInterface.php)0
-rw-r--r--codebase/Dhtmlx/Connector/GridConfiguration.php (renamed from codebase/GridConfiguration.php)0
-rw-r--r--codebase/Dhtmlx/Connector/GridConnector.php (renamed from codebase/GridConnector.php)0
-rw-r--r--codebase/Dhtmlx/Connector/GridDataItem.php (renamed from codebase/GridDataItem.php)0
-rw-r--r--codebase/Dhtmlx/Connector/JSONDataConnector.php (renamed from codebase/JSONDataConnector.php)0
-rw-r--r--codebase/Dhtmlx/Connector/JSONOptionsConnector.php (renamed from codebase/JSONOptionsConnector.php)0
-rw-r--r--codebase/Dhtmlx/Connector/MixedConnector.php (renamed from codebase/MixedConnector.php)0
-rw-r--r--codebase/Dhtmlx/Connector/OptionsConnector.php (renamed from codebase/OptionsConnector.php)0
-rw-r--r--codebase/Dhtmlx/Connector/Output/JSONRenderStrategy.php (renamed from codebase/Output/JSONRenderStrategy.php)0
-rw-r--r--codebase/Dhtmlx/Connector/Output/JSONTreeRenderStrategy.php (renamed from codebase/Output/JSONTreeRenderStrategy.php)0
-rw-r--r--codebase/Dhtmlx/Connector/Output/OutputWriter.php (renamed from codebase/Output/OutputWriter.php)0
-rw-r--r--codebase/Dhtmlx/Connector/Output/RenderStrategy.php (renamed from codebase/Output/RenderStrategy.php)0
-rw-r--r--codebase/Dhtmlx/Connector/Output/TreeRenderStrategy.php (renamed from codebase/Output/TreeRenderStrategy.php)0
-rw-r--r--codebase/Dhtmlx/Connector/Tools/AccessMaster.php (renamed from codebase/Tools/AccessMaster.php)0
-rw-r--r--codebase/Dhtmlx/Connector/Tools/EventMaster.php (renamed from codebase/Tools/EventMaster.php)0
-rwxr-xr-xcodebase/Dhtmlx/Connector/Tools/LogMaster.php (renamed from codebase/Tools/LogMaster.php)0
-rw-r--r--codebase/Dhtmlx/Connector/TreeConnector.php (renamed from codebase/TreeConnector.php)0
-rw-r--r--codebase/Dhtmlx/Connector/XSSFilter/ConnectorSecurity.php (renamed from codebase/XSSFilter/ConnectorSecurity.php)0
-rw-r--r--codebase/Dhtmlx/Connector/XSSFilter/dhxExternalInputClean.php (renamed from codebase/XSSFilter/dhxExternalInputClean.php)0
52 files changed, 253 insertions, 35 deletions
diff --git a/codebase/Connector.php b/codebase/Dhtmlx/Connector/Connector.php
index de870f3..de870f3 100644
--- a/codebase/Connector.php
+++ b/codebase/Dhtmlx/Connector/Connector.php
diff --git a/codebase/ConvertService.php b/codebase/Dhtmlx/Connector/ConvertService.php
index 9fa3261..9fa3261 100644
--- a/codebase/ConvertService.php
+++ b/codebase/Dhtmlx/Connector/ConvertService.php
diff --git a/codebase/Data/CommonDataItem.php b/codebase/Dhtmlx/Connector/Data/CommonDataItem.php
index 523cd08..523cd08 100644
--- a/codebase/Data/CommonDataItem.php
+++ b/codebase/Dhtmlx/Connector/Data/CommonDataItem.php
diff --git a/codebase/Data/CommonDataProcessor.php b/codebase/Dhtmlx/Connector/Data/CommonDataProcessor.php
index 8f00b94..8f00b94 100644
--- a/codebase/Data/CommonDataProcessor.php
+++ b/codebase/Dhtmlx/Connector/Data/CommonDataProcessor.php
diff --git a/codebase/Data/DataAction.php b/codebase/Dhtmlx/Connector/Data/DataAction.php
index 8e4b5dd..8e4b5dd 100644
--- a/codebase/Data/DataAction.php
+++ b/codebase/Dhtmlx/Connector/Data/DataAction.php
diff --git a/codebase/Data/DataItem.php b/codebase/Dhtmlx/Connector/Data/DataItem.php
index b980d9c..b980d9c 100644
--- a/codebase/Data/DataItem.php
+++ b/codebase/Dhtmlx/Connector/Data/DataItem.php
diff --git a/codebase/Data/DataItemUpdate.php b/codebase/Dhtmlx/Connector/Data/DataItemUpdate.php
index ad97be2..ad97be2 100644
--- a/codebase/Data/DataItemUpdate.php
+++ b/codebase/Dhtmlx/Connector/Data/DataItemUpdate.php
diff --git a/codebase/Data/DataProcessor.php b/codebase/Dhtmlx/Connector/Data/DataProcessor.php
index 973753a..973753a 100644
--- a/codebase/Data/DataProcessor.php
+++ b/codebase/Dhtmlx/Connector/Data/DataProcessor.php
diff --git a/codebase/Data/DataUpdate.php b/codebase/Dhtmlx/Connector/Data/DataUpdate.php
index 8fc1c46..8fc1c46 100644
--- a/codebase/Data/DataUpdate.php
+++ b/codebase/Dhtmlx/Connector/Data/DataUpdate.php
diff --git a/codebase/Data/GridDataProcessor.php b/codebase/Dhtmlx/Connector/Data/GridDataProcessor.php
index 9b487eb..9b487eb 100644
--- a/codebase/Data/GridDataProcessor.php
+++ b/codebase/Dhtmlx/Connector/Data/GridDataProcessor.php
diff --git a/codebase/Data/JSONCommonDataItem.php b/codebase/Dhtmlx/Connector/Data/JSONCommonDataItem.php
index 4a69068..4a69068 100644
--- a/codebase/Data/JSONCommonDataItem.php
+++ b/codebase/Dhtmlx/Connector/Data/JSONCommonDataItem.php
diff --git a/codebase/Data/TreeDataItem.php b/codebase/Dhtmlx/Connector/Data/TreeDataItem.php
index 561d495..561d495 100644
--- a/codebase/Data/TreeDataItem.php
+++ b/codebase/Dhtmlx/Connector/Data/TreeDataItem.php
diff --git a/codebase/Data/TreeDataProcessor.php b/codebase/Dhtmlx/Connector/Data/TreeDataProcessor.php
index dca6a8f..dca6a8f 100644
--- a/codebase/Data/TreeDataProcessor.php
+++ b/codebase/Dhtmlx/Connector/Data/TreeDataProcessor.php
diff --git a/codebase/DataConnector.php b/codebase/Dhtmlx/Connector/DataConnector.php
index dc3498d..dc3498d 100644
--- a/codebase/DataConnector.php
+++ b/codebase/Dhtmlx/Connector/DataConnector.php
diff --git a/codebase/DataStorage/ArrayDBDataWrapper.php b/codebase/Dhtmlx/Connector/DataStorage/ArrayDBDataWrapper.php
index a806161..a806161 100644
--- a/codebase/DataStorage/ArrayDBDataWrapper.php
+++ b/codebase/Dhtmlx/Connector/DataStorage/ArrayDBDataWrapper.php
diff --git a/codebase/DataStorage/ArrayQueryWrapper.php b/codebase/Dhtmlx/Connector/DataStorage/ArrayQueryWrapper.php
index c922bd8..c922bd8 100644
--- a/codebase/DataStorage/ArrayQueryWrapper.php
+++ b/codebase/Dhtmlx/Connector/DataStorage/ArrayQueryWrapper.php
diff --git a/codebase/DataStorage/DBDataWrapper.php b/codebase/Dhtmlx/Connector/DataStorage/DBDataWrapper.php
index 1311866..1311866 100644
--- a/codebase/DataStorage/DBDataWrapper.php
+++ b/codebase/Dhtmlx/Connector/DataStorage/DBDataWrapper.php
diff --git a/codebase/DataStorage/DataConfig.php b/codebase/Dhtmlx/Connector/DataStorage/DataConfig.php
index c10fd2d..c10fd2d 100644
--- a/codebase/DataStorage/DataConfig.php
+++ b/codebase/Dhtmlx/Connector/DataStorage/DataConfig.php
diff --git a/codebase/DataStorage/DataRequestConfig.php b/codebase/Dhtmlx/Connector/DataStorage/DataRequestConfig.php
index bb2c750..bb2c750 100644
--- a/codebase/DataStorage/DataRequestConfig.php
+++ b/codebase/Dhtmlx/Connector/DataStorage/DataRequestConfig.php
diff --git a/codebase/DataStorage/DataWrapper.php b/codebase/Dhtmlx/Connector/DataStorage/DataWrapper.php
index 19158cc..19158cc 100644
--- a/codebase/DataStorage/DataWrapper.php
+++ b/codebase/Dhtmlx/Connector/DataStorage/DataWrapper.php
diff --git a/codebase/DataStorage/MsSQLDBDataWrapper.php b/codebase/Dhtmlx/Connector/DataStorage/MsSQLDBDataWrapper.php
index 1d245b2..1d245b2 100644
--- a/codebase/DataStorage/MsSQLDBDataWrapper.php
+++ b/codebase/Dhtmlx/Connector/DataStorage/MsSQLDBDataWrapper.php
diff --git a/codebase/DataStorage/MySQLDBDataWrapper.php b/codebase/Dhtmlx/Connector/DataStorage/MySQLDBDataWrapper.php
index 3f13492..3f13492 100644
--- a/codebase/DataStorage/MySQLDBDataWrapper.php
+++ b/codebase/Dhtmlx/Connector/DataStorage/MySQLDBDataWrapper.php
diff --git a/codebase/DataStorage/PDODBDataWrapper.php b/codebase/Dhtmlx/Connector/DataStorage/PDODBDataWrapper.php
index 5a08e57..5a08e57 100644
--- a/codebase/DataStorage/PDODBDataWrapper.php
+++ b/codebase/Dhtmlx/Connector/DataStorage/PDODBDataWrapper.php
diff --git a/codebase/DataStorage/PDOResultSet.php b/codebase/Dhtmlx/Connector/DataStorage/PDOResultSet.php
index 536f75c..536f75c 100644
--- a/codebase/DataStorage/PDOResultSet.php
+++ b/codebase/Dhtmlx/Connector/DataStorage/PDOResultSet.php
diff --git a/codebase/Dhtmlx/Connector/DataStorage/PHPCI2DBDataWrapper.php b/codebase/Dhtmlx/Connector/DataStorage/PHPCI2DBDataWrapper.php
new file mode 100755
index 0000000..8819ab5
--- /dev/null
+++ b/codebase/Dhtmlx/Connector/DataStorage/PHPCI2DBDataWrapper.php
@@ -0,0 +1,58 @@
+<?php
+namespace Dhtmlx\Connector\DataStorage;
+use Dhtmlx\Connector\Connector;
+use Dhtmlx\Connector\Tools\LogMaster;
+
+class PHPCI2DBDataWrapper extends DBDataWrapper {
+
+ public function query($sql){
+ LogMaster::log($sql);
+ $res=$this->connection->query($sql);
+
+ if($res === false)
+ throw new Exception("CI - sql execution failed");
+
+ if (is_object($res))
+ return new PHPCIResultSet($res);
+
+ return new ArrayQueryWrapper(array());
+ }
+
+ public function get_next($res){
+ $data = $res->next();
+ return $data;
+ }
+
+ public function get_new_id(){
+ return $this->connection->insert_id();
+ }
+
+ public function escape($str){
+ return $this->connection->escape_str($str);
+ }
+
+ public function escape_name($data){
+ return $this->connection->protect_identifiers($data);
+ }
+}
+class PHPCIResultSet {
+ private $res;
+ private $start;
+ private $count;
+ public function __construct($res){
+ $this->res = $res;
+ $this->start = $res->current_row;
+ $this->count = $res->num_rows;
+ }
+
+ public function next(){
+ if($this->start != $this->count)
+ return $this->res->row($this->start++, "array");
+ else {
+ $this->res->free_result();
+ return null;
+ }
+ }
+}
+
+?> \ No newline at end of file
diff --git a/codebase/Dhtmlx/Connector/DataStorage/PHPCIDBDataWrapper.php b/codebase/Dhtmlx/Connector/DataStorage/PHPCIDBDataWrapper.php
new file mode 100755
index 0000000..3173557
--- /dev/null
+++ b/codebase/Dhtmlx/Connector/DataStorage/PHPCIDBDataWrapper.php
@@ -0,0 +1,67 @@
+<?php
+namespace Dhtmlx\Connector\DataStorage;
+use Dhtmlx\Connector\Connector;
+use Dhtmlx\Connector\Tools\LogMaster;
+
+class PHPCIDBDataWrapper extends DBDataWrapper {
+
+ public function query($sql) {
+ LogMaster::log($sql);
+ $res = $this->connection->query($sql);
+
+ if ($res === false)
+ throw new Exception("CI - sql execution failed");
+
+ if(is_object($res))
+ return new PHPCIResultSet($res);
+
+ return new ArrayQueryWrapper(array());
+ }
+
+ public function get_next($res) {
+ return $res->next();
+ }
+
+ public function get_new_id() {
+ return $this->connection->insert_id();
+ }
+
+ public function escape($str) {
+ return $this->connection->escape_str($str);
+ }
+
+ public function escape_name($data) {
+ return $this->connection->protect_identifiers($data);
+ }
+}
+
+class PHPCIResultSet {
+ private $is_result_done = false;
+ private $res;
+ private $start;
+ private $count;
+
+ public function __construct($res){
+ if(is_bool($res))
+ $this->$is_result_done = true;
+ else {
+ $this->res = $res;
+ $this->start = $res->current_row;
+ $this->count = $res->num_rows();
+ }
+ }
+
+ public function next(){
+ if($this->is_result_done)
+ return null;
+
+ if($this->start != $this->count)
+ return $this->res->row($this->start++, "array");
+ else {
+ $this->res->free_result();
+ return null;
+ }
+ }
+}
+
+?> \ No newline at end of file
diff --git a/codebase/DataStorage/PHPCake3DBDataWrapper.php b/codebase/Dhtmlx/Connector/DataStorage/PHPCakeDBDataWrapper.php
index 4cdf51e..8297c7f 100755
--- a/codebase/DataStorage/PHPCake3DBDataWrapper.php
+++ b/codebase/Dhtmlx/Connector/DataStorage/PHPCakeDBDataWrapper.php
@@ -1,8 +1,8 @@
<?php
-namespace DHTMLX\Connector\DataStorage;
+namespace Dhtmlx\Connector\DataStorage;
use Cake\ORM\TableRegistry;
-class PHPCake3DBDataWrapper extends ArrayDBDataWrapper {
+class PHPCakeDBDataWrapper extends ArrayDBDataWrapper {
public function select($sql) {
if(is_array($this->connection)) //result of findAll
diff --git a/codebase/DataStorage/PHPYii2DBDataWrapper.php b/codebase/Dhtmlx/Connector/DataStorage/PHPYii1DBDataWrapper.php
index 579dbbb..db0f100 100644
--- a/codebase/DataStorage/PHPYii2DBDataWrapper.php
+++ b/codebase/Dhtmlx/Connector/DataStorage/PHPYii1DBDataWrapper.php
@@ -1,91 +1,92 @@
<?php
namespace DHTMLX\Connector\DataStorage;
-class PHPYii2DBDataWrapper extends ArrayDBDataWrapper {
+class PHPYii1DBDataWrapper extends ArrayDBDataWrapper {
- public function select($sql){
- if (is_array($this->connection)) //result of findAll
+ public function select($sql) {
+ if(is_array($this->connection)) //result of findAll
$res = $this->connection;
else
$res = $this->connection->find()->all();
$temp = array();
- if (sizeof($res)){
+ if(sizeof($res)) {
foreach ($res as $obj)
$temp[]=$obj->getAttributes();
}
- //die(var_dump($temp));
+
return new ArrayQueryWrapper($temp);
}
- protected function getErrorMessage(){
+ protected function getErrorMessage() {
$errors = $this->connection->getErrors();
$text = array();
- foreach ($errors as $key => $value){
+ foreach($errors as $key => $value)
$text[] = $key." - ".$value[0];
- }
+
return implode("\n", $text);
}
- public function insert($data,$source){
+
+ public function insert($data, $source) {
$name = get_class($this->connection);
$obj = new $name();
- //die(var_dump($data));
$this->fill_model_and_save($obj, $data);
}
- public function delete($data,$source){
+
+ public function delete($data, $source){
$obj = $this->connection->findOne($data->get_id());
- if ($obj->delete()){
+ if($obj->delete()) {
$data->success();
$data->set_new_id($obj->getPrimaryKey());
- } else {
+ }
+ else {
$data->set_response_attribute("details", $this->errors_to_string($obj->getErrors()));
$data->invalid();
}
}
- public function update($data,$source){
- //$obj = get_class($this->connection);
- //$obj->setAttribute($obj->getPrimaryKey);
-
+ public function update($data, $source) {
$obj = $this->connection->findOne($data->get_id());
-;
$this->fill_model_and_save($obj, $data);
}
- protected function fill_model_and_save($obj, $data){
-
- $values = $data->get_data();
-
- //map data to model object
- for ($i=0; $i < sizeof($this->config->text); $i++){
+ protected function fill_model_and_save($obj, $data) {
+ //Map data to model object.
+ for($i=0; $i < sizeof($this->config->text); $i++) {
$step=$this->config->text[$i];
$obj->setAttribute($step["name"], $data->get_value($step["name"]));
}
- if ($relation = $this->config->relation_id["db_name"])
+
+ if($relation = $this->config->relation_id["db_name"])
$obj->setAttribute($relation, $data->get_value($relation));
- //save model
- if ($obj->save()){
+ //Save model.
+ if($obj->save()) {
$data->success();
$data->set_new_id($obj->getPrimaryKey());
- } else {
+ }
+ else {
$data->set_response_attribute("details", $this->errors_to_string($obj->getErrors()));
$data->invalid();
}
}
- protected function errors_to_string($errors){
+ protected function errors_to_string($errors) {
$text = array();
foreach($errors as $value)
- $text[]=implode("\n", $value);
+ $text[] = implode("\n", $value);
+
return implode("\n",$text);
}
- public function escape($str){
+
+ public function escape($str) {
throw new Exception("Not implemented");
}
- public function query($str){
+
+ public function query($str) {
throw new Exception("Not implemented");
}
- public function get_new_id(){
+
+ public function get_new_id() {
throw new Exception("Not implemented");
}
diff --git a/codebase/Dhtmlx/Connector/DataStorage/PHPYiiDBDataWrapper.php b/codebase/Dhtmlx/Connector/DataStorage/PHPYiiDBDataWrapper.php
new file mode 100644
index 0000000..57fb94a
--- /dev/null
+++ b/codebase/Dhtmlx/Connector/DataStorage/PHPYiiDBDataWrapper.php
@@ -0,0 +1,92 @@
+<?php
+namespace DHTMLX\Connector\DataStorage;
+
+class PHPYiiDBDataWrapper extends ArrayDBDataWrapper {
+
+ public function select($sql) {
+ if(is_array($this->connection)) //result of findAll
+ $res = $this->connection;
+ else
+ $res = $this->connection->find()->all();
+
+ $temp = array();
+ if(sizeof($res)) {
+ foreach($res as $obj)
+ $temp[] = $obj->getAttributes();
+ }
+ return new ArrayQueryWrapper($temp);
+ }
+
+ protected function getErrorMessage() {
+ $errors = $this->connection->getErrors();
+ $text = array();
+ foreach($errors as $key => $value)
+ $text[] = $key." - ".$value[0];
+
+ return implode("\n", $text);
+ }
+ public function insert($data, $source) {
+ $name = get_class($this->connection);
+ $obj = new $name();
+ $this->fill_model_and_save($obj, $data);
+ }
+
+ public function delete($data, $source) {
+ $obj = $this->connection->findOne($data->get_id());
+ if($obj->delete()) {
+ $data->success();
+ $data->set_new_id($obj->getPrimaryKey());
+ }
+ else {
+ $data->set_response_attribute("details", $this->errors_to_string($obj->getErrors()));
+ $data->invalid();
+ }
+ }
+
+ public function update($data, $source) {
+ $obj = $this->connection->findOne($data->get_id());
+ $this->fill_model_and_save($obj, $data);
+ }
+
+ protected function fill_model_and_save($obj, $data) {
+ //Map data to model object.
+ for($i=0; $i < sizeof($this->config->text); $i++) {
+ $step=$this->config->text[$i];
+ $obj->setAttribute($step["name"], $data->get_value($step["name"]));
+ }
+
+ if($relation = $this->config->relation_id["db_name"])
+ $obj->setAttribute($relation, $data->get_value($relation));
+
+ //Save model.
+ if($obj->save()) {
+ $data->success();
+ $data->set_new_id($obj->getPrimaryKey());
+ }
+ else {
+ $data->set_response_attribute("details", $this->errors_to_string($obj->getErrors()));
+ $data->invalid();
+ }
+ }
+
+ protected function errors_to_string($errors) {
+ $text = array();
+ foreach($errors as $value)
+ $text[] = implode("\n", $value);
+
+ return implode("\n",$text);
+ }
+
+ public function escape($str) {
+ throw new Exception("Not implemented");
+ }
+
+ public function query($str) {
+ throw new Exception("Not implemented");
+ }
+
+ public function get_new_id() {
+ throw new Exception("Not implemented");
+ }
+
+} \ No newline at end of file
diff --git a/codebase/DataStorage/PostgreDBDataWrapper.php b/codebase/Dhtmlx/Connector/DataStorage/PostgreDBDataWrapper.php
index 56eaa48..56eaa48 100644
--- a/codebase/DataStorage/PostgreDBDataWrapper.php
+++ b/codebase/Dhtmlx/Connector/DataStorage/PostgreDBDataWrapper.php
diff --git a/codebase/DistinctOptionsConnector.php b/codebase/Dhtmlx/Connector/DistinctOptionsConnector.php
index 273ec6b..273ec6b 100644
--- a/codebase/DistinctOptionsConnector.php
+++ b/codebase/Dhtmlx/Connector/DistinctOptionsConnector.php
diff --git a/codebase/Event/EventInterface.php b/codebase/Dhtmlx/Connector/Event/EventInterface.php
index 645d89b..645d89b 100644
--- a/codebase/Event/EventInterface.php
+++ b/codebase/Dhtmlx/Connector/Event/EventInterface.php
diff --git a/codebase/Event/FilterInterface.php b/codebase/Dhtmlx/Connector/Event/FilterInterface.php
index e37489d..e37489d 100644
--- a/codebase/Event/FilterInterface.php
+++ b/codebase/Dhtmlx/Connector/Event/FilterInterface.php
diff --git a/codebase/Event/SortInterface.php b/codebase/Dhtmlx/Connector/Event/SortInterface.php
index 5e6aef4..5e6aef4 100644
--- a/codebase/Event/SortInterface.php
+++ b/codebase/Dhtmlx/Connector/Event/SortInterface.php
diff --git a/codebase/GridConfiguration.php b/codebase/Dhtmlx/Connector/GridConfiguration.php
index d67a0b6..d67a0b6 100644
--- a/codebase/GridConfiguration.php
+++ b/codebase/Dhtmlx/Connector/GridConfiguration.php
diff --git a/codebase/GridConnector.php b/codebase/Dhtmlx/Connector/GridConnector.php
index b25a95a..b25a95a 100644
--- a/codebase/GridConnector.php
+++ b/codebase/Dhtmlx/Connector/GridConnector.php
diff --git a/codebase/GridDataItem.php b/codebase/Dhtmlx/Connector/GridDataItem.php
index a405f8b..a405f8b 100644
--- a/codebase/GridDataItem.php
+++ b/codebase/Dhtmlx/Connector/GridDataItem.php
diff --git a/codebase/JSONDataConnector.php b/codebase/Dhtmlx/Connector/JSONDataConnector.php
index fd6b3a0..fd6b3a0 100644
--- a/codebase/JSONDataConnector.php
+++ b/codebase/Dhtmlx/Connector/JSONDataConnector.php
diff --git a/codebase/JSONOptionsConnector.php b/codebase/Dhtmlx/Connector/JSONOptionsConnector.php
index 6d25354..6d25354 100644
--- a/codebase/JSONOptionsConnector.php
+++ b/codebase/Dhtmlx/Connector/JSONOptionsConnector.php
diff --git a/codebase/MixedConnector.php b/codebase/Dhtmlx/Connector/MixedConnector.php
index 898bfa9..898bfa9 100644
--- a/codebase/MixedConnector.php
+++ b/codebase/Dhtmlx/Connector/MixedConnector.php
diff --git a/codebase/OptionsConnector.php b/codebase/Dhtmlx/Connector/OptionsConnector.php
index 4c0ab16..4c0ab16 100644
--- a/codebase/OptionsConnector.php
+++ b/codebase/Dhtmlx/Connector/OptionsConnector.php
diff --git a/codebase/Output/JSONRenderStrategy.php b/codebase/Dhtmlx/Connector/Output/JSONRenderStrategy.php
index fddfd3d..fddfd3d 100644
--- a/codebase/Output/JSONRenderStrategy.php
+++ b/codebase/Dhtmlx/Connector/Output/JSONRenderStrategy.php
diff --git a/codebase/Output/JSONTreeRenderStrategy.php b/codebase/Dhtmlx/Connector/Output/JSONTreeRenderStrategy.php
index 04a8672..04a8672 100644
--- a/codebase/Output/JSONTreeRenderStrategy.php
+++ b/codebase/Dhtmlx/Connector/Output/JSONTreeRenderStrategy.php
diff --git a/codebase/Output/OutputWriter.php b/codebase/Dhtmlx/Connector/Output/OutputWriter.php
index 96bb49a..96bb49a 100644
--- a/codebase/Output/OutputWriter.php
+++ b/codebase/Dhtmlx/Connector/Output/OutputWriter.php
diff --git a/codebase/Output/RenderStrategy.php b/codebase/Dhtmlx/Connector/Output/RenderStrategy.php
index 9431d0d..9431d0d 100644
--- a/codebase/Output/RenderStrategy.php
+++ b/codebase/Dhtmlx/Connector/Output/RenderStrategy.php
diff --git a/codebase/Output/TreeRenderStrategy.php b/codebase/Dhtmlx/Connector/Output/TreeRenderStrategy.php
index d66e58e..d66e58e 100644
--- a/codebase/Output/TreeRenderStrategy.php
+++ b/codebase/Dhtmlx/Connector/Output/TreeRenderStrategy.php
diff --git a/codebase/Tools/AccessMaster.php b/codebase/Dhtmlx/Connector/Tools/AccessMaster.php
index 6c84e20..6c84e20 100644
--- a/codebase/Tools/AccessMaster.php
+++ b/codebase/Dhtmlx/Connector/Tools/AccessMaster.php
diff --git a/codebase/Tools/EventMaster.php b/codebase/Dhtmlx/Connector/Tools/EventMaster.php
index ec849d8..ec849d8 100644
--- a/codebase/Tools/EventMaster.php
+++ b/codebase/Dhtmlx/Connector/Tools/EventMaster.php
diff --git a/codebase/Tools/LogMaster.php b/codebase/Dhtmlx/Connector/Tools/LogMaster.php
index 657516d..657516d 100755
--- a/codebase/Tools/LogMaster.php
+++ b/codebase/Dhtmlx/Connector/Tools/LogMaster.php
diff --git a/codebase/TreeConnector.php b/codebase/Dhtmlx/Connector/TreeConnector.php
index b01e399..b01e399 100644
--- a/codebase/TreeConnector.php
+++ b/codebase/Dhtmlx/Connector/TreeConnector.php
diff --git a/codebase/XSSFilter/ConnectorSecurity.php b/codebase/Dhtmlx/Connector/XSSFilter/ConnectorSecurity.php
index 195e962..195e962 100644
--- a/codebase/XSSFilter/ConnectorSecurity.php
+++ b/codebase/Dhtmlx/Connector/XSSFilter/ConnectorSecurity.php
diff --git a/codebase/XSSFilter/dhxExternalInputClean.php b/codebase/Dhtmlx/Connector/XSSFilter/dhxExternalInputClean.php
index 4f3b526..4f3b526 100644
--- a/codebase/XSSFilter/dhxExternalInputClean.php
+++ b/codebase/Dhtmlx/Connector/XSSFilter/dhxExternalInputClean.php