Пример #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;

    $clicktoopen = resource_get_clicktoopen($file, $resource->revision);

    $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 url file.
 * @param object $url
 * @param object $cm
 * @param object $course
 * @return does not return
 */
function url_display_embed($url, $cm, $course)
{
    global $CFG, $PAGE, $OUTPUT;
    $mimetype = resourcelib_guess_url_mimetype($url->externalurl);
    $fullurl = url_get_full_url($url, $cm, $course);
    $title = $url->name;
    $link = html_writer::tag('a', $fullurl, array('href' => str_replace('&', '&', $fullurl)));
    $clicktoopen = get_string('clicktoopen', 'url', $link);
    $moodleurl = new moodle_url($fullurl);
    $extension = resourcelib_get_extension($url->externalurl);
    $mediamanager = core_media_manager::instance();
    $embedoptions = array(core_media_manager::OPTION_TRUSTED => true, core_media_manager::OPTION_BLOCK => true);
    if (in_array($mimetype, array('image/gif', 'image/jpeg', 'image/png'))) {
        // It's an image
        $code = resourcelib_embed_image($fullurl, $title);
    } else {
        if ($mediamanager->can_embed_url($moodleurl, $embedoptions)) {
            // Media (audio/video) file.
            $code = $mediamanager->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);
        }
    }
    url_print_header($url, $cm, $course);
    url_print_heading($url, $cm, $course);
    echo $code;
    url_print_intro($url, $cm, $course);
    echo $OUTPUT->footer();
    die;
}
Пример #3
0
/**
 * This is a function used to detect media types and generate html code.
 *
 * @global object $CFG
 * @global object $PAGE
 * @param object $lesson
 * @param object $context
 * @return string $code the html code of media
 */
function lesson_get_media_html($lesson, $context)
{
    global $CFG, $PAGE, $OUTPUT;
    require_once "{$CFG->libdir}/resourcelib.php";
    // get the media file link
    if (strpos($lesson->mediafile, '://') !== false) {
        $url = new moodle_url($lesson->mediafile);
    } else {
        // the timemodified is used to prevent caching problems, instead of '/' we should better read from files table and use sortorder
        $url = moodle_url::make_pluginfile_url($context->id, 'mod_lesson', 'mediafile', $lesson->timemodified, '/', ltrim($lesson->mediafile, '/'));
    }
    $title = $lesson->mediafile;
    $clicktoopen = html_writer::link($url, get_string('download'));
    $mimetype = resourcelib_guess_url_mimetype($url);
    $extension = resourcelib_get_extension($url->out(false));
    $mediarenderer = $PAGE->get_renderer('core', 'media');
    $embedoptions = array(core_media::OPTION_TRUSTED => true, core_media::OPTION_BLOCK => true);
    // find the correct type and print it out
    if (in_array($mimetype, array('image/gif', 'image/jpeg', 'image/png'))) {
        // It's an image
        $code = resourcelib_embed_image($url, $title);
    } else {
        if ($mediarenderer->can_embed_url($url, $embedoptions)) {
            // Media (audio/video) file.
            $code = $mediarenderer->embed_url($url, $title, 0, 0, $embedoptions);
        } else {
            // anything else - just try object tag enlarged as much as possible
            $code = resourcelib_embed_general($url, $title, $clicktoopen, $mimetype);
        }
    }
    return $code;
}
Пример #4
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;
}
/**
 * Display embedded url file.
 * @param object $url
 * @param object $cm
 * @param object $course
 * @param stored_file $file main file
 * @return does not return
 */
