moodle/mod/scorm/mod.html
2005-09-26 15:15:07 +00:00

427 lines
19 KiB
HTML
Executable File

<?php
require_once("$CFG->dirroot/mod/scorm/lib.php");
if (empty($form->name)) {
$form->name = "";
}
if (empty($form->reference)) {
$form->reference = "";
}
if (empty($form->summary)) {
$form->summary = "";
}
if (empty($form->launch)) {
$form->launch = "";
}
if (empty($form->auto)) {
$form->auto = "";
}
if (empty($form->popup)) {
$form->popup = "0";
}
if (empty($form->datadir)) {
$form->datadir = "";
}
if (empty($form->maxgrade)) {
$form->maxgrade = "";
}
if (empty($form->grademethod)) {
$form->grademethod = "0";
}
if (empty($form->hidebrowse)) {
$form->hidebrowse = "0";
}
if (empty($form->hidetoc)) {
$form->hidetoc = "0";
}
if (empty($form->hidenav)) {
$form->hidenav = "0";
}
if (empty($form->width)) {
$form->width = $CFG->scorm_framewidth;
}
if ($form->width <= 100) {
$form->width .= '%';
}
if (empty($form->height)) {
$form->height = $CFG->scorm_frameheight;
}
if ($form->height <= 100) {
$form->height .= '%';
}
if (empty($form->options)) {
$form->options = $stdoptions;
}
$options = explode(',',$form->options);
$window = new stdClass();
foreach ($options as $option) {
list($element,$value) = explode('=',$option);
$element = trim($element);
$window->$element = trim($value)==1?'checked':'';
}
$scormid = '';
if (!empty($form->instance)) {
$scormid = '&instance='.$form->instance;
}
$datadir = '';
if (!empty($form->datadir)) {
$datadir = '&datadir='.$form->datadir;
}
$sessionkey = '';
if (!empty($form->sesskey)) {
$sessionkey = '&sesskey='.$form->sesskey;
}
$strfilename = get_string("coursepacket", "scorm");
$strchooseafile = get_string("chooseapacket", "scorm");
$striframe = get_string("iframe", "scorm");
$striframedisplay = get_string("iframedisplay", "scorm");
$strnewwindow = get_string("popup", "scorm");
$strnewwindowopen = get_string("popupopen", "scorm");
$strheight = get_string("height", "scorm");
$strwidth = get_string("width", "scorm");
$strresizable = get_string("resizable", "scorm");
$strscrollbars = get_string("scrollbars", "scorm");
$strdirectories = get_string("directories", "scorm");
$strlocation = get_string("location", "scorm");
$strmenubar = get_string("menubar", "scorm");
$strtoolbar = get_string("toolbar", "scorm");
$strstatus = get_string("statusbar", "scorm");
?>
<script type="text/javascript" src="<?php p($CFG->wwwroot) ?>/mod/scorm/request.js" ></script>
<script type="text/javascript">
function validate_scorm(theform,filename) {
var myRequest = NewHttpReq();
result = DoRequest(myRequest,"<?php p($CFG->wwwroot) ?>/mod/scorm/validate.php","id=<?php p($form->course) ?>&reference="+filename+"<?php echo $sessionkey.$scormid.$datadir ?>");
//alert(result);
results = result.split('\n');
result = '';
errorlogs = '';
datadir = '';
for (i=0;i<results.length;i++) {
element = results[i].split('=');
switch(element[0]) {
case 'result':
result = element[1];
break;
case 'launch':
launch = element[1];
break;
case 'datadir':
datadir = element[1];
break;
case 'pkgtype':
pkgtype = element[1];
break;
case 'errorlogs':
i++;
do {
errorlogs.concat(results[i]+'\n');
i++;
} while (i<results.lenght());
break;
}
}
if ((result == "found") || (result == "regular")) {
theform.datadir.value = datadir;
theform.pkgtype.value = pkgtype;
theform.launch.value = launch;
if (launch == 0) {
if ('<?php echo $scormid ?>' != '') {
return confirm('<?php print_string('trackingloose','scorm') ?>');
}
}
return true;
} else {
result = '<?php print_string('validation','scorm') ?>: '+ result + '\n';
if (errorlogs != '') {
result.concat('<?php print_string('errorlogs','scorm') ?>:\n'+errorlogs);
}
alert(result);
return false;
}
}
function checkmethod (grademethod,maxgrade) {
if (grademethod.options[grademethod.selectedIndex].value == 0) {
maxgrade.disabled=true;
} else {
maxgrade.disabled=false;
}
}
function showhide (id, set) {
divobj = document.getElementById(id);
butobj = document.getElementById(id+'button');
prefobj = document.getElementById(id+'pref');
if (set == true) {
if (prefobj.value == '1') {
divobj.style.display = 'block';
butobj.value = '<?php print_string("hidesettings") ?>';
} else {
divobj.style.display = 'none';
butobj.value = '<?php print_string("showsettings") ?>...';
}
} else {
if (prefobj.value == '1') {
divobj.style.display = 'none';
butobj.value = '<?php print_string("showsettings") ?>...';
prefobj.value = '0';
} else {
divobj.style.display = 'block';
butobj.value = '<?php print_string("hidesettings") ?>';
prefobj.value = '1';
}
}
}
</script>
<form name="form" method="post" action="mod.php" onsubmit="return validate_scorm(document.form,document.form.reference.value);">
<table cellpadding="5">
<tr valign="top">
<td align="right"><b><?php print_string("name") ?>:</b></td>
<td>
<input type="text" name="name" size="50" value="<?php p($form->name) ?>" alt="<?php print_string("name") ?>" />
</td>
</tr>
<tr valign="top">
<td align="right"><b><?php print_string("summary") ?>:</b><br />
<?php helpbutton("summary", get_string("summary"), "scorm", true, true) ?>
</td>
<td>
<?php print_textarea($usehtmleditor, 10, 50, 680, 400, "summary", $form->summary); ?>
</td>
</tr>
<tr valign="top">
<td align="right" nowrap="nowrap">
<b><?php echo $strfilename?>:</b>
</td>
<td>
<?php
echo "<input name=\"reference\" size=\"50\" value=\"$form->reference\" alt=\"$strfilename\" />&nbsp;";
button_to_popup_window ("/files/index.php?id=$course->id&amp;choose=form.reference",
"coursefiles", $strchooseafile, 500, 750, $strchooseafile);
helpbutton("package", get_string("coursepacket", "scorm"), "scorm", true);
?>
</td>
</tr>
<tr valign="top">
<td align="right"><b><?php print_string("grademethod", "scorm") ?>:</b></td>
<td>
<?php
choose_from_menu($SCORM_GRADE_METHOD, 'grademethod', "$form->grademethod", '','checkmethod(this,document.form.maxgrade);');
helpbutton("grademethod", get_string("grademethod","scorm"), "scorm");
?>
</td>
</tr>
<tr valign="top">
<td align="right"><b><?php print_string("maximumgrade") ?>:</b></td>
<td>
<?php
for ($i=100; $i>=1; $i--) {
$grades[$i] = $i;
}
$disabled = $form->grademethod=='0';
choose_from_menu($grades, 'maxgrade', "$form->maxgrade", '','','0',false,$disabled);
helpbutton('maxgrade', get_string('maximumgrade'), 'scorm');
?>
</td>
</tr>
<tr><td colspan="2"><hr /></td></tr>
<tr>
<td align="right"><b><?php print_string("advanced", "scorm") ?>:</b></td>
<td>
<input type="button" value="<?php print_string("hidesettings") ?>" id="advancedsettingsbutton" onclick="javascrip: return showhide('advancedsettings');" />
<input type="hidden" name="advancedsettingspref" id="advancedsettingspref"
value="<?php echo get_user_preferences('scorm_advancedsettingspref', $CFG->scorm_advancedsettings); ?>" />
<?php helpbutton("advanced", get_string("advanced", "scorm"), "scorm", true) ?>
</td>
</tr>
<tr>
<td colspan="2">
<div id="advancedsettings">
<table align="center">
<tr>
<td align="right"><b><?php print_string("autocontinue","scorm") ?>:</b></td>
<td>
<?php
$options = array();
$options[0]=get_string("no");
$options[1]=get_string("yes");
choose_from_menu ($options, "auto", $form->auto,'');
?>
</td>
</tr>
<tr>
<td align="right"><b><?php print_string("hidebrowse","scorm") ?>:</b></td>
<td>
<?php
$options = array();
$options[0]=get_string("no");
$options[1]=get_string("yes");
choose_from_menu ($options, "hidebrowse", $form->hidebrowse, '');
?>
</td>
</tr>
<tr>
<td align="right"><b><?php print_string("hidetoc","scorm") ?>:</b></td>
<td>
<?php
$options = array();
$options[0]=get_string("no");
$options[1]=get_string("yes");
choose_from_menu ($options, "hidetoc", $form->hidetoc, '');
?>
</td>
</tr>
<tr>
<td align="right"><b><?php print_string("hidenav","scorm") ?>:</b></td>
<td>
<?php
$options = array();
$options[0]=get_string("no");
$options[1]=get_string("yes");
choose_from_menu ($options, "hidenav", $form->hidenav, '');
?>
</td>
</tr>
</table>
</div>
</td>
</tr>
<tr>
<td align="right"><b><?php print_string("window", "scorm") ?>:</b></td>
<td>
<input type="button" value="<?php print_string("hidesettings") ?>" id="windowsettingsbutton" onclick="javascrip: return showhide('windowsettings');" />
<input type="hidden" name="windowsettingspref" id="windowsettingspref"
value="<?php echo get_user_preferences('scorm_windowsettingspref', $CFG->scorm_windowsettings); ?>" />
<?php helpbutton("window", get_string("window", "scorm"), "scorm", true) ?>
</td>
</tr>
<tr>
<td colspan="2">
<div id="windowsettings">
<table align="center">
<tr valign="top">
<td>
<b><?php print_string('stagesize','scorm'); ?></b><br />
<input name="width" type="text" size="4" value="<?php p($form->width) ?>" alt="<?php p($strwidth) ?>" />
<label for="width"><?php p($strwidth) ?></label><br />
<input name="height" type="text" size="4" value="<?php p($form->height) ?>" alt="<?php p($strheight) ?>" />
<label for="height"><?php p($strheight) ?></label>
</td>
</tr>
<tr valign="top">
<td>
<script type="text/javascript">
var popupitems = ["<?php echo implode('","',$SCORM_POPUP_OPTIONS); ?>"];
</script>
<br /><b><?php print_string('display','scorm'); ?>:</b><br />
<input type="radio"
name="popup"
value="0" alt="<?php p($striframe) ?>"
<?php echo ($form->popup == 0) ? "checked=\"checked\"" : "" ?>
onclick="return lockoptions('form', 'popup[1]', popupitems);"
/>
<b title="<?php p($striframedisplay) ?>"><?php p($striframe) ?></b>
</td>
</tr>
<tr valign="top">
<td>
<input name="popup"
type="radio"
value="1"
alt="<?php p($strnewwindow)?>"
<?php echo ($form->popup == 1) ? "checked=\"checked\"" : "" ?>
onclick="return lockoptions('form', 'popup[1]', popupitems);"
/>
<b title="<?php p($strnewwindowopen) ?>"><?php p($strnewwindow) ?></b>
<blockquote>
<?php
foreach ($window as $name => $value) {
echo "<input name=\"h$name\" type=\"hidden\" value=\"0\"/>\n";
echo "<input name=\"$name\" type=\"checkbox\" value=\"1\" ".$window->$name." alt=\"$name\" />\n";
$stringname = "str$name";
echo $$stringname."<br />\n";
}
?>
<script type="text/javascript">
lockoptions('form','popup[1]', popupitems);
</script>
</blockquote>
</td>
</tr>
</table>
</div>
<!-- <div id="windowsettings">
<table align="center">
<tr>
<td align="right"><b><?php print_string("popup","scorm") ?>:</b></td>
<td>
<?php
$options = array();
$options[0]=get_string("no");
$options[1]=get_string("yes");
choose_from_menu ($options, "popup", $form->popup,'');
helpbutton("popupwindow", get_string("popup", "scorm"), "scorm", true);
?>
</td>
</tr>
<tr valign="top">
<td align="right">
<b><?php print_string("stagesize","scorm") ?></b>
<?php helpbutton("size", get_string("stagesize", "scorm"), "scorm", true); ?>
</td>
<td>&nbsp;</td>
</tr>
<tr valign="top">
<td align="right"><b><?php print_string("width","scorm") ?>:</b></td>
<td>
<input type="text" name="width" value="<?php echo $form->width ?>" size="4" />
</td>
</tr>
<tr valign="top">
<td align="right"><b><?php print_string("height","scorm") ?>:</b></td>
<td>
<input type="text" name="height" value="<?php echo $form->height ?>" size="4" />
</td>
</tr>
</table>
</div> -->
<script language="javascript" type="text/javascript">
showhide('advancedsettings', true);
showhide('windowsettings', true);
</script>
</td>
</tr>
</table>
<input type="hidden" name="datadir" value="<?php p($form->datadir) ?>" />
<input type="hidden" name="pkgtype" value="<?php p($form->pkgtype) ?>" />
<input type="hidden" name="launch" value="<?php p($form->launch) ?>" />
<?php
$scorms = get_all_instances_in_course("scorm", $course);
$coursescorm = current($scorms);
if (($course->format == 'scorm') && ((count($scorms) == 0) || ($form->instance == $coursescorm->id))) {
?>
<input type="hidden" name="redirect" value="yes" />
<input type="hidden" name="redirecturl" value="../course/view.php?id=<?php p($form->course) ?>" />
<?php
}
?>
<input type="hidden" name="course" value="<?php p($form->course) ?>" />
<input type="hidden" name="sesskey" value="<?php p($form->sesskey) ?>" />
<input type="hidden" name="section" value="<?php p($form->section) ?>" />
<input type="hidden" name="module" value="<?php p($form->module) ?>" />
<input type="hidden" name="mode" value="<?php p($form->mode) ?>" />
<input type="hidden" name="coursemodule" value="<?php p($form->coursemodule) ?>" />
<input type="hidden" name="modulename" value="<?php p($form->modulename) ?>" />
<input type="hidden" name="instance" value="<?php p($form->instance) ?>" />
<center>
<input type="submit" value="<?php print_string('savechanges') ?>" />
<input type="button" name="cancel" value="<?php print_string('cancel') ?>" onclick="document.location='view.php?id=<?php echo $form->course ?>'" />
</center>
</form>