$sessionsids = explode('_', $fromform->ids); $duration = $formdata->durtime['hours'] * HOURSECS + $formdata->durtime['minutes'] * MINSECS; $att->update_sessions_duration($sessionsids, $duration); redirect($att->url_manage(), get_string('sessionupdated', 'attforblock')); } if ($slist === '') { print_error('nosessionsselected', 'attforblock', $att->url_manage()); } break; } $output = $PAGE->get_renderer('mod_attforblock'); $tabs = new attforblock_tabs($att, attforblock_tabs::TAB_ADD); echo $output->header(); echo $output->heading(get_string('attendanceforthecourse', 'attforblock') . ' :: ' . $course->fullname); echo $output->render($tabs); $mform->display(); echo $OUTPUT->footer(); function construct_sessions_data_for_add($formdata) { global $CFG; $duration = $formdata->durtime['hours'] * HOURSECS + $formdata->durtime['minutes'] * MINSECS; $now = time(); $sessions = array(); if (isset($formdata->addmultiply)) { $startdate = $formdata->sessiondate; $starttime = $startdate - usergetmidnight($startdate); $enddate = $formdata->sessionenddate + DAYSECS; // because enddate in 0:0am if ($enddate < $startdate) { return NULL; }
if (!($sessions = get_records_list('attendance_sessions', 'id', $slist))) { error('No such session in this course'); } foreach ($sessions as $sess) { $sess->duration = $fromform->durtime['hours'] * HOURSECS + $fromform->durtime['minutes'] * MINSECS; $sess->timemodified = $now; $startdate = $sess->sessdate; $duration = $fromform->durtime['hours'] * HOURSECS + $fromform->durtime['minutes'] * MINSECS; $sess->sessionend = $startdate + $duration; update_record('attendance_sessions', $sess); } add_to_log($course->id, 'attforblock', 'Session updated', 'manage.php?id=' . $id, $user->lastname . ' ' . $user->firstname); redirect('manage.php?id=' . $id, get_string('sessionupdated', 'attforblock'), 3); } print_heading(get_string('update', 'attforblock') . ' ' . get_string('attendanceforthecourse', 'attforblock') . ' :: ' . $course->fullname); $mform_duration->display(); } ////////////////////////////////////////////////////////// // Change teacher ////////////////////////////////////////////////////////// if ($action === 'changeteacher') { $fromform = data_submitted(); $slist = isset($fromform->sessid) ? implode('_', array_keys($fromform->sessid)) : ''; $mform_teacher = new mod_attforblock_teacher_form('sessions.php', array('course' => $course, 'cm' => $cm, 'modcontext' => $context, 'ids' => $slist)); if ($mform_teacher->is_cancelled()) { redirect('manage.php?id=' . $id); } if ($fromform = $mform_teacher->get_data()) { $slist = implode(',', explode('_', $fromform->ids)); if (!($sessions = get_records_list('attendance_sessions', 'id', $slist))) { error('No such session in this course');