예제 #1
0
/**
 * Display embedded resource file.
 * @param object $resource
 * @param object $cm
 * @param object $course
 * @param stored_file $file main file
 * @return does not return
 */
function resource_display_embed($resource, $cm, $course, $file)
{
    global $CFG, $PAGE, $OUTPUT;
    $extra = 'target="_blank"';
    $clicktoopen = resource_get_clicktoopen($file, $resource->revision, $extra);
    $context = context_module::instance($cm->id);
    $path = '/' . $context->id . '/mod_resource/content/' . $resource->revision . $file->get_filepath() . $file->get_filename();
    $fullurl = file_encode_url($CFG->wwwroot . '/pluginfile.php', $path, false);
    $moodleurl = new moodle_url('/pluginfile.php' . $path);
    $mimetype = $file->get_mimetype();
    $title = $resource->name;
    $extension = resourcelib_get_extension($file->get_filename());
    $mediarenderer = $PAGE->get_renderer('core', 'media');
    $embedoptions = array(core_media::OPTION_TRUSTED => true, core_media::OPTION_BLOCK => true);
    if (file_mimetype_in_typegroup($mimetype, 'web_image')) {
        // It's an image
        $code = resourcelib_embed_image($fullurl, $title);
    } else {
        if ($mimetype === 'application/pdf') {
            // PDF document
            $code = resourcelib_embed_pdf($fullurl, $title, $clicktoopen);
        } else {
            if ($mediarenderer->can_embed_url($moodleurl, $embedoptions)) {
                // Media (audio/video) file.
                $code = $mediarenderer->embed_url($moodleurl, $title, 0, 0, $embedoptions);
            } else {
                // anything else - just try object tag enlarged as much as possible
                $code = resourcelib_embed_general($fullurl, $title, $clicktoopen, $mimetype);
            }
        }
    }
    resource_print_header($resource, $cm, $course);
    resource_print_heading($resource, $cm, $course);
    echo $code;
    resource_print_intro($resource, $cm, $course);
    echo $OUTPUT->footer();
    die;
}
예제 #2
0
/**
 * Display embedded resource file.
 * @param object $resource
 * @param object $cm
 * @param object $course
 * @param stored_file $file main file
 * @return does not return
 */
function resource_display_embed($resource, $cm, $course, $file)
{
    global $CFG, $PAGE, $OUTPUT;
    $clicktoopen = resource_get_clicktoopen($file, $resource->revision);
    $context = get_context_instance(CONTEXT_MODULE, $cm->id);
    $path = '/' . $context->id . '/mod_resource/content/' . $resource->revision . $file->get_filepath() . $file->get_filename();
    $fullurl = file_encode_url($CFG->wwwroot . '/pluginfile.php', $path, false);
    $mimetype = $file->get_mimetype();
    $title = $resource->name;
    $extension = resourcelib_get_extension($file->get_filename());
    if (in_array($mimetype, array('image/gif', 'image/jpeg', 'image/png'))) {
        // It's an image
        $code = resourcelib_embed_image($fullurl, $title);
    } else {
        if ($mimetype === 'application/pdf') {
            // PDF document
            $code = resourcelib_embed_pdf($fullurl, $title, $clicktoopen);
        } else {
            if ($mimetype === 'audio/mp3') {
                // MP3 audio file
                $code = resourcelib_embed_mp3($fullurl, $title, $clicktoopen);
            } else {
                if ($mimetype === 'video/x-flv' or $extension === 'f4v') {
                    // Flash video file
                    $code = resourcelib_embed_flashvideo($fullurl, $title, $clicktoopen);
                } else {
                    if ($mimetype === 'application/x-shockwave-flash') {
                        // Flash file
                        $code = resourcelib_embed_flash($fullurl, $title, $clicktoopen);
                    } else {
                        if (substr($mimetype, 0, 10) === 'video/x-ms') {
                            // Windows Media Player file
                            $code = resourcelib_embed_mediaplayer($fullurl, $title, $clicktoopen);
                        } else {
                            if ($mimetype === 'video/quicktime') {
                                // Quicktime file
                                $code = resourcelib_embed_quicktime($fullurl, $title, $clicktoopen);
                            } else {
                                if ($mimetype === 'video/mpeg') {
                                    // Mpeg file
                                    $code = resourcelib_embed_mpeg($fullurl, $title, $clicktoopen);
                                } else {
                                    if ($mimetype === 'audio/x-pn-realaudio') {
                                        // RealMedia file
                                        $code = resourcelib_embed_real($fullurl, $title, $clicktoopen);
                                    } else {
                                        // anything else - just try object tag enlarged as much as possible
                                        $code = resourcelib_embed_general($fullurl, $title, $clicktoopen, $mimetype);
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    resource_print_header($resource, $cm, $course);
    resource_print_heading($resource, $cm, $course);
    echo $code;
    resource_print_intro($resource, $cm, $course);
    echo $OUTPUT->footer();
    die;
}