Code Duplication    Length = 41-43 lines in 2 locations

main/exercise/exercise.class.php 2 locations

@@ 6141-6183 (lines=43) @@
6138
     * @params bool expand or not question list (true show all questions, false show media question id instead of the question ids)
6139
     *
6140
     **/
6141
    public function transformQuestionListWithMedias($question_list, $expand_media_questions = false)
6142
    {
6143
        $new_question_list = array();
6144
        if (!empty($question_list)) {
6145
            $media_questions = $this->getMediaList();
6146
6147
            $media_active = $this->mediaIsActivated($media_questions);
6148
6149
            if ($media_active) {
6150
                $counter = 1;
6151
                foreach ($question_list as $question_id) {
6152
                    $add_question = true;
6153
                    foreach ($media_questions as $media_id => $question_list_in_media) {
6154
                        if ($media_id != 999 && in_array($question_id, $question_list_in_media)) {
6155
                            $add_question = false;
6156
                            if (!in_array($media_id, $new_question_list)) {
6157
                                $new_question_list[$counter] = $media_id;
6158
                                $counter++;
6159
                            }
6160
                            break;
6161
                        }
6162
                    }
6163
                    if ($add_question) {
6164
                        $new_question_list[$counter] = $question_id;
6165
                        $counter++;
6166
                    }
6167
                }
6168
                if ($expand_media_questions) {
6169
                    $media_key_list = array_keys($media_questions);
6170
                    foreach ($new_question_list as &$question_id) {
6171
                        if (in_array($question_id, $media_key_list)) {
6172
                            $question_id = $media_questions[$question_id];
6173
                        }
6174
                    }
6175
                    $new_question_list = array_flatten($new_question_list);
6176
                }
6177
            } else {
6178
                $new_question_list = $question_list;
6179
            }
6180
        }
6181
6182
        return $new_question_list;
6183
    }
6184
6185
    /**
6186
     * Get question list depend on the random settings.
@@ 6260-6300 (lines=41) @@
6257
        return $question_list;
6258
    }
6259
6260
    function transform_question_list_with_medias($question_list, $expand_media_questions = false)
6261
    {
6262
        $new_question_list = array();
6263
        if (!empty($question_list)) {
6264
            $media_questions = $this->getMediaList();
6265
            $media_active = $this->mediaIsActivated($media_questions);
6266
6267
            if ($media_active) {
6268
                $counter = 1;
6269
                foreach ($question_list as $question_id) {
6270
                    $add_question = true;
6271
                    foreach ($media_questions as $media_id => $question_list_in_media) {
6272
                        if ($media_id != 999 && in_array($question_id, $question_list_in_media)) {
6273
                            $add_question = false;
6274
                            if (!in_array($media_id, $new_question_list)) {
6275
                                $new_question_list[$counter] = $media_id;
6276
                                $counter++;
6277
                            }
6278
                            break;
6279
                        }
6280
                    }
6281
                    if ($add_question) {
6282
                        $new_question_list[$counter] = $question_id;
6283
                        $counter++;
6284
                    }
6285
                }
6286
                if ($expand_media_questions) {
6287
                    $media_key_list = array_keys($media_questions);
6288
                    foreach ($new_question_list as &$question_id) {
6289
                        if (in_array($question_id, $media_key_list)) {
6290
                            $question_id = $media_questions[$question_id];
6291
                        }
6292
                    }
6293
                    $new_question_list = array_flatten($new_question_list);
6294
                }
6295
            } else {
6296
                $new_question_list = $question_list;
6297
            }
6298
        }
6299
        return $new_question_list;
6300
    }
6301
6302
    /**
6303
     * @param int $exe_id