فهرست منبع

$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);