[ Index ] |
PHP Cross Reference of Unnamed Project |
[Summary view] [Print] [Text view]
1 M.mod_scormform = {}; 2 M.mod_scormform.init = function(Y) { 3 var scormform = Y.one('#scormviewform'); 4 var cwidth = scormplayerdata.cwidth; 5 var cheight = scormplayerdata.cheight; 6 var poptions = scormplayerdata.popupoptions; 7 var launch = scormplayerdata.launch; 8 var currentorg = scormplayerdata.currentorg; 9 var sco = scormplayerdata.sco; 10 var scorm = scormplayerdata.scorm; 11 var launch_url = M.cfg.wwwroot + "/mod/scorm/player.php?a=" + scorm + "¤torg=" + currentorg + "&scoid=" + sco + "&sesskey=" + M.cfg.sesskey + "&display=popup"; 12 var course_url = scormplayerdata.courseurl; 13 var winobj = null; 14 15 poptions = poptions + ',resizable=yes'; // Added for IE (MDL-32506). 16 17 if ((cwidth == 100) && (cheight == 100)) { 18 poptions = poptions + ',width=' + screen.availWidth + ',height=' + screen.availHeight + ',left=0,top=0'; 19 } else { 20 if (cwidth <= 100) { 21 cwidth = Math.round(screen.availWidth * cwidth / 100); 22 } 23 if (cheight <= 100) { 24 cheight = Math.round(screen.availHeight * cheight / 100); 25 } 26 poptions = poptions + ',width=' + cwidth + ',height=' + cheight; 27 } 28 29 // Hide the form and toc if it exists - we don't want to allow multiple submissions when a window is open. 30 var scormload = function () { 31 if (scormform) { 32 scormform.hide(); 33 } 34 35 var scormtoc = Y.one('#toc'); 36 if (scormtoc) { 37 scormtoc.hide(); 38 } 39 // Hide the intro and display a message to the user if the window is closed. 40 var scormintro = Y.one('#intro'); 41 scormintro.setHTML('<a href="' + course_url + '">' + M.util.get_string('popuplaunched', 'scorm') + '</a>'); 42 } 43 44 // When pop-up is closed return to course homepage. 45 var scormunload = function () { 46 // Onunload is called multiple times in the SCORM window - we only want to handle when it is actually closed. 47 setTimeout(function() { 48 if (winobj.closed) { 49 // Redirect the parent window to the course homepage. 50 parent.window.location = course_url; 51 } 52 }, 800) 53 } 54 55 var scormredirect = function (winobj) { 56 Y.on('load', scormload, winobj); 57 Y.on('unload', scormunload, winobj); 58 // Check to make sure pop-up has been launched - if not display a warning, 59 // this shouldn't happen as the pop-up here is launched on user action but good to make sure. 60 setTimeout(function() { 61 if (!winobj) { 62 var scormintro = Y.one('#intro'); 63 scormintro.setHTML(M.util.get_string('popupsblocked', 'scorm')); 64 }}, 800); 65 } 66 67 // Set mode and newattempt correctly. 68 var setlaunchoptions = function() { 69 var mode = Y.one('#scormviewform input[name=mode]:checked'); 70 if (mode) { 71 var modevalue = mode.get('value'); 72 launch_url += '&mode=' + (modevalue ? modevalue : 'normal'); 73 } else { 74 launch_url += '&mode=normal'; 75 } 76 77 var newattempt = Y.one('#scormviewform #a'); 78 launch_url += (newattempt && newattempt.get('checked') ? '&newattempt=on' : ''); 79 } 80 81 if (launch == true) { 82 setlaunchoptions(); 83 winobj = window.open(launch_url,'Popup', poptions); 84 this.target = 'Popup'; 85 scormredirect(winobj); 86 winobj.opener = null; 87 } 88 // Listen for view form submit and generate popup on user interaction. 89 if (scormform) { 90 Y.on('submit', function(e) { 91 setlaunchoptions(); 92 winobj = window.open(launch_url, 'Popup', poptions); 93 this.target = 'Popup'; 94 scormredirect(winobj); 95 winobj.opener = null; 96 e.preventDefault(); 97 }, scormform); 98 } 99 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Thu Aug 11 10:00:09 2016 | Cross-referenced by PHPXref 0.7.1 |