public function applySubmit(ilTestRandomQuestionSetSourcePoolDefinition $sourcePoolDefinition, $availableTaxonomyIds) { switch (true) { case $this->getItemByPostVar('source_pool_filter_tax') === null: case !in_array($this->getItemByPostVar('filter_tax')->getValue(), $availableTaxonomyIds): $sourcePoolDefinition->setOriginalFilterTaxId(null); $sourcePoolDefinition->setOriginalFilterTaxNodeId(null); break; default: $taxId = $this->getItemByPostVar('filter_tax')->getValue(); $sourcePoolDefinition->setOriginalFilterTaxId($taxId); $sourcePoolDefinition->setOriginalFilterTaxNodeId($this->getItemByPostVar("filter_tax_{$taxId}")->getValue()); } if ($this->questionSetConfig->isQuestionAmountConfigurationModePerPool()) { $sourcePoolDefinition->setQuestionAmount($this->getItemByPostVar('question_amount_per_pool')->getValue()); } }