thomascube
2008-09-05 6695db83ca9bafb4dbecff6fedc2b5cd775024f3
program/include/rcube_message.php
@@ -230,6 +230,11 @@
      $structure->type = 'content';
      $this->parts[] = &$structure;
    }
    // the same for pgp signed messages
    else if ($message_ctype_primary == 'application' && $message_ctype_secondary == 'pgp' && !$recursive) {
      $structure->type = 'content';
      $this->parts[] = &$structure;
    }
    // message contains alternative parts
    else if ($message_ctype_primary == 'multipart' && ($message_ctype_secondary == 'alternative') && is_array($structure->parts)) {
      // get html/plaintext parts
@@ -356,6 +361,10 @@
            $mail_part->content_id = preg_replace(array('/^</', '/>$/'), '', $mail_part->headers['content-id']);
            $this->inline_parts[] = $mail_part;
          }
          else if ($message_ctype_secondary == 'related' && $mail_part->headers['content-location']) {
            $mail_part->content_location = $mail_part->headers['content-base'] . $mail_part->headers['content-location'];
            $this->inline_parts[] = $mail_part;
          }
          // is regular attachment
          else {
            if (!$mail_part->filename)
@@ -370,7 +379,11 @@
        $a_replaces = array();
        foreach ($this->inline_parts as $inline_object) {
          $a_replaces['cid:'.$inline_object->content_id] = $this->get_part_url($inline_object->mime_id);
          $part_url = $this->get_part_url($inline_object->mime_id);
          if ($inline_object->content_id)
            $a_replaces['cid:'.$inline_object->content_id] = $part_url;
          if ($inline_object->content_location)
            $a_replaces[$inline_object->content_location] = $part_url;
        }
        // add replace array to each content part