Aleksander Machniak
2013-05-10 bde85428d69069637782d9507475df78890f08d0
program/lib/Roundcube/rcube_mime.php
@@ -361,6 +361,11 @@
                $address = $m[1];
                $name    = '';
            }
            // special case (#1489092)
            else if (preg_match('/(\s*<MAILER-DAEMON>)$/', $val, $m)) {
                $address = 'MAILER-DAEMON';
                $name    = substr($val, 0, -strlen($m[1]));
            }
            else {
                $name = $val;
            }
@@ -478,9 +483,10 @@
        $q_level = 0;
        foreach ($text as $idx => $line) {
            if ($line[0] == '>') {
                // remove quote chars, store level in $q
                $line = preg_replace('/^>+/', '', $line, -1, $q);
            if (preg_match('/^(>+)/', $line, $m)) {
                // remove quote chars
                $q    = strlen($m[1]);
                $line = preg_replace('/^>+/', '', $line);
                // remove (optional) space-staffing
                $line = preg_replace('/^ /', '', $line);
@@ -543,9 +549,10 @@
        foreach ($text as $idx => $line) {
            if ($line != '-- ') {
                if ($line[0] == '>') {
                    // remove quote chars, store level in $level
                    $line   = preg_replace('/^>+/', '', $line, -1, $level);
                if (preg_match('/^(>+)/', $line, $m)) {
                    // remove quote chars
                    $level  = strlen($m[1]);
                    $line   = preg_replace('/^>+/', '', $line);
                    // remove (optional) space-staffing and spaces before the line end
                    $line   = preg_replace('/(^ | +$)/', '', $line);
                    $prefix = str_repeat('>', $level) . ' ';
@@ -659,8 +666,8 @@
                                $cutLength = $spacePos + 1;
                            }
                            else {
                                $subString = $string;
                                $cutLength = null;
                                $subString = $substr_func($string, 0, $breakPos, $charset);
                                $cutLength = $breakPos + 1;
                            }
                        }
                        else {