alecpl
2008-11-16 14de18d5f4636ca86ed8cac4c8c725e07bd2ff79
program/include/rcube_mdb2.php
@@ -69,17 +69,6 @@
  /**
   * 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
@@ -89,12 +78,19 @@
  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))
      {
@@ -500,10 +496,31 @@
      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);
      }
    }
@@ -566,12 +583,7 @@
    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);