From 80570c6a25def31bdbef828541f69853998f28eb Mon Sep 17 00:00:00 2001 From: TamaraGunkel <tamara.nrw@web.de> Date: Fri, 19 Jan 2018 12:33:45 +0100 Subject: [PATCH] used iframe --- filter.php | 2 +- lib.php | 107 +------------------------- player/js/engage/core.js | 26 +++---- player/js/engage/models/meInfo.js | 4 +- player/js/engage/models/pluginInfo.js | 4 +- player/js/engage_init.js | 77 +++++++++--------- player/plugin/controls/main.js | 8 +- 7 files changed, 60 insertions(+), 168 deletions(-) diff --git a/filter.php b/filter.php index f161ea3..3794836 100644 --- a/filter.php +++ b/filter.php @@ -75,7 +75,7 @@ class filter_opencast extends moodle_text_filter { $episode = $service->call('episode', $params); file_put_contents($CFG->dirroot . '\filter\opencast\info\episode.json', $episode); - $player = filter_opencast_load_player(); + $player = '<iframe src="'.$CFG->wwwroot.'/filter/opencast/player/core.html" width="100%" height="400px"></iframe>'; $text = preg_replace('/<video.*<\/video>/', $player, $text, 1); } } diff --git a/lib.php b/lib.php index 03d2106..19fd05e 100644 --- a/lib.php +++ b/lib.php @@ -27,110 +27,5 @@ defined('MOODLE_INTERNAL') || die(); function filter_opencast_load_player() { global $CFG; - global $PAGE; - $PAGE->requires->js_call_amd('filter_opencast/functions','init'); - $PAGE->requires->js_call_amd('filter_opencast/functions','injectcss', array($CFG->wwwroot.'/filter/opencast/player/css/bootstrap/css/bootstrap.css')); - $PAGE->requires->js_call_amd('filter_opencast/functions','injectcss', array($CFG->wwwroot.'/filter/opencast/player/css/core_global_style.css')); - - - // $PAGE->requires->js(new moodle_url('/filter/opencast/player/js/engage_init.js')); - return ' -<noscript> - <div class="noJavaScript"> - <img src="'.$CFG->wwwroot.'/filter/opencast/player/img/opencast.svg" class="loadingImg"/> - <h1>Error</h1> - <p id="noJavaScript-container"> - JavaScript is not enabled in your browser. - <br/> - Please <a href="http://www.enable-javascript.com" class="noJavaScriptLink" target="_blank">enable - JavaScript</a> to display the content of this site correctly. - </p> - </div> -</noscript> -<div id="browserWarning" class="alert alert-danger" role="alert"> - <h1>Browser not supported</h1> - <p> - Your browser is not supported by Opencast. Please download a recent version of one of the following browsers to - get all of the provided features: - </p> - <ul> - <li> - <a href="https://www.mozilla.org/firefox" class="alert-link" target="_blank">Mozilla Firefox - <div id="min-firefox-version" class="browser-version">24</div> - +</a> - </li> - <li> - <a href="https://www.google.com/chrome" class="alert-link" target="_blank">Google Chrome - <div id="min-chrome-version" class="browser-version">30</div> - +</a> - </li> - <li> - <a href="http://www.opera.com/download" class="alert-link" target="_blank">Opera - <div id="min-opera-version" class="browser-version">20</div> - +</a> - </li> - <li> - <a href="https://www.apple.com/safari" class="alert-link" target="_blank">Apple Safari - <div id="min-safari-version" class="browser-version">7</div> - +</a> - </li> - <li> - <a href="http://windows.microsoft.com/internet-explorer" class="alert-link" target="_blank">Microsoft - Internet Explorer - <div id="min-msie-version" class="browser-version">11</div> - +</a> - </li> - <li> - <a href="https://www.microsoft.com/microsoft-edge" class="alert-link" target="_blank">Microsoft Edge - <div id="min-msedge-version" class="browser-version">13</div> - +</a> - </li> - </ul> - <p id="customError_btn-container"> - <button id="btn_tryAnyway" type="button" class="btn btn-primary btn-lg"> - <span class="glyphicon glyphicon-eye-open"></span> Try it anyway - </button> - </p> -</div> -<div id="customError" class="alert alert-danger" role="alert"> - <img src="'.$CFG->wwwroot.'/filter/opencast/player/img/opencast.svg" class="loadingImg"/> - <h1 id="str_error">Error</h1> - <p> - <span id="customError_str">An error occurred. Please reload the page.</span> - </p> - <p id="customError_btn-container"> - <button id="btn_reloadPage" type="button" class="btn btn-primary btn-lg"> - <span class="glyphicon glyphicon-repeat"></span> <span id="str_reloadPage">Reload page</span> - </button> - <button id="btn_login" type="button" class="btn btn-primary btn-lg"> - <span class="glyphicon glyphicon-log-in"></span> <span id="str_login">Log in</span> - </button> - </p> -</div> -<!-- loading animation container --> -<div class="loading"> - <img src="'.$CFG->wwwroot.'/filter/opencast/player/img/opencast.svg" class="loadingImg"/> - <div id="loading1"> - <div class="progress"> - <div class="progress-bar progress-bar-striped active" id="loadingProgressbar1" role="progressbar" - aria-valuenow="100" aria-valuemin="0" aria-valuemax="100" style="width:100%"></div> - </div> - </div> - <div id="loading2"> - <div class="progress"> - <div class="progress-bar active" id="loadingProgressbar2" role="progressbar" aria-valuenow="100" - aria-valuemin="0" aria-valuemax="100" style="width:0%"></div> - </div> - </div> -</div> -<div id="page-cover"> - <button id="btn_fullscreenCancel" type="button" class="btn btn-default"><span - class="glyphicon glyphicon-remove-circle"></span></button> -</div> -<!-- global main view --> -<div id="engage_view"></div> - - '; - - + return '<iframe src="'.$CFG->wwwroot.'/filter/opencast/player/core.html"></iframe>'; } \ No newline at end of file diff --git a/player/js/engage/core.js b/player/js/engage/core.js index 532bf79..61746c6 100644 --- a/player/js/engage/core.js +++ b/player/js/engage/core.js @@ -20,7 +20,7 @@ */ /*jslint browser: true, nomen: true*/ /*global define, CustomEvent*/ -define(["require", "jquery", "underscore", "backbone", "mousetrap", "bowser", "basil", "bootbox", "mousewheel", "engage/models/engage", "engage/event", "core/config"], function (require, $, _, Backbone, Mousetrap, Bowser, Basil, Bootbox, Mousewheel, EngageModel, EngageEvent, cfg) { +define(["require", "jquery", "underscore", "backbone", "mousetrap", "bowser", "basil", "bootbox", "mousewheel", "engage/models/engage", "engage/event"], function (require, $, _, Backbone, Mousetrap, Bowser, Basil, Bootbox, Mousewheel, EngageModel, EngageEvent) { "use strict"; var events = { @@ -637,7 +637,7 @@ define(["require", "jquery", "underscore", "backbone", "mousetrap", "bowser", "b } }, getPluginPath: function (pluginName) { - var evaluated_plugin_path = cfg.wwwroot + "/filter/opencast/player/plugin/"; + var evaluated_plugin_path = ""; var pluginsInfos = engageCore.model.get("pluginsInfo"); if (pluginsInfos) { var pluginList = pluginsInfos.get("pluginlist"); @@ -646,11 +646,11 @@ define(["require", "jquery", "underscore", "backbone", "mousetrap", "bowser", "b if ($.isArray(plugins)) { $.each(plugins, function (index, value) { if (value["name"] === pluginName) { - evaluated_plugin_path += value["static-path"] + "/"; + evaluated_plugin_path = "../../plugin/" + value["static-path"] + "/"; } }); } else { - evaluated_plugin_path += plugins["static-path"] + "/"; + evaluated_plugin_path = "../../plugin/" + plugins["static-path"] + "/"; } } } @@ -687,22 +687,22 @@ define(["require", "jquery", "underscore", "backbone", "mousetrap", "bowser", "b var view_logic_path = ""; switch (engageCore.model.get("mode")) { case "embed": - cssAttr.href = cfg.wwwroot + "/filter/opencast/player/css/core_embed_style.css"; - core_template = cfg.wwwroot + "/filter/opencast/player/templates/core_embed.html"; - view_logic_path = cfg.wwwroot + "/filter/opencast/player/js/engage/views/embed.js"; + cssAttr.href = "css/core_embed_style.css"; + core_template = "templates/core_embed.html"; + view_logic_path = "engage/views/embed"; engageCore.model.embed = true; break; case "mobile": - cssAttr.href = cfg.wwwroot + "/filter/opencast/player/css/core_mobile_style.css"; - core_template = cfg.wwwroot + "/filter/opencast/player/templates/core_mobile.html"; - view_logic_path = cfg.wwwroot + "/filter/opencast/player/js/engage/views/mobile.js"; + cssAttr.href = "css/core_mobile_style.css"; + core_template = "templates/core_mobile.html"; + view_logic_path = "engage/views/mobile"; engageCore.model.mobile = true; break; case "desktop": default: - cssAttr.href = engageCore.controls_top ? cfg.wwwroot + "/filter/opencast/player/css/core_desktop_style_top.css" : cfg.wwwroot + "/filter/opencast/player/css/core_desktop_style_bottom.css"; - core_template = engageCore.controls_top ? cfg.wwwroot + "/filter/opencast/player/templates/core_desktop_top.html" : cfg.wwwroot + "/filter/opencast/player/templates/core_desktop_bottom.html"; - view_logic_path = cfg.wwwroot + "/filter/opencast/player/js/engage/views/desktop.js"; + cssAttr.href = engageCore.controls_top ? "css/core_desktop_style_top.css" : "css/core_desktop_style_bottom.css"; + core_template = engageCore.controls_top ? "templates/core_desktop_top.html" : "templates/core_desktop_bottom.html"; + view_logic_path = "engage/views/desktop"; engageCore.model.desktop = true; break; } diff --git a/player/js/engage/models/meInfo.js b/player/js/engage/models/meInfo.js index aa910d0..73aa6bc 100644 --- a/player/js/engage/models/meInfo.js +++ b/player/js/engage/models/meInfo.js @@ -20,7 +20,7 @@ */ /*jslint browser: true, nomen: true*/ /*global define, CustomEvent*/ -define(['jquery', 'backbone', 'core/config'], function($, Backbone, cfg) { +define(['jquery', 'backbone'], function($, Backbone) { "use strict"; var prop_shortcut = "player.shortcut.", @@ -47,7 +47,7 @@ define(['jquery', 'backbone', 'core/config'], function($, Backbone, cfg) { * Model with information about the current user and the current MH configuration */ var MeInfoModel = Backbone.Model.extend({ - urlRoot: cfg.wwwroot + "/filter/opencast/info/me.json", + urlRoot: "../info/me.json", initialize: function() { this.fetch({ success: function(me) { diff --git a/player/js/engage/models/pluginInfo.js b/player/js/engage/models/pluginInfo.js index 44998d5..4e16406 100644 --- a/player/js/engage/models/pluginInfo.js +++ b/player/js/engage/models/pluginInfo.js @@ -20,10 +20,10 @@ */ /*jslint browser: true, nomen: true*/ /*global define, CustomEvent*/ -define(['jquery', 'backbone', 'core/config'], function($, Backbone, cfg) { +define(['jquery', 'backbone'], function($, Backbone) { "use strict"; - var PLUGIN_MANAGER_PATH = cfg.wwwroot + "/filter/opencast/player/plugin/list.json"; + var PLUGIN_MANAGER_PATH = "plugin/list.json"; var PluginInfoModel = Backbone.Model.extend({ // URL of the search enpoint diff --git a/player/js/engage_init.js b/player/js/engage_init.js index 613d155..9280d50 100644 --- a/player/js/engage_init.js +++ b/player/js/engage_init.js @@ -1,45 +1,42 @@ /* global require.js config */ -define(["core/config"], function(mdlcfg) { - - window.requirejs.config({ - baseUrl: mdlcfg.wwwroot + "/filter/opencast/player/js/lib", - waitSeconds: 50, - paths: { - engage: mdlcfg.wwwroot + "/filter/opencast/player/js/engage", - plugins: mdlcfg.wwwroot + "/filter/opencast/player/plugin" +requirejs.config({ + baseUrl: "js/lib", + waitSeconds: 50, + paths: { + engage: "../engage", + plugins: "../plugin" + }, + shim: { + "bootstrap": { + deps: ["jquery"], + exports: "Bootstrap" + }, + "backbone": { + deps: ["underscore", "jquery"], + exports: "Backbone" + }, + "underscore": { + exports: "_" + }, + "mousetrap": { + exports: "Mousetrap" + }, + "moment": { + exports: "Moment" }, - shim: { - "bootstrap": { - deps: ["jquery"], - exports: "Bootstrap" - }, - "backbone": { - deps: ["underscore", "jquery"], - exports: "Backbone" - }, - "underscore": { - exports: "_" - }, - "mousetrap": { - exports: "Mousetrap" - }, - "moment": { - exports: "Moment" - }, - "basil": { - exports: "Basil" - }, - "bowser": { - exports: "Bowser" - }, - "bootbox": { - deps: ["bootstrap"], - exports: "Bootbox" - } + "basil": { + exports: "Basil" + }, + "bowser": { + exports: "Bowser" + }, + "bootbox": { + deps: ["bootstrap"], + exports: "Bootbox" } - }); + } +}); - var PLUGIN_PATH = mdlcfg.wwwroot + "/filter/opencast/player/plugin/"; +var PLUGIN_PATH = "../../plugin/"; // start core logic - require(["engage/core"]); -}); +require(["engage/core"]); diff --git a/player/plugin/controls/main.js b/player/plugin/controls/main.js index 9255614..32e95a5 100644 --- a/player/plugin/controls/main.js +++ b/player/plugin/controls/main.js @@ -1542,7 +1542,7 @@ define(['require', 'jquery', 'underscore', 'backbone', 'basil', 'bootbox', 'enga // load jquery-ui touch-punch lib in mobile mode if (isMobileMode) { - require([relative_plugin_path + 'lib/jquery.ui.touch-punch.min.js'], function () { + require([relative_plugin_path + 'lib/jquery.ui.touch-punch.min'], function () { Engage.log('Controls: Lib jQuery UI Touch Punch loaded'); initCount -= 1; if (initCount <= 0) { @@ -1554,14 +1554,14 @@ define(['require', 'jquery', 'underscore', 'backbone', 'basil', 'bootbox', 'enga // load hammer.js lib for gestures on mobile (touch enabled) devices if (isMobileMode) { - require([relative_plugin_path + 'lib/hammer.min.js'], function () { + require([relative_plugin_path + 'lib/hammer.min'], function () { Engage.log('Controls: Lib hammer.js loaded'); initCount -= 1; if (initCount <= 0) { initPlugin(); } - require([relative_plugin_path + 'lib/jquery.hammer.js'], function () { + require([relative_plugin_path + 'lib/jquery.hammer'], function () { initCount -= 1; if (initCount <= 0) { initPlugin(); @@ -1571,7 +1571,7 @@ define(['require', 'jquery', 'underscore', 'backbone', 'basil', 'bootbox', 'enga } // load utils class - require([relative_plugin_path + "utils.js"], function(utils) { + require([relative_plugin_path + "utils"], function(utils) { Engage.log("Controls: Utils class loaded"); Utils = new utils(); initTranslate(Engage.model.get("language"), function() { -- GitLab