From a63f14ec4045e82f47b237663bcf09939a0eadc5 Mon Sep 17 00:00:00 2001 From: Aleksander Machniak <alec@alec.pl> Date: Sat, 29 Aug 2015 01:52:57 -0400 Subject: [PATCH] Emoticons-related code refactoring --- program/steps/mail/func.inc | 27 ++++++++++++++------------- 1 files changed, 14 insertions(+), 13 deletions(-) diff --git a/program/steps/mail/func.inc b/program/steps/mail/func.inc index 6e2f982..6ba8ce1 100644 --- a/program/steps/mail/func.inc +++ b/program/steps/mail/func.inc @@ -37,7 +37,7 @@ } // remove mbox part from _uid -if (($_uid = rcube_utils::get_input_value('_uid', RCUBE_INPUT_GPC)) && !is_array($_uid) && preg_match('/^\d+-.+/', $_uid)) { +if (($_uid = rcube_utils::get_input_value('_uid', rcube_utils::INPUT_GPC)) && !is_array($_uid) && preg_match('/^\d+-.+/', $_uid)) { list($_uid, $mbox) = explode('-', $_uid, 2); if (isset($_GET['_uid'])) $_GET['_uid'] = $_uid; if (isset($_POST['_uid'])) $_POST['_uid'] = $_uid; @@ -481,7 +481,7 @@ $cont = rcube::Q($cont); } else if ($col == 'size') - $cont = show_bytes($header->$col); + $cont = $RCMAIL->show_bytes($header->$col); else if ($col == 'date') $cont = $RCMAIL->format_date($header->date); else if ($col == 'folder') { @@ -884,8 +884,7 @@ $data['body'] = rcube_enriched::to_html($data['body']); } - $txt = new rcube_html2text($data['body'], false, true); - $body = $txt->get_text(); + $body = $RCMAIL->html2text($data['body']); $part->ctype_secondary = 'plain'; } // text/html @@ -1172,7 +1171,8 @@ $attrib['id'] = 'rcmailMsgBody'; $safe_mode = $MESSAGE->is_safe || intval($_GET['_safe']); - $out = ''; + $out = ''; + $part_no = 0; $header_attrib = array(); foreach ($attrib as $attr => $value) { @@ -1230,9 +1230,10 @@ $body = rcmail_print_body($body, $part, array('safe' => $safe_mode, 'plain' => !$RCMAIL->config->get('prefer_html'))); if ($part->ctype_secondary == 'html') { - $body = rcmail_html4inline($body, $attrib['id'], 'rcmBody', $attrs, $safe_mode); - $div_attr = array('class' => 'message-htmlpart'); - $style = array(); + $container_id = 'message-htmlpart' . (++$part_no); + $body = rcmail_html4inline($body, $container_id, 'rcmBody', $attrs, $safe_mode); + $div_attr = array('class' => 'message-htmlpart', 'id' => $container_id); + $style = array(); if (!empty($attrs)) { foreach ($attrs as $a_idx => $a_val) @@ -1373,10 +1374,10 @@ /** * modify a HTML message that it can be displayed inside a HTML page */ -function rcmail_html4inline($body, $container_id, $body_id='', &$attributes=null, $allow_remote=false) +function rcmail_html4inline($body, $container_id, $body_class='', &$attributes=null, $allow_remote=false) { $last_style_pos = 0; - $cont_id = $container_id.($body_id ? ' div.'.$body_id : ''); + $cont_id = $container_id . ($body_class ? ' div.'.$body_class : ''); // find STYLE tags while (($pos = stripos($body, '<style', $last_style_pos)) && ($pos2 = stripos($body, '</style>', $pos))) { @@ -1420,7 +1421,7 @@ '<!--\\1-->', '<?', '?>', - '<div class="'.$body_id.'"\\1>', + '<div class="' . $body_class . '"\\1>', '</div>', ), $body); @@ -1428,7 +1429,7 @@ $attributes = array(); // Handle body attributes that doesn't play nicely with div elements - $regexp = '/<div class="' . preg_quote($body_id, '/') . '"([^>]*)/'; + $regexp = '/<div class="' . preg_quote($body_class, '/') . '"([^>]*)/'; if (preg_match($regexp, $body, $m)) { $attrs = $m[0]; @@ -1465,7 +1466,7 @@ // make sure there's 'rcmBody' div, we need it for proper css modification // its name is hardcoded in rcmail_message_body() also else { - $body = '<div class="' . $body_id . '">' . $body . '</div>'; + $body = '<div class="' . $body_class . '">' . $body . '</div>'; } return $body; -- Gitblit v1.9.1