19 declare(strict_types=1);
    42         $this->stagingPoolQuestionList->setTestObjId($this->testOBJ->getId());
    43         $this->stagingPoolQuestionList->setTestId($this->testOBJ->getTestId());
    54         foreach ($sourcePoolDefinitionList as $definition) {
    56             $question_stage->mergeQuestionCollection($questions);
    59         return $question_stage;
    75             ->getUniqueQuestionCollection();
    81         $this->stagingPoolQuestionList->resetQuestionList();
    82         $this->stagingPoolQuestionList->setPoolId($definition->
getPoolId());
    86                 $this->stagingPoolQuestionList->addTaxonomyFilter($tax_id, $node_ids);
    95             $this->stagingPoolQuestionList->setTypeFilter($definition->
getTypeFilter());
    98         $this->stagingPoolQuestionList->loadQuestions();
    99         return $this->stagingPoolQuestionList->getQuestions();
   108         foreach ($question_ids as $question_id) {
   110             $set_question->setQuestionId($question_id);
   111             $set_question->setSourcePoolDefinitionId($definition->
getId());
   112             $set_question_collection->addQuestion($set_question);
   115         return $set_question_collection;
   142         foreach ($question_set->
getQuestions() as $set_question) {
   143             $set_question->setSequencePosition($position++);
   152         $next_id = $this->db->nextId(
'tst_test_rnd_qst');
   154         $this->db->insert(
'tst_test_rnd_qst', [
   155             'test_random_question_id' => [
'integer', $next_id],
   156             'active_fi' => [
'integer', $test_session->
getActiveId()],
   157             'question_fi' => [
'integer', $set_question->
getQuestionId()],
   159             'pass' => [
'integer', $test_session->
getPass()],
   160             'tstamp' => [
'integer', time()],
   167         int $requiredQuestionAmount
   175         if ($this->testOBJ->getShuffleQuestions()) {
   198                 $sourcePoolDefinitionList,
   199                 $stagingPoolQuestionList
   209             $sourcePoolDefinitionList,
   210             $stagingPoolQuestionList
 getSrcPoolDefListRelatedQuestUniqueCollection(ilTestRandomQuestionSetSourcePoolDefinitionList $sourcePoolDefinitionList)
 
buildSetQuestionCollection(ilTestRandomQuestionSetSourcePoolDefinition $definition, array $question_ids)
 
storeQuestionSet(ilTestSession $test_session, ilTestRandomQuestionSetQuestionCollection $question_set)
 
fetchQuestionsFromStageRandomly(ilTestRandomQuestionSetQuestionCollection $questionStage, int $requiredQuestionAmount)
 
storeQuestion(ilTestSession $test_session, ilTestRandomQuestionSetQuestion $set_question)
 
static getInstance(ilDBInterface $db, ilLanguage $lng, TestLogger $logger, ilObjTest $testOBJ, ilTestRandomQuestionSetConfig $questionSetConfig, ilTestRandomQuestionSetSourcePoolDefinitionList $sourcePoolDefinitionList, ilTestRandomQuestionSetStagingPoolQuestionList $stagingPoolQuestionList)
 
isQuestionAmountConfigurationModePerPool()
 
getSourcePoolDefinitionId()
 
__construct(protected ilDBInterface $db, protected ilLanguage $lng, protected TestLogger $logger, protected ilObjTest $testOBJ, protected ilTestRandomQuestionSetConfig $questionSetConfig, protected ilTestRandomQuestionSetSourcePoolDefinitionList $sourcePoolDefinitionList, protected ilTestRandomQuestionSetStagingPoolQuestionList $stagingPoolQuestionList)
 
getQuestionIdsForSourcePoolDefinitionIds(ilTestRandomQuestionSetSourcePoolDefinition $definition)
 
hasTypeFilter(ilTestRandomQuestionSetSourcePoolDefinition $definition)
 
getSrcPoolDefRelatedQuestCollection(ilTestRandomQuestionSetSourcePoolDefinition $definition)
 
hasTaxonomyFilter(ilTestRandomQuestionSetSourcePoolDefinition $definition)
 
getRandomQuestionCollection(int $requiredAmount)
 
getSrcPoolDefListRelatedQuestCombinationCollection(ilTestRandomQuestionSetSourcePoolDefinitionList $sourcePoolDefinitionList)
 
performBuild(ilTestSession $testSession)
 
handleQuestionOrdering(ilTestRandomQuestionSetQuestionCollection $question_set)
 
getMappedTaxonomyFilter()