| @@ 2956-2978 (lines=23) @@ | ||
| 2953 | * @param int session id |
|
| 2954 | * @return float Average score |
|
| 2955 | */ |
|
| 2956 | public static function get_average_score($exercise_id, $courseId, $session_id) |
|
| 2957 | { |
|
| 2958 | $user_results = Event::get_all_exercise_results( |
|
| 2959 | $exercise_id, |
|
| 2960 | $courseId, |
|
| 2961 | $session_id |
|
| 2962 | ); |
|
| 2963 | $avg_score = 0; |
|
| 2964 | if (!empty($user_results)) { |
|
| 2965 | foreach ($user_results as $result) { |
|
| 2966 | if (!empty($result['exe_weighting']) && intval( |
|
| 2967 | $result['exe_weighting'] |
|
| 2968 | ) != 0 |
|
| 2969 | ) { |
|
| 2970 | $score = $result['exe_result'] / $result['exe_weighting']; |
|
| 2971 | $avg_score += $score; |
|
| 2972 | } |
|
| 2973 | } |
|
| 2974 | $avg_score = float_format($avg_score / count($user_results), 1); |
|
| 2975 | } |
|
| 2976 | ||
| 2977 | return $avg_score; |
|
| 2978 | } |
|
| 2979 | ||
| 2980 | /** |
|
| 2981 | * Get average score by score (NO Exercises in LPs ) |
|
| @@ 2987-3011 (lines=25) @@ | ||
| 2984 | * @param int session id |
|
| 2985 | * @return float Average score |
|
| 2986 | */ |
|
| 2987 | public static function get_average_score_by_course($courseId, $session_id) |
|
| 2988 | { |
|
| 2989 | $user_results = Event::get_all_exercise_results_by_course( |
|
| 2990 | $courseId, |
|
| 2991 | $session_id, |
|
| 2992 | false |
|
| 2993 | ); |
|
| 2994 | //echo $course_code.' - '.$session_id.'<br />'; |
|
| 2995 | $avg_score = 0; |
|
| 2996 | if (!empty($user_results)) { |
|
| 2997 | foreach ($user_results as $result) { |
|
| 2998 | if (!empty($result['exe_weighting']) && intval( |
|
| 2999 | $result['exe_weighting'] |
|
| 3000 | ) != 0 |
|
| 3001 | ) { |
|
| 3002 | $score = $result['exe_result'] / $result['exe_weighting']; |
|
| 3003 | $avg_score += $score; |
|
| 3004 | } |
|
| 3005 | } |
|
| 3006 | //We asume that all exe_weighting |
|
| 3007 | $avg_score = ($avg_score / count($user_results)); |
|
| 3008 | } |
|
| 3009 | ||
| 3010 | return $avg_score; |
|
| 3011 | } |
|
| 3012 | ||
| 3013 | /** |
|
| 3014 | * @param int $user_id |
|
| @@ 3020-3047 (lines=28) @@ | ||
| 3017 | * |
|
| 3018 | * @return float|int |
|
| 3019 | */ |
|
| 3020 | public static function get_average_score_by_course_by_user( |
|
| 3021 | $user_id, |
|
| 3022 | $courseId, |
|
| 3023 | $session_id |
|
| 3024 | ) |
|
| 3025 | { |
|
| 3026 | $user_results = Event::get_all_exercise_results_by_user( |
|
| 3027 | $user_id, |
|
| 3028 | $courseId, |
|
| 3029 | $session_id |
|
| 3030 | ); |
|
| 3031 | $avg_score = 0; |
|
| 3032 | if (!empty($user_results)) { |
|
| 3033 | foreach ($user_results as $result) { |
|
| 3034 | if (!empty($result['exe_weighting']) && intval( |
|
| 3035 | $result['exe_weighting'] |
|
| 3036 | ) != 0 |
|
| 3037 | ) { |
|
| 3038 | $score = $result['exe_result'] / $result['exe_weighting']; |
|
| 3039 | $avg_score += $score; |
|
| 3040 | } |
|
| 3041 | } |
|
| 3042 | // We asumme that all exe_weighting |
|
| 3043 | $avg_score = ($avg_score / count($user_results)); |
|
| 3044 | } |
|
| 3045 | ||
| 3046 | return $avg_score; |
|
| 3047 | } |
|
| 3048 | ||
| 3049 | /** |
|
| 3050 | * Get average score by score (NO Exercises in LPs ) |
|