From 38ea9af1e685aeb89b5823e59ccd2c8fb481162c Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Wed, 15 Aug 2012 09:32:44 -0400
Subject: [PATCH] Merge branch 'master' of github.com:roundcube/roundcubemail

---
 program/include/rcube.php |   23 ++++++++++++++---------
 1 files changed, 14 insertions(+), 9 deletions(-)

diff --git a/program/include/rcube.php b/program/include/rcube.php
index 3b16015..494b5c3 100644
--- a/program/include/rcube.php
+++ b/program/include/rcube.php
@@ -49,14 +49,14 @@
   /**
    * Instace of database class.
    *
-   * @var rcube_mdb2
+   * @var rcube_pdo
    */
   public $db;
 
   /**
    * Instace of Memcache class.
    *
-   * @var rcube_mdb2
+   * @var Memcache
    */
   public $memcache;
 
@@ -160,15 +160,13 @@
   /**
    * Get the current database connection
    *
-   * @return rcube_mdb2  Database connection object
+   * @return rcube_pdo  Database connection object
    */
   public function get_dbh()
   {
     if (!$this->db) {
       $config_all = $this->config->all();
-
-      $this->db = new rcube_mdb2($config_all['db_dsnw'], $config_all['db_dsnr'], $config_all['db_persistent']);
-      $this->db->sqlite_initials = INSTALL_PATH . 'SQL/sqlite.initial.sql';
+      $this->db = rcube_db::factory($config_all['db_dsnw'], $config_all['db_dsnr'], $config_all['db_persistent']);
       $this->db->set_debug((bool)$config_all['sql_debug']);
     }
 
@@ -193,11 +191,17 @@
       $this->memcache = new Memcache;
       $this->mc_available = 0;
 
-      // add alll configured hosts to pool
+      // add all configured hosts to pool
       $pconnect = $this->config->get('memcache_pconnect', true);
       foreach ($this->config->get('memcache_hosts', array()) as $host) {
-        list($host, $port) = explode(':', $host);
-        if (!$port) $port = 11211;
+        if (substr($host, 0, 7) != 'unix://') {
+          list($host, $port) = explode(':', $host);
+          if (!$port) $port = 11211;
+        }
+        else {
+          $port = 0;
+        }
+
         $this->mc_available += intval($this->memcache->addServer($host, $port, $pconnect, 1, 1, 15, false, array($this, 'memcache_failure')));
       }
 
@@ -409,6 +413,7 @@
         ini_set('session.use_cookies', 1);
         ini_set('session.use_only_cookies', 1);
         ini_set('session.serialize_handler', 'php');
+        ini_set('session.cookie_httponly', 1);
 
         // use database for storing session data
         $this->session = new rcube_session($this->get_dbh(), $this->config);

--
Gitblit v1.9.1