if (empty($action)) { $action = $_REQUEST['action']; } $id = intval($_REQUEST['id']); //exe id if (empty($id)) { api_not_allowed(true); } if (api_is_course_session_coach(api_get_user_id(), api_get_course_id(), api_get_session_id())) { if (!api_coach_can_edit_view_results(api_get_course_id(), api_get_session_id())) { api_not_allowed(true); } } $is_allowedToEdit = api_is_allowed_to_edit(null, true) || $is_courseTutor || api_is_session_admin() || api_is_drh(); //Getting results from the exe_id. This variable also contain all the information about the exercise $track_exercise_info = get_exercise_track_exercise_info($id); //No track info if (empty($track_exercise_info)) { api_not_allowed(true); } $exercise_id = $track_exercise_info['id']; $exercise_date = $track_exercise_info['start_date']; $student_id = $track_exercise_info['exe_user_id']; $learnpath_id = $track_exercise_info['orig_lp_id']; $learnpath_item_id = $track_exercise_info['orig_lp_item_id']; $lp_item_view_id = $track_exercise_info['orig_lp_item_view_id']; $current_user_id = api_get_user_id(); $locked = api_resource_is_locked_by_gradebook($exercise_id, LINK_EXERCISE); if (empty($objExercise)) { $objExercise = new Exercise(); $objExercise->read($exercise_id);
/** * Returns the exercise result * @param int attempt id * @return float exercise result */ public function get_exercise_result($exe_id) { $result = array(); $track_exercise_info = get_exercise_track_exercise_info($exe_id); if (!empty($track_exercise_info)) { $totalScore = 0; $objExercise = new Exercise(); $objExercise->read($track_exercise_info['exe_exo_id']); if (!empty($track_exercise_info['data_tracking'])) { $question_list = explode(',', $track_exercise_info['data_tracking']); } foreach ($question_list as $questionId) { $question_result = $objExercise->manage_answer($exe_id, $questionId, '', 'exercise_show', array(), false, true, false, $objExercise->selectPropagateNeg()); $totalScore += $question_result['score']; } if ($objExercise->selectPropagateNeg() == 0 && $totalScore < 0) { $totalScore = 0; } $result = array('score' => $totalScore, 'weight' => $track_exercise_info['exe_weighting']); } return $result; }