示例#1
1
 public function query($sql)
 {
     LogMaster::log($sql);
     $res = sasql_query($this->connection, $sql);
     if ($res === false) {
         throw new Exception("SaSQL operation failed\n" . sasql_error($this->connection));
     }
     $this->last_result = $res;
     return $res;
 }
示例#2
0
文件: db_sqlsrv.php 项目: rokkit/temp
 public function query($sql)
 {
     LogMaster::log($sql);
     if ($this->start_from) {
         $res = sqlsrv_query($this->connection, $sql, array(), array("Scrollable" => SQLSRV_CURSOR_STATIC));
     } else {
         $res = sqlsrv_query($this->connection, $sql);
     }
     if ($res === false) {
         $errors = sqlsrv_errors();
         $message = array();
         foreach ($errors as $error) {
             $message[] = $error["SQLSTATE"] . $error["code"] . $error["message"];
         }
         throw new Exception("SQLSrv operation failed\n" . implode("\n\n", $message));
     }
     if ($this->insert_operation) {
         sqlsrv_next_result($res);
         $last = sqlsrv_fetch_array($res);
         $this->last_id = $last["dhx_id"];
         sqlsrv_free_stmt($res);
     }
     if ($this->start_from) {
         $data = sqlsrv_fetch($res, SQLSRV_SCROLL_ABSOLUTE, $this->start_from - 1);
     }
     return $res;
 }
 private function getFilesList($path, $relation)
 {
     $fileSystemTypes = FileSystemTypes::getInstance();
     LogMaster::log("Query filesystem: " . $path);
     $dir = opendir($path . '/' . $relation);
     $result = new FileSystemResult();
     // forms fields list
     for ($i = 0; $i < count($this->config->data); $i++) {
         $fields[] = $this->config->data[$i]['db_name'];
     }
     // for every file and directory of folder
     while ($file = readdir($dir)) {
         // . and .. should not be in output list
         if ($file == '.' || $file == '..') {
             continue;
         }
         $newFile = array();
         // parse file name as Array('name', 'ext', 'is_dir')
         $fileNameExt = $this->parseFileName($path . '/' . $relation, $file);
         // checks if file should be in output array
         if (!$fileSystemTypes->checkFile($file, $fileNameExt)) {
             continue;
         }
         // takes file stat if it's need
         if (in_array('size', $fields) || in_array('date', $fields)) {
             $fileInfo = stat($path . '/' . $file);
         }
         // for every field forms list of fields
         for ($i = 0; $i < count($fields); $i++) {
             $field = $fields[$i];
             switch ($field) {
                 case 'filename':
                     $newFile['filename'] = $file;
                     break;
                 case 'full_filename':
                     $newFile['full_filename'] = $path . "/" . $file;
                     break;
                 case 'size':
                     $newFile['size'] = $fileInfo['size'];
                     break;
                 case 'extention':
                     $newFile['extention'] = $fileNameExt['ext'];
                     break;
                 case 'name':
                     $newFile['name'] = $fileNameExt['name'];
                     break;
                 case 'date':
                     $newFile['date'] = date("Y-m-d H:i:s", $fileInfo['ctime']);
                     break;
             }
             $newFile['relation_id'] = $relation . '/' . $file;
             $newFile['safe_name'] = $this->setFileName($relation . '/' . $file);
             $newFile['is_folder'] = $fileNameExt['is_dir'];
         }
         // add file in output list
         $result->addFile($newFile);
     }
     return $result;
 }
示例#4
0
 public function query($sql)
 {
     LogMaster::log($sql);
     $res = pg_query($this->connection, $sql);
     if ($res === false) {
         throw new Exception("Postgre - sql execution failed\n" . pg_last_error($this->connection));
     }
     return $res;
 }
示例#5
0
 public function query($sql)
 {
     LogMaster::log($sql);
     $res = $this->connection->query($sql);
     if ($res === false) {
         throw new Exception("MySQL operation failed\n" . $this->connection->error);
     }
     return $res;
 }
示例#6
0
文件: db_pdo.php 项目: tmlsoft/main
 public function query($sql)
 {
     LogMaster::log($sql);
     $res = $this->connection->query($sql);
     if ($res === false) {
         throw new Exception("PDO - sql execution failed\n" . $this->connection->errorInfo());
     }
     return new PDOResultSet($res);
 }
