From 31ff9f3419c2e03d15ccedc48cc480f7168b795c Mon Sep 17 00:00:00 2001 From: svncommit Date: Sun, 17 Feb 2008 02:57:58 +0000 Subject: tweaks --- check.php-dist | 255 +++++++++++++++++++++++++++++++++------------------------ 1 file changed, 148 insertions(+), 107 deletions(-) diff --git a/check.php-dist b/check.php-dist index 076ecfe26..dac2ae022 100644 --- a/check.php-dist +++ b/check.php-dist @@ -1,18 +1,18 @@ OK'); define('CHECK_NOK', 'NOT OK'); define('CHECK_NA', 'NOT AVAILABLE'); -error_reporting(E_ALL ^E_NOTICE); +error_reporting(E_ALL); $include_path = dirname(__FILE__) . '/program/lib'; $include_path .= PATH_SEPARATOR; @@ -68,7 +68,7 @@ $include_path .= dirname(__FILE__) . '/program'; $include_path .= PATH_SEPARATOR; $include_path .= get_include_path(); -@ini_set('display_errors', 1); +ini_set('display_errors', 1); set_include_path($include_path); $create_files = array('config/db.inc.php', 'config/main.inc.php'); @@ -86,27 +86,48 @@ $supported_dbs = array('MySQL' => 'mysql', 'MySQLi' => 'mysqli', $path = dirname(__FILE__) . '/'; $check = basename(__FILE__); -include_once 'include/bugs.inc'; +require_once 'include/bugs.inc'; ?> - - - - RoundCube :: check + + + +RoundCube :: check -RoundCube Webmail +RoundCube Webmail

Check Configuration

