url_parser.php didn't handle multiple addresses on the same line. This
[squirrelmail.git] / functions / imap_parse.php
index 362845966f22b3f6aec5fbcbf79a9c29991e3105..47b3fdc0407208a058167dc349c7f24db128b3d8 100644 (file)
@@ -126,7 +126,7 @@ function sqimap_parse_RFC822Header ($read, $hdr) {
             break;
           case 'c': /* Cc */
             if (strtolower(substr($line, 0, 3)) == "cc:") {
-               $hdr->cc = sqimap_parse_address(trim(substr($line, 9, strlen($line) - 10)), true);
+               $hdr->cc = sqimap_parse_address(trim(substr($line, 3, strlen($line) - 4)), true);
             }
             $i++;
             break;
@@ -166,7 +166,7 @@ function sqimap_parse_RFC822Header ($read, $hdr) {
           case 'i': /* Disposition-Notification-To */
              if (strtolower(substr($line, 0, 28)) == "disposition-notification-to:") {
                $dnt = trim(substr($read[$i], 28));
-               $hdr->disposition = sqimap_parse_address($dnt, false);
+               $hdr->dnt = sqimap_parse_address($dnt, false);
             }
             $i++;
             break;
@@ -204,7 +204,7 @@ function sqimap_parse_RFC822Header ($read, $hdr) {
         if (strlen(trim($hdr->subject)) == 0) {
            $hdr->subject = _("(no subject)");
         }
-        if (strlen(trim($hdr->from)) == 0) {
+        if (!is_object($hdr->from) && strlen(trim($hdr->from)) == 0) {
            $hdr->from = _("(unknown sender)");
         }
         if (strlen(trim($hdr->date)) == 0) {
@@ -214,9 +214,11 @@ function sqimap_parse_RFC822Header ($read, $hdr) {
         break;
       case 'x':
         /* X-PRIORITY */
-        if (strtolower(substr($line, 0, 11)) == "x-priority:") {
+        if (strtolower(substr($line, 0, 11)) == 'x-priority:') {
           $hdr->priority = trim(substr($line, 11));
-        } 
+        } else if (strtolower(substr($line,0,9)) == 'x-mailer:') {
+          $hdr->xmailer = trim(substr($line, 9));
+       }
         $i++;
        break;
       default:
@@ -345,4 +347,4 @@ function sqimap_parse_address($address, $ar, $addr_ar = array(), $group = '') {
   }          
 
 }
-?>
\ No newline at end of file
+?>