From: Evan Prodromou Date: Mon, 21 Jul 2008 04:37:34 +0000 (-0400) Subject: scrub mail content a bit more X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=1fbafb8524137ea0ad5d0da060aa6bd7e8e691f2;p=quix0rs-gnu-social.git scrub mail content a bit more darcs-hash:20080721043734-84dde-de49b283d468334abd4ee4375042b7f2d003823c.gz --- diff --git a/maildaemon.php b/maildaemon.php index d55ecde75f..49c66b99b9 100755 --- a/maildaemon.php +++ b/maildaemon.php @@ -186,10 +186,30 @@ class MailerDaemon { } function cleanup_msg($msg) { - # XXX: signatures - # XXX: quoting - preg_replace('/\s+/', ' ', $msg); - return $msg; + $lines = explode("\n"); + + $output = ''; + + foreach ($lines as $line) { + // skip quotes + if (preg_match('/^\s*>.*$/', $line)) { + continue; + } + // skip start of quote + if (preg_match('/^\s*On.*wrote:\s*$/', $line)) { + continue; + } + // skip everything after a sig + if (preg_match('/^\s*--+\s*$/', $line) || + preg_match('/^\s*__+\s*$/', $line)) + { + break; + } + $output .= $line; + } + + preg_replace('/\s+/', ' ', $output); + return $output; } }