示例#1
0
$student['user_ID'] = $student_id;
$stmt = $mysqli->prepare('SELECT title, initials, surname FROM users WHERE user_deleted IS NULL AND id = ?');
$stmt->bind_param('i', $userID);
$stmt->execute();
$stmt->store_result();
$stmt->bind_result($student['title'], $student['initials'], $student['surname']);
$stmt->fetch();
$title = $student['title'];
$initials = $student['initials'];
$surname = $student['surname'];
$current_address = NetworkUtils::get_client_address();
$lab_factory = new LabFactory($mysqli);
$lab_object = $lab_factory->get_lab_based_on_client($current_address);
$propertyObj = PaperProperties::get_paper_properties_by_id($paper_id, $mysqli, $string);
$log_lab_end_time = new LogLabEndTime($lab_object->get_id(), $propertyObj, $mysqli);
$log_extra_time = new LogExtraTime($log_lab_end_time, $student, $mysqli);
$onload = '';
if (isset($_POST['submit'])) {
    $invigilator_id = $userObject->get_user_ID();
    if ((int) $_POST['extra_time'] == 0) {
        $log_extra_time->delete($invigilator_id);
    } elseif ((int) $_POST['extra_time'] > 0) {
        $special_needs_percentage = $_POST['extra_time'];
        $log_extra_time->save($invigilator_id, $special_needs_percentage);
    }
    $onload = 'closeWindow();';
}
$special_needs_percentage = $log_extra_time->get_extra_time_secs();
$special_needs_percentage = $special_needs_percentage / 60;
$time_range = range(0, 30, 1);
?>
示例#2
0
$remaining_minutes = '';
$remaining_seconds = '';
/*
 * BP If the duration is set then create a timer to calculate and display the remaining time
 */
$extra_time = null;
$remaining_time = 0;
$log_metadata = new LogMetadata($userObject->get_user_ID(), $propertyObj->get_property_id(), $mysqli);
// $log_metadata->get_record will return true if this user has stared this exam. false otherwise
$exam_started = $log_metadata->get_record('', false);
if ($exam_duration !== null) {
    if ($test_type == '2') {
        $student_object['special_needs_percentage'] = $special_needs_percentage;
        $student_object['user_ID'] = $userObject->get_user_ID();
        $log_lab_end_time = new LogLabEndTime($lab_id, $propertyObj, $mysqli);
        $log_extra_time = new LogExtraTime($log_lab_end_time, $student_object, $mysqli);
        $extra_time_secs = $log_extra_time->get_extra_time_secs();
        $extra_time_mins = $extra_time_secs / 60;
        $summative_timer = new SummativeTimer($log_extra_time);
        $remaining_time = $summative_timer->calculate_remaining_time_secs();
        if ($remaining_time !== false) {
            $display_remaining_time = true;
            if ($exam_started == false and $remaining_time == 0) {
                // Sanity check if we have not started the exam but time remaing is 0
                // happens in summative exams if we have the start and end time set wider
                // then the paper duration e.g in multiple sittings
                $remaining_time = $exam_duration_sec + $extra_time_secs;
                $display_remaining_time = false;
            }
        }
        $extra_time_mins = $extra_time_secs / 60;