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:54:26 +0200
commite7fa2ce56d0c9e3d791f3c145febbb9ab16be838 (patch)
treec48bb3555936631ca9801fc0a138edae92c958a2
parentb531277d039c0649736310c9b84efe4758b39537 (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 bac9ee1cf..66db4207a 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)
- Fix session issues when local and database time differs (#1486132)
- Fix thread cache syncronization/validation (#1489028)
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 c95d936d2..473fd2612 100644
--- a/installer/rcube_install.php
+++ b/installer/rcube_install.php
@@ -496,10 +496,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);