From d1dd13ee5c8b74ff134024eea85facf6ae8f3364 Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Wed, 25 Aug 2010 15:09:13 -0400
Subject: [PATCH] - Fix SMTP test in Installer (#1486952)

---
 program/include/rcube_smtp.php |   25 ++++++++++---------------
 CHANGELOG                      |    1 +
 installer/test.php             |    3 ++-
 3 files changed, 13 insertions(+), 16 deletions(-)

diff --git a/CHANGELOG b/CHANGELOG
index 7a95e66..c4f5fc4 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -7,6 +7,7 @@
 - Fixes in SQL init script + added update script for MSSQL database
 - Remove redundant date in syslog messages (#1486945)
 - Fix contacts list page controls when a group is selected (#1486946)
+- Fix SMTP test in Installer (#1486952)
 
 RELEASE 0.4
 -----------
diff --git a/installer/test.php b/installer/test.php
index a465e2f..d1b5979 100644
--- a/installer/test.php
+++ b/installer/test.php
@@ -276,7 +276,8 @@
       $send_headers = $mail_object->headers($headers);
 
       $SMTP = new rcube_smtp();
-      $SMTP->connect();
+      $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);
diff --git a/program/include/rcube_smtp.php b/program/include/rcube_smtp.php
index 3c54d47..fc32b3f 100644
--- a/program/include/rcube_smtp.php
+++ b/program/include/rcube_smtp.php
@@ -38,21 +38,16 @@
 
 
   /**
-   * Object constructor
-   *
-   * @param 
-   */
-  function __construct()
-  {
-  }
-
-
-  /**
    * SMTP Connection and authentication
+   *
+   * @param string Server host
+   * @param string Server port
+   * @param string User name
+   * @param string Password
    *
    * @return bool  Returns true on success, or false on error
    */
-  public function connect()
+  public function connect($host=null, $port=null, $user=null, $pass=null)
   {
     $RCMAIL = rcmail::get_instance();
   
@@ -64,10 +59,10 @@
   
     // let plugins alter smtp connection config
     $CONFIG = $RCMAIL->plugins->exec_hook('smtp_connect', array(
-      'smtp_server' => $RCMAIL->config->get('smtp_server'),
-      'smtp_port'   => $RCMAIL->config->get('smtp_port', 25),
-      'smtp_user'   => $RCMAIL->config->get('smtp_user'),
-      'smtp_pass'   => $RCMAIL->config->get('smtp_pass'),
+      'smtp_server' => $host ? $host : $RCMAIL->config->get('smtp_server'),
+      'smtp_port'   => $port ? $port : $RCMAIL->config->get('smtp_port', 25),
+      'smtp_user'   => $user ? $user : $RCMAIL->config->get('smtp_user'),
+      'smtp_pass'   => $pass ? $pass : $RCMAIL->config->get('smtp_pass'),
       'smtp_auth_type' => $RCMAIL->config->get('smtp_auth_type'),
       'smtp_helo_host' => $RCMAIL->config->get('smtp_helo_host'),
       'smtp_timeout'   => $RCMAIL->config->get('smtp_timeout'),

--
Gitblit v1.9.1