X-Git-Url: https://vcs.fsf.org/?p=squirrelmail.git;a=blobdiff_plain;f=functions%2Fmime.php;h=cc00e3c771f94d582e139a6055ce9d77b74cd053;hp=3403e0726866ee9f04b1d8300c86b832caf12acd;hb=db87f79ca460cafaeac69f613f49f6472fae6da6;hpb=a4bcd6988fb1111748a8424225275a6dc22f67e8 diff --git a/functions/mime.php b/functions/mime.php index 3403e072..cc00e3c7 100644 --- a/functions/mime.php +++ b/functions/mime.php @@ -191,12 +191,29 @@ $newbody = $body; // if only they all were this easy } else if ($encoding == "quoted-printable") { - echo "$body"; - $body = ereg_replace("=3D", "=", $body); - $body = ereg_replace("=\n", "", $body); - $body = ereg_replace("=20", "\n", $body); - $newbody= $body; + $body_ary = explode("\n", $body); + + for ($q=0; $q < count($body_ary); $q++) { + if (substr(trim($body_ary[$q]), -1) == "=") { + $body_ary[$q] = trim($body_ary[$q]); + $body_ary[$q] = substr($body_ary[$q], 0, strlen($body_ary[$q])-1); + } else if (substr(trim($body_ary[$q]), -3) == "=20") { + $body_ary[$q] = trim($body_ary[$q]); + $body_ary[$q] = substr($body_ary[$q], 0, strlen($body_ary[$q])-3); + $body_ary[$q] = "$body_ary[$q]\n"; + } + } + + for ($q=0;$q < count($body_ary);$q++) { + $body_ary[$q] = ereg_replace("=3D", "=", $body_ary[$q]); + } + $body = ""; + for ($i = 0; $i < count($body_ary); $i++) { + $body .= "$body_ary[$i]\n"; + } + + $newbody = $body; } else if ($encoding == "base64") { $newbody = base64_decode($body);