public function isViewable($mimetype)
{
$mimetype = Horde_String::lower($mimetype);
list($type, $subtype) = explode('/', $mimetype);
if (!empty($this->_accept)) {
$wildcard_match = false;
if (strpos($this->_accept, $mimetype) !== false) {
return true;
}
if (strpos($this->_accept, '*/*') !== false) {
$wildcard_match = true;
if ($type != 'image') {
return true;
}
}
/* image/jpeg and image/pjpeg *appear* to be the same entity, but
* Mozilla doesn't seem to want to accept the latter. For our
* purposes, we will treat them the same. */
if ($this->isBrowser('mozilla') && $mimetype == 'image/pjpeg' && strpos($this->_accept, 'image/jpeg') !== false) {
return true;
}
if (!$wildcard_match) {
return false;
}
}
if (!$this->hasFeature('images') || $type != 'image') {
return false;
}
return in_array($subtype, $this->_images);
}