X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=installer%2Ftest.php;h=2dd330531e5c36837fa7ba06a8e199dedef8a15d;hb=76507f7c63a660742e76889ad6e3919f3dde3bb0;hp=d66fe34f24381531ee42287890d4745d100abff9;hpb=3adad46e27086084a8b28a32fc4fbc953dbfef6c;p=roundcube.git diff --git a/installer/test.php b/installer/test.php index d66fe34..2dd3305 100644 --- a/installer/test.php +++ b/installer/test.php @@ -88,18 +88,18 @@ if ($RCI->configured && ($messages = $RCI->check_config())) { ?>
RoundCube may need to write/save files into these directories
+Roundcube may need to write/save files into these directories
configured) { $pass = false; - $dirs[] = $RCI->config['temp_dir']; + $dirs[] = $RCI->config['temp_dir'] ? $RCI->config['temp_dir'] : 'temp'; if($RCI->config['log_driver'] != 'syslog') - $dirs[] = $RCI->config['log_dir']; + $dirs[] = $RCI->config['log_dir'] ? $RCI->config['log_dir'] : 'logs'; foreach ($dirs as $dir) { - $dirpath = $dir{0} == '/' ? $dir : INSTALL_PATH . $dir; + $dirpath = $dir[0] == '/' ? $dir : INSTALL_PATH . $dir; if (is_writable(realpath($dirpath))) { $RCI->pass($dir); $pass = true; @@ -119,7 +119,7 @@ else { ?> -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.
Failed to update the database schema! Please manually execute the SQL statements from the SQL/*.update.sql file on your database
' : - ''; + echo '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'];
}
@@ -275,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'];
@@ -326,7 +340,7 @@ if (isset($_POST['sendmail']) && !empty($_POST['_from']) && !empty($_POST['_to']
After completing the installation and the final tests please remove the whole
-installer folder from the document root of the webserver.
+installer folder from the document root of the webserver or make sure that
+enable_installer option in config/main.inc.php is disabled.
These files may expose sensitive configuration data like server passwords and encryption keys