summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorthomascube <thomas@roundcube.net>2010-05-20 21:40:59 +0000
committerthomascube <thomas@roundcube.net>2010-05-20 21:40:59 +0000
commit8ad5c89f22b1c5f004e9156158e2b445ab991414 (patch)
treed5f8774b4edb0544e4b5e8ec307f89f4c7a2b610
parent6b6f2e83de0e5b48ba48583206bd456508554540 (diff)
Don't wrap quoted lines at all
-rw-r--r--program/include/rcube_shared.inc43
1 files changed, 24 insertions, 19 deletions
diff --git a/program/include/rcube_shared.inc b/program/include/rcube_shared.inc
index a130391f7..2c3e63933 100644
--- a/program/include/rcube_shared.inc
+++ b/program/include/rcube_shared.inc
@@ -259,7 +259,12 @@ function rc_wordwrap($string, $width=75, $break="\n", $cut=false)
$para = explode($break, $string);
$string = '';
while (count($para)) {
- $list = explode(' ', array_shift($para));
+ $line = array_shift($para);
+ if ($line[0] == '>') {
+ $string .= $line.$break;
+ continue;
+ }
+ $list = explode(' ', $line);
$len = 0;
while (count($list)) {
$line = array_shift($list);
@@ -270,25 +275,25 @@ function rc_wordwrap($string, $width=75, $break="\n", $cut=false)
$string .= ($len ? ' ' : '').$line;
$len += (1 + $l);
} else {
- if ($l > $width) {
- if ($cut) {
- $start = 0;
- while ($l) {
- $str = mb_substr($line, $start, $width);
- $strlen = mb_strlen($str);
- $string .= ($len ? $break : '').$str;
- $start += $strlen;
- $l -= $strlen;
- $len = $strlen;
- }
- } else {
- $string .= ($len ? $break : '').$line;
- if (count($list)) $string .= $break;
- $len = 0;
- }
- } else {
+ if ($l > $width) {
+ if ($cut) {
+ $start = 0;
+ while ($l) {
+ $str = mb_substr($line, $start, $width);
+ $strlen = mb_strlen($str);
+ $string .= ($len ? $break : '').$str;
+ $start += $strlen;
+ $l -= $strlen;
+ $len = $strlen;
+ }
+ } else {
+ $string .= ($len ? $break : '').$line;
+ if (count($list)) $string .= $break;
+ $len = 0;
+ }
+ } else {
$string .= $break.$line;
- $len = $l;
+ $len = $l;
}
}
}