Merge branch 'MDL-28325-enrol-help' of git://github.com/mudrd8mz/moodle
authorSam Hemelryk <sam.hemelryk@gmail.com>
Mon, 18 Jul 2011 14:34:37 +0000 (00:34 +1000)
committerSam Hemelryk <sam.hemelryk@gmail.com>
Mon, 18 Jul 2011 14:34:37 +0000 (00:34 +1000)
mod/scorm/lang/en/scorm.php
mod/scorm/lib.php
mod/scorm/locallib.php
mod/scorm/module.js
mod/scorm/player.php

index ee7c718..e72764c 100644 (file)
@@ -68,6 +68,7 @@ $string['deleteattemptcheck'] = 'Are you absolutely sure you want to completely
 $string['deleteallattempts'] = 'Delete all SCORM attempts';
 $string['details'] = 'Track details';
 $string['directories'] = 'Show the directory links';
+$string['disabled'] = 'Disabled';
 $string['display'] = 'Display package';
 $string['displayattemptstatus'] = 'Display attempt status';
 $string['displayattemptstatus_help'] = 'If enabled, scores and grades for attempts are displayed on the SCORM outline page.';
index 69fedb1..14690f2 100644 (file)
@@ -29,6 +29,10 @@ define('SCORM_TYPE_EXTERNAL', 'external');
 /** SCORM_TYPE_IMSREPOSITORY = imsrepository */
 define('SCORM_TYPE_IMSREPOSITORY', 'imsrepository');
 
