summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Machniak <alec@alec.pl>2012-11-12 09:16:22 +0100
committerAleksander Machniak <alec@alec.pl>2012-11-12 09:17:44 +0100
commita38cd0f12a29ba323c1edaa7fbd1f51572454304 (patch)
treec84b70606008c9a17e3cd98fe681fa7004eef514
parentac0c8537ad776c9852a9ef7b64ac76bd2c2e068c (diff)
Fix excessive LFs at the end of composed message with top_posting=true (#1488797)
Conflicts: CHANGELOG
-rw-r--r--CHANGELOG1
-rw-r--r--program/js/app.js4
-rw-r--r--program/steps/mail/compose.inc10
-rw-r--r--program/steps/mail/func.inc2
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");
}