alecpl
2009-08-03 dec9e85eaebaeaca92fbcb8bc581e6756b1c608f
program/include/rcube_mdb2.php
@@ -106,7 +106,7 @@
      if (!filesize($dsn_array['database']) && !empty($this->sqlite_initials))
        $this->_sqlite_create_database($dbh, $this->sqlite_initials);
      }
    else
    else if ($this->db_provider!='mssql')
      $dbh->setCharset('utf8');
    return $dbh;
@@ -330,7 +330,9 @@
    if (!$this->db_handle || $this->db_mode=='r')
      return FALSE;
    return $this->db_handle->lastInsertID($sequence);
    $id = $this->db_handle->lastInsertID($sequence);
    return $this->db_handle->isError($id) ? null : $id;
    }
@@ -505,7 +507,7 @@
        break;
      case 'mssql':
        return "datediff(s, '1970-01-01 00:00:00', $field)";
   return "DATEDIFF(second, '19700101', $field) + DATEDIFF(second, GETDATE(), GETUTCDATE())";
      default:
        return "UNIX_TIMESTAMP($field)";
@@ -553,6 +555,54 @@
      default:
        return $this->quote_identifier($column).' LIKE '.$this->quote($value);
      }
    }
  /**
   * Encodes non-UTF-8 characters in string/array/object (recursive)
   *
   * @param  mixed  Data to fix
   * @return mixed  Properly UTF-8 encoded data
   * @access public
   */
  function encode($input)
    {
    if (is_object($input)) {
      foreach (get_object_vars($input) as $idx => $value)
        $input->$idx = $this->encode($value);
      return $input;
      }
    else if (is_array($input)) {
      foreach ($input as $idx => $value)
        $input[$idx] = $this->encode($value);
      return $input;
      }
    return utf8_encode($input);
    }
  /**
   * Decodes encoded UTF-8 string/object/array (recursive)
   *
   * @param  mixed  Input data
   * @return mixed  Decoded data
   * @access public
   */
  function decode($input)
    {
    if (is_object($input)) {
      foreach (get_object_vars($input) as $idx => $value)
        $input->$idx = $this->decode($value);
      return $input;
      }
    else if (is_array($input)) {
      foreach ($input as $idx => $value)
        $input[$idx] = $this->decode($value);
      return $input;
      }
    return utf8_decode($input);
    }
@@ -653,8 +703,6 @@
  {
    $debug_output = $scope . '('.$db->db_index.'): ';
    $debug_output .= $message . $db->getOption('log_line_break');
    write_log('sqllog', $debug_output);
    write_log('sql', $debug_output);
  }
}