SCORM MDL-26201 setting to allow admin to force users to enable JS in their browser...
authorDan Marsden <dan@catalyst.net.nz>
Mon, 31 Jan 2011 03:53:10 +0000 (16:53 +1300)
committerDan Marsden <dan@catalyst.net.nz>
Mon, 31 Jan 2011 03:53:10 +0000 (16:53 +1300)
mod/scorm/lang/en/scorm.php
mod/scorm/locallib.php
mod/scorm/player.php
mod/scorm/settings.php
mod/scorm/styles.css
mod/scorm/view.php

index e019b42..bfc75e2 100644 (file)
@@ -98,6 +98,8 @@ $string['forcecompleteddesc'] = 'This preference sets the default value for the
 $string['forcenewattempt'] = 'Force new attempt';
 $string['forcenewattempt_help'] = 'If enabled, each time a SCORM package is accessed will be counted as a new attempt.';
 $string['forcenewattemptdesc'] = 'This preference sets the default value for the force new attempt setting';
+$string['forcejavascript'] = 'Force users to enable JavaScript';
+$string['forcejavascriptmessage'] = 'JavaScript is required to view this object, Please enable JavaScript in your browser and try again.';
 $string['found'] = 'Manifest found';
 $string['frameheight'] = 'This preference set the default height for stage frame or window';
 $string['framewidth'] = 'This preference set the default width for stage frame or window';
index 115f466..f854126 100755 (executable)
@@ -715,7 +715,7 @@ function scorm_view_display ($user, $scorm, $action, $cm, $boxwidth='') {
     $organization = optional_param('organization', '', PARAM_INT);
 
     if($scorm->displaycoursestructure == 1) {
-        echo $OUTPUT->box_start('generalbox boxaligncenter');
+        echo $OUTPUT->box_start('generalbox boxaligncenter toc');
 ?>
         <div class="structurehead"><?php print_string('contents','scorm') ?></div>
 <?php
index 3e1e02f..4c9632b 100755 (executable)
         $url->param('newattempt', $newattempt);
     }
     $PAGE->set_url($url);
+    $forcejs = get_config('scorm','forcejavascript');
+    if (!empty($forcejs)) {
+        $PAGE->add_body_class('forcejavascript');
+    }
 
     require_login($course->id, false, $cm);
 
@@ -249,4 +253,7 @@ $PAGE->requires->js_init_call('M.mod_scorm.init', array($scorm->hidenav, $scorm-
 $completion=new completion_info($course);
 $completion->set_module_viewed($cm);
 
+if (!empty($forcejs)) {
+    echo $OUTPUT->box(get_string("forcejavascriptmessage", "scorm"), "generalbox boxaligncenter forcejavascriptmessage");
+}
 echo $OUTPUT->footer();
index 1dcdb10..8a0afeb 100644 (file)
@@ -58,6 +58,8 @@ if ($ADMIN->fulltree) {
 
     $settings->add(new admin_setting_configcheckbox('scorm/allowtypeimsrepository', get_string('allowtypeimsrepository', 'scorm'), '', 0));
 
+    $settings->add(new admin_setting_configcheckbox('scorm/forcejavascript', get_string('forcejavascript', 'scorm'), '', 0));
+
     $settings->add(new admin_setting_configcheckbox('scorm/allowapidebug', get_string('allowapidebug', 'scorm'), '', 0));
 
     $settings->add(new admin_setting_configtext('scorm/apidebugmask', get_string('apidebugmask', 'scorm'), '', '.*'));
index 913ef23..f865623 100644 (file)
 #page-mod-scorm-player #altfinishlink {float: right; border: 0px; padding: 0px; }
 #page-mod-scorm-player #altpopuplink  {position: left; padding: 5px; border: 0px; }
 #page-mod-scorm-player #scormmode  {float: left; border: 0px; }
+
+.path-mod-scorm.forcejavascript .scorm-center { display:none;}
+.path-mod-scorm.forcejavascript .toc { display:none;}
+.path-mod-scorm.forcejavascript #scormpage #tocbox { display:none;}
+
+.path-mod-scorm.jsenabled .forcejavascriptmessage {display: none;}
+.path-mod-scorm.jsenabled .scorm-center { display:block;}
+.path-mod-scorm.jsenabled .toc { display:block;}
+.path-mod-scorm.jsenabled #scormpage #tocbox { display:block;}
\ No newline at end of file
index f7d874c..e9e114e 100755 (executable)
         $url->param('organization', $organization);
     }
     $PAGE->set_url($url);
+    $forcejs = get_config('scorm','forcejavascript');
+    if (!empty($forcejs)) {
+        $PAGE->add_body_class('forcejavascript');
+    }
 
     require_login($course->id, false, $cm);
 
@@ -88,5 +92,8 @@
     if ($scormopen) {
         scorm_view_display($USER, $scorm, 'view.php?id='.$cm->id, $cm);
     }
+    if (!empty($forcejs)) {
+        echo $OUTPUT->box(get_string("forcejavascriptmessage", "scorm"), "generalbox boxaligncenter forcejavascriptmessage");
+    }
     echo $OUTPUT->footer();