Skip to content

Commit

Permalink
SCORM MDL-16184 MDL-21423 backport from HEAD
Browse files Browse the repository at this point in the history
  • Loading branch information
danmarsden committed Apr 21, 2010
1 parent fc289ca commit 2114f67
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 20 deletions.
3 changes: 0 additions & 3 deletions mod/scorm/api.php
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -81,9 +81,6 @@
include_once($CFG->dirroot.'/mod/scorm/datamodels/scorm_12.js.php'); include_once($CFG->dirroot.'/mod/scorm/datamodels/scorm_12.js.php');
} }


// set the start time of this SCO
scorm_insert_track($USER->id,$scorm->id,$scoid,$attempt,'x.start.time',time());

?> ?>


var errorCode = "0"; var errorCode = "0";
Expand Down
15 changes: 6 additions & 9 deletions mod/scorm/lib.php
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -244,6 +244,7 @@ function scorm_user_outline($course, $user, $mod, $scorm) {
function scorm_user_complete($course, $user, $mod, $scorm) { function scorm_user_complete($course, $user, $mod, $scorm) {
global $CFG; global $CFG;
require_once("$CFG->libdir/gradelib.php"); require_once("$CFG->libdir/gradelib.php");
require_once("locallib.php");


$liststyle = 'structlist'; $liststyle = 'structlist';
$scormpixdir = $CFG->modpixpath.'/scorm/pix'; $scormpixdir = $CFG->modpixpath.'/scorm/pix';
Expand All @@ -252,6 +253,11 @@ function scorm_user_complete($course, $user, $mod, $scorm) {
$lastmodify = 0; $lastmodify = 0;
$sometoreport = false; $sometoreport = false;
$report = ''; $report = '';

// First Access and Last Access dates for SCOs
$timetracks = scorm_get_sco_runtime($scorm->id, false, $user->id);
$firstmodify = $timetracks->start;
$lastmodify = $timetracks->finish;


$grades = grade_get_grades($course->id, 'mod', 'scorm', $scorm->id, $user->id); $grades = grade_get_grades($course->id, 'mod', 'scorm', $scorm->id, $user->id);
if (!empty($grades->items[0]->grades)) { if (!empty($grades->items[0]->grades)) {
Expand Down Expand Up @@ -318,7 +324,6 @@ function scorm_user_complete($course, $user, $mod, $scorm) {
} }


if ($sco->launch) { if ($sco->launch) {
require_once('locallib.php');
$score = ''; $score = '';
$totaltime = ''; $totaltime = '';
if ($usertrack=scorm_get_tracks($sco->id,$user->id)) { if ($usertrack=scorm_get_tracks($sco->id,$user->id)) {
Expand All @@ -327,14 +332,6 @@ function scorm_user_complete($course, $user, $mod, $scorm) {
} }
$strstatus = get_string($usertrack->status,'scorm'); $strstatus = get_string($usertrack->status,'scorm');
$report .= "<img src='".$scormpixdir.'/'.$usertrack->status.".gif' alt='$strstatus' title='$strstatus' />"; $report .= "<img src='".$scormpixdir.'/'.$usertrack->status.".gif' alt='$strstatus' title='$strstatus' />";
if ($usertrack->timemodified != 0) {
if ($usertrack->timemodified > $lastmodify) {
$lastmodify = $usertrack->timemodified;
}
if ($usertrack->timemodified < $firstmodify) {
$firstmodify = $usertrack->timemodified;
}
}
} else { } else {
if ($sco->scormtype == 'sco') { if ($sco->scormtype == 'sco') {
$report .= '<img src="'.$scormpixdir.'/'.'notattempted.gif" alt="'.get_string('notattempted','scorm').'" title="'.get_string('notattempted','scorm').'" />'; $report .= '<img src="'.$scormpixdir.'/'.'notattempted.gif" alt="'.get_string('notattempted','scorm').'" title="'.get_string('notattempted','scorm').'" />';
Expand Down
9 changes: 1 addition & 8 deletions mod/scorm/locallib.php
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -350,9 +350,6 @@ function scorm_get_tracks($scoid,$userid,$attempt='') {
$track->value = stripslashes_safe($track->value); $track->value = stripslashes_safe($track->value);
$usertrack->{$element} = $track->value; $usertrack->{$element} = $track->value;
switch ($element) { switch ($element) {
case 'x.start.time':
$usertrack->x_start_time = $track->value;
break;
case 'cmi.core.lesson_status': case 'cmi.core.lesson_status':
case 'cmi.completion_status': case 'cmi.completion_status':
if ($track->value == 'not attempted') { if ($track->value == 'not attempted') {
Expand Down Expand Up @@ -405,11 +402,7 @@ function scorm_get_sco_runtime($scormid, $scoid, $userid, $attempt=1) {
$tracks = array_values($tracks); $tracks = array_values($tracks);
} }


if ($start_track = get_records_select('scorm_scoes_track',"$sql AND element='x.start.time' ORDER BY scoid ASC")) { if ($tracks) {
$start_track = array_values($start_track);
$timedata->start = $start_track[0]->value;
}
else if ($tracks) {
$timedata->start = $tracks[0]->timemodified; $timedata->start = $tracks[0]->timemodified;
} }
else { else {
Expand Down

0 comments on commit 2114f67

Please sign in to comment.