X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=installer%2Ftest.php;h=2dd330531e5c36837fa7ba06a8e199dedef8a15d;hb=48e244a464574aa732ef5ab3fe759f1e05665b3d;hp=bdaf3ee525ef424df16ad4a44691bb26b45222af;hpb=244596b3e5adbf9b7c67bf9d03ee49fbdd915e37;p=roundcube.git diff --git a/installer/test.php b/installer/test.php index bdaf3ee..2dd3305 100644 --- a/installer/test.php +++ b/installer/test.php @@ -3,8 +3,8 @@
The following config options are not present in the current configuration.
';
+ echo 'Please check the default config files and add the missing properties to your local config files.
The following config options have been replaced or renamed. '; + echo 'Please update them accordingly in your config files.
'; + + echo 'You still have some obsolete or inexistent properties set. This isn\'t a problem but should be noticed.
'; + + echo 'OK, lazy people can download the updated config files here: '; + echo html::a(array('href' => './?_mergeconfig=main'), 'main.inc.php') . ' '; + echo html::a(array('href' => './?_mergeconfig=db'), 'db.inc.php'); + echo "
"; + + + if (is_array($messages['dependencies'])) { + echo 'Some of your configuration settings require other options to be configured or additional PHP modules to be installed
'; + + echo 'RoundCube may need to write/save files into these directories
+Roundcube may need to write/save files into these directories
configured) { $pass = false; - foreach (array($RCI->config['temp_dir'],$RCI->config['log_dir']) as $dir) { - $dirpath = $dir{0} == '/' ? $dir : INSTALL_PATH . $dir; + + $dirs[] = $RCI->config['temp_dir'] ? $RCI->config['temp_dir'] : 'temp'; + if($RCI->config['log_driver'] != 'syslog') + $dirs[] = $RCI->config['log_dir'] ? $RCI->config['log_dir'] : 'logs'; + + foreach ($dirs as $dir) { + $dirpath = $dir[0] == '/' ? $dir : INSTALL_PATH . $dir; if (is_writable(realpath($dirpath))) { $RCI->pass($dir); $pass = true; @@ -56,19 +119,14 @@ else { ?> -Make sure that the configured database exists and that the user has write privileges
';
echo 'DSN: ' . $RCI->config['db_dsnw'] . '
There are known problems with MDB2 running on PHP 4. Try setting db_backend to \'db\' instead
'; } } else { @@ -100,18 +156,35 @@ if ($db_working && $_POST['initdb']) { } } +else if ($db_working && $_POST['updatedb']) { + if (!($success = $RCI->update_db($DB, $_POST['version']))) { + $updatefile = INSTALL_PATH . 'SQL/' . (isset($RCI->db_map[$DB->db_provider]) ? $RCI->db_map[$DB->db_provider] : $DB->db_provider) . '.update.sql'; + echo 'Please manually execute the SQL statements from '.$updatefile.' on your database.
';
+ echo 'See comments in the file and execute queries below the comment with the currently installed version number.
You should run the update queries to get the schmea fixed.
Version to update from: ' . $select->show() . '
Please manually execute the SQL statements from '.$updatefile.' on your database.
';
+// echo 'See comments in the file and execute queries that are superscribed with the currently installed version number.
-Server: getprop('smtp_server', 'PHP mail()'); ?>
+Server: getprop('smtp_server', 'PHP mail()')); ?>
Port: getprop('smtp_port'); ?>
'_to', 'id' => 'sendmailto'));
Trying to send email...
';
-
- if (preg_match('/^' . $RCI->email_pattern . '$/i', trim($_POST['_from'])) &&
- preg_match('/^' . $RCI->email_pattern . '$/i', trim($_POST['_to']))) {
-
+
+ $from = idn_to_ascii(trim($_POST['_from']));
+ $to = idn_to_ascii(trim($_POST['_to']));
+
+ if (preg_match('/^' . $RCI->email_pattern . '$/i', $from) &&
+ preg_match('/^' . $RCI->email_pattern . '$/i', $to)
+ ) {
$headers = array(
- 'From' => trim($_POST['_from']),
- 'To' => trim($_POST['_to']),
- 'Subject' => 'Test message from RoundCube',
+ 'From' => $from,
+ 'To' => $to,
+ '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.';
$smtp_response = array();
-
+
// send mail using configured SMTP server
if ($RCI->getprop('smtp_server')) {
$CONFIG = $RCI->config;
-
+
if (!empty($_POST['_smtp_user'])) {
$CONFIG['smtp_user'] = $_POST['_smtp_user'];
}
@@ -210,12 +284,17 @@ if (isset($_POST['sendmail']) && !empty($_POST['_from']) && !empty($_POST['_to']
$CONFIG['smtp_pass'] = $_POST['_smtp_pass'];
}
- $mail_object = new rcube_mail_mime();
+ $mail_object = new Mail_mime();
$send_headers = $mail_object->headers($headers);
-
- $status = smtp_mail($headers['From'], $headers['To'],
- ($foo = $mail_object->txtHeaders($send_headers)),
- $body, $smtp_response);
+
+ $SMTP = new rcube_smtp();
+ $SMTP->connect(rcube_parse_host($RCI->getprop('smtp_server')),
+ $RCI->getprop('smtp_port'), $CONFIG['smtp_user'], $CONFIG['smtp_pass']);
+
+ $status = $SMTP->send_mail($headers['From'], $headers['To'],
+ ($foo = $mail_object->txtHeaders($send_headers)), $body);
+
+ $smtp_response = $SMTP->get_response();
}
else { // use mail()
$header_str = 'From: ' . $headers['From'];
@@ -239,10 +318,10 @@ if (isset($_POST['sendmail']) && !empty($_POST['_from']) && !empty($_POST['_to']
else {
$RCI->fail('SMTP send', 'Invalid sender or recipient');
}
+
+ echo '