$model = new Faculty(); if (\Ventus\Utilities\I18n\Translate::isAllowedLanguage($SESSION->corr_lang)) { $l10n->setLanguage($SESSION->corr_lang); \Locale::setDefault($SESSION->corr_lang); } $l10n->addResource(FS_L10N . '/header-external.json'); //============================================================================================ // Load the page requested by the user //============================================================================================ if (!isset($_GET['page'])) { if (isset($_POST['cid']) && $_POST['cid'] !== "") { //Security step: double check that the user has permission for this course $has_permission = $model->checkCourseAllowed($SESSION->user_id, $_POST['cid']); if ($has_permission) { $course_details = $model->fetchCourseDetails($_POST['cid']); $prof_details = $model->fetchProfessorDetails($course_details[0]['code'], $course_details[0]['section'], $course_details[0]['session'], $course_details[0]['teaching_method']); $semester = \Ventus\Utilities\Functions::convertCodeToString($course_details[0]['session'], $l10n); $num_students = $model->fetchCountStudents(array("Exam"), $course_details[0]['code'], $course_details[0]['section'], $course_details[0]['session']); $num_requests = $model->fetchCountProfessorRequests($course_details[0]['code'], $course_details[0]['section'], $course_details[0]['session'], $course_details[0]['teaching_method']); $data_students = \Ventus\Utilities\Functions::fetchDataStudents(array("Exam"), $course_details[0]['code'], $course_details[0]['section'], $course_details[0]['session']); $data_requests = $model->fetchDataProfessorRequests($course_details[0]['code'], $course_details[0]['section'], $course_details[0]['session'], $course_details[0]['teaching_method']); $l10n->addResource(__DIR__ . '/l10n/header.json'); $l10n->addResource(__DIR__ . '/l10n/list-students-exams.json'); require_once FS_PHP . '/header-external.php'; require_once 'views/list-students-exams.php'; require_once FS_PHP . '/footer-external.php'; } else { $loggers['audit']->warning("Unauthorized attempt to access page (class ID: {$_POST['cid']})"); header('location: https://' . URL_PHP . '/error-external.php?eid=F094'); } } else {
} } //Processing for quick stat 2: Get all courses that have students in them but are missing exam requests $quick_stat_2_changed = false; if ($count_professor_requests <= 0 && $num_students > 0) { $quick_stat_2_changed = true; $count_courses_missing_requests++; } //Processing to calculate the number of students registered with Access Service (for a given user) $count_all_access_service_students += (int) $num_students; //Provessing to calculate the total number of course that have at least Access Service student (for a given user) if ((int) $num_students > 0) { $count_courses_having_access_service_students++; } //For a given course code, section and semester, fetch the prof(s) name and email(s) $prof_details = $model->fetchProfessorDetails($c['code'], $c['section'], $selected_semester, $c['teaching_method']); $prof_names = ""; $prof_emails = ""; foreach ($prof_details as $p) { if (!empty($p['professor_first_name']) && !empty($p['professor_last_name'])) { $prof_names .= $p['professor_first_name'] . " " . $p['professor_last_name'] . ", "; } if (!empty($p['professor_email'])) { $prof_emails .= $p['professor_email'] . ";"; } } $prof_names = substr($prof_names, 0, -2); //Compile all data into a well formatted array $course_prof_student_request[] = array('cid' => $c['class_id'], 'course' => $c['code'], 'section' => $c['section'], 'teach_method' => $c['teaching_method'], 'prof_name' => $prof_names, 'prof_email' => $prof_emails, 'num_students' => $num_students, 'num_requests' => $count_professor_requests, 'quick_stat_1' => $quick_stat_1_changed, 'quick_stat_2' => $quick_stat_2_changed, 'quick_stat_3' => $quick_stat_3_changed); } }