diff --git a/mod/scorm/locallib.php b/mod/scorm/locallib.php index 982329f3606..51248fd1edb 100644 --- a/mod/scorm/locallib.php +++ b/mod/scorm/locallib.php @@ -678,6 +678,10 @@ function scorm_course_format_display($user, $course) { if (! $cm = get_coursemodule_from_instance('scorm', $scorm->id, $course->id)) { print_error('invalidcoursemodule'); } + $contextmodule = get_context_instance(CONTEXT_MODULE, $cm->id); + if ((has_capability('mod/scorm:skipview', $contextmodule))) { + scorm_simple_play($scorm, $user, $contextmodule); + } $colspan = ''; $headertext = '
'.get_string('name').': '.format_string($scorm->name).''; if (has_capability('moodle/course:manageactivities', $context)) { @@ -832,12 +836,11 @@ function scorm_simple_play($scorm, $user, $context) { } if ($scorm->skipview >= 1) { $sco = current($scoes); - if (scorm_get_tracks($sco->id, $user->id) === false) { - header('Location: player.php?a='.$scorm->id.'&scoid='.$sco->id.'¤torg='.$orgidentifier); - $result = true; - } else if ($scorm->skipview == 2) { - header('Location: player.php?a='.$scorm->id.'&scoid='.$sco->id.'¤torg='.$orgidentifier); - $result = true; + $url = new moodle_url('/mod/scorm/player.php', array('a' => $scorm->id, + 'currentorg'=>$orgidentifier, + 'scoid'=>$sco->id)); + if ($scorm->skipview == 2 || scorm_get_tracks($sco->id, $user->id) === false) { + redirect($url); } } } diff --git a/mod/scorm/view.php b/mod/scorm/view.php index 7e6490d64a5..42c5c588d80 100644 --- a/mod/scorm/view.php +++ b/mod/scorm/view.php @@ -71,8 +71,8 @@ $pagetitle = strip_tags($course->shortname.': '.format_string($scorm->name)); add_to_log($course->id, 'scorm', 'pre-view', 'view.php?id='.$cm->id, "$scorm->id", $cm->id); -if ((has_capability('mod/scorm:skipview', $contextmodule)) && scorm_simple_play($scorm, $USER, $contextmodule)) { - exit; +if ((has_capability('mod/scorm:skipview', $contextmodule))) { + scorm_simple_play($scorm, $USER, $contextmodule); } // |