コード例 #1
0
/**
 * Display embedded url file.
 * @param object $url
 * @param object $cm
 * @param object $course
 * @param stored_file $file main file
 * @return does not return
 */
function mediaelementjs_display_embed($url, $cm, $course)
{
    global $CFG, $PAGE, $OUTPUT;
    $mimetype = resourcelib_guess_url_mimetype($url->externalurl);
    $cloud_storage_mimetype = mediaelementjs_guess_cloud_storage_mimetype($url->externalurl);
    if ($cloud_storage_mimetype) {
        $mimetype = $cloud_storage_mimetype;
    }
    $fullurl = mediaelementjs_get_full_url($url, $cm, $course);
    $title = $url->name;
    $link = html_writer::tag('a', $fullurl, array('href' => str_replace('&', '&', $fullurl)));
    $clicktoopen = get_string('clicktoopen', 'mediaelementjs', $link);
    $extension = resourcelib_get_extension($url->externalurl);
    if (in_array($mimetype, array('image/gif', 'image/jpeg', 'image/png'))) {
        // It's an image
        $code = resourcelib_embed_image($fullurl, $title);
    } else {
        if ($mimetype == 'audio/mp3' || $mimetype == 'audio/x-pn-realaudio-plugin') {
            // MP3 audio file
            $code = GcrFileLib::getAudioEmbedHtml($fullurl, $mimetype);
        } else {
            if ($mimetype == 'application/x-shockwave-flash') {
                // Flash file
                $code = resourcelib_embed_flash($fullurl, $title, $clicktoopen);
            } else {
                if ($mimetype == 'video/x-ms' || $mimetype == 'video/mpeg' || $mimetype == 'video/quicktime' || $mimetype == 'video/webm' || $mimetype == 'video/ogv' || $mimetype == 'video/ogg' || $mimetype == 'video/mp4') {
                    $code = GcrFileLib::getVideoEmbedHtml($fullurl, '100%', '100%', $mimetype);
                } else {
                    // anything else - just try object tag enlarged as much as possible
                    $code = resourcelib_embed_general($fullurl, $title, $clicktoopen, $mimetype);
                }
            }
        }
    }
    mediaelementjs_print_header($url, $cm, $course);
    mediaelementjs_print_heading($url, $cm, $course);
    echo $code;
    mediaelementjs_print_intro($url, $cm, $course);
    echo $OUTPUT->footer();
    die;
}