}
} else {
foreach ($resources as $label => $resource) {
- if ((isset($resource['type'])) && ($resource['type'] == 'sco')) {
+ if (!empty($resource['href'])) {
$sco->identifier = $label;
$sco->title = $label;
$sco->parent = '/';
//
$bodyscripts = "";
if ($scorm->popup != "") {
- $bodyscripts = "onLoad='SCOInitialize();' onUnload='API.SaveTotalTime(); closeMain();' onbeforeUnload='API.SaveTotalTime();'";
+ $bodyscripts = "onLoad='SCOInitialize();' onUnload='SCOFinish(); closeMain();' onbeforeUnload='SCOFinish();'";
}
print_header($pagetitle, "$course->fullname",
"$navigation <a target=\"{$CFG->framename}\" href=\"view.php?id=$cm->id\" title=\"$scorm->summary\">$scorm->name</a>",
}
$score = "";
if ($sco_user=get_record("scorm_sco_users","scoid",$sco->id,"userid",$USER->id)) {
- if ( $sco_user->cmi_core_lesson_status == "")
+ if ( $sco_user->cmi_core_lesson_status == "") {
$sco_user->cmi_core_lesson_status = "not attempted";
+ }
echo " <img src=\"pix/".scorm_remove_spaces($sco_user->cmi_core_lesson_status).".gif\" alt=\"".get_string(scorm_remove_spaces($sco_user->cmi_core_lesson_status),"scorm")."\" title=\"".get_string(scorm_remove_spaces($sco_user->cmi_core_lesson_status),"scorm")."\" />\n";
if (($sco_user->cmi_core_lesson_status == "not attempted") || ($sco_user->cmi_core_lesson_status == "incomplete")) {
if ($currentSCO == "") {
$score = "(".get_string("score","scorm").": ".$sco_user->cmi_core_score_raw.")";
}
} else {
- echo " <img src=\"pix/notattempted.gif\" alt=\"".get_string("notattempted","scorm")."\" />";
- $incomplete = true;
+ if ($sco->type == 'sco') {
+ echo " <img src=\"pix/notattempted.gif\" alt=\"".get_string("notattempted","scorm")."\" />";
+ $incomplete = true;
+ } else {
+ echo " <img src=\"pix/asset.gif\" alt=\"".get_string("asset","scorm")."\" />";
+ }
}
echo " $startbold<a href=\"javascript:playSCO(".$sco->id.");\">$sco->title</a> $score$endbold\n </li>\n";
} else {
echo "<html>\n";
echo "<head><title>$course->shortname: $scorm->name</title></head>\n";
echo "<script id=\"scormAPI\" language=\"JavaScript\" type=\"text/javascript\" src=\"scormAPI.php?id=$cm->id&mode=".$mode.$scoid."\"></script>\n";
- echo "<frameset rows=\"$CFG->scorm_framesize,*\" onLoad=\"SCOInitialize();\" onUnload=\"API.SaveTotalTime();\" onbeforeUnload=\"API.SaveTotalTime();\">\n";
+ echo "<frameset rows=\"$CFG->scorm_framesize,*\" onLoad=\"SCOInitialize();\" onUnload=\"SCOFinish();\" onbeforeUnload=\"SCOFinish();\">\n";
echo "\t <frame name=\"navigation\" src=\"playscorm.php?id=$cm->id&mode=".$mode.'¤torg='.$currentorg."&frameset=top\">\n";
echo "\t <frame name=\"main\" src=\"\">\n";
echo "</frameset>\n";
// Create user scoes records
//
foreach ($scoes as $sco) {
- if ($sco->launch != "") {
- if (!isset($first))
+ if (($sco->launch != "") && ($sco->type != "sca") && ($sco->type != "asset")){
+ if (!isset($first)) {
$first = $sco;
+ }
$sco_user->userid = $USER->id;
$sco_user->scoid = $sco->id;
$sco_user->scormid = $scorm->id;
$element = "cmi_core_lesson_status";
- if ($sco->type == "sco")
- $sco_user->$element = "not attempted";
- else if (($sco->type == "sca") || ($sco->type == "asset"))
- $sco_user->$element = "completed";
+ $sco_user->$element = "not attempted";
$ident = insert_record("scorm_sco_users",$sco_user);
}
}
- if (isset($first))
+ if (isset($first)) {
$sco = $first;
+ }
if (!empty($scoid)) {
- if ($sco = get_record("scorm_scoes","id",$scoid))
+ if ($sco = get_record("scorm_scoes","id",$scoid)) {
unset($first);
+ }
}
}
}
}
}
$navObj = "top.";
- if ($scorm->popup == "")
- $navObj = "top.navigation.";
-
- include("api1_2.php");
+ if ($scorm->popup == "") {
+ $navObj = "top.navigation.";
+ }
+
+ if ($sco->type == 'sco') {
+ include("api1_2.php");
+ }
?>
?>
}
+function SCOFinish(){
+ if (typeof API != "undefined") {
+ SaveTotalTime();
+ }
+}
+
function changeSco(direction) {
if (direction == "previous")
<?php echo $navObj ?>document.navform.scoid.value="<?php echo $prevsco; ?>";
$score = "(".get_string("score","scorm").": ".$sco_user->cmi_core_score_raw.")";
}
} else {
- echo " <img src=\"pix/notattempted.gif\" alt=\"".get_string("notattempted","scorm")."\" />";
- $incomplete = true;
+ if ($sco->type == 'sco') {
+ echo " <img src=\"pix/notattempted.gif\" alt=\"".get_string("notattempted","scorm")."\" />";
+ $incomplete = true;
+ } else {
+ echo " <img src=\"pix/asset.gif\" alt=\"".get_string("asset","scorm")."\" />";
+ }
}
echo " <a href=\"javascript:playSCO(".$sco->id.")\">$sco->title</a> $score\n </li>\n";
} else {