summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Machniak <alec@alec.pl>2013-06-18 13:54:26 +0200
committerAleksander Machniak <alec@alec.pl>2013-06-18 13:55:03 +0200
commit8b81c61396f0eba2fcebcba29eb6f569877becc9 (patch)
tree62fdc21edcf073a084677f8598cef2a166e47049
parentdd12eec622a0508bc579e2c839439ebde7bb423b (diff)
Fix so install do not fail when one of DB driver checks fails but other drivers exist (#1489178)
-rw-r--r--CHANGELOG1
-rw-r--r--installer/check.php6
-rw-r--r--installer/rcube_install.php7
3 files changed, 11 insertions, 3 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 448307fef..9d2cd12af 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,7 @@
CHANGELOG Roundcube Webmail
===========================
+- Fix so install do not fail when one of DB driver checks fails but other drivers exist (#1489178)
- Fix so exported vCard specifies encoding in v3-compatible format (#1489183)
RELEASE 0.9.2
diff --git a/installer/check.php b/installer/check.php
index fcf35025e..bea8c42e0 100644
--- a/installer/check.php
+++ b/installer/check.php
@@ -139,10 +139,11 @@ foreach ($RCI->supported_dbs as $database => $ext) {
if (extension_loaded($ext)) {
// MySQL driver requires PHP >= 5.3 (#1488875)
if ($ext == 'pdo_mysql' && version_compare(PHP_VERSION, '5.3.0', '<')) {
- $RCI->fail($database, 'PHP >= 5.3 required');
+ $RCI->fail($database, 'PHP >= 5.3 required', null, true);
}
else {
$RCI->pass($database);
+ $found_db_driver = true;
}
}
else {
@@ -152,6 +153,9 @@ foreach ($RCI->supported_dbs as $database => $ext) {
}
echo '<br />';
}
+if (empty($found_db_driver)) {
+ $RCI->failures++;
+}
?>
diff --git a/installer/rcube_install.php b/installer/rcube_install.php
index ce9ddfc46..43e6407a3 100644
--- a/installer/rcube_install.php
+++ b/installer/rcube_install.php
@@ -495,10 +495,13 @@ class rcube_install
* @param string Test name
* @param string Error message
* @param string URL for details
+ * @param bool Do not count this failure
*/
- function fail($name, $message = '', $url = '')
+ function fail($name, $message = '', $url = '', $optional=false)
{
- $this->failures++;
+ if (!$optional) {
+ $this->failures++;
+ }
echo Q($name) . ':&nbsp; <span class="fail">NOT OK</span>';
$this->_showhint($message, $url);