diff options
author | Aleksander Machniak <alec@alec.pl> | 2013-05-23 08:59:27 +0200 |
---|---|---|
committer | Aleksander Machniak <alec@alec.pl> | 2013-05-23 09:00:41 +0200 |
commit | 20df06be5debd2dcfb871f0da9c3eef9d878a6a5 (patch) | |
tree | 0431a4c12874a0b7f1060fee678e56f1a85e7934 | |
parent | 656005f056030b278aa96047f405bb802644a516 (diff) |
Fix another text wrapping issue (wrong handling of long unwrappable lines)
-rw-r--r-- | program/lib/Roundcube/rcube_mime.php | 4 | ||||
-rw-r--r-- | program/steps/mail/func.inc | 6 | ||||
-rw-r--r-- | tests/Framework/Mime.php | 4 |
3 files changed, 11 insertions, 3 deletions
diff --git a/program/lib/Roundcube/rcube_mime.php b/program/lib/Roundcube/rcube_mime.php index d413c0a7e..5258af5bf 100644 --- a/program/lib/Roundcube/rcube_mime.php +++ b/program/lib/Roundcube/rcube_mime.php @@ -658,6 +658,10 @@ class rcube_mime $subString = $substr_func($subString, 0, $spacePos, $charset); $cutLength = $spacePos + 1; } + else if ($cut === false && $breakPos === false) { + $subString = $string; + $cutLength = null; + } else if ($cut === false) { $spacePos = $strpos_func($string, ' ', 0, $charset); diff --git a/program/steps/mail/func.inc b/program/steps/mail/func.inc index 59e0dbaa0..0845bf738 100644 --- a/program/steps/mail/func.inc +++ b/program/steps/mail/func.inc @@ -1532,11 +1532,11 @@ function rcmail_address_string($input, $max=null, $linked=false, $addicon=null, /** * Wrap text to a given number of characters per line * but respect the mail quotation of replies messages (>). - * Finally add another quotation level by prpending the lines + * Finally add another quotation level by prepending the lines * with > * * @param string Text to wrap - * @param int The line width + * @param int The line width * @return string The wrapped text */ function rcmail_wrap_and_quote($text, $length = 72) @@ -1552,7 +1552,7 @@ function rcmail_wrap_and_quote($text, $length = 72) $line = '>' . rtrim($line); else if (mb_strlen($line) > $max) { $newline = ''; - foreach(explode("\n", rc_wordwrap($line, $length - 2)) as $l) { + foreach (explode("\n", rc_wordwrap($line, $length - 2)) as $l) { if (strlen($l)) $newline .= '> ' . $l . "\n"; else diff --git a/tests/Framework/Mime.php b/tests/Framework/Mime.php index d9f4163ec..4db1856be 100644 --- a/tests/Framework/Mime.php +++ b/tests/Framework/Mime.php @@ -193,6 +193,10 @@ class Framework_Mime extends PHPUnit_Framework_TestCase array("-------\nabc def", 5), "-------\nabc\ndef", ), + array( + array("http://xx.xxx.xx.xxx:8080/addressbooks/roundcubexxxxx%40xxxxxxxxxxxxxxxxxxxxxxx.xx.xx/testing/", 70), + "http://xx.xxx.xx.xxx:8080/addressbooks/roundcubexxxxx%40xxxxxxxxxxxxxxxxxxxxxxx.xx.xx/testing/", + ), ); foreach ($samples as $sample) { |