Use hash to configure Horde_Mime_Mail ctor.
authorJan Schneider <jan@horde.org>
Sun, 6 Sep 2009 16:51:10 +0000 (18:51 +0200)
committerJan Schneider <jan@horde.org>
Sun, 6 Sep 2009 16:51:10 +0000 (18:51 +0200)
framework/Auth/lib/Horde/Auth/Signup.php
framework/Mime/lib/Horde/Mime/Mail.php
framework/Mime/test/Horde/Mime/mail_001.phpt
framework/Mime/test/Horde/Mime/mail_003.phpt
framework/Mime/test/Horde/Mime/mail_004.phpt
framework/Mime/test/Horde/Mime/mail_005.phpt
framework/Mime/test/Horde/Mime/mail_006.phpt
framework/Mime/test/Horde/Mime/mail_007.phpt

index 47af223..ad81461 100644 (file)
@@ -128,12 +128,12 @@ class Horde_Auth_Signup
                 . "\n" . Horde_Util::addParameter($link, 'a', 'approve') . "\n"
                 . _("Deny the account:")
                 . "\n" . Horde_Util::addParameter($link, 'a', 'deny');
-            $mail = new Horde_Mime_Mail(
-                sprintf(_("Account signup request for \"%s\""), $signup->name),
-                $message,
-                $conf['signup']['email'],
-                $conf['signup']['email'],
-                Horde_Nls::getCharset());
+            $mail = new Horde_Mime_Mail(array(
+                'subject' => sprintf(_("Account signup request for \"%s\""), $signup->name),
+                'body' => $message,
+                'to' => $conf['signup']['email'],
+                'from' => $conf['signup']['email'],
+                'subject' => Horde_Nls::getCharset()));
             $mail->send(Horde::getMailerConfig());
         }
     }
index 3253c32..3d03e49 100644 (file)
@@ -81,39 +81,37 @@ class Horde_Mime_Mail
     /**
      * Constructor.
      *
-     * @param string $subject  The message subject.
-     * @param string $body     The message body.
-     * @param string $to       The message recipient(s).
-     * @param string $from     The message sender.
-     * @param string $charset  The character set of the message.
+     * @param array $params  A hash with basic message information. The
+     *                       following values are supported:
+     *                       - subject: The message subject.
+     *                       - body:    The message body.
+     *                       - to:      The message recipient(s).
+     *                       - from:    The message sender.
+     *                       - charset: The character set of the message.
      *
      * @throws Horde_Mime_Exception
      */
