Skip to content

Commit

Permalink
Merge branch 'm23_MDL-34644' of git://github.com/danmarsden/moodle in…
Browse files Browse the repository at this point in the history
…to MOODLE_23_STABLE
  • Loading branch information
danpoltawski committed Sep 18, 2012
2 parents 0671db2 + a698454 commit 05165a7
Showing 1 changed file with 31 additions and 27 deletions.
58 changes: 31 additions & 27 deletions mod/scorm/lib.php
Expand Up @@ -1183,33 +1183,37 @@ function scorm_get_completion_state($course, $cm, $userid, $type) {
if (!$scorm = $DB->get_record('scorm', array('id' => $cm->instance))) {
print_error('cannotfindscorm');
}

// Get user's tracks data
$tracks = $DB->get_records_sql(
"
SELECT
id,
element,
value
FROM
{scorm_scoes_track}
WHERE
scormid = ?
AND userid = ?
AND element IN
(
'cmi.core.lesson_status',
'cmi.completion_status',
'cmi.success_status',
'cmi.core.score.raw',
'cmi.score.raw'
)
",
array($scorm->id, $userid)
);

if (!$tracks) {
return completion_info::aggregate_completion_states($type, $result, false);
// Only check for existence of tracks and return false if completionstatusrequired or completionscorerequired
// this means that if only view is required we don't end up with a false state.
if ($scorm->completionstatusrequired !== null ||
$scorm->completionscorerequired !== null) {
// Get user's tracks data.
$tracks = $DB->get_records_sql(
"
SELECT
id,
element,
value
FROM
{scorm_scoes_track}
WHERE
scormid = ?
AND userid = ?
AND element IN
(
'cmi.core.lesson_status',
'cmi.completion_status',
'cmi.success_status',
'cmi.core.score.raw',
'cmi.score.raw'
)
",
array($scorm->id, $userid)
);

if (!$tracks) {
return completion_info::aggregate_completion_states($type, $result, false);
}
}

// Check for status
Expand Down

0 comments on commit 05165a7

Please sign in to comment.