From db87f79ca460cafaeac69f613f49f6472fae6da6 Mon Sep 17 00:00:00 2001 From: lkehresman Date: Thu, 6 Jan 2000 19:12:39 +0000 Subject: [PATCH] made "quoted-printable" work git-svn-id: https://svn.code.sf.net/p/squirrelmail/code/trunk/squirrelmail@113 7612ce4b-ef26-0410-bec9-ea0150e637f0 --- functions/mime.php | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) 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); -- 2.25.1