/** * @return boolean * @param string $tag * @param int $isMime * @desc Check if a file is indexable by the zOOm toolbox. * @access public */ function isIndexable($tag, $isMime = false) { if ($isMime) { $tag = MIME_Helper::convertMimeToExtension($tag); } return in_array($tag, $this->_indexableList()); }
/** * Autodetect a file's MIME-type * * This function may be called staticly. * * @param string $file Path to the file to get the type of * @param string $custom_mime An optional custom 'default' value, mostly used for the filetype sent by the users' browser * @param bool $params Append MIME parameters if true * @return string $file's MIME-type on success, false boolean otherwise * @since 1.0.0beta1 * @static */ function autoDetect($file, $custom_mime = null, $custom_ext = null, $params = false) { if (function_exists('mime_content_type')) { $type = mime_content_type($file); if ($type == "application/octet-stream" || $type == "application/unknown") { if (!empty($custom_mime)) { $type = $custom_mime; } elseif (!empty($custom_ext)) { $type = MIME_Helper::convertExtensionToMime($custom_ext); } } } elseif (!empty($custom_mime)) { $type = $custom_mime; } else { $type = MIME_Type::_fileAutoDetect($file); } // _fileAutoDetect() may have returned an error. if ($type === false) { return $type; } //return PEAR::raiseError("Sorry, can't autodetect; you need the mime_magic extension or System_Command and 'file' installed to use this function."); if (!MIME_Helper::convertMimeToExtension($type)) { $type = MIME_Helper::convertExtensionToMime($custom_mime); } // flv (Flash Video format) files need exceptional handling (for now I'll provide a fictional mimetype) if ($custom_ext == "flv") { $type = "video/x-flv"; } // Don't return an empty string if (!$type || !strlen($type)) { //return PEAR::raiseError("Sorry, couldn't determine file type."); return false; } // Strip parameters if present & requested if (MIME_Type::hasParameters($type) && !$params) { $type = MIME_Type::stripParameters($type); } return $type; }