| @@ 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 |
|