From c557816312db05883105a6d3b94da4441bff0844 Mon Sep 17 00:00:00 2001 From: Dan Marsden Date: Wed, 10 Nov 2010 23:22:31 +0000 Subject: [PATCH] SCORM 2004 MDL-18756 - only return previous datamodel elements on re-launch if cmi.exit is set to "suspend" --- mod/scorm/api.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mod/scorm/api.php b/mod/scorm/api.php index 8f0fad25b354a..bed65d9f1ad0f 100644 --- a/mod/scorm/api.php +++ b/mod/scorm/api.php @@ -43,7 +43,8 @@ require_login($course->id, false, $cm); if ($usertrack = scorm_get_tracks($scoid,$USER->id,$attempt)) { - if ((isset($usertrack->{'cmi.exit'}) && ($usertrack->{'cmi.exit'} != 'time-out')) || ($scorm->version != "SCORM_1.3")) { + //according to SCORM 2004 spec(RTE V1, 4.2.8), only cmi.exit==suspend should allow previous datamodel elements on re-launch + if ($scorm->version != "SCORM_1.3" || (isset($usertrack->{'cmi.exit'}) && ($usertrack->{'cmi.exit'} == 'suspend'))) { foreach ($usertrack as $key => $value) { $userdata->$key = addslashes_js($value); }