Changeset 328 in subversion


Ignore:
Timestamp:
Aug 30, 2006 1:41:21 PM (7 years ago)
Author:
thomasb
Message:

Added MSSQL support

Location:
trunk/roundcubemail
Files:
1 added
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/roundcubemail/program/include/main.inc

    r324 r328  
    467467    // update user's record 
    468468    $DB->query("UPDATE ".get_table_name('users')." 
    469                 SET    last_login=now() 
     469                SET    last_login=".$DB->now()." 
    470470                WHERE  user_id=?", 
    471471                $user_id); 
     
    512512  $DB->query("INSERT INTO ".get_table_name('users')." 
    513513              (created, last_login, username, mail_host, alias, language) 
    514               VALUES (now(), now(), ?, ?, ?, ?)", 
     514              VALUES (".$DB->now().", ".$DB->now().", ?, ?, ?, ?)", 
    515515              $user, 
    516516              $host, 
  • trunk/roundcubemail/program/include/rcube_db.inc

    r262 r328  
    293293      { 
    294294      case 'pgsql': 
    295         // PostgreSQL uses sequences 
    296295        $result = &$this->db_handle->getOne("SELECT CURRVAL('$sequence')"); 
     296         
     297      case 'mssql': 
     298        $result = &$this->db_handle->getOne("SELECT @@IDENTITY"); 
     299 
    297300        if (DB::isError($result)) 
    298           { 
    299301          raise_error(array('code' => 500, 'type' => 'db', 'line' => __LINE__, 'file' => __FILE__,  
    300302                            'message' => $result->getMessage()), TRUE, FALSE); 
    301           } 
    302303 
    303304        return $result; 
     
    422423 
    423424 
     425  /* 
     426   * Return SQL function for current time and date 
     427   * 
     428   * @return string SQL function to use in query 
     429   * @access public 
     430   */ 
     431  function now() 
     432    { 
     433    switch($this->db_provider) 
     434      { 
     435      case 'mssql': 
     436        return "getdate()"; 
     437 
     438      default: 
     439        return "now()"; 
     440      } 
     441    } 
     442 
     443 
    424444  /** 
    425445   * Return SQL statement to convert a field value into a unix timestamp 
     
    435455      case 'pgsql': 
    436456        return "EXTRACT (EPOCH FROM $field)"; 
    437         break; 
     457 
     458      case 'mssql': 
     459        return "datediff(s, '1970-01-01 00:00:00', $field)"; 
    438460 
    439461      default: 
     
    457479      case 'mysql': 
    458480      case 'sqlite': 
    459         return "FROM_UNIXTIME($timestamp)"; 
     481        return sprintf("FROM_UNIXTIME(%d)", $timestamp); 
    460482 
    461483      default: 
  • trunk/roundcubemail/program/include/rcube_imap.inc

    r326 r328  
    17651765      $this->db->query( 
    17661766        "UPDATE ".get_table_name('cache')." 
    1767          SET    created=now(), 
     1767         SET    created=".$this->db->now().", 
    17681768                data=? 
    17691769         WHERE  user_id=? 
     
    17791779        "INSERT INTO ".get_table_name('cache')." 
    17801780         (created, user_id, cache_key, data) 
    1781          VALUES (now(), ?, ?, ?)", 
     1781         VALUES (".$this->db->now().", ?, ?, ?)", 
    17821782        $_SESSION['user_id'], 
    17831783        $key, 
     
    19681968        "INSERT INTO ".get_table_name('messages')." 
    19691969         (user_id, del, cache_key, created, idx, uid, subject, ".$this->db->quoteIdentifier('from').", ".$this->db->quoteIdentifier('to').", cc, date, size, headers, structure) 
    1970          VALUES (?, 0, ?, now(), ?, ?, ?, ?, ?, ?, ".$this->db->fromunixtime($headers->timestamp).", ?, ?, ?)", 
     1970         VALUES (?, 0, ?, ".$this->db->now().", ?, ?, ?, ?, ?, ?, ".$this->db->fromunixtime($headers->timestamp).", ?, ?, ?)", 
    19711971        $_SESSION['user_id'], 
    19721972        $key, 
  • trunk/roundcubemail/program/include/session.inc

    r132 r328  
    7171    $DB->query("UPDATE ".get_table_name('session')." 
    7272                SET    vars=?, 
    73                        changed=now() 
     73                       changed=".$DB->now()." 
    7474                WHERE  sess_id=?", 
    7575                $vars, 
     
    8080    $DB->query("INSERT INTO ".get_table_name('session')." 
    8181                (sess_id, vars, ip, created, changed) 
    82                 VALUES (?, ?, ?, now(), now())", 
     82                VALUES (?, ?, ?, ".$DB->now().", ".$DB->now().")", 
    8383                $key, 
    8484                $vars, 
     
    119119  $sql_result = $DB->query("SELECT sess_id 
    120120                            FROM ".get_table_name('session')." 
    121                             WHERE ".$DB->unixtimestamp('now()')."-".$DB->unixtimestamp('changed')." > ?", 
     121                            WHERE ".$DB->unixtimestamp($DB->now())."-".$DB->unixtimestamp('changed')." > ?", 
    122122                            $maxlifetime); 
    123123                                    
  • trunk/roundcubemail/program/steps/addressbook/save.inc

    r327 r328  
    5151    { 
    5252    $DB->query("UPDATE $contacts_table 
    53                 SET    changed=now(), ".join(', ', $a_write_sql)." 
     53                SET    changed=".$DB->now().", ".join(', ', $a_write_sql)." 
    5454                WHERE  contact_id=? 
    5555                AND    user_id=? 
     
    173173      { 
    174174      $DB->query("INSERT INTO $contacts_table 
    175                 (user_id, changed, del, ".join(', ', $a_insert_cols).") 
    176                 VALUES (?, now(), 0, ".join(', ', $a_insert_values).")", 
     175                  (user_id, changed, del, ".join(', ', $a_insert_cols).") 
     176                  VALUES (?, ".$DB->now().", 0, ".join(', ', $a_insert_values).")", 
    177177                $_SESSION['user_id']); 
    178178                        
  • trunk/roundcubemail/program/steps/mail/addcontact.inc

    r160 r328  
    4444      $DB->query("INSERT INTO ".get_table_name('contacts')." 
    4545                  (user_id, changed, del, name, email) 
    46                   VALUES (?, now(), 0, ?, ?)", 
     46                  VALUES (?, ".$DB->now().", 0, ?, ?)", 
    4747                  $_SESSION['user_id'], 
    4848                  $contact['name'], 
Note: See TracChangeset for help on using the changeset viewer.