function html_header($course, $wdir, $formfield=""){
- global $CFG,$THEME;
+ global $CFG,$THEME,$ME;
if (! $site = get_site()) {
error("Invalid site!");
for ($i=1; $i<$numdirs; $i++) {
$navigation .= " -> ";
$link .= "/".urlencode($dirs[$i]);
- $navigation .= "<a href=\"".$_SERVER['PHP_SELF']."?id=$course->id&wdir=$link\">".$dirs[$i]."</a>";
+ $navigation .= "<a href=\"".$ME."?id=$course->id&wdir=$link\">".$dirs[$i]."</a>";
}
- $fullnav = "<a href=\"".$_SERVER['PHP_SELF']."?id=$course->id&wdir=/\">$strfiles</a> $navigation";
+ $fullnav = "<a href=\"".$ME."?id=$course->id&wdir=/\">$strfiles</a> $navigation";
}
print_header();
echo "<P>$struploadafile ($strmaxsize) --> <B>$wdir</B>";
echo "<TABLE><TR><TD COLSPAN=2>";
- echo "<FORM ENCTYPE=\"multipart/form-data\" METHOD=\"post\" ACTION=\"".$_SERVER['PHP_SELF']."\">";
+ echo "<FORM ENCTYPE=\"multipart/form-data\" METHOD=\"post\" ACTION=\"".$ME."\">";
echo " <INPUT TYPE=hidden NAME=MAX_FILE_SIZE value=\"$upload_max_filesize\">";
echo " <INPUT TYPE=hidden NAME=id VALUE=$id>";
echo " <INPUT TYPE=hidden NAME=wdir VALUE=$wdir>";
echo " <INPUT TYPE=submit NAME=save VALUE=\"$struploadthisfile\">";
echo "</FORM>";
echo "</TD><TD WIDTH=100%>";
- echo "<FORM ACTION=\"".$_SERVER['PHP_SELF']."\" METHOD=\"get\">";
+ echo "<FORM ACTION=\"".$ME."\" METHOD=\"get\">";
echo " <INPUT TYPE=hidden NAME=id VALUE=$id>";
echo " <INPUT TYPE=hidden NAME=wdir VALUE=$wdir>";
echo " <INPUT TYPE=hidden NAME=action VALUE=cancel>";
print_simple_box_end();
echo "<br />";
notice_yesno (get_string("deletecheckfiles"),
- "".basename($_SERVER['PHP_SELF'])."?id=$id&wdir=$wdir&action=delete&confirm=1",
- "".basename($_SERVER['PHP_SELF'])."?id=$id&wdir=$wdir&action=cancel");
+ "".basename($ME)."?id=$id&wdir=$wdir&action=delete&confirm=1",
+ "".basename($ME)."?id=$id&wdir=$wdir&action=cancel");
} else {
displaydir($wdir);
}
html_header($course, $wdir, "form.name");
echo "<P>$strrenamefileto:";
echo "<TABLE><TR><TD>";
- echo "<FORM ACTION=\"".$_SERVER['PHP_SELF']."\" METHOD=\"post\" NAME=\"form\">";
+ echo "<FORM ACTION=\"".$ME."\" METHOD=\"post\" NAME=\"form\">";
echo " <INPUT TYPE=hidden NAME=id VALUE=$id>";
echo " <INPUT TYPE=hidden NAME=wdir VALUE=$wdir>";
echo " <INPUT TYPE=hidden NAME=action VALUE=rename>";
echo " <INPUT TYPE=submit VALUE=\"$strrename\">";
echo "</FORM>";
echo "</TD><TD>";
- echo "<FORM ACTION=\"".$_SERVER['PHP_SELF']."\" METHOD=get>";
+ echo "<FORM ACTION=\"".$ME."\" METHOD=get>";
echo " <INPUT TYPE=hidden NAME=id VALUE=$id>";
echo " <INPUT TYPE=hidden NAME=wdir VALUE=$wdir>";
echo " <INPUT TYPE=hidden NAME=action VALUE=cancel>";
html_header($course, $wdir, "form.name");
echo "<P>$strcreatefolder:";
echo "<TABLE><TR><TD>";
- echo "<FORM ACTION=\"".$_SERVER['PHP_SELF']."\" METHOD=post NAME=form>";
+ echo "<FORM ACTION=\"".$ME."\" METHOD=post NAME=form>";
echo " <INPUT TYPE=hidden NAME=id VALUE=$id>";
echo " <INPUT TYPE=hidden NAME=wdir VALUE=$wdir>";
echo " <INPUT TYPE=hidden NAME=action VALUE=mkdir>";
echo " <INPUT TYPE=submit VALUE=\"$strcreate\">";
echo "</FORM>";
echo "</TD><TD>";
- echo "<FORM ACTION=\"".$_SERVER['PHP_SELF']."\" METHOD=get>";
+ echo "<FORM ACTION=\"".$ME."\" METHOD=get>";
echo " <INPUT TYPE=hidden NAME=id VALUE=$id>";
echo " <INPUT TYPE=hidden NAME=wdir VALUE=$wdir>";
echo " <INPUT TYPE=hidden NAME=action VALUE=cancel>";
print_heading("$streditfile");
echo "<TABLE><TR><TD COLSPAN=2>";
- echo "<FORM ACTION=\"".$_SERVER['PHP_SELF']."\" METHOD=\"post\" NAME=\"form\" $onsubmit>";
+ echo "<FORM ACTION=\"".$ME."\" METHOD=\"post\" NAME=\"form\" $onsubmit>";
echo " <INPUT TYPE=hidden NAME=id VALUE=$id>";
echo " <INPUT TYPE=hidden NAME=wdir VALUE=\"$wdir\">";
echo " <INPUT TYPE=hidden NAME=file VALUE=\"$file\">";
echo " <INPUT TYPE=submit VALUE=\"".get_string("savechanges")."\">";
echo "</FORM>";
echo "</TD><TD>";
- echo "<FORM ACTION=\"".$_SERVER['PHP_SELF']."\" METHOD=get>";
+ echo "<FORM ACTION=\"".$ME."\" METHOD=get>";
echo " <INPUT TYPE=hidden NAME=id VALUE=$id>";
echo " <INPUT TYPE=hidden NAME=wdir VALUE=$wdir>";
echo " <INPUT TYPE=hidden NAME=action VALUE=cancel>";
echo "<BR>";
echo "<P ALIGN=CENTER>".get_string("whattocallzip");
echo "<TABLE><TR><TD>";
- echo "<FORM ACTION=\"".$_SERVER['PHP_SELF']."\" METHOD=post NAME=form>";
+ echo "<FORM ACTION=\"".$ME."\" METHOD=post NAME=form>";
echo " <INPUT TYPE=hidden NAME=id VALUE=$id>";
echo " <INPUT TYPE=hidden NAME=wdir VALUE=\"$wdir\">";
echo " <INPUT TYPE=hidden NAME=action VALUE=zip>";
echo " <INPUT TYPE=submit VALUE=\"".get_string("createziparchive")."\">";
echo "</FORM>";
echo "</TD><TD>";
- echo "<FORM ACTION=\"".$_SERVER['PHP_SELF']."\" METHOD=get>";
+ echo "<FORM ACTION=\"".$ME."\" METHOD=get>";
echo " <INPUT TYPE=hidden NAME=id VALUE=$id>";
echo " <INPUT TYPE=hidden NAME=wdir VALUE=$wdir>";
echo " <INPUT TYPE=hidden NAME=action VALUE=cancel>";
print_simple_box_end();
}
- echo "<CENTER><FORM ACTION=\"".$_SERVER['PHP_SELF']."\" METHOD=get>";
+ echo "<CENTER><FORM ACTION=\"".$ME."\" METHOD=get>";
echo " <INPUT TYPE=hidden NAME=id VALUE=$id>";
echo " <INPUT TYPE=hidden NAME=wdir VALUE=$wdir>";
echo " <INPUT TYPE=hidden NAME=action VALUE=cancel>";
}
echo "</table>";
}
- echo "<br><center><form action=\"".$_SERVER['PHP_SELF']."\" method=get>";
+ echo "<br><center><form action=\"".$ME."\" method=get>";
echo " <INPUT TYPE=hidden NAME=id VALUE=$id>";
echo " <INPUT TYPE=hidden NAME=wdir VALUE=$wdir>";
echo " <INPUT TYPE=hidden NAME=action VALUE=cancel>";
global $basedir;
global $id;
- global $USER, $CFG;
+ global $USER, $CFG, $ME;
$fullpath = $basedir.$wdir;
$strchoose = get_string("choose");
- echo "<FORM ACTION=\"".$_SERVER['PHP_SELF']."\" METHOD=post NAME=dirform>";
+ echo "<FORM ACTION=\"".$ME."\" METHOD=post NAME=dirform>";
echo "<TABLE BORDER=0 cellspacing=2 cellpadding=2 width=640>";
echo "<TR>";
echo "<TH WIDTH=5></TH>";
echo "<TR>";
print_cell("center", "<INPUT TYPE=checkbox NAME=\"file$count\" VALUE=\"$fileurl\">");
- print_cell("left", "<A HREF=\"".basename($_SERVER['PHP_SELF'])."?id=$id&wdir=$fileurl\"><IMG SRC=\"$CFG->pixpath/f/folder.gif\" HEIGHT=16 WIDTH=16 BORDER=0 ALT=\"Folder\"></A> <A HREF=\"".basename($_SERVER['PHP_SELF'])."?id=$id&wdir=$fileurl\">".htmlspecialchars($dir)."</A>");
+ print_cell("left", "<A HREF=\"".basename($ME)."?id=$id&wdir=$fileurl\"><IMG SRC=\"$CFG->pixpath/f/folder.gif\" HEIGHT=16 WIDTH=16 BORDER=0 ALT=\"Folder\"></A> <A HREF=\"".basename($ME)."?id=$id&wdir=$fileurl\">".htmlspecialchars($dir)."</A>");
print_cell("right", "-");
print_cell("right", $filedate);
- print_cell("right", "<A HREF=\"".basename($_SERVER['PHP_SELF'])."?id=$id&wdir=$wdir&file=$filesafe&action=rename\">$strrename</A>");
+ print_cell("right", "<A HREF=\"".basename($ME)."?id=$id&wdir=$wdir&file=$filesafe&action=rename\">$strrename</A>");
echo "</TR>";
}
$edittext = "<b><a onMouseDown=\"return set_value('$selectfile')\" href=\"\">$strchoose</a></b> ";
if ($icon == "text.gif" || $icon == "html.gif") {
- $edittext .= "<a href=\"".basename($_SERVER['PHP_SELF'])."?id=$id&wdir=$wdir&file=$fileurl&action=edit\">$stredit</a>";
+ $edittext .= "<a href=\"".basename($ME)."?id=$id&wdir=$wdir&file=$fileurl&action=edit\">$stredit</a>";
} else if ($icon == "zip.gif") {
- $edittext .= "<a href=\"".basename($_SERVER['PHP_SELF'])."?id=$id&wdir=$wdir&file=$fileurl&action=unzip\">$strunzip</a> ";
- $edittext .= "<a href=\"".basename($_SERVER['PHP_SELF'])."?id=$id&wdir=$wdir&file=$fileurl&action=listzip\">$strlist</a> ";
+ $edittext .= "<a href=\"".basename($ME)."?id=$id&wdir=$wdir&file=$fileurl&action=unzip\">$strunzip</a> ";
+ $edittext .= "<a href=\"".basename($ME)."?id=$id&wdir=$wdir&file=$fileurl&action=listzip\">$strlist</a> ";
}
- print_cell("right", "$edittext <A HREF=\"".basename($_SERVER['PHP_SELF'])."?id=$id&wdir=$wdir&file=$filesafe&action=rename\">$strrename</A>");
+ print_cell("right", "$edittext <A HREF=\"".basename($ME)."?id=$id&wdir=$wdir&file=$filesafe&action=rename\">$strrename</A>");
echo "</tr>";
}
echo "</FORM>";
echo "<TD ALIGN=center>";
if (!empty($USER->fileop) and ($USER->fileop == "move") and ($USER->filesource <> $wdir)) {
- echo "<FORM ACTION=\"".$_SERVER['PHP_SELF']."\" METHOD=get>";
+ echo "<FORM ACTION=\"".$ME."\" METHOD=get>";
echo " <INPUT TYPE=hidden NAME=id VALUE=$id>";
echo " <INPUT TYPE=hidden NAME=wdir VALUE=\"$wdir\">";
echo " <INPUT TYPE=hidden NAME=action VALUE=paste>";
echo "</FORM>";
}
echo "<TD ALIGN=right>";
- echo "<FORM ACTION=\"".$_SERVER['PHP_SELF']."\" METHOD=get>";
+ echo "<FORM ACTION=\"".$ME."\" METHOD=get>";
echo " <INPUT TYPE=hidden NAME=id VALUE=$id>";
echo " <INPUT TYPE=hidden NAME=wdir VALUE=\"$wdir\">";
echo " <INPUT TYPE=hidden NAME=action VALUE=mkdir>";
echo "</FORM>";
echo "</TD>";
echo "<TD ALIGN=right>";
- echo "<FORM ACTION=\"".$_SERVER['PHP_SELF']."\" METHOD=get>";
+ echo "<FORM ACTION=\"".$ME."\" METHOD=get>";
echo " <INPUT TYPE=hidden NAME=id VALUE=$id>";
echo " <INPUT TYPE=hidden NAME=wdir VALUE=\"$wdir\">";
echo " <INPUT TYPE=hidden NAME=action VALUE=upload>";
if ($name == "ITEM") {
$i++;
$manifest[$i]["identifier"] = $attrs["IDENTIFIER"];
+ if (empty($attrs["IDENTIFIERREF"]))
+ $attrs["IDENTIFIERREF"] = "";
$manifest[$i]["identifierref"] = $attrs["IDENTIFIERREF"];
+ if (empty($attrs["ISVISIBLE"]))
+ $attrs["ISVISIBLE"] = "";
$manifest[$i]["isvisible"] = $attrs["ISVISIBLE"];
$manifest[$i]["parent"] = $parent[$level];
$level++;
$level--;
}
if ($name == "TITLE" && $level>0)
- $manifest[$i]["title"] = $datacontent;
- if ($name == "ADLCP:HIDERTSUI")
- $manifest[$i][$datacontent] = 1;
+ $manifest[$i]["title"] = $datacontent;
+ if ($name == "ADLCP:HIDERTSUI")
+ $manifest[$i][$datacontent] = 1;
}
function scorm_characterData($parser, $data) {
$sco->identifier = $manifest[$j]["identifier"];
$sco->parent = $manifest[$j]["parent"];
$sco->title = $manifest[$j]["title"];
- $sco->launch = $resources[$manifest[$j]["identifierref"]]["href"];
- $sco->type = $resources[$manifest[$j]["identifierref"]]["type"];
- $sco->previous = $manifest[$j]["previous"];
- $sco->next = $manifest[$j]["continue"];
- if (scorm_remove_spaces($manifest[$j]["isvisible"]) != "false")
- $id = insert_record("scorm_scoes",$sco);
- if ($launch==0 && $sco->launch)
- $launch = $id;
+ if (empty($resources[($manifest[$j]["identifierref"])]["href"]))
+ $resources[($manifest[$j]["identifierref"])]["href"] = "";
+ $sco->launch = $resources[($manifest[$j]["identifierref"])]["href"];
+ if (empty($resources[($manifest[$j]["identifierref"])]["type"]))
+ $resources[($manifest[$j]["identifierref"])]["type"] = "";
+ $sco->type = $resources[($manifest[$j]["identifierref"])]["type"];
+ if (empty($manifest[$j]["previous"]))
+ $manifest[$j]["previous"] = 0;
+ $sco->previous = $manifest[$j]["previous"];
+ if (empty($manifest[$j]["continue"]))
+ $manifest[$j]["continue"] = 0;
+ $sco->next = $manifest[$j]["continue"];
+ if (scorm_remove_spaces($manifest[$j]["isvisible"]) != "false")
+ $id = insert_record("scorm_scoes",$sco);
+ if ($launch==0 && $sco->launch)
+ $launch = $id;
}
return $launch;
}
$result = true;
else if (substr($link,0,4) == "www.")
$result = true;
- else if (substr($link,0,7) == "rstp://")
+ /*else if (substr($link,0,7) == "rstp://")
$result = true;
else if (substr($link,0,6) == "rtp://")
$result = true;
else if (substr($link,0,6) == "ftp://")
$result = true;
else if (substr($link,0,9) == "gopher://")
- $result = true;
+ $result = true; */
return $result;
}
?>
require_login($course->id);
if ( $scoes_user = get_records_select("scorm_sco_users","userid = ".$USER->id." AND scormid = ".$scorm->id,"scoid ASC") ) {
- if ($scoid) {
+ //
+ // Already user
+ //
+ if (!empty($scoid)) {
+ // Direct sco request
$sco = get_record("scorm_scoes","id",$scoid);
} else {
+ // Search for first incomplete sco
foreach ( $scoes_user as $sco_user ) {
if (($sco_user->cmi_core_lesson_status != "completed") && ($sco_user->cmi_core_lesson_status != "passed") && ($sco_user->cmi_core_lesson_status != "failed")) {
$sco = get_record("scorm_scoes","id",$sco_user->scoid);
break;
} else {
+ // If review mode get the first
if ($mode == "review") {
$sco = get_record("scorm_scoes","id",$sco_user->scoid);
break;
}
}
}
- if (!$sco)
- $sco = get_record_select("scorm_scoes","scorm=".$scorm->id." AND launch<>'' order by id ASC");
- } else {
+ if (!isset($sco)) { // If no sco was found get the first of SCORM package
+ $scoes = get_records_select("scorm_scoes","scorm=".$scorm->id." AND launch<>'' order by id ASC");
+ $sco = each($scoes);
+ }
+ } else {
+ //
+ // A new user
+ //
if ($scoes = get_records("scorm_scoes","scorm",$scorm->id,"id ASC")) {
+ //
+ // Create user scoes records
+ //
foreach ($scoes as $sco) {
if ($sco->launch != "") {
- if (!$first)
+ if (!isset($first))
$first = $sco;
$sco_user->userid = $USER->id;
$sco_user->scoid = $sco->id;
$element = "cmi_core_lesson_status";
if ($sco->type == "sco")
$sco_user->$element = "not attempted";
- else if ($sco->type == "sca")
+ else if (($sco->type == "sca") || ($sco->type == "asset"))
$sco_user->$element = "completed";
$ident = insert_record("scorm_sco_users",$sco_user);
}
}
- $sco = $first;
- if ($scoid) {
+ if (isset($first))
+ $sco = $first;
+ if (!empty($scoid)) {
if ($sco = get_record("scorm_scoes","id",$scoid))
unset($first);
}
include("api1_2.php");
?>
+function hilightcurrent(popupmenu) {
+ for (i=0;i < popupmenu.options.length;i++) {
+ if ( popupmenu.options[i].value == <?php echo $sco->id; ?> )
+ popupmenu.options[i].selected = true;
+ }
+}
function SCOInitialize() {
<?php
}
?>
top.main.location="<?php echo $result; ?>";
- for (i=0;i<top.nav.document.navform.courseStructure.options.length;i++) {
- if ( top.nav.document.navform.courseStructure.options[i].value == <?php echo $sco->id; ?> )
- top.nav.document.navform.courseStructure.options[i].selected = true;
- }
+ hilightcurrent(top.nav.document.navform.courseStructure);
+
}
function changeSco(direction) {