예제 #1
0
파일: start.php 프로젝트: vinod-co/centa
    $log_metadata->create_new_record($current_address, $userObject->get_grade(), $userObject->get_year(), $attempt, $lab_name);
} elseif ($log_metadata->get_record() == false) {
    //load the data and check for no records
    //we have no log_metadata record so make one
    $log_metadata->create_new_record($current_address, $userObject->get_grade(), $userObject->get_year(), $attempt, $lab_name);
}
$metadataID = $log_metadata->get_metadata_id();
// Foramtive or Progressive papers that have a duration set should use the timer.
if ($propertyObj->get_paper_type() == '0' || $propertyObj->get_paper_type() == '1') {
    if ($propertyObj->get_exam_duration() != null) {
        $allow_timing = true;
    }
    // Summative exams only allow timing if ALL the modules of the paper allow it.
} else {
    if ($propertyObj->get_paper_type() == '2') {
        $allow_timing = module_utils::modules_allow_timing($modIDs, $mysqli);
    }
}
/*
* BP Determine the student's end_date timestamp for a summative exam that has been 'Started'.
* This is also used further down to make sure that the timer does not close the window if the exam session hasn't been 'started' by an invigilator
* If a summative exam session has been started  then record late answers in log_late
*/
$paper_scheduled = $propertyObj->get_start_date() !== null;
if ($propertyObj->get_exam_duration() != null and $propertyObj->get_paper_type() == '2' and !$is_question_preview_mode) {
    // Has this lab had an end time set?
    $log_lab_end_time = new LogLabEndTime($lab_id, $propertyObj, $mysqli);
    $summative_exam_session_started = $log_lab_end_time->get_session_end_date_datetime();
}
// Check for submissions after the end date and set them to save in log_late if we are not in preview_mode or a summative exam session as not been started
if ($is_preview_mode === false and time() > $propertyObj->get_end_date() and ($propertyObj->get_paper_type() == '1' or $propertyObj->get_paper_type() == '2' and $paper_scheduled and $summative_exam_session_started === false)) {