From e17e4cfaef80d0cc8206b534cd18b2080efc5129 Mon Sep 17 00:00:00 2001 From: Peter Rotich <peter@osticket.com> Date: Thu, 24 Jan 2013 13:19:10 -0500 Subject: [PATCH] Support ALL inline attachments - not just images. --- include/class.mailfetch.php | 29 ++++++----------------------- 1 file changed, 6 insertions(+), 23 deletions(-) diff --git a/include/class.mailfetch.php b/include/class.mailfetch.php index f3a6fd5c3..1be504b89 100644 --- a/include/class.mailfetch.php +++ b/include/class.mailfetch.php @@ -250,20 +250,6 @@ class MailFetcher { return $header; } - function getAttachment($part) { - - if(!$part) return null; - - if($part->ifdisposition && in_array(strtolower($part->disposition), array('attachment', 'inline'))) - return $part->dparameters[0]->value; - - if($part->ifparameters && $part->type == 5) - return $part->parameters[0]->value; - - - return null; - } - //search for specific mime type parts....encoding is the desired encoding. function getPart($mid, $mimeType, $encoding=false, $struct=null, $partNumber=false) { @@ -320,19 +306,16 @@ class MailFetcher { //Some inline attachments have multiple parameters. if(count($part->dparameters)>1) { foreach($part->dparameters as $dparameter) { - if(strcasecmp($dparameter->attribute, 'FILENAME')) continue; + if(!in_array(strtoupper($dparameter->attribute), array('FILENAME', 'NAME'))) continue; $filename = $dparameter->value; break; } } - } elseif($part->ifparameters && $part->type == 5) { //inline image without disposition. - $filename = $part->parameters[0]->value; - if(count($part->parameters)>1) { - foreach($part->parameters as $parameter) { - if(strcasecmp($parameter->attribute, 'FILENAME')) continue; - $filename = $parameter->value; - break; - } + } elseif($part->ifparameters && $part->parameters && $part->type > 0) { //inline attachments without disposition. + foreach($part->parameters as $parameter) { + if(!in_array(strtoupper($parameter->attribute), array('FILENAME', 'NAME'))) continue; + $filename = $parameter->value; + break; } } -- GitLab