function url_display_embed($url, $cm, $course)
{
    global $CFG, $PAGE, $OUTPUT;
    $mimetype = resourcelib_guess_url_mimetype($url->externalurl);
    $fullurl = url_get_full_url($url, $cm, $course);
    $title = $url->name;
    $link = html_writer::tag('a', $fullurl, array('href' => str_replace('&', '&', $fullurl)));
    $clicktoopen = get_string('clicktoopen', 'url', $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') {
            // 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-plugin') {
                                    // 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);
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    url_print_header($url, $cm, $course);
    url_print_heading($url, $cm, $course);
    echo $code;
    url_print_intro($url, $cm, $course);
    echo $OUTPUT->footer();
    die;
}
Пример #6
0
/**
 * This is a function used to detect media types and generate html code.
 *
 * @global object $CFG
 * @global object $PAGE
 * @param object $lesson
 * @param object $context
 * @return string $code the html code of media
 */
function lesson_get_media_html($lesson, $context)
{
    global $CFG, $PAGE, $OUTPUT;
    require_once "{$CFG->libdir}/resourcelib.php";
    // get the media file link
    if (strpos($lesson->mediafile, '://') !== false) {
        $url = new moodle_url($lesson->mediafile);
    } else {
        // the timemodified is used to prevent caching problems, instead of '/' we should better read from files table and use sortorder
        $url = moodle_url::make_pluginfile_url($context->id, 'mod_lesson', 'mediafile', $lesson->timemodified, '/', ltrim($lesson->mediafile, '/'));
    }
    $title = $lesson->mediafile;
    $clicktoopen = html_writer::link($url, get_string('download'));
    $mimetype = resourcelib_guess_url_mimetype($url);
    $extension = resourcelib_get_extension($url->out(false));
    // find the correct type and print it out
    if (in_array($mimetype, array('image/gif', 'image/jpeg', 'image/png'))) {
        // It's an image
        $code = resourcelib_embed_image($url, $title);
    } else {
        if ($mimetype == 'audio/mp3') {
            // MP3 audio file
            $code = resourcelib_embed_mp3($url, $title, $clicktoopen);
        } else {
            if ($mimetype == 'video/x-flv' or $extension === 'f4v') {
                // Flash video file
                $code = resourcelib_embed_flashvideo($url, $title, $clicktoopen);
            } else {
                if ($mimetype == 'application/x-shockwave-flash') {
                    // Flash file
                    $code = resourcelib_embed_flash($url, $title, $clicktoopen);
                } else {
                    if (substr($mimetype, 0, 10) == 'video/x-ms') {
                        // Windows Media Player file
                        $code = resourcelib_embed_mediaplayer($url, $title, $clicktoopen);
                    } else {
                        if ($mimetype == 'video/quicktime') {
                            // Quicktime file
                            $code = resourcelib_embed_quicktime($url, $title, $clicktoopen);
                        } else {
                            if ($mimetype == 'video/mpeg') {
                                // Mpeg file
                                $code = resourcelib_embed_mpeg($url, $title, $clicktoopen);
                            } else {
                                if ($mimetype == 'audio/x-pn-realaudio-plugin') {
                                    // RealMedia file
                                    $code = resourcelib_embed_real($url, $title, $clicktoopen);
                                } else {
                                    // anything else - just try object tag enlarged as much as possible
                                    $code = resourcelib_embed_general($url, $title, $clicktoopen, $mimetype);
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    return $code;
}
Пример #7
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;
}
Пример #8
0
/**
 * Display embedded flexpaper file.
 * @param object $flexpaper
 * @param object $cm
 * @param object $course
 * @param stored_file $file main file
 * @return does not return
 */
function flexpaper_display_embed($flexpaper, $cm, $course, $file) {
    global $CFG, $PAGE, $OUTPUT,$DB;

    $clicktoopen = flexpaper_get_clicktoopen($file, $flexpaper->revision);

    $context = context_module::instance($cm->id);
    $path = '/'.$context->id.'/mod_flexpaper/content/'.$flexpaper->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    = $flexpaper->name;

    $extension = resourcelib_get_extension($file->get_filename());

    $mediarenderer = $PAGE->get_renderer('core', 'media');
   

//    if (file_mimetype_in_typegroup($mimetype, 'web_image')) {  // It's an image
//        $code = flexpaperlib_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);
//    }
//print_object($code);
    flexpaper_print_header($flexpaper, $cm, $course);
   // flexpaper_print_heading($flexpaper, $cm, $course);
   // echo $code;
   
		echo '<div id="documentViewer" class="flexpaper_viewer" style="position:relative;width:100%;height:100%;"></div>';
$key=$DB->get_field('config_plugins','value',array('name'=>'key','plugin'=>'flexpaper'));

?>
<script type="text/javascript" src="<?php echo $CFG->wwwroot.'/mod/flexpaper/js/jquery.min.js';?>"></script>
		<script type="text/javascript" src="<?php echo $CFG->wwwroot.'/mod/flexpaper/js/jquery.extensions.min.js';?>"></script>
        <!--[if gte IE 10 | !IE ]><!-->
        <script type="text/javascript" src="<?php echo $CFG->wwwroot.'/mod/flexpaper/js/three.min.js';?>"></script>
        <!--<![endif]-->
		<script type="text/javascript" src="<?php echo $CFG->wwwroot.'/mod/flexpaper/js/flexpaper.js';?>"></script>
		<script type="text/javascript" src="<?php echo $CFG->wwwroot.'/mod/flexpaper/js/flexpaper_handlers.js';?>"></script>
		<link rel="stylesheet" type="text/css" href="<?php echo $CFG->wwwroot.'/mod/flexpaper/css/flexpaper.css';?>" />


	        <script type="text/javascript">
		       
	        $('#documentViewer').FlexPaperViewer(
				 { config : {

						 IMGFiles : 'pdf/12.png',
						 PDFFile : '<?php echo $fullurl;?>',
						 Scale : 0.6,
						 ZoomTransition : 'easeOut',
						 ZoomTime : 0.5,
						 ZoomInterval : 0.1,
						 FitPageOnLoad : true,
						 FitWidthOnLoad : false,
						 FullScreenAsMaxWindow : false,
						 ProgressiveLoading : false,
						 MinZoomSize : 0.2,
						 MaxZoomSize : 5,
						 SearchMatchAll : false,
						 InitViewMode : '',
						 MixedMode : false,
						 EnableWebGL : true,
						 ViewModeToolsVisible : true,
						 ZoomToolsVisible : true,
						 NavToolsVisible : true,
						 CursorToolsVisible : true,
						 SearchToolsVisible : true,
						 JSONDataType : 'jsonp',
						 key : '<?php echo $key; ?>',
                                                 WMode : 'transparent',
  						 localeChain: 'en_US'
						 }}
			    );
	        </script>
			<?php
    //flexpaper_print_intro($flexpaper, $cm, $course);

    echo $OUTPUT->footer();
    die;
}