+define('SCORM_TOC_SIDE', 0);
+define('SCORM_TOC_HIDDEN', 1);
+define('SCORM_TOC_POPUP', 2);
+define('SCORM_TOC_DISABLED', 3);
 
 /**
  * Given an object containing all the necessary data,
index 67b36ad..982329f 100644 (file)
@@ -121,9 +121,10 @@ function scorm_get_skip_view_array() {
  * @return array an array of hide table of contents options
  */
 function scorm_get_hidetoc_array() {
-     return array(0 =>get_string('sided', 'scorm'),
-                  1 => get_string('hidden', 'scorm'),
-                  2 => get_string('popupmenu', 'scorm'));
+     return array(SCORM_TOC_SIDE => get_string('sided', 'scorm'),
+                  SCORM_TOC_HIDDEN => get_string('hidden', 'scorm'),
+                  SCORM_TOC_POPUP => get_string('popupmenu', 'scorm'),
+                  SCORM_TOC_DISABLED => get_string('disabled', 'scorm'));
 }
 
 /**
@@ -1109,7 +1110,7 @@ function scorm_get_attempt_count($userid, $scorm, $attempts_only=false) {
     if ($scorm->grademethod == GRADESCOES) {
         $element = 'cmi.core.lesson_status';
     }
-    if ($scorm->version == 'scorm1_3') {
+    if ($scorm->version == 'scorm_13' || $scorm->version == 'SCORM_1.3') {
         $element = 'cmi.score.raw';
     }
     $attempts = $DB->get_records_select('scorm_scoes_track', "element=? AND userid=? AND scormid=?", array($element, $userid, $scorm->id), 'attempt', 'DISTINCT attempt AS attemptnumber');
index 0893b24..f523509 100644 (file)
@@ -28,18 +28,14 @@ mod_scorm_activate_item = null;
 M.mod_scorm = {};
 
 M.mod_scorm.init = function(Y, hide_nav, hide_toc, toc_title, window_name, launch_sco) {
-
-    if (hide_nav == 0) {
-        scorm_hide_nav = false;
-    }
-    else {
-        scorm_hide_nav = true;
-    }
+    var scorm_disable_toc = false;
+    var scorm_hide_nav = true;
+    var scorm_hide_toc = true;
     if (hide_toc == 0) {
+        scorm_hide_nav = false;
         scorm_hide_toc = false;
-    }
-    else {
-        scorm_hide_toc = true;
+    } else if (hide_toc == 3) {
+        scorm_disable_toc = true;
     }
 
     var scorm_layout_widget;
@@ -285,23 +281,36 @@ M.mod_scorm.init = function(Y, hide_nav, hide_toc, toc_title, window_name, launc
         YAHOO.widget.LayoutUnit.prototype.STR_COLLAPSE = M.str.moodle.hide;
         YAHOO.widget.LayoutUnit.prototype.STR_EXPAND = M.str.moodle.show;
 
-        scorm_layout_widget = new YAHOO.widget.Layout('scorm_layout', {
-            minWidth: 255,
-            minHeight: 600,
-            units: [
-                { position: 'left', body: 'scorm_toc', header: toc_title, width: 250, resize: true, gutter: '2px 5px 5px 2px', collapse: true, minWidth:250, maxWidth: 590},
-                { position: 'center', body: '<div id="scorm_content"></div>', gutter: '2px 5px 5px 2px', scroll: true}
-            ]
-        });
+        if (scorm_disable_toc) {
+            scorm_layout_widget = new YAHOO.widget.Layout('scorm_layout', {
+                minWidth: 255,
+                minHeight: 600,
+                units: [
+                    { position: 'left', body: 'scorm_toc', header: toc_title, width: 0, resize: true, gutter: '0px 0px 0px 0px', collapse: false},
+                    { position: 'center', body: '<div id="scorm_content"></div>', gutter: '0px 0px 0px 0px', scroll: true}
+                ]
+            });
+        } else {
+            scorm_layout_widget = new YAHOO.widget.Layout('scorm_layout', {
+                minWidth: 255,
+                minHeight: 600,
+                units: [
+                    { position: 'left', body: 'scorm_toc', header: toc_title, width: 250, resize: true, gutter: '2px 5px 5px 2px', collapse: true, minWidth:250, maxWidth: 590},
+                    { position: 'center', body: '<div id="scorm_content"></div>', gutter: '2px 5px 5px 2px', scroll: true}
+                ]
+            });
+        }
+
         scorm_layout_widget.render();
         var left = scorm_layout_widget.getUnitByPosition('left');
-        left.on('collapse', function() {
-            scorm_resize_frame();
-        });
-        left.on('expand', function() {
-            scorm_resize_frame();
-        });
-
+        if (!scorm_disable_toc) {
+            left.on('collapse', function() {
+                scorm_resize_frame();
+            });
+            left.on('expand', function() {
+                scorm_resize_frame();
+            });
+        }
         // ugly resizing hack that works around problems with resizing of iframes and objects
         left._resize.on('startResize', function() {
             var obj = YAHOO.util.Dom.get('scorm_object');
@@ -314,10 +323,11 @@ M.mod_scorm.init = function(Y, hide_nav, hide_toc, toc_title, window_name, launc
         });
 
         // hide the TOC if that is the default
-        if (scorm_hide_toc == true) {
-            left.collapse();
+        if (!scorm_disable_toc) {
+            if (scorm_hide_toc == true) {
+               left.collapse();
+            }
         }
-
         // TOC tree
         var tree = new YAHOO.widget.TreeView('scorm_tree');
         scorm_tree_node = tree;
@@ -328,18 +338,20 @@ M.mod_scorm.init = function(Y, hide_nav, hide_toc, toc_title, window_name, launc
                 scorm_bloody_labelclick = true;
             }
         });
-        tree.subscribe('collapse', function(node) {
-            if (scorm_bloody_labelclick) {
-                scorm_bloody_labelclick = false;
-                return false;
-            }
-        });
-        tree.subscribe('expand', function(node) {
-            if (scorm_bloody_labelclick) {
-                scorm_bloody_labelclick = false;
-                return false;
-            }
-        });
+        if (!scorm_disable_toc) {
+            tree.subscribe('collapse', function(node) {
+                if (scorm_bloody_labelclick) {
+                    scorm_bloody_labelclick = false;
+                    return false;
+                }
+            });
+            tree.subscribe('expand', function(node) {
+                if (scorm_bloody_labelclick) {
+                    scorm_bloody_labelclick = false;
+                    return false;
+                }
+            });
+        }
         tree.expandAll();
         tree.render();
 
index 6cc9b9b..ef3700b 100644 (file)
@@ -209,7 +209,7 @@ if ($result->prerequisites) {
         <?php echo $mode == 'review' ? '<div id="scormmode" class="scorm-left">'.get_string('reviewmode', 'scorm')."</div>\n" : ''; ?>
             <div id="scormnav" class="scorm-right">
 <?php
-if ($scorm->hidetoc == 2) {
+if ($scorm->hidetoc == SCORM_TOC_POPUP) {
     echo $result->tocmenu;
 }
 ?>