header('Content-Type: application/json; charset=utf-8'); echo json_encode(array('request' => $request, 'accommodations' => $model->getExamAccommodationsById($_POST['request_id']))); exit; } else { if ($_GET['page'] === "fetch-conflict-details") { $requestIds = explode(',', $_POST['requests']); foreach ($requestIds as $r) { $request = $model->getExamRequestById($r); $conflicts_array[] = array('course_code' => $request[0]['course_code'], 'course_section' => $request[0]['course_section'], 'exam_type' => ucfirst($request[0]['exam_type']), 'student_num' => $request[0]['student_num'], 'request_id' => $r); } header('Content-Type: application/json; charset=utf-8'); echo json_encode($conflicts_array); exit; } else { if ($_GET['page'] === "unassign-seat") { $model->unassignSeat($_POST['request_id']); $loggers['audit']->info("Seat unassigned from exam {$_POST['request_id']}"); header('Content-Type: application/json; charset=utf-8'); echo json_encode($model->getExamRequestById($_POST['request_id'])); exit; } else { if ($_GET['page'] === "toggle-cancelled") { $model->toggleCancelRequestById($_POST); $loggers['audit']->info("Cancellation status changed to {$_POST['is_cancelled']} for exam {$_POST['request_id']}"); //If the exam has been cancelled, check if the user has elected to send an email if ($_POST['is_cancelled'] === '1' && !empty($_POST['email_to_send'])) { $exam_details = $model->getExamRequestById($_POST['request_id']); if (!empty($exam_details)) { //There are two possible emails that are to be sent when an exam has been cancelled if ($_POST['email_to_send'] === 'exam_not_received') { $model->examCancelledNotReceived($exam_details[0]);