示例#7
0
 public function query($sql)
 {
     LogMaster::log($sql);
     $res = $this->connection->query($sql);
     if ($res === false) {
         throw new Exception("SQLLite - sql execution failed\n" . $this->connection->lastErrorMsg());
     }
     return $res;
 }
示例#8
0
 public function query($query)
 {
     LogMaster::log($query);
     $res = mysql_query($query, $this->connection);
     if (mysql_errno() != 0) {
         LogMaster::log($this->error());
     }
     return $res;
 }
示例#9
0
文件: db_phpci.php 项目: rokkit/temp
 public function query($sql)
 {
     LogMaster::log($sql);
     $res = $this->connection->query($sql);
     if ($res === false) {
         throw new Exception("CI - sql execution failed");
     }
     return new PHPCIResultSet($res);
 }
示例#10
0
 public function query($sql)
 {
     LogMaster::log($sql);
     $res = sqlite_query($this->connection, $sql);
     if ($res === false) {
         throw new Exception("SQLLite - sql execution failed\n" . sqlite_error_string(sqlite_last_error($this->connection)));
     }
     return $res;
 }
示例#11
0
 public function query($sql)
 {
     if ($this->last_result) {
         $this->last_result->closeCursor();
     }
     LogMaster::log($sql);
     $this->last_result = $res = $this->connection->query($sql);
     if ($res === false) {
         throw new Exception("PDO - sql execution failed\n" . $this->connection->errorInfo());
     }
     return $res;
 }
示例#12
0
 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());
 }
示例#13
0
 public function query($sql)
 {
     LogMaster::log($sql);
     $res = mssql_query($sql, $this->connection, $this->start_from === false ? 10 : 0);
     if ($this->insert_operation) {
         $last = mssql_fetch_assoc($res);
         $this->last_id = $last["dhx_id"];
         mysql_free_result($res);
     }
     if ($this->start_from !== false) {
         mssql_data_seek($res, $this->start_from);
     }
     return $res;
 }
示例#14
0
 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;
 }
 function parse_request()
 {
     parent::parse_request();
     if (isset($_GET["pos"])) {
         if (!$this->dload) {
             LogMaster::log("Dyn loading request received, but server side was not configured to process dyn. loading. ");
         } else {
             $this->request->set_limit($_GET["pos"], $this->dload);
         }
     }
     if (isset($_GET["mask"])) {
         $this->request->set_filter($this->config->text[0]["db_name"], $_GET["mask"] . "%", "LIKE");
     }
     LogMaster::log($this->request);
 }
示例#16
0
 public function output_as_xml($results)
 {
     if (isset($_GET['action'])) {
         LogMaster::log("Edit operation finished", $results);
         ob_clean();
         $type = $results[0]->get_status();
         if ($type == "error" || $type == "invalid") {
             echo "false";
         } else {
             if ($type == "insert") {
                 echo "true\n" . $results[0]->get_new_id();
             } else {
                 echo "true";
             }
         }
     } else {
         return parent::output_as_xml($results);
     }
 }
示例#17
0
 public function query($sql)
 {
     LogMaster::log($sql);
     if ($this->start_from) {
         $res = sqlsrv_query($this->connection, $sql, array(), array("Scrollable" => SQLSRV_CURSOR_STATIC));
     } else {
         $res = sqlsrv_query($this->connection, $sql);
     }
     if ($this->insert_operation) {
         sqlsrv_next_result($res);
         $last = sqlsrv_fetch_array($res);
         $this->last_id = $last["dhx_id"];
         sqlsrv_free_stmt($res);
     }
     if ($this->start_from) {
         $data = sqlsrv_fetch($res, SQLSRV_SCROLL_ABSOLUTE, $this->start_from - 1);
     }
     return $res;
 }
示例#18
0
 public function query($sql)
 {
     LogMaster::log($sql);
     $stm = oci_parse($this->connection, $sql);
     if ($stm === false) {
         throw new Exception("Oracle - sql parsing failed\n" . oci_error($this->connection));
     }
     $out = array(0 => null);
     if ($this->insert_operation) {
         oci_bind_by_name($stm, ":outID", $out[0], 999);
         $this->insert_operation = false;
     }
     $mode = $this->is_record_transaction() || $this->is_global_transaction() ? OCI_DEFAULT : OCI_COMMIT_ON_SUCCESS;
     $res = oci_execute($stm, $mode);
     if ($res === false) {
         throw new Exception("Oracle - sql execution failed\n" . oci_error($this->connection));
     }
     $this->last_id = $out[0];
     return $stm;
 }
