| | |
| | | * Logical representation of a mail message with all its data |
| | | * and related functions |
| | | * |
| | | * @package Mail |
| | | * @package Framework |
| | | * @subpackage Storage |
| | | * @author Thomas Bruederli <roundcube@gmail.com> |
| | | */ |
| | | class rcube_message |
| | |
| | | * Determine if the message contains a HTML part |
| | | * |
| | | * @param bool $recursive Enables checking in all levels of the structure |
| | | * @param bool $enriched Enables checking for text/enriched parts too |
| | | * |
| | | * @return bool True if a HTML is available, False if not |
| | | */ |
| | | function has_html_part($recursive = true) |
| | | function has_html_part($recursive = true, $enriched = false) |
| | | { |
| | | // check all message parts |
| | | foreach ($this->parts as $part) { |
| | | if ($part->mimetype == 'text/html') { |
| | | if ($part->mimetype == 'text/html' || ($enriched && $part->mimetype == 'text/enriched')) { |
| | | // Level check, we'll skip e.g. HTML attachments |
| | | if (!$recursive) { |
| | | $level = explode('.', $part->mime_id); |
| | |
| | | } |
| | | else if ($part->mimetype == 'text/html') { |
| | | $out = $this->get_part_content($mime_id); |
| | | |
| | | // remove special chars encoding |
| | | $trans = array_flip(get_html_translation_table(HTML_ENTITIES)); |
| | | $out = strtr($out, $trans); |
| | | |
| | | // create instance of html2text class |
| | | $txt = new html2text($out); |