$sess->subnet = '';
}
+ if (!isset($sess->preventsharedip)) {
+ $sess->preventsharedip = 0;
+ }
+
+ if (!isset($sess->preventsharediptime)) {
+ $sess->preventsharediptime = '';
+ }
+
$event->add_record_snapshot('attendance_sessions', $sess);
$event->trigger();
}
$sess->subnet = '';
$sess->automark = 0;
$sess->automarkcompleted = 0;
+ $sess->preventsharedip = 0;
+ $sess->preventsharediptime = '';
if (!empty(get_config('attendance', 'enablewarnings'))) {
$sess->absenteereport = empty($formdata->absenteereport) ? 0 : 1;
}
if (!empty($formdata->automark)) {
$sess->automark = $formdata->automark;
}
+ if (!empty($formdata->preventsharedip)) {
+ $sess->preventsharedip = $formdata->preventsharedip;
+ }
+ if (!empty($formdata->preventsharediptime)) {
+ $sess->preventsharediptime = $formdata->preventsharediptime;
+ }
+
}
$sess->timemodified = time();
$record->sessionid = $mformdata->sessid;
$record->timetaken = $now;
$record->takenby = $USER->id;
+ $record->ipaddress = getremoteaddr(null);
$dbsesslog = $this->get_session_log($mformdata->sessid);
if (array_key_exists($record->studentid, $dbsesslog)) {
$where = "ats.attendanceid = :aid AND ats.sessdate >= :csdate";
}
if ($this->get_group_mode()) {
- $sql = "SELECT ats.id, ats.sessdate, ats.groupid, al.statusid, al.remarks
+ $sql = "SELECT ats.id, ats.sessdate, ats.groupid, al.statusid, al.remarks,
+ ats.preventsharediptime, ats.preventsharedip
FROM {attendance_sessions} ats
JOIN {attendance_log} al ON ats.id = al.sessionid AND al.studentid = :uid
LEFT JOIN {groups_members} gm ON gm.userid = al.studentid AND gm.groupid = ats.groupid
'edate' => $this->pageparams->enddate);
} else {
- $sql = "SELECT ats.id, ats.sessdate, ats.groupid, al.statusid, al.remarks
+ $sql = "SELECT ats.id, ats.sessdate, ats.groupid, al.statusid, al.remarks,
+ ats.preventsharediptime, ats.preventsharedip
FROM {attendance_sessions} ats
JOIN {attendance_log} al
ON ats.id = al.sessionid AND al.studentid = :uid
$id = $DB->sql_concat(':value', 'ats.id');
if ($this->get_group_mode()) {
$sql = "SELECT $id, ats.id, ats.groupid, ats.sessdate, ats.duration, ats.description,
- al.statusid, al.remarks, ats.studentscanmark, ats.autoassignstatus
+ al.statusid, al.remarks, ats.studentscanmark, ats.autoassignstatus,
+ ats.preventsharedip, ats.preventsharediptime
FROM {attendance_sessions} ats
RIGHT JOIN {attendance_log} al
ON ats.id = al.sessionid AND al.studentid = :uid
ORDER BY ats.sessdate ASC";
} else {
$sql = "SELECT $id, ats.id, ats.groupid, ats.sessdate, ats.duration, ats.description, ats.statusset,
- al.statusid, al.remarks, ats.studentscanmark, ats.autoassignstatus
+ al.statusid, al.remarks, ats.studentscanmark, ats.autoassignstatus,
+ ats.preventsharedip, ats.preventsharediptime
FROM {attendance_sessions} ats
RIGHT JOIN {attendance_log} al
ON ats.id = al.sessionid AND al.studentid = :uid
$where = "ats.attendanceid = :aid AND ats.sessdate >= :csdate AND ats.groupid $gsql";
}
$sql = "SELECT $id, ats.id, ats.groupid, ats.sessdate, ats.duration, ats.description, ats.statusset,
- al.statusid, al.remarks, ats.studentscanmark, ats.autoassignstatus
+ al.statusid, al.remarks, ats.studentscanmark, ats.autoassignstatus,
+ ats.preventsharedip, ats.preventsharediptime
FROM {attendance_sessions} ats
LEFT JOIN {attendance_log} al
ON ats.id = al.sessionid AND al.studentid = :uid