Browse Source

rfc822_header stuff

stekkel 23 years ago
parent
commit
b7ef03a7c7
2 changed files with 16 additions and 13 deletions
  1. 5 3
      src/download.php
  2. 11 10
      src/read_body.php

+ 5 - 3
src/download.php

@@ -46,7 +46,7 @@ $message = &$messages[$mbx_response['UIDVALIDITY']]["$passed_id"];
 $message = &$message->getEntity($passed_ent_id);
 $message = &$message->getEntity($passed_ent_id);
 
 
 $header = $message->header;
 $header = $message->header;
-$charset = $header->charset;
+$charset = $header->getParameter('charset');
 $type0 = $header->type0;
 $type0 = $header->type0;
 $type1 = $header->type1;
 $type1 = $header->type1;
 $encoding = strtolower($header->encoding);
 $encoding = strtolower($header->encoding);
@@ -86,10 +86,10 @@ if (isset($override_type1)) {
     $type1 = $override_type1;
     $type1 = $override_type1;
 }
 }
 
 
-$filename = decodeHeader($message->header->filename);
+$filename = decodeHeader($message->header->getParameter('filename'));
 
 
 if (!$filename) {
 if (!$filename) {
-    $filename = decodeHeader($message->header->name);
+    $filename = decodeHeader($message->header->getParameter('name'));
 }
 }
 
 
 if (strlen($filename) < 1) {
 if (strlen($filename) < 1) {
@@ -136,6 +136,8 @@ if (isset($absolute_dl) && $absolute_dl == 'true') {
 } else {
 } else {
     DumpHeaders($type0, $type1, $filename, 0);
     DumpHeaders($type0, $type1, $filename, 0);
 }
 }
+/* be aware that any warning caused by download.php will corrupt the
+ * attachment in case of ERROR reporting = E_ALL and the output is the screen */
 mime_print_body_lines ($imapConnection, $passed_id, $passed_ent_id, $encoding);
 mime_print_body_lines ($imapConnection, $passed_id, $passed_ent_id, $encoding);
 
 
 $message = &$message->getEntity('');
 $message = &$message->getEntity('');

+ 11 - 10
src/read_body.php

@@ -163,7 +163,7 @@ function SendMDN ( $mailbox, $passed_id, $sender, $message) {
     global $username, $attachment_dir, $SERVER_NAME,
     global $username, $attachment_dir, $SERVER_NAME,
            $version, $attachments;
            $version, $attachments;
 
 
-    $header = $message->header;
+    $header = $message->rfc822_header;
     $hashed_attachment_dir = getHashedDir($username, $attachment_dir);
     $hashed_attachment_dir = getHashedDir($username, $attachment_dir);
     
     
     $recipient_o = $header->dnt;
     $recipient_o = $header->dnt;
@@ -311,15 +311,16 @@ function formatEnvheader($mailbox, $passed_id, $passed_ent_id, $message,
   global $msn_user_support, $default_use_mdn, $draft_folder, $sent_folder,
   global $msn_user_support, $default_use_mdn, $draft_folder, $sent_folder,
          $default_use_priority, $show_xmailer_default, 
          $default_use_priority, $show_xmailer_default, 
 	 $mdn_user_support, $PHP_SELF, $javascript_on;
 	 $mdn_user_support, $PHP_SELF, $javascript_on;
-  
-   $header = $message->header;
+
+   $header = $message->rfc822_header;
    $env = array();
    $env = array();
    $env[_("Subject")] = htmlspecialchars($header->subject);   
    $env[_("Subject")] = htmlspecialchars($header->subject);   
-   $from_o = $header->from;
-   if (is_object($from_o)) {
-       $from_name = $from_o->getAddress();
-   } else {
-       $from_name = _("Unknown sender");
+   $from_name = $header->getAddr_s('from');
+   if (!$from_name) {
+     $from_name = $header->getAddr_s('sender');
+     if (!$from_name) {
+         $from_name = _("Unknown sender");
+     }
    }
    }
    $env[_("From")] = htmlspecialchars($from_name);
    $env[_("From")] = htmlspecialchars($from_name);
    $env[_("Date")] = getLongDateString($header->date);
    $env[_("Date")] = getLongDateString($header->date);
@@ -557,8 +558,8 @@ if (!isset($messages[$uidvalidity][$passed_id]) || !$uid_support) {
    $message = sqimap_get_message($imapConnection, $passed_id, $mailbox);
    $message = sqimap_get_message($imapConnection, $passed_id, $mailbox);
    $messages[$uidvalidity][$passed_id] = $message;
    $messages[$uidvalidity][$passed_id] = $message;
 } else {
 } else {
-//   $message = sqimap_get_message($imapConnection, $passed_id, $mailbox);
-   $message = $messages[$uidvalidity][$passed_id];
+   $message = sqimap_get_message($imapConnection, $passed_id, $mailbox);
+//   $message = $messages[$uidvalidity][$passed_id];
 }
 }
 $FirstTimeSee = !$message->is_seen;
 $FirstTimeSee = !$message->is_seen;
 $message->is_seen = true;
 $message->is_seen = true;