| @@ 2876-2898 (lines=23) @@ | ||
| 2873 | * @param int session id |
|
| 2874 | * @return float Average score |
|
| 2875 | */ |
|
| 2876 | public static function get_average_score($exercise_id, $courseId, $session_id) |
|
| 2877 | { |
|
| 2878 | $user_results = Event::get_all_exercise_results( |
|
| 2879 | $exercise_id, |
|
| 2880 | $courseId, |
|
| 2881 | $session_id |
|
| 2882 | ); |
|
| 2883 | $avg_score = 0; |
|
| 2884 | if (!empty($user_results)) { |
|
| 2885 | foreach ($user_results as $result) { |
|
| 2886 | if (!empty($result['exe_weighting']) && intval( |
|
| 2887 | $result['exe_weighting'] |
|
| 2888 | ) != 0 |
|
| 2889 | ) { |
|
| 2890 | $score = $result['exe_result'] / $result['exe_weighting']; |
|
| 2891 | $avg_score += $score; |
|
| 2892 | } |
|
| 2893 | } |
|
| 2894 | $avg_score = float_format($avg_score / count($user_results), 1); |
|
| 2895 | } |
|
| 2896 | ||
| 2897 | return $avg_score; |
|
| 2898 | } |
|
| 2899 | ||
| 2900 | /** |
|
| 2901 | * Get average score by score (NO Exercises in LPs ) |
|
| @@ 2907-2931 (lines=25) @@ | ||
| 2904 | * @param int session id |
|
| 2905 | * @return float Average score |
|
| 2906 | */ |
|
| 2907 | public static function get_average_score_by_course($courseId, $session_id) |
|
| 2908 | { |
|
| 2909 | $user_results = Event::get_all_exercise_results_by_course( |
|
| 2910 | $courseId, |
|
| 2911 | $session_id, |
|
| 2912 | false |
|
| 2913 | ); |
|
| 2914 | //echo $course_code.' - '.$session_id.'<br />'; |
|
| 2915 | $avg_score = 0; |
|
| 2916 | if (!empty($user_results)) { |
|
| 2917 | foreach ($user_results as $result) { |
|
| 2918 | if (!empty($result['exe_weighting']) && intval( |
|
| 2919 | $result['exe_weighting'] |
|
| 2920 | ) != 0 |
|
| 2921 | ) { |
|
| 2922 | $score = $result['exe_result'] / $result['exe_weighting']; |
|
| 2923 | $avg_score += $score; |
|
| 2924 | } |
|
| 2925 | } |
|
| 2926 | //We asume that all exe_weighting |
|
| 2927 | $avg_score = ($avg_score / count($user_results)); |
|
| 2928 | } |
|
| 2929 | ||
| 2930 | return $avg_score; |
|
| 2931 | } |
|
| 2932 | ||
| 2933 | /** |
|
| 2934 | * @param int $user_id |
|
| @@ 2940-2967 (lines=28) @@ | ||
| 2937 | * |
|
| 2938 | * @return float|int |
|
| 2939 | */ |
|
| 2940 | public static function get_average_score_by_course_by_user( |
|
| 2941 | $user_id, |
|
| 2942 | $courseId, |
|
| 2943 | $session_id |
|
| 2944 | ) |
|
| 2945 | { |
|
| 2946 | $user_results = Event::get_all_exercise_results_by_user( |
|
| 2947 | $user_id, |
|
| 2948 | $courseId, |
|
| 2949 | $session_id |
|
| 2950 | ); |
|
| 2951 | $avg_score = 0; |
|
| 2952 | if (!empty($user_results)) { |
|
| 2953 | foreach ($user_results as $result) { |
|
| 2954 | if (!empty($result['exe_weighting']) && intval( |
|
| 2955 | $result['exe_weighting'] |
|
| 2956 | ) != 0 |
|
| 2957 | ) { |
|
| 2958 | $score = $result['exe_result'] / $result['exe_weighting']; |
|
| 2959 | $avg_score += $score; |
|
| 2960 | } |
|
| 2961 | } |
|
| 2962 | // We asumme that all exe_weighting |
|
| 2963 | $avg_score = ($avg_score / count($user_results)); |
|
| 2964 | } |
|
| 2965 | ||
| 2966 | return $avg_score; |
|
| 2967 | } |
|
| 2968 | ||
| 2969 | /** |
|
| 2970 | * Get average score by score (NO Exercises in LPs ) |
|