diff --git a/lib/editor/tinymce/tiny_mce/3.5/plugins/moodlemedia/js/media.js b/lib/editor/tinymce/tiny_mce/3.5/plugins/moodlemedia/js/media.js index f79a787a1c3..c8520dad6c4 100644 --- a/lib/editor/tinymce/tiny_mce/3.5/plugins/moodlemedia/js/media.js +++ b/lib/editor/tinymce/tiny_mce/3.5/plugins/moodlemedia/js/media.js @@ -103,38 +103,6 @@ function generatePreview(c) { // After constrain pl = serializeParameters(); - - switch (type) { - case 'flash': - cls = 'clsid:D27CDB6E-AE6D-11cf-96B8-444553540000'; - codebase = 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0'; - type = 'application/x-shockwave-flash'; - break; - case "shockwave": - cls = 'clsid:166B1BCA-3F9C-11CF-8075-444553540000'; - codebase = 'http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0'; - type = 'application/x-director'; - break; - - case "qt": - cls = 'clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B'; - codebase = 'http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0'; - type = 'video/quicktime'; - break; - - case "wmp": - cls = ed.getParam('media_wmp6_compatible') ? 'clsid:05589FA1-C356-11CE-BF01-00AA0055595A' : 'clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6'; - codebase = 'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701'; - type = 'application/x-mplayer2'; - break; - - case "rmp": - cls = 'clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA'; - codebase = 'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701'; - type = 'audio/x-pn-realaudio-plugin'; - break; - } - if (pl == '') { p.innerHTML = ''; return; @@ -156,29 +124,13 @@ function generatePreview(c) { // Avoid annoying warning about insecure items if (!tinymce.isIE || document.location.protocol != 'https:') { - h += ''; - - for (n in pl) { - h += ''; - - // Add extra url parameter if it's an absolute URL - if (n == 'src' && pl[n].indexOf('://') != -1) - h += ''; - } + // Include all the draftfile params after the ? + var draftparams = pl.src.toString().replace(/^.*\/draftfile.php\//, ''); + h = ''; } - h += '. + +/** + * Provides A/V preview features for the TinyMCE editor Moodle Media plugin. + * The preview is included in an iframe within the popup dialog. + * @package editor + * @subpackage tinymce + * @copyright 1999 onwards Martin Dougiamas {@link http://moodle.com} + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ + +require(dirname(__FILE__) . '/../../../../../../../config.php'); +require_once($CFG->libdir . '/filelib.php'); + +// Must be logged in +require_login(); + +// Require path to draftfile.php file +$path = required_param('path', PARAM_PATH); + +// Now output this file which is super-simple +$PAGE->set_pagelayout('embedded'); +$PAGE->set_url(new moodle_url('/lib/editor/tinymce/tiny_mce/3.4.6/plugins/moodlemedia/preview.php', + array('path' => $path))); +$PAGE->set_context(context_system::instance()); +$PAGE->add_body_class('core_media_preview'); + +echo $OUTPUT->header(); + +$mediarenderer = $PAGE->get_renderer('core', 'media'); +$url = new moodle_url('/draftfile.php/' . $path); +if ($mediarenderer->can_embed_url($url)) { + echo $mediarenderer->embed_url($url); +} + +echo $OUTPUT->footer(); diff --git a/theme/base/style/core.css b/theme/base/style/core.css index 6eb8fa3dddc..4eca54e9676 100644 --- a/theme/base/style/core.css +++ b/theme/base/style/core.css @@ -773,6 +773,11 @@ body.tag .managelink {padding: 5px;} .mediaplugin_mp3 object {height:15px;width:300px} audio.mediaplugin_html5audio {width: 300px} +/* TinyMCE moodle media preview frame should not have padding */ +.core_media_preview.pagelayout-embedded #content {padding:0;} +.core_media_preview.pagelayout-embedded #maincontent {height:0;} +.core_media_preview.pagelayout-embedded .mediaplugin {margin:0;} + /* Fix for SubScript & SuperScript ------------------------------*/