/editquestion.php * @package questionbank * @subpackage importexport */ function get_course_media_files($courseid) { // this code lifted from mod/quiz/question.php and modified global $CFG; $images = null; make_upload_directory("$course->id"); // Just in case $coursefiles = get_directory_list("$CFG->dataroot/$courseid", $CFG->moddata); foreach ($coursefiles as $filename) { if (is_media_by_extension($filename)) { $images["$filename"] = $filename; } } return $images; } /** * determines whether or not a file is an image, based on the file extension * * @param string $file the filename * @return boolean */ function is_image_by_extension($file) { $extensionsregex = '/\.(gif|jpg|jpeg|jpe|png|tif|tiff|bmp|xbm|rgb|svf)$/'; if (preg_match($extensionsregex, $file)) { return true; } return false; } /** * determines whether or not a file is a media file, based on the file extension * * @param string $file the filename * @return boolean */ function is_media_by_extension($file) { $extensionsregex = '/\.(gif|jpg|jpeg|jpe|png|tif|tiff|bmp|xbm|rgb|svf|swf|mov|mpg|mpeg|wmf|avi|mpe|flv|mp3|ra|ram)$/'; if (preg_match($extensionsregex, $file)) { return true; } return false; } /** * determines whether or not a file is a multimedia file, based on the file extension * * @param string $file the filename * @return boolean */ function is_multimedia_by_extension($file) { $extensionsregex = '/\.(swf|mov|mpg|mpeg|wmf|avi|mpe|flv)$/'; if (preg_match($extensionsregex, $file)) { return true; } return false; } /** * determines whether or not a file is a multimedia file of a type php can get the dimension for, based on the file extension * * @param string $file the filename * @return boolean */ function is_sizable_multimedia($file) { $extensionsregex = '/\.(swf)$/'; if (preg_match($extensionsregex, $file)) { return true; } return false; } /** * creates a media tag to use for choice media * * @param string $file the filename * @param string $courseid the course id * @param string $alt to specify the alt tag * @return string either an image tag, or html for an embedded object */ function get_media_tag($file, $courseid = 0, $alt = 'media file', $width = 0, $height = 0) { global $CFG; // if it's a moodle library file, it will be served through file.php if (substr(strtolower($file), 0, 7) == 'http://') { $media = $file; } else { require_once($CFG->libdir.'/filelib.php'); $media = get_file_url("$courseid/$file"); } $ismultimedia = false; if (!$isimage = is_image_by_extension($file)) { $ismultimedia = is_multimedia_by_extension($file); } // if there is no known width and height, try to get one if ($width == 0) { if ($isimage || is_sizable_multimedia($file)) { } } // create either an image link or a generic link. // if the moodle multimedia filter is turned on, it'll catch multimedia content in the generic link if (is_image_by_extension($file)) { return "\"$alt\""; } else { require_once("$CFG->dirroot/mod/quiz/format/qti/custommediafilter.php"); return custom_mediaplugin_filter('', $courseid, $width, $height); } } /** * determines the x and y size of the given file * * @param string $file the filename * @return array looks like array('x'=>171, 'y'=>323), or array('x'=>0, 'y'=>0) if size can't be determined */ function get_file_dimensions($file) { $imginfo = @getimagesize($file); if ($imginfo !== FALSE) { return array('x'=>$imginfo[0], 'y'=>$imginfo[1]); } else { return array('x'=> 0, 'y'=> 0); } } ?>