summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoralec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c>2011-12-02 13:32:28 +0000
committeralec <alec@208e9e7b-5314-0410-a742-e7e81cd9613c>2011-12-02 13:32:28 +0000
commit6525260278931e678f46be5a5a76ab67372a7b34 (patch)
treec4456dd5f7d9b6a53fc97fb0393a5155e45a9d56
parent0d1258bba2d568cc5ade877c9faa29e724a088d4 (diff)
- Fallback to write-master when readonly database fails
git-svn-id: https://svn.roundcube.net/trunk@5528 208e9e7b-5314-0410-a742-e7e81cd9613c
-rw-r--r--roundcubemail/program/include/rcube_mdb2.php7
1 files changed, 7 insertions, 0 deletions
diff --git a/roundcubemail/program/include/rcube_mdb2.php b/roundcubemail/program/include/rcube_mdb2.php
index 3b7a6129b..b1a019653 100644
--- a/roundcubemail/program/include/rcube_mdb2.php
+++ b/roundcubemail/program/include/rcube_mdb2.php
@@ -145,6 +145,13 @@ class rcube_mdb2
$this->db_handle = $this->dsn_connect($dsn);
$this->db_connected = !PEAR::isError($this->db_handle);
+ // use write-master when read-only fails
+ if (!$this->db_connected && $mode == 'r') {
+ $mode = 'w';
+ $this->db_handle = $this->dsn_connect($this->db_dsnw);
+ $this->db_connected = !PEAR::isError($this->db_handle);
+ }
+
if ($this->db_connected)
$this->db_mode = $mode;
else