浏览代码

$header->cc, $header->to, $header->bcc should always be an array
Removed checks for the "always array" stuff
Made Reply To All addresses unique using PHP 4.0.0

Tyler Akins 24 年之前
父节点
当前提交
988e87f1b7
共有 2 个文件被更改,包括 5 次插入7 次删除
  1. 2 2
      functions/mime.php
  2. 3 5
      src/read_body.php

+ 2 - 2
functions/mime.php

@@ -25,8 +25,8 @@
       /** could be in a header.                                 **/
       
       var $type0 = '', $type1 = '', $boundary = '', $charset = '';
-      var $encoding = '', $size = 0, $to = '', $from = '', $date = '';
-      var $cc = '', $bcc = '', $reply_to = '', $subject = '';
+      var $encoding = '', $size = 0, $to = array(), $from = '', $date = '';
+      var $cc = array(), $bcc = array(), $reply_to = '', $subject = '';
       var $id = 0, $mailbox = '', $description = '', $filename = '';
       var $entity_id = 0, $message_id = 0;
    }

+ 3 - 5
src/read_body.php

@@ -165,8 +165,6 @@
    // add them to the list.  Remove duplicates.
    // This is somewhat messy, so I'll explain:
    // 1) Take all addresses (from, to, cc) (avoid nasty join errors here)
-   if (!is_array($message->header->to)) { $message->header->cc = array($message->header->to); }
-   if (!is_array($message->header->cc)) { $message->header->cc = array($message->header->cc); }
    $url_replytoall_extra_addrs = array_merge(array($message->header->from),
       $message->header->to, $message->header->cc);
 
@@ -177,9 +175,9 @@
    $url_replytoall_extra_addrs = parseAddrs($url_replytoall_extra_addrs);
    
    // 4) Make them unique -- weed out duplicates
-   if (function_exists("array_unique")) {
-      $url_replytoall_extra_addrs = array_unique($url_replytoall_extra_addrs);
-   }
+   // (Coded for PHP 4.0.0)
+   $url_replytoall_extra_addrs =
+      array_keys(array_flip($url_replytoall_extra_addrs);
    
    // 5) Remove the addresses we'll be sending the message 'to'
    $url_replytoall_avoid_addrs = parseAddrs($message->header->replyto);