From d186405c0090772d1c26788dad9ea973f0421390 Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Sat, 08 Jun 2013 14:14:33 -0400
Subject: [PATCH] Simplified db connection initialisation code

---
 program/lib/Roundcube/rcube_db_mysql.php |   21 +++++++++++++++++++--
 1 files changed, 19 insertions(+), 2 deletions(-)

diff --git a/program/lib/Roundcube/rcube_db_mysql.php b/program/lib/Roundcube/rcube_db_mysql.php
index 2d42610..6fa5ad7 100644
--- a/program/lib/Roundcube/rcube_db_mysql.php
+++ b/program/lib/Roundcube/rcube_db_mysql.php
@@ -30,9 +30,13 @@
     public $db_provider = 'mysql';
 
     /**
-     * Driver initialization/configuration
+     * Object constructor
+     *
+     * @param string $db_dsnw DSN for read/write operations
+     * @param string $db_dsnr Optional DSN for read only operations
+     * @param bool   $pconn   Enables persistent connections
      */
-    protected function init()
+    public function __construct($db_dsnw, $db_dsnr = '', $pconn = false)
     {
         if (version_compare(PHP_VERSION, '5.3.0', '<')) {
             rcube::raise_error(array('code' => 600, 'type' => 'db',
@@ -41,12 +45,25 @@
                 true, true);
         }
 
+        parent::__construct($db_dsnw, $db_dsnr, $pconn);
+
         // SQL identifiers quoting
         $this->options['identifier_start'] = '`';
         $this->options['identifier_end'] = '`';
     }
 
     /**
+     * Driver-specific configuration of database connection
+     *
+     * @param array $dsn DSN for DB connections
+     * @param PDO   $dbh Connection handler
+     */
+    protected function conn_configure($dsn, $dbh)
+    {
+        $this->query("SET NAMES 'utf8'");
+    }
+
+    /**
      * Abstract SQL statement for value concatenation
      *
      * @return string SQL statement to be used in query

--
Gitblit v1.9.1