moodle/mod/attendance/mod.html
stronk7 d698fea233 Some $ME are now out!
Merged from MOODLE_14_STABLE
2005-02-27 00:12:25 +00:00

221 lines
11 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");
$nohtmleditorneeded = true;
//require_once("lib.php")
if (empty($form->dynsection)) {
$form->dynsection = 0;
}
if (empty($form->autoattend)) {
$form->autoattend = 0;
}
if (empty($form->grade)) {
$form->grade = 0;
}
if (empty($form->maxgrade)) {
$form->maxgrade = 0;
}
// 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="mod.php">
<center>
<table cellpadding="5">
<!-- <?php $options[0] = get_string("no"); $options[1] = get_string("yes"); ?> -->
<!-- <tr valign=top> -->
<!-- <td align=right><b><?php print_string("takeroll", "attendance") ?>:</b></td> -->
<!-- <td align=left><?php choose_from_menu($options, "roll", $form->roll, "") ?></td> -->
<!-- </tr> -->
<tr valign="top">
<td align="right"><b><?php print_string("name") ?>:</b></td>
<td colspan="3">
<input type="text" name="name" size="60" value="<?php p($form->notes)?>" alt="<?php print_string("name") ?>" />
</td>
</tr>
<tr valign="top">
<td align="right"><b><?php print_string("dayofroll", "attendance") ?>:</b></td>
<td colspan="3"><?php print_date_selector("theday", "themonth", "theyear", $form->day) ?></td>
</tr>
<tr valign="top">
<td align="right"><b><?php print_string("dynamicsection", "attendance") ?>:</b></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="checked"' : '' ?> /> -->
</td>
</tr>
<tr valign="top">
<td align="right"><b><?php print_string("autoattend", "attendance") ?>:</b></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="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"><b><?php print_string("hoursinclass", "attendance") ?>:</b></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"><b><?php print_string("gradevalue", "attendance") ?>:</b></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="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"><b><?php print_string("maxgradevalue", "attendance") ?>:</b></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>
<?php print_visible_setting($form); ?>
</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=\"checked\"";}
elseif ($rollstatus==2) {$r3c="checked=\"checked\"";}
else {$r1c="checked=\"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=\"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="sesskey" value="<?php p($form->sesskey) ?>" />
<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 . "&amp;section=".$form->section ."\">" . get_string("addmultiple","attendance") . "</a><br /><br />";
?>
<input type="submit" value="<?php print_string("savechanges") ?>" />
<input type="submit" name="cancel" value="<?php print_string("cancel") ?>" />
</center>
</form>