From correctly set: @@ -130,7 +151,7 @@ foreach ($supported_dbs AS $database => $ext) { } else { $_ext = $prefix . $ext . '.' . PHP_SHLIB_SUFFIX; echo CHECK_NA; - if (@dl($_ext)) { + if (dl($_ext)) { echo ' (Could be loaded. Please add in php.ini, if you plan on using it.)'; } else { echo ' (Not installed.)'; @@ -168,10 +189,11 @@ foreach ($create_files AS $file) { echo '

Check if directories are writable

'; echo '

RoundCube may need to write/save files into these directories.

'; -@include $path . 'config/main.inc.php'; +require_once $path . 'config/main.inc.php'; +$rctest_config = array_merge($rctest_config, $rcmail_config); -if (isset($rcmail_config)) { - foreach (array($rcmail_config['temp_dir'], $rcmail_config['log_dir']) AS $dir) { +if (isset($rctest_config)) { + foreach (array($rctest_config['temp_dir'], $rctest_config['log_dir']) AS $dir) { $dir = $dir{0} == '/' ? $dir : $path . $dir; echo "Directory $dir: "; if (!is_writable($dir)) { @@ -186,21 +208,22 @@ if (isset($rcmail_config)) { } echo '

Check supplied DB settings

'; -@include $path . 'config/db.inc.php'; +require_once $path . 'config/db.inc.php'; +$rctest_config = array_merge($rctest_config, $rcmail_config); $db_working = false; -if (isset($rcmail_config) && is_array($rcmail_config)) { +if (isset($rctest_config) && is_array($rctest_config)) { echo 'Selected backend: '; - if ($rcmail_config['db_backend'] != '') { + if ($rctest_config['db_backend'] != '') { - echo 'PEAR::' . strtoupper($rcmail_config['db_backend']) . '
'; + echo 'PEAR::' . strtoupper($rctest_config['db_backend']) . '
'; - $_class = 'rcube_' . strtolower($rcmail_config['db_backend']); + $_class = 'rcube_' . strtolower($rctest_config['db_backend']); require_once 'include/' . $_class . '.inc'; echo 'DSN (standard): '; - $DB = new $_class($rcmail_config['db_dsnw'], '', false); + $DB = new $_class($rctest_config['db_dsnw'], '', false); $DB->db_connect('w'); if (!($db_error_msg = $DB->is_error())) { echo CHECK_OK; @@ -210,8 +233,8 @@ if (isset($rcmail_config) && is_array($rcmail_config)) { } echo '
'; echo 'DSN (read-only, optional): '; - if ($rcmail_config['db_dsnr'] != '') { - $DB_READ = new $_class($rcmail_config['db_dsnr'], '', false); + if ($rctest_config['db_dsnr'] != '') { + $DB_READ = new $_class($rctest_config['db_dsnr'], '', false); $DB_READ->db_connect('w'); if (!($db_error_msg = $DB_READ->is_error())) { echo CHECK_OK; @@ -219,7 +242,7 @@ if (isset($rcmail_config) && is_array($rcmail_config)) { echo CHECK_NOK . " (Error: $db_error_msg)"; } } else { - echo CHECK_NA; + echo CHECK_NA.($db_working ? ' - will use DSN (standard)' : ''); } echo '
'; } else { @@ -233,14 +256,15 @@ echo '

TimeZone

'; echo 'Checks if web- and databaseserver are in the same timezone.

'; echo 'Status: '; if ($db_working === true) { - $tz_db = "SELECT " . $DB->unixtimestamp($DB->now()) . " AS tz_db"; + $tz_db = 'SELECT ' . $DB->unixtimestamp($DB->now()) . ' AS tz_db'; $tz_db = $DB->query($tz_db); $tz_db = $DB->fetch_assoc($tz_db); $tz_db = (int) $tz_db['tz_db']; $tz_local = (int) time(); $tz_diff = $tz_local - $tz_db; - if ($tz_db != $tz_local) { + // sometimes we have 1 second gap, treat that as ok + if ($tz_diff > 1) { echo CHECK_NOK; } else { echo CHECK_OK; @@ -268,106 +292,123 @@ foreach ($ini_array AS $var => $val) { } echo '
'; } - -@include $path . 'config/main.inc.php'; ?>

Check email settings


'; -if (is_array($rcmail_config) && count($rcmail_config)) { -?> +if (is_array($rctest_config) && count($rctest_config)) { + ?> - - - - - + + + + + + + +

SMTP Settings

IMAP Settings

-'; - echo 'server: ' . $rcmail_config['smtp_server'] . '
'; - echo 'port: ' . $rcmail_config['smtp_port'] . '
'; - echo 'user: ' . (($rcmail_config['smtp_user'] == '%u')?'use current session':$rcmail_config['smtp_user']) . '
'; - echo 'pass: ' . (($rcmail_config['smtp_pass'] == '%p')?'use current session':$rcmail_config['smtp_pass']) . '
'; - //var_dump($rcmail_config); -?> -
-'; - echo 'server: ' . (is_array($rcmail_config['default_host']) ? var_export($rcmail_config['default_host'], true) : $rcmail_config['default_host']) . '
'; - echo 'port: ' . $rcmail_config['default_port'] . '
'; -?> -
+

SMTP Settings

+
+

IMAP Settings

+
'; + echo 'server: '.(isset($rctest_config['smtp_server']) && !empty($rctest_config['smtp_server']) ? $rctest_config['smtp_server'] : 'not set').'
'; + echo 'port: '.(isset($rctest_config['smtp_port']) && !empty($rctest_config['smtp_port']) ? $rctest_config['smtp_port'] : 'not set').'
'; + if (isset($rctest_config['smtp_user']) && !empty($rctest_config['smtp_user'])) { + echo 'user: '.$rctest_config['smtp_user'].'
'; + } elseif ($rctest_config['smtp_user'] == '%u') { + echo 'user: use current session
'; + } else { + echo 'user: not set
'; + } + if (isset($rctest_config['smtp_pass']) && !empty($rctest_config['smtp_pass'])) { + echo 'pass: '.$rctest_config['smtp_pass'].'
'; + } elseif (isset($rctest_config['smtp_pass']) && $rctest_config['smtp_pass'] == '%p') { + echo 'pass: use current session
'; + } else { + echo 'pass: not set
'; + } + ?>
'; + if (isset($rctest_config['default_host']) && is_array($rctest_config['default_host'])) { + echo 'server: '.var_export($rctest_config['default_host'], true).'
'; + } elseif (isset($rctest_config['default_host']) && !empty($rctest_config['default_host'])) { + echo 'server: '.$rctest_config['default_host'].'
'; + } else { + echo 'server: not set
'; + } + echo 'port: '.(isset($rctest_config['default_port']) && !empty($rctest_config['default_port']) ? $rctest_config['default_port'] : 'not set').'
'; + ?>

Test SMTP settings - send an email

Don't abuse this!

-
- - +
-Recipient:
-

- - -
+endif; +?> Recipient:
+
+
+ '; - echo 'Please edit $rctest_config in ' . basename(__FILE__) . '
'; - } else { + echo 'Trying to send email: '; + if ($rctest_config['from'] == '_yourfrom_') { + echo CHECK_NOK . '
'; + echo 'Please edit $rctest_config in ' . basename(__FILE__) . '
'; + } else { - $data = $_POST['smtp_test']; - $CONFIG = $rcmail_config; + $data = $_POST['smtp_test']; + $CONFIG = $rctest_config; - require_once 'lib/rc_mail_mime.inc'; - require_once 'include/rcube_smtp.inc'; + require_once 'lib/rc_mail_mime.inc'; + require_once 'include/rcube_smtp.inc'; - $recipients = $rctest_config['from']; + $recipients = $rctest_config['from']; - $headers['From'] = $rctest_config['from']; - $headers['To'] = $recipients; - $headers['Subject'] = 'Test message from RoundCube'; + $headers['From'] = $rctest_config['from']; + $headers['To'] = $recipients; + $headers['Subject'] = 'Test message from RoundCube'; - $body = 'This is a test to confirm that RoundCube can send email.'; + $body = 'This is a test to confirm that RoundCube can send email.'; - $mail_object = new rc_mail_mime(); - $mail_object->headers($headers); - - $smtp_response = array(); - if (smtp_mail($rctest_config['from'], $recipients, ($foo = $mail_object->txtHeaders($send_headers)), $body, $smtp_response)) { - echo CHECK_OK . '
'; - } else { - echo CHECK_NOK; - echo '
' . join('
', $smtp_response); - } + $mail_object = new rc_mail_mime(); + $mail_object->headers($headers); + + $smtp_response = array(); + if (smtp_mail($rctest_config['from'], $recipients, ($foo = $mail_object->txtHeaders($send_headers)), $body, $smtp_response)) { + echo CHECK_OK . '
'; + } else { + echo CHECK_NOK; + echo '
' . join('
', $smtp_response); } } +} } else { echo CHECK_NOK; } ?>

Test IMAP settings

We cannot test, default_host is not set in config/main.inc.php.'; } else { -?> + ?>
-

+
+
-


- +

+ - + \ No newline at end of file -- cgit v1.2.3