id);
if (isguest()) {
error(get_string('notaccessguest','block_autoattend'));
}
if (!$user = get_record('user', 'id', $USER->id) ) {
error(get_string('nosuchuser','block_autoattend'));
}
if (!$att = get_record('autoattend_sessions', 'id', $attsid)) {
error(get_string('nosuchsession','block_autoattend'));
}
$iperrmesg = "";
$keyerrmesg = "";
$submitmesg = "";
$attendkey = $att->attendkey;
$iperrmesg = autoattend_check_invalid_semiautoip($att);
//print "IPMESG -> $iperrmesg
";
// Submit!!
if (!empty($confirm)) {
if (!empty($submit) && $submit==get_string('submitok','block_autoattend')) {
// 環境の再チェック.不正アクセスでなければ通過するはず.
if ($att->method!='S' or $att->state!='O') {
error(get_string('nosuchsession','block_autoattend'));
}
if (!$stdnt = autoattend_get_user_atsession($att->id, $user->id)) {
error(get_string('nosuchuser','block_autoattend'));
}
if (!$iperrmesg) {
if ($checkkey and $attendkey==$checkkey) {
global $TIME_OFFSET;
$ntime = time();
$status = 'P';
if ($att->latetime!=0) {
$ctime = $att->sessdate + $att->starttime - $TIME_OFFSET + $att->latetime;
if ($ntime > $ctime) $status = 'L';
}
$rec->id = $stdnt['id'];
$rec->attsid = $att->id;
$rec->studentid = $stdnt['studentid'];
$rec->status = $status;
$rec->called = 'S';
$rec->calledby = CALLED_BY_SEMIAUTO;
$rec->calledtime = $ntime;
$rec->ipaddress = getremoteaddr();
$result = update_record("autoattend_students", $rec);
if ($result) {
$loginfo =SEMIAUTO_SUBMIT_LOG."={$att->id},{$stdnt['studentid']},Y,$status";
add_to_log($course->id, 'autoattend', 'submit semiautoattend',
'semiautoattend.php?courseid='.$course->id.'&attsid='.$att->id, $loginfo);
redirect('index.php?course='.$course->id, get_string('attendsubmitted','block_autoattend'), 1);
}
else {
redirect('index.php?course='.$course->id, get_string('attendsubmiterr','block_autoattend'), 3);
}
}
$keyerrmesg = get_string('mismatchkey','block_autoattend');
}
}
}
if ($iperrmesg) {
$submitmesg = $iperrmesg."
".get_string('iperrattention','block_autoattend');
}
else if ($keyerrmesg) {
$submitmesg = $keyerrmesg."
".get_string('keyerrattention','block_autoattend').
'
';
}
else if ($attendkey) {
$submitmesg = get_string('needkeyword','block_autoattend').
'
';
}
// Confirm Form
if ($course->category) {
print_header(get_string('submitattend','block_autoattend'). ' ' .get_string('session','block_autoattend'),
$course->fullname,
"wwwroot}/course/view.php?id=$course->id\">$course->shortname -> ".
"id\">".get_string('autoattend','block_autoattend')." -> ".
get_string('submitattend','block_autoattend'), "", "", true, " ", navmenu($course));
}
else {
print_header("$course->shortname: ".get_string('autoattend','block_autoattend'), $course->fullname,
get_string('autoattend','block_autoattend'), "", "", true, " ", navmenu($course));
}
$submitsession = strftime(get_string('strftimedmyw', 'block_autoattend'), $att->sessdate).' '.
strftime(get_string('strftimehourmin', 'block_autoattend'), $att->starttime).'- '.
get_string('description','block_autoattend').': '.
($att->description ? $att->description : get_string('nodescription', 'block_autoattend'));
print_heading(get_string('submitattend','block_autoattend').' :: ' .$course->fullname);
print_simple_box_start('center', '60%', '', 5, 'generalbox', 'notice');
?>