| | |
| | | |
| | | |
| | | /** |
| | | * PHP 4 object constructor |
| | | * |
| | | * @see rcube_mdb2::__construct |
| | | */ |
| | | function rcube_db($db_dsnw,$db_dsnr='') |
| | | { |
| | | $this->__construct($db_dsnw,$db_dsnr); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * Connect to specific database |
| | | * |
| | | * @param string DSN for DB connections |
| | |
| | | function dsn_connect($dsn) |
| | | { |
| | | // Use persistent connections if available |
| | | $dbh = MDB2::connect($dsn, array( |
| | | $db_options = array( |
| | | 'persistent' => $this->db_pconn, |
| | | 'emulate_prepared' => $this->debug_mode, |
| | | 'debug' => $this->debug_mode, |
| | | 'debug_handler' => 'mdb2_debug_handler', |
| | | 'portability' => MDB2_PORTABILITY_ALL ^ MDB2_PORTABILITY_EMPTY_TO_NULL)); |
| | | 'portability' => MDB2_PORTABILITY_ALL ^ MDB2_PORTABILITY_EMPTY_TO_NULL); |
| | | |
| | | if ($this->db_provider == 'pgsql') { |
| | | $db_options['disable_smart_seqname'] = true; |
| | | $db_options['seqname_format'] = '%s'; |
| | | } |
| | | |
| | | $dbh = MDB2::connect($dsn, $db_options); |
| | | |
| | | if (MDB2::isError($dbh)) |
| | | { |
| | |
| | | case 'mysqli': |
| | | case 'mysql': |
| | | case 'sqlite': |
| | | return "FROM_UNIXTIME($timestamp)"; |
| | | return sprintf("FROM_UNIXTIME(%d)", $timestamp); |
| | | |
| | | default: |
| | | return date("'Y-m-d H:i:s'", $timestamp); |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * Return SQL statement for case insensitive LIKE |
| | | * |
| | | * @param string Field name |
| | | * @param string Search value |
| | | * @return string SQL statement to use in query |
| | | * @access public |
| | | */ |
| | | function ilike($column, $value) |
| | | { |
| | | // TODO: use MDB2's matchPattern() function |
| | | switch($this->db_provider) |
| | | { |
| | | case 'pgsql': |
| | | return $this->quote_identifier($column).' ILIKE '.$this->quote($value); |
| | | default: |
| | | return $this->quote_identifier($column).' LIKE '.$this->quote($value); |
| | | } |
| | | } |
| | | |
| | |
| | | if (empty($file_name) || !is_string($file_name)) |
| | | return; |
| | | |
| | | $data = ''; |
| | | if ($fd = fopen($file_name, 'r')) |
| | | { |
| | | $data = fread($fd, filesize($file_name)); |
| | | fclose($fd); |
| | | } |
| | | $data = file_get_contents($file_name); |
| | | |
| | | if (strlen($data)) |
| | | sqlite_exec($dbh->connection, $data); |