Code Duplication    Length = 41-43 lines in 2 locations

main/exercise/exercise.class.php 2 locations

@@ 6089-6131 (lines=43) @@
6086
     * @params bool expand or not question list (true show all questions, false show media question id instead of the question ids)
6087
     *
6088
     **/
6089
    public function transformQuestionListWithMedias($question_list, $expand_media_questions = false)
6090
    {
6091
        $new_question_list = array();
6092
        if (!empty($question_list)) {
6093
            $media_questions = $this->getMediaList();
6094
6095
            $media_active = $this->mediaIsActivated($media_questions);
6096
6097
            if ($media_active) {
6098
                $counter = 1;
6099
                foreach ($question_list as $question_id) {
6100
                    $add_question = true;
6101
                    foreach ($media_questions as $media_id => $question_list_in_media) {
6102
                        if ($media_id != 999 && in_array($question_id, $question_list_in_media)) {
6103
                            $add_question = false;
6104
                            if (!in_array($media_id, $new_question_list)) {
6105
                                $new_question_list[$counter] = $media_id;
6106
                                $counter++;
6107
                            }
6108
                            break;
6109
                        }
6110
                    }
6111
                    if ($add_question) {
6112
                        $new_question_list[$counter] = $question_id;
6113
                        $counter++;
6114
                    }
6115
                }
6116
                if ($expand_media_questions) {
6117
                    $media_key_list = array_keys($media_questions);
6118
                    foreach ($new_question_list as &$question_id) {
6119
                        if (in_array($question_id, $media_key_list)) {
6120
                            $question_id = $media_questions[$question_id];
6121
                        }
6122
                    }
6123
                    $new_question_list = array_flatten($new_question_list);
6124
                }
6125
            } else {
6126
                $new_question_list = $question_list;
6127
            }
6128
        }
6129
6130
        return $new_question_list;
6131
    }
6132
6133
    function get_validated_question_list()
6134
    {
@@ 6203-6243 (lines=41) @@
6200
        return $question_list;
6201
    }
6202
6203
    function transform_question_list_with_medias($question_list, $expand_media_questions = false)
6204
    {
6205
        $new_question_list = array();
6206
        if (!empty($question_list)) {
6207
            $media_questions = $this->getMediaList();
6208
            $media_active = $this->mediaIsActivated($media_questions);
6209
6210
            if ($media_active) {
6211
                $counter = 1;
6212
                foreach ($question_list as $question_id) {
6213
                    $add_question = true;
6214
                    foreach ($media_questions as $media_id => $question_list_in_media) {
6215
                        if ($media_id != 999 && in_array($question_id, $question_list_in_media)) {
6216
                            $add_question = false;
6217
                            if (!in_array($media_id, $new_question_list)) {
6218
                                $new_question_list[$counter] = $media_id;
6219
                                $counter++;
6220
                            }
6221
                            break;
6222
                        }
6223
                    }
6224
                    if ($add_question) {
6225
                        $new_question_list[$counter] = $question_id;
6226
                        $counter++;
6227
                    }
6228
                }
6229
                if ($expand_media_questions) {
6230
                    $media_key_list = array_keys($media_questions);
6231
                    foreach ($new_question_list as &$question_id) {
6232
                        if (in_array($question_id, $media_key_list)) {
6233
                            $question_id = $media_questions[$question_id];
6234
                        }
6235
                    }
6236
                    $new_question_list = array_flatten($new_question_list);
6237
                }
6238
            } else {
6239
                $new_question_list = $question_list;
6240
            }
6241
        }
6242
        return $new_question_list;
6243
    }
6244
6245
    /**
6246
     * @param int $exe_id