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