Insert meta content-type at top of the html head + add both content-id and content-location of related parts to replacement table
| | |
| | | // skip apple resource forks |
| | | if ($message_ctype_secondary == 'appledouble' && $secondary_type == 'applefile') |
| | | continue; |
| | | |
| | | // part belongs to a related message |
| | | if ($message_ctype_secondary == 'related' && $mail_part->headers['content-id']) { |
| | | |
| | | if ($message_ctype_secondary == 'related' && $mail_part->headers['content-id']) |
| | | $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']) { |
| | | if ($message_ctype_secondary == 'related' && $mail_part->headers['content-location']) |
| | | $mail_part->content_location = $mail_part->headers['content-base'] . $mail_part->headers['content-location']; |
| | | |
| | | // part belongs to a related message |
| | | if ($mail_part->content_id || $mail_part->content_location) { |
| | | $this->inline_parts[] = $mail_part; |
| | | } |
| | | // is regular attachment |
| | |
| | | // add head for malformed messages, washtml cannot work without that |
| | | if (!preg_match('/<head[^>]*>(.*)<\/head>/Uims', $html)) |
| | | $html = '<head></head>'. $html; |
| | | $html = substr_replace($html, '<meta http-equiv="Content-Type" content="text/html; charset='.RCMAIL_CHARSET.'" />', intval(stripos($html, '</head>')), 0); |
| | | $html = substr_replace($html, '<meta http-equiv="content-type" content="text/html; charset='.RCMAIL_CHARSET.'" />', intval(stripos($html, '<head>')+6), 0); |
| | | } |
| | | |
| | | // clean HTML with washhtml by Frederic Motte |