CVS update: /cowiki/includes/cowiki/class/lib/

[email protected] 5 Apr 2005 22:05:24 -0000
Newsgroups gmane.comp.php.cowiki.cvs
Message-ID <[email protected]>
User: dgorski 
Date: 05/04/05 15:05:24

Modified:
 /cowiki/includes/cowiki/class/lib/
  class.Mailer.php

Log:
 Added method 'addXHeader()'

File Changes:

Directory: /cowiki/includes/cowiki/class/lib/
=============================================

File [changed]: class.Mailer.php
Url: http://cowiki.tigris.org/source/browse/cowiki/includes/cowiki/class/lib/class.Mailer.php?r1=1.1&r2=1.2
Delta lines:  +35 -4
--------------------
--- class.Mailer.php	23 Jan 2005 21:29:06 -0000	1.1
+++ class.Mailer.php	5 Apr 2005 22:05:24 -0000	1.2
@@ -2,7 +2,7 @@
 
 /**
  *
- * $Id: class.Mailer.php,v 1.1 2005/01/23 21:29:06 dgorski Exp $
+ * $Id: class.Mailer.php,v 1.2 2005/04/05 22:05:24 dgorski Exp $
  *
  * This file is part of coWiki. coWiki is free software under the terms of
  * the GNU General Public License (GPL). Read the LICENSE file. If you did
@@ -17,7 +17,7 @@
  * @author      Daniel T. Gorski, <[email protected]>
  * @copyright   (C) Daniel T. Gorski, {@link http://www.develnet.org}
  * @license     http://www.gnu.org/licenses/gpl.html
- * @version     $Revision: 1.1 $
+ * @version     $Revision: 1.2 $
  *
  */
 
@@ -53,7 +53,8 @@
         $sFromName    = '',
         $sFromMail    = '',
         $sReplyToName = '',
-        $sReplyToMail = '';
+        $sReplyToMail = '',
+        $aXHeader     = array();
 
     private
         $aToName  = array(),
@@ -132,10 +133,16 @@
         }
 
         $aHead[] = 'From: '.$sFrom;
-        $aHead[] = 'Date: '.date('D, d M Y H:i:s').' +0200 GMT';
+        $aHead[] = 'Date: '.date('D, d M Y H:i:s').' +0200 GMT'; // FIX DATE
         $aHead[] = 'Message-ID: <'.$sMid.'.AMOK@'.$_SERVER['HTTP_HOST'].'>';
         $aHead[] = 'Precedence: bulk';
         $aHead[] = 'X-Mailer: '.$this->sSelfName;
+
+        // Add optional X-Headers
+        foreach ($this->aXHeader as $k => $v) {
+            $aHead[] = 'X-' . $k . ': ' . $v;
+        }
+
         $aHead[] = 'MIME-Version: 1.0';
         $aHead[] = 'Content-Type: text/plain; charset=ISO-8859-15';
         $aHead[] = 'Content-Transfer-Encoding: 8bit';
@@ -175,6 +182,30 @@
      */
     public function setReturnPath($sStr) {
         $this->sReturn = $this->cleanHeaderString($sStr);
+    }
+
+    // --------------------------------------------------------------------
+
+    /**
+     * Add X-Header
+     *
+     * @access  public
+     * @param   string
+     * @param   string
+     * @return  void
+     *
+     * @author  Daniel T. Gorski, <[email protected]>
+     * @since   coWiki 0.4.0
+     *
+     * @todo    [D11N]  Check description
+     */
+    public function addXHeader($sName, $sValue) {
+
+        // Remove 'X-' if it was accidently passed
+        if (strtolower(substr($sName, 0, 2)) == 'x-') {
+            $sName = substr($sName, 2);
+        }
+        $this->aXHeader[$sName] = $sValue;
     }
 
     // --------------------------------------------------------------------