/** * @param int $user_id * @param int $courseId * @param int $session_id * * @return float|int */ public static function get_average_score_by_course_by_user($user_id, $courseId, $session_id) { $user_results = Event::get_all_exercise_results_by_user($user_id, $courseId, $session_id); $avg_score = 0; if (!empty($user_results)) { foreach ($user_results as $result) { if (!empty($result['exe_weighting']) && intval($result['exe_weighting']) != 0) { $score = $result['exe_result'] / $result['exe_weighting']; $avg_score += $score; } } //We asume that all exe_weighting //$avg_score = show_score( $avg_score / count($user_results) , $result['exe_weighting']); $avg_score = $avg_score / count($user_results); } return $avg_score; }