-    public function __construct($subject = null, $body = null, $to = null,
-                                $from = null, $charset = null)
+    public function __construct($params = array())
     {
         /* Set SERVER_NAME. */
         if (!isset($_SERVER['SERVER_NAME'])) {
             $_SERVER['SERVER_NAME'] = php_uname('n');
         }
-        if (!$charset) {
-            $charset = 'iso-8859-1';
-        }
 
         $this->_headers = new Horde_Mime_Headers();
-        $this->_charset = $charset;
+        $this->_charset = isset($params['charset']) ? $params['charset'] : 'iso-8859-1';
 
-        if ($subject) {
-            $this->addHeader('Subject', $subject, $charset);
+        if (isset($params['subject'])) {
+            $this->addHeader('Subject', $params['subject'], $this->_charset);
         }
-        if ($to) {
-            $this->addHeader('To', $to, $charset);
+        if (isset($params['to'])) {
+            $this->addHeader('To', $params['to'], $this->_charset);
         }
-        if ($from) {
-            $this->addHeader('From', $from, $charset);
+        if (isset($params['from'])) {
+            $this->addHeader('From', $params['from'], $this->_charset);
         }
-        if ($body) {
-            $this->setBody($body, $charset);
+        if (isset($params['body'])) {
+            $this->setBody($params['body'], $this->_charset);
         }
     }
 
index 0d72f48..37a4b16 100644 (file)
@@ -7,10 +7,12 @@ require_once 'Horde/String.php';
 require_once 'Horde/Util.php';
 require dirname(__FILE__) . '/mail_dummy.inc';
 
-$mail = new Horde_Mime_Mail('My Subject', "This is\nthe body",
-                            'recipient@example.com', 'sender@example.com',
-                            'iso-8859-15');
-echo $mail->send('dummy');
+$mail = new Horde_Mime_Mail(array('subject' => 'My Subject',
+                                  'body' => "This is\nthe body",
+                                  'to' => 'recipient@example.com',
+                                  'from' => 'sender@example.com',
+                                  'charset' => 'iso-8859-15'));
+echo $mail->send(array('type' => 'dummy'));
 
 ?>
 --EXPECTF--
index e65d513..b243e98 100644 (file)
@@ -8,9 +8,11 @@ require_once 'Horde/String.php';
 require 'Horde/Nls.php';
 require_once 'Horde/Util.php';
 
-$mail = new Horde_Mime_Mail('Schöner Betreff', "Hübsche Umlaute \n und Leerzeichen.",
-                            'Empfänger <recipient@example.com>',
-                            'sender@example.com', 'iso-8859-1');
+$mail = new Horde_Mime_Mail(array('subject' => 'Schöner Betreff',
+                                  'body' => "Hübsche Umlaute \n und Leerzeichen.",
+                                  'to' => 'Empfänger <recipient@example.com>',
+                                  'from' => 'sender@example.com',
+                                  'charset' => 'iso-8859-1'));
 $mail->addHeader('Cc', 'Der schöne Peter <peter@example.com>', 'iso-8859-15');
 echo $mail->send(array('type' => 'dummy'));
 
index e3c481a..cbb6dfa 100644 (file)
@@ -7,9 +7,11 @@ require dirname(__FILE__) . '/mail_dummy.inc';
 require_once 'Horde/String.php';
 require_once 'Horde/Util.php';
 
-$mail = new Horde_Mime_Mail('My Subject', "This is\nthe body",
-                            'recipient@example.com', 'sender@example.com',
-                            'iso-8859-15');
+$mail = new Horde_Mime_Mail(array('subject' => 'My Subject',
+                                  'body' => "This is\nthe body",
+                                  'to' => 'recipient@example.com',
+                                  'from' => 'sender@example.com',
+                                  'charset' => 'iso-8859-15'));
 $mail->addPart('text/plain', 'This is a plain text', 'iso-8859-1', 'inline');
 $mail->addPart('application/octet-stream',
                file_get_contents(dirname(__FILE__) . '/fixtures/attachment.bin'),
index c9fd021..6f241b8 100644 (file)
@@ -9,23 +9,26 @@ require_once 'Horde/Text/Filter.php';
 require_once 'Horde/Text/Filter/Html2text.php';
 require_once 'Horde/Util.php';
 
-$mail = new Horde_Mime_Mail('My Subject', null, 'recipient@example.com',
-                            'sender@example.com');
+$mail = new Horde_Mime_Mail(array('subject' => 'My Subject',
+                                  'to' => 'recipient@example.com',
+                                  'from' => 'sender@example.com'));
 $mail->setBody("This is\nthe plain text body.");
 echo $mail->send(array('type' => 'dummy'));
 
 echo "====================================================================\n";
 
-$mail = new Horde_Mime_Mail('My Subject', null, 'recipient@example.com',
-                            'sender@example.com');
+$mail = new Horde_Mime_Mail(array('subject' => 'My Subject',
+                                  'to' => 'recipient@example.com',
+                                  'from' => 'sender@example.com'));
 $mail->setHTMLBody("<h1>Header Title</h1>\n<p>This is<br />the html text body.</p>",
                    'iso-8859-1', false);
 echo $mail->send(array('type' => 'dummy'));
 
 echo "====================================================================\n";
 
-$mail = new Horde_Mime_Mail('My Subject', null, 'recipient@example.com',
-                            'sender@example.com');
+$mail = new Horde_Mime_Mail(array('subject' => 'My Subject',
+                                  'to' => 'recipient@example.com',
+                                  'from' => 'sender@example.com'));
 $mail->setHTMLBody("<h1>Header Title</h1>\n<p>This is<br />the html text body.</p>");
 echo $mail->send(array('type' => 'dummy'));
 
index 5b2ab11..380226f 100644 (file)
@@ -7,9 +7,11 @@ require dirname(__FILE__) . '/mail_dummy.inc';
 require_once 'Horde/String.php';
 require_once 'Horde/Util.php';
 
-$mail = new Horde_Mime_Mail('My Subject', "This is\nthe body",
-                            'recipient@example.com', 'sender@example.com',
-                            'iso-8859-15');
+$mail = new Horde_Mime_Mail(array('subject' => 'My Subject',
+                                  'body' => "This is\nthe body",
+                                  'to' => 'recipient@example.com',
+                                  'from' => 'sender@example.com',
+                                  'charset' => 'iso-8859-15'));
 $mail->addAttachment(dirname(__FILE__) . '/fixtures/attachment.bin');
 $mail->addAttachment(dirname(__FILE__) . '/mail_dummy.inc', 'my_name.html', 'text/html', 'iso-8859-15');
 
index efade0a..68e0bcf 100644 (file)
@@ -7,10 +7,12 @@ require dirname(__FILE__) . '/mail_dummy.inc';
 require_once 'Horde/String.php';
 require_once 'Horde/Util.php';
 
-$mail = new Horde_Mime_Mail('My Subject', "This is\nthe body",
-                            'recipient@example.com', 'sender@example.com',
-                            'iso-8859-15');
-$raw = $mail->send('dummy');
+$mail = new Horde_Mime_Mail(array('subject' => 'My Subject',
+                                  'body' => "This is\nthe body",
+                                  'to' => 'recipient@example.com',
+                                  'from' => 'sender@example.com',
+                                  'charset' => 'iso-8859-15'));
+$raw = $mail->send(array('type' => 'dummy'));
 echo $raw;
 preg_match('/^Message-ID: (.*)$/m', $raw, $id1);