// Check for any metadata security restrictions check_metadata($property_id, $userObject, $modIDs, $string, $mysqli); } // Get lab info used in log metadata $lab_factory = new LabFactory($mysqli); if ($lab_object = $lab_factory->get_lab_based_on_client($current_address)) { $lab_name = $lab_object->get_name(); $lab_id = $lab_object->get_id(); } if (time() > $end_date and ($paper_type == '1' or $paper_type == '2')) { $paper_type = '_late'; } // Lookup previous sessionid from log_metadata.started property_id $log_metadata = new LogMetadata($userObject->get_user_ID(), $propertyObj->get_property_id(), $mysqli); $sessionid = $log_metadata->get_session_id(); $metadataID = $log_metadata->get_metadata_id(); /* * Save any posted answers * * N.B if Ajax saving is enabled: After a successful Ajax save the form is posted as the user moves to the next screen * with dont_record set to true so this is not executed */ if ($is_question_preview_mode == false) { if (isset($_POST['old_screen']) and $_POST['old_screen'] != '' and (!isset($_GET['dont_record']) or $_GET['dont_record'] != true)) { record_marks($propertyObj->get_property_id(), $mysqli, $propertyObj->get_paper_type(), $metadataID); } } ?> <!DOCTYPE html> <html> <head>
$summative_exam_session_started = false; } $is_preview = (isset($_POST['mode']) and $_POST['mode'] == 'preview'); $paper_scheduled = $propertyObj->get_start_date() !== null; if ($propertyObj->get_exam_duration() != null and $propertyObj->get_paper_type() == '2') { $log_lab_end_time = new LogLabEndTime($lab_id, $propertyObj, $mysqli); $summative_exam_session_started = $log_lab_end_time->get_session_end_date_datetime(); } if (!$is_preview 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)) { $propertyObj->set_paper_type('_late'); } $preview_q_id = isset($_GET['q_id']) ? $_GET['q_id'] : null; $log_metadata = new LogMetadata($userObject->get_user_ID(), $propertyObj->get_property_id(), $mysqli); if ($log_metadata->get_record() === false) { $notice->access_denied($mysqli, $string, $string['error_paper'], false); } $metadataid = $log_metadata->get_metadata_id(); if ($_GET['submitType'] == 'userSubmit') { $log_metadata->set_highest_screen($_POST['old_screen']); } try { $ret = record_marks($propertyObj->get_property_id(), $mysqli, $propertyObj->get_paper_type(), $metadataid, $preview_q_id); } catch (RandomQuestionNotFound $ex) { $ret = false; } if ($ret === true) { // Everthing worked. echo $_POST['randomPageID']; } else { echo 'ERROR'; }