From 2c633703e97eb6e7aa7ba840ef86b1fc1bd98ada Mon Sep 17 00:00:00 2001
From: svncommit <devs@roundcube.net>
Date: Wed, 23 May 2007 23:49:19 -0400
Subject: [PATCH] upgrade to TinyMCE v2.1.1.1

---
 program/include/rcube_mdb2.inc |   34 +++++++++++++++++++++++++++++-----
 1 files changed, 29 insertions(+), 5 deletions(-)

diff --git a/program/include/rcube_mdb2.inc b/program/include/rcube_mdb2.inc
old mode 100755
new mode 100644
index eec975c..47def03
--- a/program/include/rcube_mdb2.inc
+++ b/program/include/rcube_mdb2.inc
@@ -59,14 +59,15 @@
    * @param  string  DSN for read/write operations
    * @param  string  Optional DSN for read only operations
    */
-  function __construct($db_dsnw, $db_dsnr='')
+  function __construct($db_dsnw, $db_dsnr='', $pconn=false)
     {
     if ($db_dsnr=='')
       $db_dsnr=$db_dsnw;
 
     $this->db_dsnw = $db_dsnw;
     $this->db_dsnr = $db_dsnr;
-
+    $this->db_pconn = $pconn;
+    
     $dsn_array = MDB2::parseDSN($db_dsnw);
     $this->db_provider = $dsn_array['phptype'];
     }
@@ -93,7 +94,7 @@
   function dsn_connect($dsn)
     {
     // Use persistent connections if available
-    $dbh = MDB2::connect($dsn, array('persistent' => TRUE, 'portability' => MDB2_PORTABILITY_ALL ^ MDB2_PORTABILITY_EMPTY_TO_NULL));
+    $dbh = MDB2::connect($dsn, array('persistent' => $this->db_pconn, 'portability' => MDB2_PORTABILITY_ALL ^ MDB2_PORTABILITY_EMPTY_TO_NULL));
 
     if (PEAR::isError($dbh))
       {
@@ -103,13 +104,14 @@
       raise_error(array('code' => 500, 'type' => 'db', 'line' => __LINE__, 'file' => __FILE__,
                         'message' => $dbh->getMessage()), TRUE, FALSE);
       }
-
     else if ($this->db_provider=='sqlite')
       {
       $dsn_array = MDB2::parseDSN($dsn);
       if (!filesize($dsn_array['database']) && !empty($this->sqlite_initials))
         $this->_sqlite_create_database($dbh, $this->sqlite_initials);
       }
+    else
+      $dbh->setCharset('utf8');
 
     return $dbh;
     }
@@ -285,7 +287,7 @@
     if (!$this->db_handle)
       return FALSE;
 
-    return $result;
+    return $this->_get_result($result);
     }
 
 
@@ -411,6 +413,25 @@
 
 
   /**
+   * Return SQL function for current time and date
+   *
+   * @return string SQL function to use in query
+   * @access public
+   */
+  function now()
+    {
+    switch($this->db_provider)
+      {
+      case 'mssql':
+        return "getdate()";
+
+      default:
+        return "now()";
+      }
+    }
+
+
+  /**
    * Return SQL statement to convert a field value into a unix timestamp
    *
    * @param  string  Field name
@@ -425,6 +446,9 @@
         return "EXTRACT (EPOCH FROM $field)";
         break;
 
+      case 'mssql':
+        return "datediff(s, '1970-01-01 00:00:00', $field)";
+
       default:
         return "UNIX_TIMESTAMP($field)";
       }

--
Gitblit v1.9.1