From 6db676bfa144ba2348167f9b7a4a9395496e3a98 Mon Sep 17 00:00:00 2001 From: Dan Marsden Date: Wed, 25 Sep 2013 19:25:37 +1200 Subject: [PATCH 1/2] MDL-39910 SCORM: hide toggle button when course structure disabled and fix upgrade of old settings --- mod/scorm/db/upgrade.php | 9 +++++---- mod/scorm/styles.css | 5 ++++- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/mod/scorm/db/upgrade.php b/mod/scorm/db/upgrade.php index 242f89e11e8..13ac7245902 100644 --- a/mod/scorm/db/upgrade.php +++ b/mod/scorm/db/upgrade.php @@ -149,12 +149,13 @@ function xmldb_scorm_upgrade($oldversion) { $field = new xmldb_field('hidenav'); if ($dbman->field_exists($table, $field)) { - // Update nav setting to disable navigation buttons. - $DB->set_field('scorm', 'nav', 0, array('hidenav' => 1)); // Update nav setting to show floating navigation buttons under TOC. $DB->set_field('scorm', 'nav', 2, array('hidenav' => 0)); - $DB->set_field('scorm', 'navpositionleft', 215, array('hidenav' => 0)); - $DB->set_field('scorm', 'navpositiontop', 300, array('hidenav' => 0)); + $DB->set_field('scorm', 'navpositionleft', 215, array('hidenav' => 2)); + $DB->set_field('scorm', 'navpositiontop', 300, array('hidenav' => 2)); + + // Update nav setting to disable navigation buttons. + $DB->set_field('scorm', 'nav', 0, array('hidenav' => 1)); // Drop hidenav field. $dbman->drop_field($table, $field); } diff --git a/mod/scorm/styles.css b/mod/scorm/styles.css index 77d694be4f6..664f4b6aa26 100644 --- a/mod/scorm/styles.css +++ b/mod/scorm/styles.css @@ -28,7 +28,10 @@ #page-mod-scorm-player .structlist {list-style-type: none;white-space: nowrap;} #page-mod-scorm-player .structurelist {position: relative;list-style-type: none;width: 96%;margin:0;padding:0;} #page-mod-scorm-player .structurelist ul {padding-left: 0.5em;margin-left: 0.5em;} -#page-mod-scorm-player #scormpage #scorm_toc.disabled {display:none} +#page-mod-scorm-player #scormpage #scorm_toc.disabled, +#page-mod-scorm-player #scormpage #scorm_toc_toggle.disabled { + display:none +} #page-mod-scorm-view .structurelist {list-style-type: none;white-space: nowrap;} #page-mod-scorm-view .structurelist {list-style-type: none;white-space: nowrap;} From bb22cd80b7c3b5724f808d1e22070927495b91ac Mon Sep 17 00:00:00 2001 From: Mayank Gupta Date: Wed, 25 Sep 2013 16:41:33 +0530 Subject: [PATCH 2/2] MDL-39910 mod_scorm: fix enable/disable navigation buttons --- mod/scorm/module.js | 42 +++++++++++++++++++++++++++++++++--------- 1 file changed, 33 insertions(+), 9 deletions(-) diff --git a/mod/scorm/module.js b/mod/scorm/module.js index efdaa8efd84..dd943b96495 100644 --- a/mod/scorm/module.js +++ b/mod/scorm/module.js @@ -210,15 +210,39 @@ M.mod_scorm.init = function(Y, nav_display, navposition_left, navposition_top, h * @return void */ var scorm_fixnav = function() { - scorm_buttons[0].set('disabled', ((scorm_skipprev(scorm_current_node) === null) || (scorm_skipprev(scorm_current_node).parent.isRoot()) || - (scorm_skipprev(scorm_current_node).title === null) || (scoes_nav[launch_sco].hideprevious === 1))); - scorm_buttons[1].set('disabled', ((scorm_prev(scorm_current_node) === null) || (scorm_skipprev(scorm_current_node).parent.isRoot()) || - (scorm_prev(scorm_current_node).title === null) || (scoes_nav[launch_sco].hideprevious === 1))); - scorm_buttons[2].set('disabled', (scorm_up(scorm_current_node) === null) || (scorm_up(scorm_current_node).parent.isRoot()) || - (scorm_up(scorm_current_node).title === null)); - scorm_buttons[3].set('disabled', ((scorm_next(scorm_current_node) === null) || ((scorm_next(scorm_current_node).title === null) && - (scoes_nav[launch_sco].flow !== 1)) || (scoes_nav[launch_sco].hidecontinue === 1))); - scorm_buttons[4].set('disabled', (scorm_skipnext(scorm_current_node) === null || scorm_skipnext(scorm_current_node).title === null || + var skipprevnode = scorm_skipprev(scorm_current_node); + var prevnode = scorm_prev(scorm_current_node); + var skipnextnode = scorm_skipnext(scorm_current_node); + var nextnode = scorm_next(scorm_current_node); + var upnode = scorm_up(scorm_current_node); + + scorm_buttons[0].set('disabled', ((skipprevnode === null) || + (typeof(skipprevnode.scoid) === 'undefined') || + (scoes_nav[skipprevnode.scoid].isvisible === "false") || + (skipprevnode.title === null) || + (scoes_nav[launch_sco].hideprevious === 1))); + + scorm_buttons[1].set('disabled', ((prevnode === null) || + (typeof(prevnode.scoid) === 'undefined') || + (scoes_nav[prevnode.scoid].isvisible === "false") || + (prevnode.title === null) || + (scoes_nav[launch_sco].hideprevious === 1))); + + scorm_buttons[2].set('disabled', (upnode === null) || + (typeof(upnode.scoid) === 'undefined') || + (scoes_nav[upnode.scoid].isvisible === "false") || + (upnode.title === null)); + + scorm_buttons[3].set('disabled', ((nextnode === null) || + ((nextnode.title === null) && (scoes_nav[launch_sco].flow !== 1)) || + (typeof(nextnode.scoid) === 'undefined') || + (scoes_nav[nextnode.scoid].isvisible === "false") || + (scoes_nav[launch_sco].hidecontinue === 1))); + + scorm_buttons[4].set('disabled', ((skipnextnode === null) || + (skipnextnode.title === null) || + (typeof(skipnextnode.scoid) === 'undefined') || + (scoes_nav[skipnextnode.scoid].isvisible === "false") || scoes_nav[launch_sco].hidecontinue === 1)); };