19 declare(strict_types=1);
    38         $this->active_id = null;
    40         $this->questions_pass_map = [];
    55         return array_keys($this->questions_pass_map);
    65         return array_unique(array_values($this->questions_pass_map));
    68     public function init(): void
    77         $passes_selector->setActiveId($active_id);
    79         $passes = $passes_selector->getExistingPasses();
    81         rsort($passes, SORT_NUMERIC);
    88         $test_sequence = $this->test_sequence_factory->getSequenceByActiveIdAndPass($active_id, $pass);
    91         $test_sequence->loadQuestions();
    93         $test_sequence->setConsiderHiddenQuestionsEnabled(
true);
    94         $test_sequence->setConsiderOptionalQuestionsEnabled(
true);
    95         return $test_sequence;
   120         $this->questions_pass_map = [];
   122         foreach ($passes as $pass) {
   125             foreach ($test_sequence->getOrderedSequenceQuestions() as $question_id) {
   126                 if (isset($this->questions_pass_map[$question_id])) {
   131                     $this->questions_pass_map[$question_id] = $pass;
 loadFromDb()
Loads the sequence data for a given active id. 
 
getTestSequence(int $active_id, int $pass)
 
__construct(protected ilDBInterface $db, protected ilObjTest $test_obj, protected ilTestSequenceFactory $test_sequence_factory)
 
isHiddenQuestion(int $question_id)
 
setActiveId(int $active_id)
 
fetchQuestionsFromPasses(int $active_id, array $passes)
 
array $questions_pass_map
 
getExistingPassesDescendent(int $active_id)
 
wasAnsweredInThisPass(ilTestSequence $test_sequence, int $question_id)
 
isAnsweringOptionalQuestionsConfirmed()
 
isQuestionOptional(int $question_id)