From a38cd0f12a29ba323c1edaa7fbd1f51572454304 Mon Sep 17 00:00:00 2001 From: Aleksander Machniak Date: Mon, 12 Nov 2012 09:16:22 +0100 Subject: Fix excessive LFs at the end of composed message with top_posting=true (#1488797) Conflicts: CHANGELOG --- CHANGELOG | 1 + program/js/app.js | 4 ++++ program/steps/mail/compose.inc | 10 +++++----- program/steps/mail/func.inc | 2 +- 4 files changed, 11 insertions(+), 6 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index d57f57b4e..c2737da1e 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,7 @@ CHANGELOG Roundcube Webmail =========================== +- Fix excessive LFs at the end of composed message with top_posting=true (#1488797) - Fix bug where leading blanks were stripped from quoted lines (#1488795) RELEASE 0.8.3 diff --git a/program/js/app.js b/program/js/app.js index 1211d4a29..4ee272c4c 100644 --- a/program/js/app.js +++ b/program/js/app.js @@ -3300,6 +3300,10 @@ function rcube_webmail() message = message.substring(0, p) + sig + message.substring(p, message.length); cursor_pos = p - 1; } + else if (!message) { // empty message + cursor_pos = 0; + message = '\n\n' + sig; + } else if (pos = this.get_caret_pos(input_message.get(0))) { // at cursor position message = message.substring(0, pos) + '\n' + sig + '\n\n' + message.substring(pos, message.length); cursor_pos = pos; diff --git a/program/steps/mail/compose.inc b/program/steps/mail/compose.inc index bd8b6c0d3..064983a9a 100644 --- a/program/steps/mail/compose.inc +++ b/program/steps/mail/compose.inc @@ -901,9 +901,10 @@ function rcmail_create_reply_body($body, $bodyIsHtml) if (!$bodyIsHtml) { $body = preg_replace('/\r?\n/', "\n", $body); + $body = trim($body, "\n"); // soft-wrap and quote message text - $body = rcmail_wrap_and_quote(rtrim($body, "\n"), $LINE_LENGTH); + $body = rcmail_wrap_and_quote($body, $LINE_LENGTH); $prefix .= "\n"; $suffix = ''; @@ -947,8 +948,7 @@ function rcmail_create_forward_body($body, $bodyIsHtml) $date = format_date($MESSAGE->headers->date, $RCMAIL->config->get('date_long')); $charset = $RCMAIL->output->get_charset(); - if (!$bodyIsHtml) - { + if (!$bodyIsHtml) { $prefix = "\n\n\n-------- " . rcube_label('originalmessage') . " --------\n"; $prefix .= rcube_label('subject') . ': ' . $MESSAGE->subject . "\n"; $prefix .= rcube_label('date') . ': ' . $date . "\n"; @@ -961,9 +961,9 @@ function rcmail_create_forward_body($body, $bodyIsHtml) $prefix .= rcube_label('replyto') . ': ' . $MESSAGE->get_header('replyto') . "\n"; $prefix .= "\n"; + $body = trim($body, "\r\n"); } - else - { + else { // set is_safe flag (we need this for html body washing) rcmail_check_safe($MESSAGE); // clean up html tags diff --git a/program/steps/mail/func.inc b/program/steps/mail/func.inc index efca65b74..6712f2516 100644 --- a/program/steps/mail/func.inc +++ b/program/steps/mail/func.inc @@ -1499,7 +1499,7 @@ function rcmail_wrap_and_quote($text, $length = 72) $out .= $line . "\n"; } - return $out; + return rtrim($out, "\n"); } -- cgit v1.2.3