summaryrefslogtreecommitdiffstats
path: root/codebase
diff options
context:
space:
mode:
Diffstat (limited to 'codebase')
-rw-r--r--codebase/data_connector.php4
-rw-r--r--codebase/db_adodb.php72
-rw-r--r--codebase/db_excel.php5
-rw-r--r--codebase/scheduler_connector.php2
-rw-r--r--codebase/treegridmultitable_connector.php2
-rw-r--r--codebase/treemultitable_connector.php2
6 files changed, 81 insertions, 6 deletions
diff --git a/codebase/data_connector.php b/codebase/data_connector.php
index 826374d..2a4e0a3 100644
--- a/codebase/data_connector.php
+++ b/codebase/data_connector.php
@@ -224,7 +224,7 @@ class JSONDataConnector extends DataConnector{
$attributes = "";
foreach($this->attributes as $k=>$v)
- $attributes .= ", ".$k.":\"".$v."\"";
+ $attributes .= ", \"".$k."\":\"".$v."\"";
$extra = "";
if (!empty($this->extra_output))
@@ -234,7 +234,7 @@ class JSONDataConnector extends DataConnector{
if ($is_sections){
//extra sections
foreach($this->sections as $k=>$v)
- $sections .= ", ".$k.":".$v;
+ $sections .= ", \"".$k."\":".$v;
}
$dyn = "";
diff --git a/codebase/db_adodb.php b/codebase/db_adodb.php
new file mode 100644
index 0000000..5250c21
--- /dev/null
+++ b/codebase/db_adodb.php
@@ -0,0 +1,72 @@
+<?php
+/*
+ @author dhtmlx.com
+ @license GPL, see license.txt
+*/
+require_once("db_common.php");
+/*! Implementation of DataWrapper for PostgreSQL
+**/
+class AdoDBDataWrapper extends DBDataWrapper{
+ protected $last_result;
+ public function query($sql){
+ LogMaster::log($sql);
+ if (is_array($sql)) {
+ $res = $this->connection->SelectLimit($sql['sql'], $sql['numrows'], $sql['offset']);
+ } else {
+ $res = $this->connection->Execute($sql);
+ }
+
+ if ($res===false) throw new Exception("ADODB operation failed\n".$this->connection->ErrorMsg());
+ $this->last_result = $res;
+ return $res;
+ }
+
+ public function get_next($res){
+ if (!$res)
+ $res = $this->last_result;
+
+ if ($res->EOF)
+ return false;
+
+ $row = $res->GetRowAssoc(false);
+ $res->MoveNext();
+ return $row;
+ }
+
+ protected function get_new_id(){
+ return $this->connection->Insert_ID();
+ }
+
+ public function escape($data){
+ return $this->connection->addq($data);
+ }
+
+ /*! escape field name to prevent sql reserved words conflict
+ @param data
+ unescaped data
+ @return
+ escaped data
+ */
+ public function escape_name($data){
+ if ((strpos($data,"`")!==false || is_int($data)) || (strpos($data,".")!==false))
+ return $data;
+ return '`'.$data.'`';
+ }
+
+
+ protected function select_query($select,$from,$where,$sort,$start,$count){
+ if (!$from)
+ return $select;
+
+ $sql="SELECT ".$select." FROM ".$from;
+ if ($where) $sql.=" WHERE ".$where;
+ if ($sort) $sql.=" ORDER BY ".$sort;
+
+ if ($start || $count) {
+ $sql=array("sql"=>$sql,'numrows'=>$count, 'offset'=>$start);
+ }
+ return $sql;
+ }
+
+}
+?> \ No newline at end of file
diff --git a/codebase/db_excel.php b/codebase/db_excel.php
index 09db5b0..14050e1 100644
--- a/codebase/db_excel.php
+++ b/codebase/db_excel.php
@@ -34,6 +34,7 @@ class ExcelDBDataWrapper extends DBDataWrapper {
public function select($source) {
$path = $this->connection;
$excel = PHPExcel_IOFactory::createReaderForFile($path);
+ $excel->setReadDataOnly(false);
$excel = $excel->load($path);
$excRes = new ExcelResult();
$excelWS = $excel->getActiveSheet();
@@ -68,7 +69,9 @@ class ExcelDBDataWrapper extends DBDataWrapper {
for ($j = 0; $j < count($this->config->text); $j++) {
$col = PHPExcel_Cell::columnIndexFromString($this->config->text[$j]['name']) - 1;
$cell = $excelWS->getCellByColumnAndRow($col, $i);
- if ($cell->getDataType() == 'f') {
+ if (PHPExcel_Shared_Date::isDateTime($cell)) {
+ $r[PHPExcel_Cell::stringFromColumnIndex($col)] = PHPExcel_Shared_Date::ExcelToPHP($cell->getValue());
+ } else if ($cell->getDataType() == 'f') {
$r[PHPExcel_Cell::stringFromColumnIndex($col)] = $cell->getCalculatedValue();
} else {
$r[PHPExcel_Cell::stringFromColumnIndex($col)] = $cell->getValue();
diff --git a/codebase/scheduler_connector.php b/codebase/scheduler_connector.php
index 210d843..ee0cd20 100644
--- a/codebase/scheduler_connector.php
+++ b/codebase/scheduler_connector.php
@@ -164,7 +164,7 @@ class JSONSchedulerConnector extends SchedulerConnector {
$this->fill_collections();
$end = (!empty($this->extra_output)) ? ', "collections": {'.$this->extra_output.'}' : '';
foreach ($this->attributes as $k => $v)
- $end.=", ".$k.":\"".$v."\"";
+ $end.=", \"".$k."\":\"".$v."\"";
$end .= '}';
return $end;
}
diff --git a/codebase/treegridmultitable_connector.php b/codebase/treegridmultitable_connector.php
index af32ca2..c380ef6 100644
--- a/codebase/treegridmultitable_connector.php
+++ b/codebase/treegridmultitable_connector.php
@@ -27,7 +27,7 @@ class TreeGridMultitableConnector extends TreeGridConnector{
public function xml_start(){
if (isset($_GET['id'])) {
- return "<rows parent='".$this->render->level_id($_GET['id'], $this->render->get_level() - 1)."'>";
+ return "<rows parent='".$this->render->level_id($_GET['id'], $this->get_level() - 1)."'>";
} else {
return "<rows parent='0'>";
}
diff --git a/codebase/treemultitable_connector.php b/codebase/treemultitable_connector.php
index c33f4a7..09bb19b 100644
--- a/codebase/treemultitable_connector.php
+++ b/codebase/treemultitable_connector.php
@@ -28,7 +28,7 @@ class TreeMultitableConnector extends TreeConnector{
public function xml_start(){
if (isset($_GET[$this->parent_name])) {
- return "<tree id='".($this->render->level_id($_GET[$this->parent_name], $this->render->get_level() - 1))."'>";
+ return "<tree id='".($this->render->level_id($_GET[$this->parent_name], $this->get_level() - 1))."'>";
} else {
return "<tree id='0'>";
}