4 require_once
'Modules/Test/classes/class.ilTestRandomQuestionSetConfig.php';
5 require_once
'Modules/Test/classes/class.ilTestRandomQuestionSetSourcePoolDefinitionList.php';
6 require_once
'Modules/Test/classes/class.ilTestRandomQuestionSetSourcePoolDefinitionFactory.php';
7 require_once
'Modules/Test/classes/class.ilTestRandomQuestionSetStagingPoolBuilder.php';
8 require_once
'Modules/Test/classes/class.ilTestRandomQuestionSetConfigStateMessageHandler.php';
10 require_once
'Services/Taxonomy/classes/class.ilObjTaxonomy.php';
155 $this->objDefinition = $this->dic[
'objDefinition'];
163 $this->questionSetConfig->loadFromDb();
173 $this->sourcePoolDefinitionFactory
176 $this->sourcePoolDefinitionList->loadDefinitions();
188 $this->configStateMessageHandler->setTargetGUI($this);
189 $this->configStateMessageHandler->setQuestionSetConfig($this->questionSetConfig);
190 $this->configStateMessageHandler->setParticipantDataExists($this->testOBJ->participantDataExist());
191 $this->configStateMessageHandler->setLostPools($this->sourcePoolDefinitionList->getLostPools());
197 if (!$this->access->checkAccess(
"write",
"", $this->testOBJ->getRefId())) {
199 $this->ctrl->redirectByClass(
'ilObjTestGUI',
"infoScreen");
203 ilUtil::sendFailure($this->lng->txt(
"tst_msg_cannot_modify_random_question_set_conf_due_to_part"),
true);
204 $this->ctrl->redirect($this);
209 $nextClass = $this->ctrl->getNextClass();
211 switch ($nextClass) {
212 case 'iltestrandomquestionsetpooldefinitionformgui':
213 $this->questionSetConfig->loadFromDb();
218 $form->build($sourcePoolDefinition, $availableTaxonomyIds);
220 $this->ctrl->forwardCommand($form);
225 $cmd = $this->ctrl->getCmd(self::CMD_SHOW_GENERAL_CONFIG_FORM) .
'Cmd';
246 if ($this->testOBJ->participantDataExist()) {
250 if ($this->sourcePoolDefinitionList->hasLostPool()) {
259 switch ($this->ctrl->getCmd(self::CMD_SHOW_GENERAL_CONFIG_FORM)) {
260 case self::CMD_SAVE_GENERAL_CONFIG_FORM:
261 case self::CMD_SAVE_SRC_POOL_DEF_LIST:
262 case self::CMD_DELETE_SINGLE_SRC_POOL_DEF:
263 case self::CMD_DELETE_MULTI_SRC_POOL_DEFS:
264 case self::CMD_SAVE_CREATE_SRC_POOL_DEF_FORM:
265 case self::CMD_SAVE_EDIT_SRC_POOL_DEF_FORM:
266 case self::CMD_SAVE_AND_NEW_CREATE_SRC_POOL_DEF_FORM:
267 case self::CMD_BUILD_QUESTION_STAGE:
277 $this->tabs->activateTab(
'assQuestions');
279 $this->tabs->addSubTab(
280 'tstRandQuestSetGeneralConfig',
282 $this->ctrl->getLinkTarget($this, self::CMD_SHOW_GENERAL_CONFIG_FORM)
285 $this->tabs->addSubTab(
286 'tstRandQuestSetPoolConfig',
288 $this->ctrl->getLinkTarget($this, self::CMD_SHOW_SRC_POOL_DEF_LIST)
291 switch ($this->ctrl->getCmd(self::CMD_SHOW_GENERAL_CONFIG_FORM)) {
292 case self::CMD_SHOW_GENERAL_CONFIG_FORM:
293 case self::CMD_SAVE_GENERAL_CONFIG_FORM:
295 $this->tabs->activateSubTab(
'tstRandQuestSetGeneralConfig');
298 case self::CMD_SHOW_SRC_POOL_DEF_LIST:
299 case self::CMD_SAVE_SRC_POOL_DEF_LIST:
300 case self::CMD_DELETE_SINGLE_SRC_POOL_DEF:
301 case self::CMD_DELETE_MULTI_SRC_POOL_DEFS:
302 case self::CMD_SHOW_CREATE_SRC_POOL_DEF_FORM:
303 case self::CMD_SAVE_CREATE_SRC_POOL_DEF_FORM:
304 case self::CMD_SHOW_EDIT_SRC_POOL_DEF_FORM:
305 case self::CMD_SAVE_EDIT_SRC_POOL_DEF_FORM:
307 $this->tabs->activateSubTab(
'tstRandQuestSetPoolConfig');
310 default: $this->tabs->activateSubTab(
'nonTab');
316 if ($this->sourcePoolDefinitionList->areAllUsedPoolsAvailable()) {
317 $locker = $this->processLockerFactory->retrieveLockerForNamedOperation();
318 $locker->executeNamedOperation(__FUNCTION__,
function () :
void {
319 $this->stagingPool->rebuild($this->sourcePoolDefinitionList);
320 $this->sourcePoolDefinitionList->saveDefinitions();
322 $this->questionSetConfig->loadFromDb();
323 $this->questionSetConfig->setLastQuestionSyncTimestamp(time());
324 $this->questionSetConfig->saveToDb();
326 $this->testOBJ->saveCompleteStatus($this->questionSetConfig);
328 ilUtil::sendSuccess($this->lng->txt(
"tst_msg_random_question_set_synced"),
true);
337 if (!isset(
$_GET[self::HTTP_PARAM_AFTER_REBUILD_QUESTION_STAGE_CMD])) {
338 return self::CMD_SHOW_GENERAL_CONFIG_FORM;
341 if (!strlen(
$_GET[self::HTTP_PARAM_AFTER_REBUILD_QUESTION_STAGE_CMD])) {
342 return self::CMD_SHOW_GENERAL_CONFIG_FORM;
345 return $_GET[self::HTTP_PARAM_AFTER_REBUILD_QUESTION_STAGE_CMD];
352 if ($form === null) {
353 $this->questionSetConfig->loadFromDb();
357 $this->tpl->setContent($this->ctrl->getHTML($form));
359 if (!$disabled_form) {
360 $this->configStateMessageHandler->setContext(
364 $this->configStateMessageHandler->handle();
366 if ($this->configStateMessageHandler->hasValidationReports()) {
367 if ($this->configStateMessageHandler->isValidationFailed()) {
369 $this->configStateMessageHandler->getValidationReportHtml()
372 ilUtil::sendInfo($this->configStateMessageHandler->getValidationReportHtml());
376 if (isset(
$_GET[
'modified']) && (int)
$_GET[
'modified']) {
386 $errors = !$form->checkInput();
387 $form->setValuesByPost();
395 $this->questionSetConfig->setLastQuestionSyncTimestamp(0);
396 $this->questionSetConfig->saveToDb();
398 $this->testOBJ->saveCompleteStatus($this->questionSetConfig);
400 $this->ctrl->setParameter($this,
'modified', 1);
401 $this->ctrl->redirect($this, self::CMD_SHOW_GENERAL_CONFIG_FORM);
406 require_once
'Modules/Test/classes/forms/class.ilTestRandomQuestionSetGeneralConfigFormGUI.php';
413 $this->questionSetConfig
420 $form->setEditModeEnabled(
false);
426 $form->clearCommandButtons();
434 $this->questionSetConfig->loadFromDb();
442 $content .= $this->ctrl->getHTML($toolbar);
446 $table->init($this->sourcePoolDefinitionList);
447 $content .= $this->ctrl->getHTML($table);
449 if (!$this->sourcePoolDefinitionList->areAllUsedPoolsAvailable()) {
451 $table->init($this->sourcePoolDefinitionList);
452 $content .= $this->ctrl->getHTML($table);
455 $this->tpl->setContent($content);
457 if ($disabled_form) {
461 $this->configStateMessageHandler->setContext(
465 $this->configStateMessageHandler->handle();
467 if ($this->configStateMessageHandler->hasValidationReports()) {
468 if ($this->configStateMessageHandler->isValidationFailed()) {
470 $this->configStateMessageHandler->getValidationReportHtml()
473 ilUtil::sendInfo($this->configStateMessageHandler->getValidationReportHtml());
477 if (isset(
$_GET[
'modified']) && (int)
$_GET[
'modified']) {
484 $this->questionSetConfig->loadFromDb();
488 $table->applySubmit($this->sourcePoolDefinitionList);
490 $this->sourcePoolDefinitionList->reindexPositions();
491 $this->sourcePoolDefinitionList->saveDefinitions();
494 #$this->stagingPool->rebuild( $this->sourcePoolDefinitionList ); 495 #$this->sourcePoolDefinitionList->saveDefinitions(); 496 #$this->questionSetConfig->setLastQuestionSyncTimestamp(time()); 497 $this->questionSetConfig->setLastQuestionSyncTimestamp(0);
499 $this->questionSetConfig->saveToDb();
501 $this->testOBJ->saveCompleteStatus($this->questionSetConfig);
503 $this->ctrl->setParameter($this,
'modified', 1);
504 $this->ctrl->redirect($this, self::CMD_SHOW_SRC_POOL_DEF_LIST);
509 require_once
'Modules/Test/classes/toolbars/class.ilTestRandomQuestionSetSourcePoolDefinitionListToolbarGUI.php';
515 $this->questionSetConfig
525 require_once
'Modules/Test/classes/tables/class.ilTestRandomQuestionSetSourcePoolDefinitionListTableGUI.php';
531 self::CMD_SHOW_SRC_POOL_DEF_LIST
535 $table->setDefinitionEditModeEnabled(
true);
538 $table->setQuestionAmountColumnEnabled(
539 $this->questionSetConfig->isQuestionAmountConfigurationModePerPool()
543 $table->setShowMappedTaxonomyFilter(
544 $this->questionSetConfig->getLastQuestionSyncTimestamp() != 0
548 require_once
'Modules/Test/classes/class.ilTestTaxonomyFilterLabelTranslater.php';
550 $translater->loadLabels($this->sourcePoolDefinitionList);
551 $table->setTaxonomyFilterLabelTranslater($translater);
554 $table->setDefinitionEditModeEnabled(
false);
563 require_once
'Modules/Test/classes/tables/class.ilTestRandomQuestionSetNonAvailablePoolsTableGUI.php';
569 self::CMD_SHOW_SRC_POOL_DEF_LIST
582 ilUtil::sendSuccess($this->lng->txt(
"tst_msg_source_pool_definitions_deleted"),
true);
583 $this->ctrl->redirect($this, self::CMD_SHOW_SRC_POOL_DEF_LIST);
591 ilUtil::sendSuccess($this->lng->txt(
"tst_msg_source_pool_definitions_deleted"),
true);
592 $this->ctrl->redirect($this, self::CMD_SHOW_SRC_POOL_DEF_LIST);
597 foreach ($definitionIds as $definitionId) {
598 $definition = $this->sourcePoolDefinitionFactory->getSourcePoolDefinitionByDefinitionId($definitionId);
599 $definition->deleteFromDb();
602 $this->sourcePoolDefinitionList->reindexPositions();
603 $this->sourcePoolDefinitionList->saveDefinitions();
605 $this->questionSetConfig->loadFromDb();
606 $this->questionSetConfig->setLastQuestionSyncTimestamp(0);
607 $this->questionSetConfig->saveToDb();
609 $this->testOBJ->saveCompleteStatus($this->questionSetConfig);
615 $this->questionSetConfig->loadFromDb();
617 require_once
'Services/Repository/classes/class.ilTestQuestionPoolSelectorExplorer.php';
620 self::CMD_SHOW_POOL_SELECTOR_EXPLORER,
621 self::CMD_SHOW_CREATE_SRC_POOL_DEF_FORM
624 $selector->setAvailableQuestionPools(
625 array_keys($this->questionSetConfig->getSelectableQuestionPools())
628 if ($selector->handleCommand()) {
632 $this->tpl->setContent($selector->getHTML());
638 $this->questionSetConfig->loadFromDb();
645 if ($form === null) {
647 $form->build($sourcePoolDefinition, $availableTaxonomyIds);
650 $this->tpl->setContent($this->ctrl->getHTML($form));
663 $this->questionSetConfig->loadFromDb();
670 $form->build($sourcePoolDefinition, $availableTaxonomyIds);
672 $errors = !$form->checkInput();
673 $form->setValuesByPost();
679 $form->applySubmit($sourcePoolDefinition, $availableTaxonomyIds);
681 $sourcePoolDefinition->setSequencePosition($this->sourcePoolDefinitionList->getNextPosition());
682 $sourcePoolDefinition->saveToDb();
683 $this->sourcePoolDefinitionList->addDefinition($sourcePoolDefinition);
685 $this->sourcePoolDefinitionList->saveDefinitions();
687 $this->questionSetConfig->setLastQuestionSyncTimestamp(0);
688 $this->questionSetConfig->saveToDb();
690 $this->testOBJ->saveCompleteStatus($this->questionSetConfig);
692 if ($redirect_back_to_form) {
693 ilUtil::sendSuccess($this->lng->txt(
"tst_msg_random_qsc_modified_add_new_rule"),
true);
694 $this->ctrl->setParameter($this,
'src_pool_def_id', $sourcePoolDefinition->getId());
695 $this->ctrl->setParameter($this,
'quest_pool_id', $sourcePoolDefinition->getPoolId());
696 $this->ctrl->redirect($this, self::CMD_SHOW_CREATE_SRC_POOL_DEF_FORM);
698 ilUtil::sendSuccess($this->lng->txt(
"tst_msg_random_question_set_config_modified"),
true);
699 $this->ctrl->redirect($this, self::CMD_SHOW_SRC_POOL_DEF_LIST);
705 require_once
'Modules/Test/classes/forms/class.ilTestRandomQuestionSetPoolDefinitionFormGUI.php';
712 $this->questionSetConfig
715 $form->setSaveCommand(self::CMD_SAVE_CREATE_SRC_POOL_DEF_FORM);
716 $form->setSaveAndNewCommand(self::CMD_SAVE_AND_NEW_CREATE_SRC_POOL_DEF_FORM);
723 $this->questionSetConfig->loadFromDb();
726 $sourcePoolDefinition = $this->sourcePoolDefinitionFactory->getSourcePoolDefinitionByDefinitionId($defId);
729 if ($form === null) {
731 $form->build($sourcePoolDefinition, $availableTaxonomyIds);
734 $this->tpl->setContent($this->ctrl->getHTML($form));
739 $this->questionSetConfig->loadFromDb();
742 $sourcePoolDefinition = $this->sourcePoolDefinitionFactory->getSourcePoolDefinitionByDefinitionId($defId);
746 $form->build($sourcePoolDefinition, $availableTaxonomyIds);
748 $errors = !$form->checkInput();
749 $form->setValuesByPost();
755 $form->applySubmit($sourcePoolDefinition, $availableTaxonomyIds);
757 $sourcePoolDefinition->saveToDb();
759 $this->questionSetConfig->setLastQuestionSyncTimestamp(0);
760 $this->questionSetConfig->saveToDb();
762 $this->testOBJ->saveCompleteStatus($this->questionSetConfig);
764 ilUtil::sendSuccess($this->lng->txt(
"tst_msg_random_question_set_config_modified"),
true);
765 $this->ctrl->redirect($this, self::CMD_SHOW_SRC_POOL_DEF_LIST);
770 require_once
'Modules/Test/classes/forms/class.ilTestRandomQuestionSetPoolDefinitionFormGUI.php';
777 $this->questionSetConfig
780 $form->setSaveCommand(self::CMD_SAVE_EDIT_SRC_POOL_DEF_FORM);
787 if (isset(
$_POST[
'quest_pool_id']) && (
int)
$_POST[
'quest_pool_id']) {
788 return (
int) $_POST[
'quest_pool_id'];
791 if (isset(
$_GET[
'quest_pool_id']) && (
int)
$_GET[
'quest_pool_id']) {
792 return (
int) $_GET[
'quest_pool_id'];
795 if (isset($_GET[
'quest_pool_ref']) && (
int) $_GET[
'quest_pool_ref']) {
796 $objCache = $this->dic[
'ilObjDataCache'];
797 return $objCache->lookupObjId((
int) $_GET[
'quest_pool_ref']);
800 require_once
'Modules/Test/exceptions/class.ilTestMissingQuestionPoolIdParameterException.php';
806 if (isset(
$_POST[
'src_pool_def_id']) && (
int)
$_POST[
'src_pool_def_id']) {
807 return (
int) $_POST[
'src_pool_def_id'];
810 if (isset(
$_GET[
'src_pool_def_id']) && (
int)
$_GET[
'src_pool_def_id']) {
811 return (
int) $_GET[
'src_pool_def_id'];
814 require_once
'Modules/Test/exceptions/class.ilTestMissingSourcePoolDefinitionParameterException.php';
820 if (!isset(
$_POST[
'src_pool_def_ids']) || !is_array(
$_POST[
'src_pool_def_ids'])) {
821 $this->tpl->setOnScreenMessage(
'failure', $this->lng->txt(
'tst_please_select_source_pool'),
true);
822 $this->ctrl->redirect($this, self::CMD_SHOW_SRC_POOL_DEF_LIST);
826 $definitionIds = array();
828 foreach (
$_POST[
'src_pool_def_ids'] as $definitionId) {
829 $definitionId = (int) $definitionId;
831 if (!$definitionId) {
832 require_once
'Modules/Test/exceptions/class.ilTestMissingSourcePoolDefinitionParameterException.php';
836 $definitionIds[] = $definitionId;
839 return $definitionIds;
844 $availablePools = $this->testOBJ->getAvailableQuestionpools(
846 $this->questionSetConfig->arePoolsWithHomogeneousScoredQuestionsRequired(),
852 if (isset($availablePools[$poolId])) {
853 $originalPoolData = $availablePools[$poolId];
855 $originalPoolData[
'qpl_path'] = $this->questionSetConfig->getQuestionPoolPathString($poolId);
856 $originalPoolData[
'qpl_ref_id'] = $this->questionSetConfig->getFirstQuestionPoolRefIdByObjId($poolId);
858 return $this->sourcePoolDefinitionFactory->getSourcePoolDefinitionByOriginalPoolData($originalPoolData);
861 require_once
'Modules/Test/exceptions/class.ilTestQuestionPoolNotAvailableAsSourcePoolException.php';
867 if (isset(
$_POST[
'derive_pool_ids']) && is_array(
$_POST[
'derive_pool_ids'])) {
870 foreach (
$_POST[
'derive_pool_ids'] as $poolId) {
871 $poolIds[] = (int) $poolId;
873 } elseif (isset(
$_GET[
'derive_pool_ids']) && preg_match(
'/^\d+(\:\d+)*$/',
$_GET[
'derive_pool_ids'])) {
874 $poolIds = explode(
':',
$_GET[
'derive_pool_ids']);
875 } elseif (isset(
$_GET[
'derive_pool_id']) && (
int)
$_GET[
'derive_pool_id']) {
876 $poolIds = array( (
int) $_GET[
'derive_pool_id'] );
884 if (isset(
$_GET[
'target_ref']) && (
int)
$_GET[
'target_ref']) {
885 return (
int) $_GET[
'target_ref'];
895 require_once
'Services/Repository/classes/class.ilRepositorySelectorExplorerGUI.php';
898 self::CMD_SELECT_DERIVATION_TARGET,
900 self::CMD_DERIVE_NEW_POOLS,
903 $explorer->setClickableTypes($this->objDefinition->getExplorerContainerTypes());
904 $explorer->setSelectableTypes(array());
906 if (!$explorer->handleCommand()) {
907 ilUtil::sendInfo($this->lng->txt(
'tst_please_select_target_for_pool_derives'));
908 $this->tpl->setContent($this->ctrl->getHTML($explorer));
917 if (!$this->access->checkAccess(
'write',
'', $targetRef)) {
918 $this->tpl->setOnScreenMessage(
'failure', $this->lng->txt(
"no_permission"),
true);
919 $this->ctrl->setParameterByClass(ilObjTestGUI::class,
'ref_id', $this->testOBJ->getRefId());
920 $this->ctrl->redirectByClass(ilObjTestGUI::class);
923 if (count($poolIds)) {
924 require_once
'Modules/Test/classes/class.ilTestRandomQuestionSetPoolDeriver.php';
926 foreach ($poolIds as $poolId) {
927 $lostPool = $this->sourcePoolDefinitionList->getLostPool($poolId);
930 $deriver->setSourcePoolDefinitionList($this->sourcePoolDefinitionList);
931 $deriver->setTargetContainerRef($targetRef);
932 $deriver->setOwnerId($this->dic[
'ilUser']->getId());
933 $newPool = $deriver->derive($lostPool);
935 $srcPoolDefinition = $this->sourcePoolDefinitionList->getDefinitionBySourcePoolId($newPool->getId());
936 $srcPoolDefinition->setPoolTitle($newPool->getTitle());
937 $srcPoolDefinition->setPoolPath($this->questionSetConfig->getQuestionPoolPathString($newPool->getId()));
938 $srcPoolDefinition->setPoolRefId($this->questionSetConfig->getFirstQuestionPoolRefIdByObjId((
int) $newPool->getId()));
939 $srcPoolDefinition->saveToDb();
942 $this->testOBJ->getTestId(),
948 ilUtil::sendSuccess($this->lng->txt(
'tst_non_available_pool_newly_derived'),
true);
951 $this->ctrl->redirect($this, self::CMD_SHOW_SRC_POOL_DEF_LIST);
959 return $this->lng->txt(
"tst_msg_random_question_set_config_modified");
967 return $this->lng->txt(
'tst_rnd_quest_cfg_tab_general');
975 return $this->lng->txt(
'tst_rnd_quest_cfg_tab_pool');
982 $last_sync = (int) $this->questionSetConfig->getLastQuestionSyncTimestamp();
984 if ($last_sync !== null && $last_sync !== 0 &&
990 $this->lng->txt(
'tst_msg_rand_quest_set_stage_pool_last_sync'),
994 $href = $this->ctrl->getLinkTarget($this, self::CMD_RESET_POOLSYNC);
995 $label = $this->lng->txt(
'tst_btn_reset_pool_sync');
998 $this->dic->ui()->factory()->button()->standard($label, $href)
1001 $msgbox = $this->dic->ui()->factory()->messageBox()
1003 ->withButtons($buttons);
1004 $message = $this->dic->ui()->renderer()->render($msgbox);
1005 $this->dic->ui()->mainTemplate()->setCurrentBlock(
'mess');
1006 $this->dic->ui()->mainTemplate()->setVariable(
'MESSAGE',
$message);
1007 $this->dic->ui()->mainTemplate()->parseCurrentBlock();
1014 $this->questionSetConfig->setLastQuestionSyncTimestamp(0);
1015 $this->questionSetConfig->saveToDb();
1016 $this->ctrl->redirect($this, self::CMD_SHOW_GENERAL_CONFIG_FORM);
preventFormBecauseOfSync()
fetchMultiSourcePoolDefinitionIdsParameter()
buildNonAvailablePoolsTableGUI()
This class provides processing control methods.
saveEditSourcePoolDefinitionFormCmd()
saveSourcePoolDefinitionListCmd()
Explorer for selecting repository items.
static getUsageOfObject($a_obj_id, $a_include_titles=false)
Get usage of object.
showPoolSelectorExplorerCmd()
const CMD_SHOW_EDIT_SRC_POOL_DEF_FORM
const CMD_SAVE_AND_NEW_CREATE_SRC_POOL_DEF_FORM
getSourcePoolDefinitionByAvailableQuestionPoolId($poolId)
const CMD_SELECT_DERIVATION_TARGET
const CONTEXT_POOL_SELECTION
const CMD_DELETE_SINGLE_SRC_POOL_DEF
selectPoolDerivationTargetCmd()
isAvoidManipulationRedirectRequired()
static formatDate(ilDateTime $date, $a_skip_day=false, $a_include_wd=false, $include_seconds=false)
Format a date public.
fetchTargetRefParameter()
fetchQuestionPoolIdParameter()
saveGeneralConfigFormCmd()
Administration class for plugins.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
const CMD_SHOW_SRC_POOL_DEF_LIST
showEditSourcePoolDefinitionFormCmd(ilTestRandomQuestionSetPoolDefinitionFormGUI $form=null)
Exception for invalid parameters (e.g.
$configStateMessageHandler
deleteMultipleSourcePoolDefinitionsCmd()
$sourcePoolDefinitionFactory
const CONTEXT_GENERAL_CONFIG
getGeneralConfigTabLabel()
buildSourcePoolDefinitionListTableGUI(bool $disabled=false)
const CMD_SHOW_POOL_SELECTOR_EXPLORER
const CMD_SAVE_GENERAL_CONFIG_FORM
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
const CMD_SAVE_SRC_POOL_DEF_LIST
saveCreateSourcePoolDefinitionFormCmd($redirect_back_to_form=false)
buildEditSourcePoolDefinitionFormGUI()
fetchAfterRebuildQuestionStageCmdParameter()
__construct(ilCtrl $ctrl, ilAccessHandler $access, ilTabsGUI $tabs, ilLanguage $lng, ilGlobalTemplateInterface $tpl, ilDBInterface $db, ilTree $tree, ilPluginAdmin $pluginAdmin, ilObjTest $testOBJ, ilTestProcessLockerFactory $processLockerFactory)
buildSourcePoolDefinitionListToolbarGUI()
const CMD_SAVE_EDIT_SRC_POOL_DEF_FORM
const HTTP_PARAM_AFTER_REBUILD_QUESTION_STAGE_CMD
const CMD_SHOW_GENERAL_CONFIG_FORM
fetchSingleSourcePoolDefinitionIdParameter()
saveCreateAndNewSourcePoolDefinitionFormCmd()
deleteSourcePoolDefinitions($definitionIds)
showSourcePoolDefinitionListCmd()
buildGeneralConfigFormGUI(bool $disabled=false)
const CMD_SAVE_CREATE_SRC_POOL_DEF_FORM
getGeneralModificationSuccessMessage()
buildCreateSourcePoolDefinitionFormGUI()
showGeneralConfigFormCmd(ilTestRandomQuestionSetGeneralConfigFormGUI $form=null)
showCreateSourcePoolDefinitionFormCmd(ilTestRandomQuestionSetPoolDefinitionFormGUI $form=null)
$sourcePoolDefinitionList
deleteSingleSourcePoolDefinitionCmd()
const CMD_SHOW_CREATE_SRC_POOL_DEF_FORM
static updateSourceQuestionPoolId($testId, $oldPoolId, $newPoolId)
const CMD_DERIVE_NEW_POOLS
const CMD_DELETE_MULTI_SRC_POOL_DEFS
const CMD_BUILD_QUESTION_STAGE