Code Duplication    Length = 27-29 lines in 2 locations

main/inc/lib/exercise.lib.php 2 locations

@@ 2801-2827 (lines=27) @@
2798
     *
2799
     * @return array
2800
     */
2801
    public static function get_best_attempt_in_course($exercise_id, $courseId, $session_id)
2802
    {
2803
        $user_results = Event::get_all_exercise_results(
2804
            $exercise_id,
2805
            $courseId,
2806
            $session_id,
2807
            false
2808
        );
2809
2810
        $best_score_data = array();
2811
        $best_score = 0;
2812
        if (!empty($user_results)) {
2813
            foreach ($user_results as $result) {
2814
                if (!empty($result['exe_weighting']) &&
2815
                    intval($result['exe_weighting']) != 0
2816
                ) {
2817
                    $score = $result['exe_result'] / $result['exe_weighting'];
2818
                    if ($score >= $best_score) {
2819
                        $best_score = $score;
2820
                        $best_score_data = $result;
2821
                    }
2822
                }
2823
            }
2824
        }
2825
2826
        return $best_score_data;
2827
    }
2828
2829
    /**
2830
     * Get the best score in a exercise (NO Exercises in LPs )
@@ 2838-2866 (lines=29) @@
2835
     *
2836
     * @return array
2837
     */
2838
    public static function get_best_attempt_by_user(
2839
        $user_id,
2840
        $exercise_id,
2841
        $courseId,
2842
        $session_id
2843
    )
2844
    {
2845
        $user_results = Event::get_all_exercise_results(
2846
            $exercise_id,
2847
            $courseId,
2848
            $session_id,
2849
            false,
2850
            $user_id
2851
        );
2852
        $best_score_data = array();
2853
        $best_score = 0;
2854
        if (!empty($user_results)) {
2855
            foreach ($user_results as $result) {
2856
                if (!empty($result['exe_weighting']) && intval($result['exe_weighting']) != 0) {
2857
                    $score = $result['exe_result'] / $result['exe_weighting'];
2858
                    if ($score >= $best_score) {
2859
                        $best_score = $score;
2860
                        $best_score_data = $result;
2861
                    }
2862
                }
2863
            }
2864
        }
2865
2866
        return $best_score_data;
2867
    }
2868
2869
    /**