Example #1
0
        }
        $l10n->addResource(__DIR__ . '/l10n/header.json');
        $l10n->addResource(__DIR__ . '/l10n/exam-confirm-participation.json');
        $l10n->localizeArray($all_active_exam_accommodations, 'name');
        require_once FS_PHP . '/header-external.php';
        require_once 'views/exam-confirm-participation.php';
        require_once FS_PHP . '/footer-external.php';
    } else {
        $loggers['audit']->error('Attempted to confirm exam participation at Access Service with invalid NOE ID.');
        header('Location: https://' . URL_PHP . '/error-external.php?eid=S0032');
        exit;
    }
} elseif ($_GET['page'] === "withdraw-participation") {
    $model->withdrawStudentParticipation($_POST['eid']);
    $loggers['audit']->info("Withdrew participation for exam {$_POST['eid']}.");
    $confirmed_requests = new \Ventus\Exams\Requests($dbo);
    $exam_details = $confirmed_requests->getExamRequestById($_POST['eid']);
    $confirmed_requests->examCancelledOther($exam_details[0]);
    header('location:exam-requests.php');
    die;
} elseif ($_GET['page'] === "withdraw-in-class") {
    $model->withdrawInClassParticipation($_POST['eid'], $SESSION->student_num);
    $loggers['audit']->info("Withdrew in-class participation for exam {$_POST['eid']}.");
    header('location:exam-requests.php');
    die;
} elseif ($_GET['page'] === "add-exam-request") {
    $applicable_files = $examFiles->fetchFilesForAllStudents($_POST['professor_exam_request_id']);
    $requests->confirmStudentParticipation($_POST, $SESSION->student_num);
    $loggers['audit']->info("Confirmed participation for NOE {$_POST['professor_exam_request_id']}.");
    foreach ($applicable_files as $file) {
        $examFiles->addStudentsToFile($file, array($SESSION->student_num));
Example #2
0
        $r['actual_evaluation_endtime'] = \DateTime::createFromFormat(DATETIME_MYSQL, $r['actual_evaluation_endtime']);
        $r['meta'] = Proctor::determineStatus($r);
        if ($r['meta']->status === 'pending' || $r['meta']->status === 'waiting' || $r['meta']->status === 'inProgress') {
            if ($r['meta']->status === 'pending') {
                // Show image if time is close to exam
                $r['img'] = $r['meta']->timer < 15;
            }
            $r['timer'] = "<span rel='tooltip' title='" . ($r['meta']->status === 'pending' ? $l10n->__('pendingTooltip') : $l10n->__('inProgressTooltip')) . "' class='ticket mincounter'>" . $r['meta']->timer . "</span>";
        }
    }
    unset($r);
    header('Content-Type: application/json; charset=utf-8');
    echo json_encode($data);
    exit;
} elseif ($_GET['page'] === 'print-delivery-sheet') {
    $examRequests = new \Ventus\Exams\Requests($dbo);
    $deliverySheet = $examRequests->printDeliverySheet($_GET['start'], $_GET['end']);
    $loggers['audit']->info("Delivery sheet printed for exams between {$_GET['start']} and {$_GET['end']}");
    require_once FS_EXAMS . '/l10n/delivery-sheet.php';
    require FS_EXAMS . '/views/delivery-sheet.php';
}
/**
 * View rendering
 */
if (isset($render) && $render) {
    require FS_PHP . '/header.php';
    require FS_PHP . '/nav.php';
    if (isset($viewFile) && file_exists($viewFile)) {
        require $viewFile;
    } else {
        require FS_PHP . '/error.php';