ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
class.ilTestSequenceFixedQuestionSet.php
Go to the documentation of this file.
1 <?php
2 /* Copyright (c) 1998-2013 ILIAS open source, Extended GPL, see docs/LICENSE */
3 
4 require_once 'Modules/Test/classes/class.ilTestSequence.php';
5 
13 {
18  public function removeQuestion($questionId, ilTestReindexedSequencePositionMap $reindexedSequencePositionMap)
19  {
20  foreach ($this->sequencedata['sequence'] as $key => $oldSequenceElement) {
21  $newSequenceElement = $reindexedSequencePositionMap->getNewSequencePosition($oldSequenceElement);
22 
23  if ($newSequenceElement) {
24  $this->sequencedata['sequence'][$key] = $newSequenceElement;
25  } else {
26  unset($this->sequencedata['sequence'][$key]);
27  }
28  }
29 
30  $this->sequencedata['sequence'] = array_values($this->sequencedata['sequence']);
31 
32  $this->sequencedata['postponed'] = $this->removeArrayValue($this->sequencedata['postponed'], $questionId);
33  $this->sequencedata['hidden'] = $this->removeArrayValue($this->sequencedata['hidden'], $questionId);
34 
35  $this->optionalQuestions = $this->removeArrayValue($this->optionalQuestions, $questionId);
36 
37  $this->alreadyPresentedQuestions = $this->removeArrayValue($this->alreadyPresentedQuestions, $questionId);
38 
39  $this->alreadyCheckedQuestions = $this->removeArrayValue($this->alreadyCheckedQuestions, $questionId);
40  }
41 
42  private function removeArrayValue($array, $value)
43  {
44  foreach ($array as $key => $val) {
45  if ($val == $value) {
46  unset($array[$key]);
47  }
48  }
49 
50  return $array;
51  }
52 }
removeQuestion($questionId, ilTestReindexedSequencePositionMap $reindexedSequencePositionMap)
Test sequence handler.
$key
Definition: croninfo.php:18