For our purposes, an attachment is any MIME part that can be
downloaded by itself (i.e. all the data needed to view the part is
contained within the download data).
public function testReplaceMime() { $fixture = file_get_contents(__DIR__ . '/fixtures/signed_attachment.eml'); $mime = new Horde_ActiveSync_Mime(Horde_Mime_Part::parseMessage($fixture)); foreach ($mime->contentTypeMap() as $id => $type) { if ($mime->isAttachment($id, $type)) { $part = new Horde_Mime_Part(); $part->setType('text/plain'); $part->setContents(sprintf('An attachment named %s was removed by Horde_ActiveSync_Test', $mime->getPart($id)->getName(true))); $mime->removePart($id); $mime->addPart($part); } } $this->assertEquals(true, $mime->hasAttachments()); $this->assertEquals('An attachment named foxtrotjobs.png was removed by Horde_ActiveSync_Test', $mime->getPart('3')->getContents()); }
/** * Determines if a MIME type is an attachment. * For our purposes, an attachment is any MIME part that can be * downloaded by itself (i.e. all the data needed to view the part is * contained within the download data). * * @param string $id The MIME Id for the part we are checking. * @param string $mime_type The MIME type. * * @return boolean True if an attachment. * @deprecated Will be removed in 3.0 (Only used in self::hasAttachments call). */ public function isAttachment($id, $mime_type) { return $this->_message->isAttachment($id, $mime_type); }