From eedcdd97a080acac8e0c58524a0f331ba61d24f3 Mon Sep 17 00:00:00 2001 From: fidian Date: Thu, 28 Jun 2001 15:30:28 +0000 Subject: [PATCH] Made the SMTP functions now just convert \n into \r\n. All different types of possible newlines are converted into \n inside compose.php. Now checks for if the browser doesn't respect the textarea's wrap=hard attribute and compensates. git-svn-id: https://svn.code.sf.net/p/squirrelmail/code/trunk/squirrelmail@1434 7612ce4b-ef26-0410-bec9-ea0150e637f0 --- functions/smtp.php | 12 ++++++------ src/compose.php | 24 ++++++++++++++++++++++++ 2 files changed, 30 insertions(+), 6 deletions(-) diff --git a/functions/smtp.php b/functions/smtp.php index d63cea5b..b8969a11 100644 --- a/functions/smtp.php +++ b/functions/smtp.php @@ -586,14 +586,14 @@ } // In order to remove the problem of users not able to create - // messages with "." on a blank line, RFC821 has made provision - // in section 4.5.2 (Transparency). - $body = ereg_replace("\n\\.", "\n..", $body); - $body = ereg_replace("^\\.", "..", $body); + // messages with "." on a blank line, RFC821 has made provision + // in section 4.5.2 (Transparency). + $body = ereg_replace("\n\\.", "\n..", $body); + $body = ereg_replace("^\\.", "..", $body); // this is to catch all plain \n instances and - // replace them with \r\n. - $body = ereg_replace("\r\n", "\n", $body); + // replace them with \r\n. All newlines were converted + // into just \n inside the compose.php file. $body = ereg_replace("\n", "\r\n", $body); if ($useSendmail) { diff --git a/src/compose.php b/src/compose.php index 5aaca4b4..0863ca97 100644 --- a/src/compose.php +++ b/src/compose.php @@ -422,6 +422,30 @@ // Set $default_charset to correspond with the user's selection // of language interface. set_my_charset(); + + // This is to change all newlines to \n + // We'll change them to \r\n later (in the sendMessage function) + $body = str_replace("\r\n", "\n", $body); + $body = str_replace("\r", "\n", $body); + + // Rewrap $body so that no line is bigger than $editor_size + // This should only really kick in the sqWordWrap function + // if the browser doesn't support "HARD" as the wrap type + $body = explode("\n", $body); + $newBody = ''; + foreach ($body as $line) { + $line = trim($line); + if (strlen($line) <= $editor_size) + $newBody .= $line . "\n"; + else { + sqWordWrap($line, $editor_size) . "\n"; + $newBody .= $line; + } + } + $body = $newBody; + + var_dump($body); + do_hook("compose_send"); if (! sendMessage($send_to, $send_to_cc, $send_to_bcc, $subject, $body, $reply_id)) { -- 2.25.1