ILIAS  release_8 Revision v8.24
class.ilTestVirtualSequenceRandomQuestionSet.php
Go to the documentation of this file.
1<?php
2
26{
28
30 {
32
33 $this->questionsSourcePoolDefinitionMap = array();
34 }
35
36 public function getResponsibleSourcePoolDefinitionId($questionId)
37 {
38 return $this->questionsSourcePoolDefinitionMap[$questionId];
39 }
40
41 protected function fetchQuestionsFromPasses(int $activeId, array $passes): void
42 {
43 $this->questionsPassMap = array();
44
45 foreach ($passes as $pass) {
46 $handledSourcePoolDefinitions = array_flip($this->questionsSourcePoolDefinitionMap);
47
48 $testSequence = $this->getTestSequence($activeId, $pass);
49
50 foreach ($testSequence->getOrderedSequenceQuestions() as $questionId) {
51 $definitionId = $testSequence->getResponsibleSourcePoolDefinitionId($questionId);
52
53 if (isset($handledSourcePoolDefinitions[$definitionId])) {
54 continue;
55 }
56
57 if ($this->wasAnsweredInThisPass($testSequence, $questionId)) {
58 $this->questionsPassMap[$questionId] = $pass;
59
60 $this->questionsSourcePoolDefinitionMap[$questionId] = $definitionId;
61 }
62 }
63 }
64 }
65}
__construct(ilDBInterface $db, ilObjTest $testOBJ, ilTestSequenceFactory $testSequenceFactory)
ilTestSequenceFactory $testSequenceFactory
wasAnsweredInThisPass(ilTestSequence $testSequence, $questionId)
getTestSequence(int $activeId, int $pass)
Interface ilDBInterface.
__construct(Container $dic, ilPlugin $plugin)
@inheritDoc