Aleksander Machniak
2016-03-28 46f7b7096450939fe03c95aa81ce06ae4bfca89d
program/lib/Roundcube/rcube_db.php
@@ -149,10 +149,6 @@
        $dsn_string  = $this->dsn_string($dsn);
        $dsn_options = $this->dsn_options($dsn);
        if ($this->db_pconn) {
            $dsn_options[PDO::ATTR_PERSISTENT] = true;
        }
        // Connect
        try {
            // with this check we skip fatal error on PDO object creation
@@ -1187,7 +1183,7 @@
        }
        // process the different protocol options
        $parsed['protocol'] = (!empty($proto)) ? $proto : 'tcp';
        $parsed['protocol'] = $proto ?: 'tcp';
        $proto_opts = rawurldecode($proto_opts);
        if (strpos($proto_opts, ':') !== false) {
            list($proto_opts, $parsed['port']) = explode(':', $proto_opts);
@@ -1271,6 +1267,18 @@
    {
        $result = array();
        if ($this->db_pconn) {
            $result[PDO::ATTR_PERSISTENT] = true;
        }
        if (!empty($dsn['prefetch'])) {
            $result[PDO::ATTR_PREFETCH] = (int) $dsn['prefetch'];
        }
        if (!empty($dsn['timeout'])) {
            $result[PDO::ATTR_TIMEOUT] = (int) $dsn['timeout'];
        }
        return $result;
    }