public function getPartName(Horde_Mime_Part $part, $use_descrip = false)
{
$name = $use_descrip ? $part->getDescription(true) : $part->getName(true);
if ($name) {
return $name;
}
switch ($ptype = $part->getPrimaryType()) {
case 'multipart':
if ($part->getSubType() == 'related' && ($view_id = $part->getMetaData('viewable_part')) && ($viewable = $this->getMimePart($view_id, array('nocontents' => true)))) {
return $this->getPartName($viewable, $use_descrip);
}
/* Fall-through. */
/* Fall-through. */
case 'application':
case 'model':
$ptype = $part->getSubType();
break;
}
switch ($ptype) {
case 'audio':
return Horde_ActiveSync_Translation::t('Audio part');
case 'image':
return Horde_ActiveSync_Translation::t('Image part');
case 'message':
case Horde_Mime_Part::UNKNOWN:
return Horde_ActiveSync_Translation::t('Message part');
case 'multipart':
return Horde_ActiveSync_Translation::t('Multipart part');
case 'text':
return Horde_ActiveSync_Translation::t('Text part');
case 'video':
return Horde_ActiveSync_Translation::t('Video part');
default:
// Attempt to translate this type, if possible. Odds are that
// it won't appear in the dictionary though.
return sprintf(Horde_ActiveSync_Translation::t('%s part'), _(Horde_String::ucfirst($ptype)));
}
}