alecpl
2009-10-24 1d7e4d314dcdaa1aa5353f6d520ba448b5808f8f
program/include/rcube_message.php
@@ -323,8 +323,16 @@
      $p->ctype_primary = 'text';
      $p->ctype_secondary = 'plain';
      $p->body = rcube_label('encryptedmessage');
      $p->size = strlen($p->body);
      
      $this->parts[] = $p;
      // maybe some plugins are able to decode this encrypted message part
      $data = $this->app->plugins->exec_hook('message_part_encrypted', array('object' => $this, 'struct' => $structure, 'part' => $p));
      if (is_array($data['parts'])) {
        $this->parts = array_merge($this->parts, $data['parts']);
      }
      else if ($data['part']) {
        $this->parts[] = $p;
      }
    }
    // message contains multiple parts
    else if (is_array($structure->parts) && !empty($structure->parts)) {
@@ -384,16 +392,17 @@
          // part belongs to a related message and is linked
          if ($message_ctype_secondary == 'related'
         && ($mail_part->headers['content-id'] || $mail_part->headers['content-location'])) {
              && preg_match('!^image/!', $mail_part->mimetype)
              && ($mail_part->headers['content-id'] || $mail_part->headers['content-location'])) {
            if ($mail_part->headers['content-id'])
              $mail_part->content_id = preg_replace(array('/^</', '/>$/'), '', $mail_part->headers['content-id']);
            if ($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 a regular attachment
          else {
          else if (preg_match('!^[a-z]+/[a-z0-9-.+]+$!i', $mail_part->mimetype)) {
            if (!$mail_part->filename)
              $mail_part->filename = 'Part '.$mail_part->mime_id;
            $this->attachments[] = $mail_part;