function autoattend_update_session($courseid, $sessid, $ntime = '') { global $DB; if ($sessid <= 0) { return null; } $sess = $DB->get_record('autoattend_sessions', array('id' => $sessid)); if ($sess and $sess->state != 'C') { if (empty($ntime)) { $ntime = time(); } // $sess = autoattend_update_session_state($courseid, $sess, $ntime); // 授業の状態を更新 if ($sess) { if ($sess->method == 'A') { // 自動処理 $logs = autoattend_get_courselogs($courseid, $sess->starttime, $sess->endtime); autoattend_update_auto_session($courseid, $sess, $logs, $ntime); } if ($sess->state == 'C') { // 授業で終了したものをクローズ autoattend_close_session($courseid, $sess, $ntime); // mail if (autoattend_is_email_enable($courseid)) { autoattend_email2teachers_attend($sess); } } else { if ($sess->prv_state != 'O' and $sess->state == 'O' and $sess->method == 'S') { if (autoattend_is_email_enable($courseid)) { autoattend_email2teachers_key($sess); } } } // autoattend_update_grades($courseid); return $sess; } } return null; }
} require_login($course->id); $context = jbxl_get_course_context($course->id); $isstudent = jbxl_is_student($USER->id, $context); // for Student if ($isstudent) { $userid = $USER->id; $classinfo = autoattend_get_user_class($userid, $course->id); // if ($classinfo->classid >= 0) { $ntime = time(); $sessions = autoattend_get_nowopen_sessions($course->id, $userid, 'S', $ntime); // get semiauto sessions if ($sessions) { foreach ($sessions as $session) { $session = autoattend_update_session_state($courseid, $session, $ntime, false); // not regist student if ($session->classid == 0 or $session->classid == $classinfo->classid) { $student = $DB->get_record('autoattend_students', array('attsid' => $session->id, 'studentid' => $userid)); if (empty($student)) { $student = autoattend_add_user_insession($session->id, $userid); } if ($student and $student->status == 'Y') { redirect('semiautoattend.php?course=' . $course->id . '&attsid=' . $session->id); } } } } } } redirect('index.php?course=' . $course->id);