moodle/mod/attendance/mod.html
jungwirr 311b524ac2 changed the options settings to be more compliant with the rest of the
modules.
Added help page links for many options.
Changed the style of the add multiple interface to match mod.php
2004-05-05 17:06:56 +00:00

209 lines
10 KiB
HTML
Executable File

<!-- This page defines the form to create or edit an instance of the attendance module -->
<!-- It is used from /course/mod.php. The whole instance is available as $form. -->
<!-- RJJ I'm using inline CSS styles for some stuff in this page because I want to centralize -->
<!-- the logic and styles in a single directory -->
<?php @include_once("$CFG->dirroot/mod/attendance/lib.php");
//require_once("lib.php")
// error_reporting(E_ALL);
// if we're adding a new instance
if (empty($form->id)) {
if (isset($CFG->attendance_dynsection) && ($CFG->attendance_dynsection == "1")) { $form->dynsection = 1; }
if (isset($CFG->attendance_autoattend) && ($CFG->attendance_autoattend == "1")) { $form->autoattend = 1; }
if (isset($CFG->attendance_grade) && ($CFG->attendance_grade == "1")) { $form->grade = 1; }
$form->maxgrade = isset($CFG->attendance_maxgrade)?$CFG->attendance_maxgrade:0;
$form->hours = isset($CFG->attendance_default_hours)?$CFG->attendance_default_hours:1;
$form->day = time();
$form->notes = "";
}
?>
<FORM name="form" method="post" action="<?=$ME ?>">
<CENTER>
<INPUT type="submit" value="<? print_string("savechanges") ?>">
<INPUT type="submit" name="cancel" value="<? print_string("cancel") ?>">
<TABLE cellpadding=5>
<!-- <? $options[0] = get_string("no"); $options[1] = get_string("yes"); ?> -->
<!-- <TR valign=top> -->
<!-- <TD align=right><P><B><? print_string("takeroll", "attendance") ?>:</B></P></TD> -->
<!-- <TD align=left><? choose_from_menu($options, "roll", $form->roll, "") ?></td> -->
<!-- </tr> -->
<tr valign=top>
<td align=right><p><b><?php print_string("notes", "attendance") ?>:</b></p></td>
<td colspan="3">
<input type="text" name="notes" size=60 value="<?php p($form->notes)?>">
</td>
</tr>
<TR valign=top>
<TD align=right><P><B><?php print_string("dayofroll", "attendance") ?>:</B></P></TD>
<TD colspan="3"><?php print_date_selector("theday", "themonth", "theyear", $form->day) ?></TD>
</TR>
<tr valign=top>
<TD align="right"><P><B><?php print_string("dynamicsection", "attendance") ?>:</B></P></TD>
<TD align="left">
<?php
$options = array();
$options[0] = get_string("no");
$options[1] = get_string("yes");
choose_from_menu($options, "dynsection", "$form->dynsection", "");
helpbutton("dynsection", get_string("dynamicsection","attendance"), "attendance");
?>
<!-- <input type="checkbox" name="dynsection" <?php echo !empty($form->dynsection) ? 'checked' : '' ?> > -->
</TD>
</tr>
<tr valign=top>
<TD align="right"><P><B><?php print_string("autoattend", "attendance") ?>:</B></P></TD>
<TD align="left">
<?php
$options = array();
$options[0] = get_string("no");
$options[1] = get_string("yes");
choose_from_menu($options, "autoattend", "$form->autoattend", "");
helpbutton("autoattend", get_string("autoattend","attendance"), "attendance");
?>
<!-- <input type="checkbox" name="autoattend" <?php echo !empty($form->autoattend) ? 'checked' : '' ?> > -->
</TD>
</tr>
<?php // starting with 2 to allow for the nothing value in choose_from_menu to be the default of 1
for ($i=2;$i<=24;$i++){ $opt[$i] = $i; } ?>
<TR valign=top>
<TD align=right><P><B><?php print_string("hoursinclass", "attendance") ?>:</B></P></TD>
<TD colspan="3" align="left"><?php choose_from_menu($opt, "hours", $form->hours, "1","","1") ?>
<?php helpbutton("hours", get_string("hoursinclass","attendance"), "hours"); ?>
</td>
</tr>
<tr valign=top>
<TD align="right"><P><B><?php print_string("gradevalue", "attendance") ?>:</B></P></TD>
<TD align="left">
<?php
$options = array();
$options[0] = get_string("no");
$options[1] = get_string("yes");
choose_from_menu($options, "grade", "$form->grade", "");
helpbutton("grade", get_string("gradevalue","attendance"), "attendance");
?>
<!-- <input type="checkbox" name="grade" <?php echo !empty($form->grade) ? 'checked' : '' ?> > -->
</TD>
</tr>
<?php // starting with 2 to allow for the nothing value in choose_from_menu to be the default of 1
for ($i=0;$i<=100;$i++){ $opt2[$i] = $i; } ?>
<TR valign=top>
<TD align=right><P><B><?php print_string("maxgradevalue", "attendance") ?>:</B></P></TD>
<TD colspan="3" align="left"><?php choose_from_menu($opt2, "maxgrade", $form->maxgrade, "0","","0");
helpbutton("maxgrade", get_string("maxgradevalue","attendance"), "attendance");
?></td>
</tr>
</TABLE>
<?php // if we're modifying an existing instance of attendance instead
// of creating a new one
if (isset($form->id)) {
// get the list of attendance records for all hours of the given day and
// put it in the array for use in the attendance table
$rolls = get_records("attendance_roll", "dayid", $form->id);
if ($rolls) {
foreach ($rolls as $roll) {
$sroll[$roll->userid][$roll->hour]->status=$roll->status;
$sroll[$roll->userid][$roll->hour]->notes=$roll->notes;
}
}
// get the list of students along with student ID field
// get back array of stdclass objects in sorted order, with members:
// id, username,firstname,lastname,maildisplay,mailformat,email,city,country,
// lastaccess,lastlogin,picture (picture is null, 0, or 1), idnumber
// build the table for attendance roll
// this is the wrapper table
echo "<table align=\"center\" width=\"80\" class=\"generalbox\"".
"border=\"0\" cellpadding=\"0\" cellspacing=\"0\"><tr>".
"<td bgcolor=\"#ffffff\" class=\"generalboxcontent\">";
// this is the main table
echo "<table width=\"100%\" border=\"0\" valign=\"top\" align=\"center\" ".
"cellpadding=\"5\" cellspacing=\"1\" class=\"generaltable\">";
if ($form->hours >1) {
echo "<tr><th valign=\"top\" align=\"right\" colspan=\"3\" nowrap class=\"generaltableheader\">".
"Hours:</th>\n";
for($i=1;$i<=$form->hours;$i++) {
echo "<th valign=\"top\" align=\"center\" colspan=\"3\" nowrap class=\"generaltableheader\">".
"$i</th>\n";
}
echo "</tr>\n";
} // if more than one hour for each day
echo "<tr><th valign=\"top\" align=\"left\" nowrap class=\"generaltableheader\">Last Name</th>\n";
echo "<th valign=\"top\" align=\"left\" nowrap class=\"generaltableheader\">First Name</th>\n";
echo "<th valign=\"top\" align=\"left\" nowrap class=\"generaltableheader\">ID</th>\n";
$P=get_string("presentshort","attendance");
$T=get_string("tardyshort","attendance");
$A=get_string("absentshort","attendance");
// generate the headers for the attendance hours
for($i=1;$i<=$form->hours;$i++) {
echo "<th valign=\"top\" align=\"center\" nowrap class=\"generaltableheader\">".$P."</th>\n";
echo "<th valign=\"top\" align=\"center\" nowrap class=\"generaltableheader\">".$T."</th>\n";
echo "<th valign=\"top\" align=\"center\" nowrap class=\"generaltableheader\">".$A."</th>\n";
}
echo "</tr>\n";
$table->head = array("Last Name","First Name","ID",
get_string("presentlong","attendance"),
get_string("tardylong","attendance"),
get_string("absentlong","attendance"));
$table->align = array("left", "left", "left", "center","center","center");
$table->wrap = array("nowrap", "nowrap", "nowrap", "nowrap", "nowrap", "nowrap");
$table->width = "80";
$students = attendance_get_course_students($form->course, "u.lastname ASC");
$i=0;
if ($students) foreach ($students as $student) {
echo "<tr><td align=\"left\" nowrap class=\"generaltablecell\" style=\"border-top: 1px solid;\">".$student->lastname."</td>\n";
echo "<td align=\"left\" nowrap class=\"generaltablecell\" style=\"border-top: 1px solid;\">".$student->firstname."</td>\n";
echo "<td align=\"left\" nowrap class=\"generaltablecell\" style=\"border-top: 1px solid;\">".$student->idnumber."</td>\n";
for($j=1;$j<=$form->hours;$j++) {
// set the attendance defaults for each student
$r1c=$r2c=$r3c=" ";
$rollstatus = (($form->edited==0)?$CFG->attendance_default_student_status:
((isset($sroll[$student->id][$j]->status)?$sroll[$student->id][$j]->status:0)));
if ($rollstatus==1) {$r2c="checked";}
elseif ($rollstatus==2) {$r3c="checked";}
else {$r1c="checked";}
$radio1="<input type=\"radio\" name=\"student_".$student->id."_".$j."\" value=\"0\" ".$r1c.">";
$radio2="<input type=\"radio\" name=\"student_".$student->id."_".$j."\" value=\"1\" ".$r2c.">";
$radio3="<input type=\"radio\" name=\"student_".$student->id."_".$j."\" value=\"2\" ".$r3c.">";
echo "<td align=\"left\" nowrap class=\"generaltablecell\" style=\"border-left: 1px dotted; border-top: 1px solid;\">".$radio1."</td>\n";
echo "<td align=\"left\" nowrap class=\"generaltablecell\" style=\"border-top: 1px solid;\">".$radio2."</td>\n";
echo "<td align=\"left\" nowrap class=\"generaltablecell\" style=\"border-top: 1px solid;\">".$radio3."</td>\n";
} // for loop
echo "</tr>\n";
// $radio1="<input type=\"radio\" name=\"student_".$student->id."\" value=\"0\" checked>";
// $radio2="<input type=\"radio\" name=\"student_".$student->id."\" value=\"1\">";
// $radio3="<input type=\"radio\" name=\"student_".$student->id."\" value=\"2\">";
// $table->data[$i]=array($student->lastname, $student->firstname,
// $student->idnumber, $radio1,$radio2,$radio3);
// $i++;
}
// doing the table manually now
// print_table($table);
// ending for both the tables
echo "</table></td></tr></table>\n";
} // if ($form->id)
?>
<!-- These hidden variables are always the same -->
<INPUT type="hidden" name=course value="<?php p($form->course) ?>">
<INPUT type="hidden" name=coursemodule value="<?php p($form->coursemodule) ?>">
<INPUT type="hidden" name=section value="<?php p($form->section) ?>">
<INPUT type="hidden" name=module value="<?php p($form->module) ?>">
<INPUT type="hidden" name=modulename value="<?php p($form->modulename) ?>">
<INPUT type="hidden" name=instance value="<?php p($form->instance) ?>">
<INPUT type="hidden" name=mode value="<?php p($form->mode) ?>">
<BR />
<?php
echo "<a href=\"../mod/attendance/add.php?id=".$form->course . "&section=".$form->section ."\">Add multiple rolls</a><br /><br />";
?>
<INPUT type="submit" value="<?php print_string("savechanges") ?>">
<INPUT type="submit" name="cancel" value="<?php print_string("cancel") ?>">
</CENTER>
</FORM>