diff options
Diffstat (limited to 'program/include/rcube_mdb2.inc')
-rwxr-xr-x | program/include/rcube_mdb2.inc | 42 |
1 files changed, 40 insertions, 2 deletions
diff --git a/program/include/rcube_mdb2.inc b/program/include/rcube_mdb2.inc index cd394a878..a61f0b899 100755 --- a/program/include/rcube_mdb2.inc +++ b/program/include/rcube_mdb2.inc @@ -101,9 +101,27 @@ class rcube_db $this->db_connected = true; } - // Query database (read operations) + // Query database - function query($query, $offset=0, $numrows=0) + function query() + { + $params = func_get_args(); + $query = array_shift($params); + + return $this->_query($query, 0, 0, $params); + } + + function limitquery() + { + $params = func_get_args(); + $query = array_shift($params); + $offset = array_shift($params); + $numrows = array_shift($params); + + return $this->_query($query, $offset, $numrows, $params); + } + + function _query($query, $offset, $numrows, $params) { // Read or write ? if (strtolower(trim(substr($query,0,6)))=='select') @@ -175,6 +193,26 @@ class rcube_db return $result->fetchRow(MDB2_FETCHMODE_ASSOC); } + function quoteIdentifier ( $str ) + { + if (!$this->db_handle) + $this->db_connect('r'); + + return $this->db_handle->quoteIdentifier($str); + } + + function unixtimestamp($field) + { + switch($this->db_provider) + { + case 'pgsql': + return "EXTRACT (EPOCH FROM $field)"; + break; + default: + return "UNIX_TIMESTAMP($field)"; + } + } + function _add_result($res, $query) { // sql error occured |