Browse Source

$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 năm trước cách đây
mục cha
commit
988e87f1b7
2 tập tin đã thay đổi với 5 bổ sung7 xóa
  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);