示例#19
0
 static function CSRF_detected()
 {
     LogMaster::log("[SECURITY] Possible CSRF attack detected", array("referer" => $_SERVER["HTTP_REFERER"], "remote" => $_SERVER["REMOTE_ADDR"]));
     LogMaster::log("Request data", $_POST);
     die;
 }
 function set_id($id)
 {
     $this->id = $id;
     LogMaster::log("Change id: " . $id);
 }
示例#21
0
 public function enable_log($path = true, $client_log = false)
 {
     LogMaster::enable_log($path, $client_log);
 }
示例#22
0
 public function render()
 {
     $this->event->trigger("onInit", $this);
     EventMaster::trigger_static("connectorInit", $this);
     if (!$this->as_string) {
         $this->parse_request();
     }
     $this->set_relation();
     if ($this->live_update !== false && $this->updating !== false) {
         $this->live_update->get_updates();
     } else {
         if ($this->editing) {
             if ($this->links_mode && isset($this->options["links"])) {
                 $this->options["links"]->save();
             } else {
                 $dp = new $this->names["data_class"]($this, $this->config, $this->request);
                 $dp->process($this->config, $this->request);
             }
         } else {
             if (!$this->access->check("read")) {
                 LogMaster::log("Access control: read operation blocked");
                 echo "Access denied";
                 die;
             }
             $wrap = new SortInterface($this->request);
             $this->apply_sorts($wrap);
             $this->event->trigger("beforeSort", $wrap);
             $wrap->store();
             $wrap = new FilterInterface($this->request);
             $this->apply_filters($wrap);
             $this->event->trigger("beforeFilter", $wrap);
             $wrap->store();
             if ($this->model && method_exists($this->model, "get")) {
                 $this->sql = new ArrayDBDataWrapper();
                 $result = new ArrayQueryWrapper(call_user_func(array($this->model, "get"), $this->request));
                 $out = $this->output_as_xml($result);
             } else {
                 $out = $this->output_as_xml($this->get_resource());
                 if ($out !== null) {
                     return $out;
                 }
             }
         }
     }
     $this->end_run();
 }
示例#23
0
文件: tools.php 项目: neohusky/demo
 public static function enable_log($name, $output = false)
 {
     LogMaster::$_log = $name;
     LogMaster::$_output = $output;
     if ($name) {
         set_error_handler(array("LogMaster", "error_log"), E_ALL);
         set_exception_handler(array("LogMaster", "exception_log"));
         LogMaster::log("\n\n====================================\nLog started, " . date("d/m/Y h:m:s") . "\n====================================");
     }
 }
示例#24
0
 function set_value($name, $value)
 {
     LogMaster::log("change value of: " . $name . " as: " . $value);
     $this->data[$name] = $value;
 }
 public function enable_log($filename = 'sh_log.txt')
 {
     LogMaster::enable_log($filename);
 }
示例#26
0
 function set_new_id($id)
 {
     $this->nid = $id;
     LogMaster::log("Change new id: " . $id);
 }
示例#27
0
 public function query($sql)
 {
     LogMaster::log($sql);
     $res = mysql_query($sql, $this->connection);
     if ($res === false) {
         throw new Exception("MySQL operation failed\n" . mysql_error($this->connection));
     }
     return $res;
 }
示例#28
0
 public function set_attribute($name, $value)
 {
     if (method_exists($this->child, 'set_attribute')) {
         LogMaster::log("setting attribute: \nname = {$name}\nvalue = {$value}");
         $this->child->set_attribute($name, $value);
     } else {
         LogMaster::log("set_attribute method doesn't exists");
     }
 }
 private static function log_details($data, $pref = "")
 {
     if (is_array($data)) {
         $str = array("");
         foreach ($data as $k => $v) {
             array_push($str, $pref . $k . " => " . LogMaster::log_details($v, $pref . "\t"));
         }
         return implode("\n", $str);
     }
     return $data;
 }