diff options
-rw-r--r-- | CHANGELOG | 1 | ||||
-rw-r--r-- | installer/check.php | 40 | ||||
-rw-r--r-- | installer/rcube_install.php | 14 |
3 files changed, 44 insertions, 11 deletions
@@ -1,6 +1,7 @@ CHANGELOG RoundCube Webmail =========================== +- Don't require date.timezone setting in installer (#1485989) - Fix date sorting problem with Courier IMAP server (#1486065) - Unselect pressed buttons on mouse up (#1485987) - Don't set php_value error_log in .htaccess but mention in INSTALL (#1485924) diff --git a/installer/check.php b/installer/check.php index 694455a60..9bdb41ba5 100644 --- a/installer/check.php +++ b/installer/check.php @@ -17,7 +17,9 @@ $supported_dbs = array('MySQL' => 'mysql', 'MySQLi' => 'mysqli', $ini_checks = array('file_uploads' => 1, 'session.auto_start' => 0, 'zend.ze1_compatibility_mode' => 0, 'mbstring.func_overload' => 0, - 'suhosin.session.encrypt' => 0, 'date.timezone' => '-NOTEMPTY-'); + 'suhosin.session.encrypt' => 0); + +$optional_checks = array('date.timezone' => '-NOTEMPTY-'); $source_urls = array( 'Sockets' => 'http://www.php.net/manual/en/ref.sockets.php', @@ -68,7 +70,7 @@ foreach ($required_php_exts AS $name => $ext) { ?> -<p class="hint">The next couple of extensions are <em>optional</em> but recommended to get the best performance:</p> +<p class="hint">The next couple of extensions are <em>optional</em> and recommended to get the best performance:</p> <?php foreach ($optional_php_exts AS $name => $ext) { @@ -127,6 +129,7 @@ foreach ($required_libs as $classname => $file) { ?> <h3>Checking php.ini/.htaccess settings</h3> +<p class="hint">The following settings are <em>required</em> to run RoundCube:</p> <?php @@ -136,15 +139,6 @@ foreach ($ini_checks as $var => $val) { if (empty($status)) { $RCI->fail($var, "cannot be empty and needs to be set"); } else { - switch ($var) { - case 'date.timezone': - if (date_default_timezone_set($status) === false) { - $RCI->fail($var, "is '$status', but the settings is wrong"); - echo '<br />'; - continue; - } - break; - } $RCI->pass($var); } echo '<br />'; @@ -159,6 +153,30 @@ foreach ($ini_checks as $var => $val) { } ?> +<p class="hint">The following settings are <em>optional</em> and recommended:</p> + +<?php + +foreach ($optional_checks as $var => $val) { + $status = ini_get($var); + if ($val === '-NOTEMPTY-') { + if (empty($status)) { + $RCI->optfail($var, "Could be set"); + } else { + $RCI->pass($var); + } + echo '<br />'; + continue; + } + if ($status == $val) { + $RCI->pass($var); + } else { + $RCI->optfail($var, "is '$status', could be '$val'"); + } + echo '<br />'; +} +?> + <?php if ($RCI->failures) { diff --git a/installer/rcube_install.php b/installer/rcube_install.php index 1ad1ff267..f30c0085f 100644 --- a/installer/rcube_install.php +++ b/installer/rcube_install.php @@ -467,6 +467,20 @@ class rcube_install echo Q($name) . ': <span class="fail">NOT OK</span>'; $this->_showhint($message, $url); } + + + /** + * Display an error status for optional settings/features + * + * @param string Test name + * @param string Error message + * @param string URL for details + */ + function optfail($name, $message = '', $url = '') + { + echo Q($name) . ': <span class="na">NOT OK</span>'; + $this->_showhint($message, $url); + } /** |