diff options
author | Egor <egor.26.93@gmail.com> | 2015-06-09 16:33:01 +0300 |
---|---|---|
committer | Egor <egor.26.93@gmail.com> | 2015-06-09 16:33:01 +0300 |
commit | 388e84730286a153c12a77d9f19215f2b74c5c4f (patch) | |
tree | 5820f539147788d47ce0ff772ec2efad1b033809 /codebase | |
parent | 277e69d5c6fe9eaa71bf2df9470b85db3f8b20a1 (diff) | |
download | connector-php-388e84730286a153c12a77d9f19215f2b74c5c4f.zip connector-php-388e84730286a153c12a77d9f19215f2b74c5c4f.tar.gz connector-php-388e84730286a153c12a77d9f19215f2b74c5c4f.tar.bz2 |
Created PHPCake3 connector. Fixed loging namespaces.
Diffstat (limited to 'codebase')
-rwxr-xr-x | codebase/DataStorage/PHPCake3DBDataWrapper.php | 76 | ||||
-rwxr-xr-x[-rw-r--r--] | codebase/Tools/LogMaster.php | 4 |
2 files changed, 78 insertions, 2 deletions
diff --git a/codebase/DataStorage/PHPCake3DBDataWrapper.php b/codebase/DataStorage/PHPCake3DBDataWrapper.php new file mode 100755 index 0000000..4cdf51e --- /dev/null +++ b/codebase/DataStorage/PHPCake3DBDataWrapper.php @@ -0,0 +1,76 @@ +<?php
+namespace DHTMLX\Connector\DataStorage;
+use Cake\ORM\TableRegistry;
+
+class PHPCake3DBDataWrapper extends ArrayDBDataWrapper {
+
+ public function select($sql) {
+ if(is_array($this->connection)) //result of findAll
+ $query = $this->connection;
+ else
+ $query = $this->connection->find("all");
+
+ $temp = array();
+ foreach($query as $row)
+ $temp[] = $row->toArray();
+
+ return new ArrayQueryWrapper($temp);
+ }
+
+ protected function getErrorMessage() {
+ $errors = $this->connection->invalidFields();
+ $text = array();
+ foreach ($errors as $key => $value){
+ $text[] = $key." - ".$value[0];
+ }
+ return implode("\n", $text);
+ }
+
+ public function insert($data, $source) {
+ $table = TableRegistry::get($source->get_source());
+ $obj = $table->newEntity();
+ $obj = $this->fillModel($obj, $data);
+ $savedResult = $this->connection->save($obj);
+ $data->success($savedResult->get($this->config->id["db_name"]));
+ }
+
+ public function delete($data, $source) {
+ $table = TableRegistry::get($source->get_source());
+ $obj = $table->get($data->get_id());
+ $this->connection->delete($obj);
+ }
+
+ public function update($data, $source) {
+ $table = TableRegistry::get($source->get_source());
+ $obj = $table->get($data->get_id());
+ $obj = $this->fillModel($obj, $data);
+ $table->save($obj);
+ }
+
+ private function fillModel($obj, $data) {
+ //Map data to model object.
+ for($i = 0; $i < count($this->config->text); $i++) {
+ $step=$this->config->text[$i];
+ $obj->set($step["name"], $data->get_value($step["name"]));
+ }
+
+ if($relation = $this->config->relation_id["db_name"])
+ $obj->set($relation, $data->get_value($relation));
+
+ return $obj;
+ }
+
+ 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/Tools/LogMaster.php b/codebase/Tools/LogMaster.php index c9459cc..657516d 100644..100755 --- a/codebase/Tools/LogMaster.php +++ b/codebase/Tools/LogMaster.php @@ -93,8 +93,8 @@ class LogMaster{ LogMaster::$_log=$name; LogMaster::$_output=$output; if ($name){ - set_error_handler(array("LogMaster","error_log"),E_ALL); - set_exception_handler(array("LogMaster","exception_log")); + set_error_handler(array("DHTMLX\\Connector\\Tools\\LogMaster","error_log"),E_ALL); + set_exception_handler(array("DHTMLX\\Connector\\Tools\\LogMaster","exception_log")); LogMaster::log("\n\n====================================\nLog started, ".date("d/m/Y h:i:s")."\n===================================="); } } |