/** * Get Mime type * * @param string full path of file (incl. filename) * @param string file name (must be provided if no full path is given) * @param string mime type that will be used initially. Provide * any mime type headers */ static function getMimeType($a_file = "", $a_filename = "", $a_mime = "") { global $ilLog; $mime = ""; // if we have an http reference , we check for youtube if (in_array(substr($a_file, 0, 7), array("http://", "https:/"))) { if (is_int(strpos($a_file, "youtube."))) { return "video/youtube"; } if (is_int(strpos($a_file, "vimeo."))) { return "video/vimeo"; } } // determine extension $ext = ""; if ($a_filename != "") { $path = pathinfo($a_filename); $ext = "." . strtolower($path["extension"]); } else { if ($a_file != "") { $path = pathinfo($a_file); $ext = "." . strtolower($path["extension"]); } } $types_map = ilMimeTypeUtil::getExt2MimeMap(); if ($types_map[$ext] != "") { $mime = $types_map[$ext]; } if ($mime == "" && extension_loaded('Fileinfo') && is_file($a_file)) { $finfo = finfo_open(FILEINFO_MIME); $mime = finfo_file($finfo, $a_file); finfo_close($finfo); if ($pos = strpos($mime, ' ')) { $mime = substr($mime, 0, $pos); } // remove trailing ";" if (substr($mime, strlen($mime) - 1, 1) == ";") { $mime = substr($mime, 0, strlen($mime) - 1); } } if ($mime == "") { $mime = "application/octet-stream"; } return $mime; }
/** * Constructor * @access public */ function ilObjMediaCastGUI($a_data, $a_id, $a_call_by_reference, $a_prepare_output = true) { global $ilCtrl, $lng; $this->type = "mcst"; $this->ilObjectGUI($a_data, $a_id, $a_call_by_reference, $a_prepare_output); $lng->loadLanguageModule("mcst"); $lng->loadLanguageModule("news"); $ilCtrl->saveParameter($this, "item_id"); include_once "./Modules/MediaCast/classes/class.ilMediaCastSettings.php"; $settings = ilMediaCastSettings::_getInstance(); $this->purposeSuffixes = $settings->getPurposeSuffixes(); $this->mimeTypes = array(); $mime_types = $settings->getMimeTypes(); foreach ($mime_types as $mt) { $this->mimeTypes[$mt] = $mt; } include_once "./Services/Utilities/classes/class.ilMimeTypeUtil.php"; foreach (ilMimeTypeUtil::getExt2MimeMap() as $mt) { $this->mimeTypes[$mt] = $mt; } asort($this->mimeTypes); }
/** * Init storage class (ilSetting) * @access private * */ private function initStorage() { include_once './Services/Administration/classes/class.ilSetting.php'; $this->storage = new ilSetting('mcst'); include_once './Modules/MediaCast/classes/class.ilObjMediaCast.php'; $this->purposeSuffixes = array_flip(ilObjMediaCast::$purposes); $this->purposeSuffixes["Standard"] = array("mp3", "flv", "mp4", "m4v", "mov", "wmv", "gif", "png"); $this->purposeSuffixes["AudioPortable"] = array("mp3"); $this->purposeSuffixes["VideoPortable"] = array("mp4", "m4v", "mov"); $this->setDefaultAccess("users"); include_once "./Services/Utilities/classes/class.ilMimeTypeUtil.php"; $mimeTypes = array_unique(array_values(ilMimeTypeUtil::getExt2MimeMap())); sort($mimeTypes); $this->setMimeTypes($mimeTypes); }