| | |
| | | <?php |
| | | |
| | | /* |
| | | /** |
| | | +-----------------------------------------------------------------------+ |
| | | | This file is part of the Roundcube Webmail client | |
| | | | Copyright (C) 2005-2012, The Roundcube Dev Team | |
| | |
| | | // Get database specific connection options |
| | | $dsn_string = $this->dsn_string($dsn); |
| | | $dsn_options = $this->dsn_options($dsn); |
| | | |
| | | if ($this->db_pconn) { |
| | | $dsn_options[PDO::ATTR_PERSISTENT] = true; |
| | | } |
| | | |
| | | // Connect |
| | | try { |
| | |
| | | } |
| | | |
| | | // 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); |
| | |
| | | { |
| | | $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; |
| | | } |
| | | |