Code Duplication    Length = 41-43 lines in 2 locations

main/exercise/exercise.class.php 2 locations

@@ 6265-6307 (lines=43) @@
6262
     * @params bool expand or not question list (true show all questions, false show media question id instead of the question ids)
6263
     *
6264
     **/
6265
    public function transformQuestionListWithMedias($question_list, $expand_media_questions = false)
6266
    {
6267
        $new_question_list = array();
6268
        if (!empty($question_list)) {
6269
            $media_questions = $this->getMediaList();
6270
6271
            $media_active = $this->mediaIsActivated($media_questions);
6272
6273
            if ($media_active) {
6274
                $counter = 1;
6275
                foreach ($question_list as $question_id) {
6276
                    $add_question = true;
6277
                    foreach ($media_questions as $media_id => $question_list_in_media) {
6278
                        if ($media_id != 999 && in_array($question_id, $question_list_in_media)) {
6279
                            $add_question = false;
6280
                            if (!in_array($media_id, $new_question_list)) {
6281
                                $new_question_list[$counter] = $media_id;
6282
                                $counter++;
6283
                            }
6284
                            break;
6285
                        }
6286
                    }
6287
                    if ($add_question) {
6288
                        $new_question_list[$counter] = $question_id;
6289
                        $counter++;
6290
                    }
6291
                }
6292
                if ($expand_media_questions) {
6293
                    $media_key_list = array_keys($media_questions);
6294
                    foreach ($new_question_list as &$question_id) {
6295
                        if (in_array($question_id, $media_key_list)) {
6296
                            $question_id = $media_questions[$question_id];
6297
                        }
6298
                    }
6299
                    $new_question_list = array_flatten($new_question_list);
6300
                }
6301
            } else {
6302
                $new_question_list = $question_list;
6303
            }
6304
        }
6305
6306
        return $new_question_list;
6307
    }
6308
6309
    /**
6310
     * Get question list depend on the random settings.
@@ 6384-6424 (lines=41) @@
6381
        return $question_list;
6382
    }
6383
6384
    function transform_question_list_with_medias($question_list, $expand_media_questions = false)
6385
    {
6386
        $new_question_list = array();
6387
        if (!empty($question_list)) {
6388
            $media_questions = $this->getMediaList();
6389
            $media_active = $this->mediaIsActivated($media_questions);
6390
6391
            if ($media_active) {
6392
                $counter = 1;
6393
                foreach ($question_list as $question_id) {
6394
                    $add_question = true;
6395
                    foreach ($media_questions as $media_id => $question_list_in_media) {
6396
                        if ($media_id != 999 && in_array($question_id, $question_list_in_media)) {
6397
                            $add_question = false;
6398
                            if (!in_array($media_id, $new_question_list)) {
6399
                                $new_question_list[$counter] = $media_id;
6400
                                $counter++;
6401
                            }
6402
                            break;
6403
                        }
6404
                    }
6405
                    if ($add_question) {
6406
                        $new_question_list[$counter] = $question_id;
6407
                        $counter++;
6408
                    }
6409
                }
6410
                if ($expand_media_questions) {
6411
                    $media_key_list = array_keys($media_questions);
6412
                    foreach ($new_question_list as &$question_id) {
6413
                        if (in_array($question_id, $media_key_list)) {
6414
                            $question_id = $media_questions[$question_id];
6415
                        }
6416
                    }
6417
                    $new_question_list = array_flatten($new_question_list);
6418
                }
6419
            } else {
6420
                $new_question_list = $question_list;
6421
            }
6422
        }
6423
        return $new_question_list;
6424
    }
6425
6426
    /**
6427
     * @param int $exe_id