ILIAS  release_6 Revision v6.24-5-g0c8bfefb3b8
All Data Structures Namespaces Files Functions Variables Modules Pages
ilTestRandomQuestionSetConfigGUI Class Reference
+ Collaboration diagram for ilTestRandomQuestionSetConfigGUI:

Public Member Functions

 __construct (ilCtrl $ctrl, ilAccessHandler $access, ilTabsGUI $tabs, ilLanguage $lng, ilGlobalTemplateInterface $tpl, ilDBInterface $db, ilTree $tree, ilPluginAdmin $pluginAdmin, ilObjTest $testOBJ, ilTestProcessLockerFactory $processLockerFactory)
 
 executeCommand ()
 
 getGeneralConfigTabLabel ()
 
 getPoolConfigTabLabel ()
 

Data Fields

const CMD_SHOW_GENERAL_CONFIG_FORM = 'showGeneralConfigForm'
 
const CMD_SAVE_GENERAL_CONFIG_FORM = 'saveGeneralConfigForm'
 
const CMD_SHOW_SRC_POOL_DEF_LIST = 'showSourcePoolDefinitionList'
 
const CMD_SAVE_SRC_POOL_DEF_LIST = 'saveSourcePoolDefinitionList'
 
const CMD_DELETE_SINGLE_SRC_POOL_DEF = 'deleteSingleSourcePoolDefinition'
 
const CMD_DELETE_MULTI_SRC_POOL_DEFS = 'deleteMultipleSourcePoolDefinitions'
 
const CMD_SHOW_POOL_SELECTOR_EXPLORER = 'showPoolSelectorExplorer'
 
const CMD_SHOW_CREATE_SRC_POOL_DEF_FORM = 'showCreateSourcePoolDefinitionForm'
 
const CMD_SAVE_CREATE_SRC_POOL_DEF_FORM = 'saveCreateSourcePoolDefinitionForm'
 
const CMD_SAVE_AND_NEW_CREATE_SRC_POOL_DEF_FORM = 'saveCreateAndNewSourcePoolDefinitionForm'
 
const CMD_SHOW_EDIT_SRC_POOL_DEF_FORM = 'showEditSourcePoolDefinitionForm'
 
const CMD_SAVE_EDIT_SRC_POOL_DEF_FORM = 'saveEditSourcePoolDefinitionForm'
 
const CMD_BUILD_QUESTION_STAGE = 'buildQuestionStage'
 
const CMD_SELECT_DERIVATION_TARGET = 'selectPoolDerivationTarget'
 
const CMD_DERIVE_NEW_POOLS = 'deriveNewPools'
 
const HTTP_PARAM_AFTER_REBUILD_QUESTION_STAGE_CMD = 'afterRebuildQuestionStageCmd'
 
 $ctrl = null
 
 $access = null
 
 $tabs = null
 
 $lng = null
 
 $tpl = null
 
 $db = null
 
 $tree = null
 
 $pluginAdmin = null
 
 $objDefinition = null
 
 $testOBJ = null
 

Protected Member Functions

 showPoolSelectorExplorerCmd ()
 
 fetchPoolIdsParameter ()
 
 fetchTargetRefParameter ()
 

Protected Attributes

 $questionSetConfig = null
 
 $sourcePoolDefinitionFactory = null
 
 $sourcePoolDefinitionList = null
 
 $stagingPool = null
 
 $configStateMessageHandler
 

Private Member Functions

 isAvoidManipulationRedirectRequired ()
 
 isFrozenConfigRequired ()
 
 isManipulationCommand ()
 
 handleTabs ()
 
 buildQuestionStageCmd ()
 
 fetchAfterRebuildQuestionStageCmdParameter ()
 
 showGeneralConfigFormCmd (ilTestRandomQuestionSetGeneralConfigFormGUI $form=null)
 
 saveGeneralConfigFormCmd ()
 
 buildGeneralConfigFormGUI ()
 
 showSourcePoolDefinitionListCmd ()
 
 saveSourcePoolDefinitionListCmd ()
 
 buildSourcePoolDefinitionListToolbarGUI ()
 
 buildSourcePoolDefinitionListTableGUI ()
 
 buildNonAvailablePoolsTableGUI ()
 
 deleteSingleSourcePoolDefinitionCmd ()
 
 deleteMultipleSourcePoolDefinitionsCmd ()
 
 deleteSourcePoolDefinitions ($definitionIds)
 
 showCreateSourcePoolDefinitionFormCmd (ilTestRandomQuestionSetPoolDefinitionFormGUI $form=null)
 
 saveCreateAndNewSourcePoolDefinitionFormCmd ()
 
 saveCreateSourcePoolDefinitionFormCmd ($redirect_back_to_form=false)
 
 buildCreateSourcePoolDefinitionFormGUI ()
 
 showEditSourcePoolDefinitionFormCmd (ilTestRandomQuestionSetPoolDefinitionFormGUI $form=null)
 
 saveEditSourcePoolDefinitionFormCmd ()
 
 buildEditSourcePoolDefinitionFormGUI ()
 
 fetchQuestionPoolIdParameter ()
 
 fetchSingleSourcePoolDefinitionIdParameter ()
 
 fetchMultiSourcePoolDefinitionIdsParameter ()
 
 getSourcePoolDefinitionByAvailableQuestionPoolId ($poolId)
 
 selectPoolDerivationTargetCmd ()
 
 deriveNewPoolsCmd ()
 
 getGeneralModificationSuccessMessage ()
 

Private Attributes

 $processLockerFactory
 

Detailed Description

Definition at line 27 of file class.ilTestRandomQuestionSetConfigGUI.php.

Constructor & Destructor Documentation

◆ __construct()

ilTestRandomQuestionSetConfigGUI::__construct ( ilCtrl  $ctrl,
ilAccessHandler  $access,
ilTabsGUI  $tabs,
ilLanguage  $lng,
ilGlobalTemplateInterface  $tpl,
ilDBInterface  $db,
ilTree  $tree,
ilPluginAdmin  $pluginAdmin,
ilObjTest  $testOBJ,
ilTestProcessLockerFactory  $processLockerFactory 
)

Definition at line 125 of file class.ilTestRandomQuestionSetConfigGUI.php.

References $access, $ctrl, $db, $GLOBALS, $lng, $pluginAdmin, $processLockerFactory, $tabs, $testOBJ, $tpl, and $tree.

136  {
137  $this->ctrl = $ctrl;
138  $this->access = $access;
139  $this->tabs = $tabs;
140  $this->lng = $lng;
141  $this->tpl = $tpl;
142  $this->db = $db;
143  $this->tree = $tree;
144  $this->pluginAdmin = $pluginAdmin;
145  $this->objDefinition = $GLOBALS['DIC']['objDefinition'];
146  $this->testOBJ = $testOBJ;
147 
148  $this->questionSetConfig = new ilTestRandomQuestionSetConfig(
149  $this->tree,
150  $this->db,
151  $this->pluginAdmin,
152  $this->testOBJ
153  );
154 
155  $this->sourcePoolDefinitionFactory = new ilTestRandomQuestionSetSourcePoolDefinitionFactory(
156  $this->db,
157  $this->testOBJ
158  );
159 
160  $this->sourcePoolDefinitionList = new ilTestRandomQuestionSetSourcePoolDefinitionList(
161  $this->db,
162  $this->testOBJ,
163  $this->sourcePoolDefinitionFactory
164  );
165 
166  $this->sourcePoolDefinitionList->loadDefinitions();
167 
168  $this->stagingPool = new ilTestRandomQuestionSetStagingPoolBuilder(
169  $this->db,
170  $this->testOBJ
171  );
172 
173  $this->configStateMessageHandler = new ilTestRandomQuestionSetConfigStateMessageHandler(
174  $this->lng,
175  $this->ctrl
176  );
177 
178  $this->configStateMessageHandler->setTargetGUI($this);
179  $this->configStateMessageHandler->setQuestionSetConfig($this->questionSetConfig);
180  $this->configStateMessageHandler->setParticipantDataExists($this->testOBJ->participantDataExist());
181  $this->configStateMessageHandler->setLostPools($this->sourcePoolDefinitionList->getLostPools());
182  $this->processLockerFactory = $processLockerFactory;
183  }
if(!defined('PATH_SEPARATOR')) $GLOBALS['_PEAR_default_error_mode']
Definition: PEAR.php:64

Member Function Documentation

◆ buildCreateSourcePoolDefinitionFormGUI()

ilTestRandomQuestionSetConfigGUI::buildCreateSourcePoolDefinitionFormGUI ( )
private

Definition at line 673 of file class.ilTestRandomQuestionSetConfigGUI.php.

Referenced by executeCommand(), saveCreateSourcePoolDefinitionFormCmd(), and showCreateSourcePoolDefinitionFormCmd().

674  {
675  require_once 'Modules/Test/classes/forms/class.ilTestRandomQuestionSetPoolDefinitionFormGUI.php';
676 
678  $this->ctrl,
679  $this->lng,
680  $this->testOBJ,
681  $this,
682  $this->questionSetConfig
683  );
684 
685  $form->setSaveCommand(self::CMD_SAVE_CREATE_SRC_POOL_DEF_FORM);
686  $form->setSaveAndNewCommand(self::CMD_SAVE_AND_NEW_CREATE_SRC_POOL_DEF_FORM);
687 
688  return $form;
689  }
+ Here is the caller graph for this function:

◆ buildEditSourcePoolDefinitionFormGUI()

ilTestRandomQuestionSetConfigGUI::buildEditSourcePoolDefinitionFormGUI ( )
private

Definition at line 738 of file class.ilTestRandomQuestionSetConfigGUI.php.

Referenced by saveEditSourcePoolDefinitionFormCmd(), and showEditSourcePoolDefinitionFormCmd().

739  {
740  require_once 'Modules/Test/classes/forms/class.ilTestRandomQuestionSetPoolDefinitionFormGUI.php';
741 
743  $this->ctrl,
744  $this->lng,
745  $this->testOBJ,
746  $this,
747  $this->questionSetConfig
748  );
749 
750  $form->setSaveCommand(self::CMD_SAVE_EDIT_SRC_POOL_DEF_FORM);
751 
752  return $form;
753  }
+ Here is the caller graph for this function:

◆ buildGeneralConfigFormGUI()

ilTestRandomQuestionSetConfigGUI::buildGeneralConfigFormGUI ( )
private

Definition at line 392 of file class.ilTestRandomQuestionSetConfigGUI.php.

References isFrozenConfigRequired().

Referenced by saveGeneralConfigFormCmd(), and showGeneralConfigFormCmd().

393  {
394  require_once 'Modules/Test/classes/forms/class.ilTestRandomQuestionSetGeneralConfigFormGUI.php';
395 
397  $this->ctrl,
398  $this->lng,
399  $this->testOBJ,
400  $this,
401  $this->questionSetConfig
402  );
403 
404  $form->setEditModeEnabled(!$this->isFrozenConfigRequired());
405 
406  $form->build();
407 
408  return $form;
409  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ buildNonAvailablePoolsTableGUI()

ilTestRandomQuestionSetConfigGUI::buildNonAvailablePoolsTableGUI ( )
private

Definition at line 531 of file class.ilTestRandomQuestionSetConfigGUI.php.

Referenced by showSourcePoolDefinitionListCmd().

532  {
533  require_once 'Modules/Test/classes/tables/class.ilTestRandomQuestionSetNonAvailablePoolsTableGUI.php';
534 
536  $this->ctrl,
537  $this->lng,
538  $this,
539  self::CMD_SHOW_SRC_POOL_DEF_LIST
540  );
541 
542  $table->build();
543 
544  return $table;
545  }
+ Here is the caller graph for this function:

◆ buildQuestionStageCmd()

ilTestRandomQuestionSetConfigGUI::buildQuestionStageCmd ( )
private

Definition at line 304 of file class.ilTestRandomQuestionSetConfigGUI.php.

References fetchAfterRebuildQuestionStageCmdParameter().

304  : void
305  {
306  if ($this->sourcePoolDefinitionList->areAllUsedPoolsAvailable()) {
307  $locker = $this->processLockerFactory->retrieveLockerForNamedOperation();
308  $locker->executeNamedOperation(__FUNCTION__, function() : void {
309  $this->stagingPool->rebuild($this->sourcePoolDefinitionList);
310  $this->sourcePoolDefinitionList->saveDefinitions();
311 
312  $this->questionSetConfig->loadFromDb();
313  $this->questionSetConfig->setLastQuestionSyncTimestamp(time());
314  $this->questionSetConfig->saveToDb();
315 
316  $this->testOBJ->saveCompleteStatus($this->questionSetConfig);
317 
318  ilUtil::sendSuccess($this->lng->txt("tst_msg_random_question_set_synced"), true);
319  });
320  }
321 
322  $this->ctrl->redirect($this, $this->fetchAfterRebuildQuestionStageCmdParameter());
323  }
+ Here is the call graph for this function:

◆ buildSourcePoolDefinitionListTableGUI()

ilTestRandomQuestionSetConfigGUI::buildSourcePoolDefinitionListTableGUI ( )
private

Definition at line 496 of file class.ilTestRandomQuestionSetConfigGUI.php.

References isFrozenConfigRequired().

Referenced by saveSourcePoolDefinitionListCmd(), and showSourcePoolDefinitionListCmd().

497  {
498  require_once 'Modules/Test/classes/tables/class.ilTestRandomQuestionSetSourcePoolDefinitionListTableGUI.php';
499 
501  $this->ctrl,
502  $this->lng,
503  $this,
504  self::CMD_SHOW_SRC_POOL_DEF_LIST
505  );
506 
507  if (!$this->isFrozenConfigRequired()) {
508  $table->setDefinitionEditModeEnabled(true);
509  }
510 
511  $table->setQuestionAmountColumnEnabled(
512  $this->questionSetConfig->isQuestionAmountConfigurationModePerPool()
513  );
514 
515  // fau: taxFilter/typeFilter - show the mapped taxonomy filters if pools are synced
516  $table->setShowMappedTaxonomyFilter(
517  $this->questionSetConfig->getLastQuestionSyncTimestamp() != 0
518  );
519  // fau.
520 
521  require_once 'Modules/Test/classes/class.ilTestTaxonomyFilterLabelTranslater.php';
522  $translater = new ilTestTaxonomyFilterLabelTranslater($this->db);
523  $translater->loadLabels($this->sourcePoolDefinitionList);
524  $table->setTaxonomyFilterLabelTranslater($translater);
525 
526  $table->build();
527 
528  return $table;
529  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ buildSourcePoolDefinitionListToolbarGUI()

ilTestRandomQuestionSetConfigGUI::buildSourcePoolDefinitionListToolbarGUI ( )
private

Definition at line 480 of file class.ilTestRandomQuestionSetConfigGUI.php.

Referenced by showSourcePoolDefinitionListCmd().

481  {
482  require_once 'Modules/Test/classes/toolbars/class.ilTestRandomQuestionSetSourcePoolDefinitionListToolbarGUI.php';
483 
485  $this->ctrl,
486  $this->lng,
487  $this,
488  $this->questionSetConfig
489  );
490 
491  $toolbar->build();
492 
493  return $toolbar;
494  }
+ Here is the caller graph for this function:

◆ deleteMultipleSourcePoolDefinitionsCmd()

ilTestRandomQuestionSetConfigGUI::deleteMultipleSourcePoolDefinitionsCmd ( )
private

Definition at line 556 of file class.ilTestRandomQuestionSetConfigGUI.php.

References deleteSourcePoolDefinitions(), and fetchMultiSourcePoolDefinitionIdsParameter().

557  {
558  $definitionIds = $this->fetchMultiSourcePoolDefinitionIdsParameter();
559  $this->deleteSourcePoolDefinitions($definitionIds);
560 
561  ilUtil::sendSuccess($this->lng->txt("tst_msg_source_pool_definitions_deleted"), true);
562  $this->ctrl->redirect($this, self::CMD_SHOW_SRC_POOL_DEF_LIST);
563  }
+ Here is the call graph for this function:

◆ deleteSingleSourcePoolDefinitionCmd()

ilTestRandomQuestionSetConfigGUI::deleteSingleSourcePoolDefinitionCmd ( )
private

Definition at line 547 of file class.ilTestRandomQuestionSetConfigGUI.php.

References deleteSourcePoolDefinitions(), and fetchSingleSourcePoolDefinitionIdParameter().

548  {
549  $definitionId = $this->fetchSingleSourcePoolDefinitionIdParameter();
550  $this->deleteSourcePoolDefinitions(array($definitionId));
551 
552  ilUtil::sendSuccess($this->lng->txt("tst_msg_source_pool_definitions_deleted"), true);
553  $this->ctrl->redirect($this, self::CMD_SHOW_SRC_POOL_DEF_LIST);
554  }
+ Here is the call graph for this function:

◆ deleteSourcePoolDefinitions()

ilTestRandomQuestionSetConfigGUI::deleteSourcePoolDefinitions (   $definitionIds)
private

Definition at line 565 of file class.ilTestRandomQuestionSetConfigGUI.php.

Referenced by deleteMultipleSourcePoolDefinitionsCmd(), and deleteSingleSourcePoolDefinitionCmd().

566  {
567  foreach ($definitionIds as $definitionId) {
568  $definition = $this->sourcePoolDefinitionFactory->getSourcePoolDefinitionByDefinitionId($definitionId);
569  $definition->deleteFromDb();
570  }
571 
572  $this->sourcePoolDefinitionList->reindexPositions();
573  $this->sourcePoolDefinitionList->saveDefinitions();
574 
575  $this->questionSetConfig->loadFromDb();
576  $this->questionSetConfig->setLastQuestionSyncTimestamp(0);
577  $this->questionSetConfig->saveToDb();
578 
579  $this->testOBJ->saveCompleteStatus($this->questionSetConfig);
580  }
+ Here is the caller graph for this function:

◆ deriveNewPoolsCmd()

ilTestRandomQuestionSetConfigGUI::deriveNewPoolsCmd ( )
private

Definition at line 884 of file class.ilTestRandomQuestionSetConfigGUI.php.

References $GLOBALS, fetchPoolIdsParameter(), fetchTargetRefParameter(), and ilTestRandomQuestionSetStagingPoolQuestionList\updateSourceQuestionPoolId().

885  {
886  $poolIds = $this->fetchPoolIdsParameter();
887  $targetRef = $this->fetchTargetRefParameter();
888 
889  if (count($poolIds)) {
890  require_once 'Modules/Test/classes/class.ilTestRandomQuestionSetPoolDeriver.php';
891 
892  foreach ($poolIds as $poolId) {
893  $lostPool = $this->sourcePoolDefinitionList->getLostPool($poolId);
894 
895  $deriver = new ilTestRandomQuestionSetPoolDeriver($this->db, $this->pluginAdmin, $this->testOBJ);
896  $deriver->setSourcePoolDefinitionList($this->sourcePoolDefinitionList);
897  $deriver->setTargetContainerRef($targetRef);
898  $deriver->setOwnerId($GLOBALS['DIC']['ilUser']->getId());
899  $newPool = $deriver->derive($lostPool);
900 
901  $srcPoolDefinition = $this->sourcePoolDefinitionList->getDefinitionBySourcePoolId($newPool->getId());
902  $srcPoolDefinition->setPoolTitle($newPool->getTitle());
903  $srcPoolDefinition->setPoolPath($this->questionSetConfig->getQuestionPoolPathString($newPool->getId()));
904  $srcPoolDefinition->setPoolRefId($this->questionSetConfig->getFirstQuestionPoolRefIdByObjId((int) $newPool->getId()));
905  $srcPoolDefinition->saveToDb();
906 
908  $this->testOBJ->getTestId(),
909  $lostPool->getId(),
910  $newPool->getId()
911  );
912  }
913 
914  ilUtil::sendSuccess($this->lng->txt('tst_non_available_pool_newly_derived'), true);
915  }
916 
917  $this->ctrl->redirect($this, self::CMD_SHOW_SRC_POOL_DEF_LIST);
918  }
if(!defined('PATH_SEPARATOR')) $GLOBALS['_PEAR_default_error_mode']
Definition: PEAR.php:64
+ Here is the call graph for this function:

◆ executeCommand()

ilTestRandomQuestionSetConfigGUI::executeCommand ( )

Definition at line 185 of file class.ilTestRandomQuestionSetConfigGUI.php.

References buildCreateSourcePoolDefinitionFormGUI(), fetchQuestionPoolIdParameter(), getSourcePoolDefinitionByAvailableQuestionPoolId(), ilObjTaxonomy\getUsageOfObject(), handleTabs(), isAvoidManipulationRedirectRequired(), and ilUtil\sendFailure().

186  {
187  if (!$this->access->checkAccess("write", "", $this->testOBJ->getRefId())) {
188  ilUtil::sendFailure($this->lng->txt("cannot_edit_test"), true);
189  $this->ctrl->redirectByClass('ilObjTestGUI', "infoScreen");
190  }
191 
193  ilUtil::sendFailure($this->lng->txt("tst_msg_cannot_modify_random_question_set_conf_due_to_part"), true);
194  $this->ctrl->redirect($this);
195  }
196 
197  $this->handleTabs();
198 
199  $nextClass = $this->ctrl->getNextClass();
200 
201  switch ($nextClass) {
202  case 'iltestrandomquestionsetpooldefinitionformgui':
203  $this->questionSetConfig->loadFromDb();
204  $poolId = $this->fetchQuestionPoolIdParameter();
205  $sourcePoolDefinition = $this->getSourcePoolDefinitionByAvailableQuestionPoolId($poolId);
206  $availableTaxonomyIds = ilObjTaxonomy::getUsageOfObject($sourcePoolDefinition->getPoolId());
208  $form->build($sourcePoolDefinition, $availableTaxonomyIds);
209 
210  $this->ctrl->forwardCommand($form);
211  break;
212 
213  default:
214 
215  $cmd = $this->ctrl->getCmd(self::CMD_SHOW_GENERAL_CONFIG_FORM) . 'Cmd';
216 
217  $this->$cmd();
218  }
219  }
static getUsageOfObject($a_obj_id, $a_include_titles=false)
Get usage of object.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
+ Here is the call graph for this function:

◆ fetchAfterRebuildQuestionStageCmdParameter()

ilTestRandomQuestionSetConfigGUI::fetchAfterRebuildQuestionStageCmdParameter ( )
private

Definition at line 325 of file class.ilTestRandomQuestionSetConfigGUI.php.

References $_GET.

Referenced by buildQuestionStageCmd().

326  {
327  if (!isset($_GET[self::HTTP_PARAM_AFTER_REBUILD_QUESTION_STAGE_CMD])) {
328  return self::CMD_SHOW_GENERAL_CONFIG_FORM;
329  }
330 
331  if (!strlen($_GET[self::HTTP_PARAM_AFTER_REBUILD_QUESTION_STAGE_CMD])) {
332  return self::CMD_SHOW_GENERAL_CONFIG_FORM;
333  }
334 
335  return $_GET[self::HTTP_PARAM_AFTER_REBUILD_QUESTION_STAGE_CMD];
336  }
$_GET["client_id"]
+ Here is the caller graph for this function:

◆ fetchMultiSourcePoolDefinitionIdsParameter()

ilTestRandomQuestionSetConfigGUI::fetchMultiSourcePoolDefinitionIdsParameter ( )
private

Definition at line 791 of file class.ilTestRandomQuestionSetConfigGUI.php.

References $_POST.

Referenced by deleteMultipleSourcePoolDefinitionsCmd().

792  {
793  if (!isset($_POST['src_pool_def_ids']) || !is_array($_POST['src_pool_def_ids'])) {
794  require_once 'Modules/Test/exceptions/class.ilTestMissingSourcePoolDefinitionParameterException.php';
796  }
797 
798  $definitionIds = array();
799 
800  foreach ($_POST['src_pool_def_ids'] as $definitionId) {
801  $definitionId = (int) $definitionId;
802 
803  if (!$definitionId) {
804  require_once 'Modules/Test/exceptions/class.ilTestMissingSourcePoolDefinitionParameterException.php';
806  }
807 
808  $definitionIds[] = $definitionId;
809  }
810 
811  return $definitionIds;
812  }
$_POST["username"]
+ Here is the caller graph for this function:

◆ fetchPoolIdsParameter()

ilTestRandomQuestionSetConfigGUI::fetchPoolIdsParameter ( )
protected

Definition at line 837 of file class.ilTestRandomQuestionSetConfigGUI.php.

References $_GET, and $_POST.

Referenced by deriveNewPoolsCmd(), and selectPoolDerivationTargetCmd().

838  {
839  if (isset($_POST['derive_pool_ids']) && is_array($_POST['derive_pool_ids'])) {
840  $poolIds = array();
841 
842  foreach ($_POST['derive_pool_ids'] as $poolId) {
843  $poolIds[] = (int) $poolId;
844  }
845  } elseif (isset($_GET['derive_pool_ids']) && preg_match('/^\d+(\:\d+)*$/', $_GET['derive_pool_ids'])) {
846  $poolIds = explode(':', $_GET['derive_pool_ids']);
847  } elseif (isset($_GET['derive_pool_id']) && (int) $_GET['derive_pool_id']) {
848  $poolIds = array( (int) $_GET['derive_pool_id'] );
849  }
850 
851  return $poolIds;
852  }
$_GET["client_id"]
$_POST["username"]
+ Here is the caller graph for this function:

◆ fetchQuestionPoolIdParameter()

ilTestRandomQuestionSetConfigGUI::fetchQuestionPoolIdParameter ( )
private

Definition at line 755 of file class.ilTestRandomQuestionSetConfigGUI.php.

References $_GET, $_POST, and $DIC.

Referenced by executeCommand(), saveCreateSourcePoolDefinitionFormCmd(), and showCreateSourcePoolDefinitionFormCmd().

756  {
757  if (isset($_POST['quest_pool_id']) && (int) $_POST['quest_pool_id']) {
758  return (int) $_POST['quest_pool_id'];
759  }
760 
761  if (isset($_GET['quest_pool_id']) && (int) $_GET['quest_pool_id']) {
762  return (int) $_GET['quest_pool_id'];
763  }
764 
765  if (isset($_GET['quest_pool_ref']) && (int) $_GET['quest_pool_ref']) {
766  global $DIC; /* @var ILIAS\DI\Container $DIC */
767  /* @var ilObjectDataCache $objCache */
768  $objCache = $DIC['ilObjDataCache'];
769 
770  return $objCache->lookupObjId((int) $_GET['quest_pool_ref']);
771  }
772 
773  require_once 'Modules/Test/exceptions/class.ilTestMissingQuestionPoolIdParameterException.php';
775  }
$_GET["client_id"]
$DIC
Definition: xapitoken.php:46
$_POST["username"]
+ Here is the caller graph for this function:

◆ fetchSingleSourcePoolDefinitionIdParameter()

ilTestRandomQuestionSetConfigGUI::fetchSingleSourcePoolDefinitionIdParameter ( )
private

Definition at line 777 of file class.ilTestRandomQuestionSetConfigGUI.php.

References $_GET, and $_POST.

Referenced by deleteSingleSourcePoolDefinitionCmd(), saveEditSourcePoolDefinitionFormCmd(), and showEditSourcePoolDefinitionFormCmd().

778  {
779  if (isset($_POST['src_pool_def_id']) && (int) $_POST['src_pool_def_id']) {
780  return (int) $_POST['src_pool_def_id'];
781  }
782 
783  if (isset($_GET['src_pool_def_id']) && (int) $_GET['src_pool_def_id']) {
784  return (int) $_GET['src_pool_def_id'];
785  }
786 
787  require_once 'Modules/Test/exceptions/class.ilTestMissingSourcePoolDefinitionParameterException.php';
789  }
$_GET["client_id"]
$_POST["username"]
+ Here is the caller graph for this function:

◆ fetchTargetRefParameter()

ilTestRandomQuestionSetConfigGUI::fetchTargetRefParameter ( )
protected

Definition at line 854 of file class.ilTestRandomQuestionSetConfigGUI.php.

References $_GET.

Referenced by deriveNewPoolsCmd().

855  {
856  if (isset($_GET['target_ref']) && (int) $_GET['target_ref']) {
857  return (int) $_GET['target_ref'];
858  }
859 
860  return null;
861  }
$_GET["client_id"]
+ Here is the caller graph for this function:

◆ getGeneralConfigTabLabel()

ilTestRandomQuestionSetConfigGUI::getGeneralConfigTabLabel ( )
Returns
string

Definition at line 931 of file class.ilTestRandomQuestionSetConfigGUI.php.

Referenced by handleTabs().

932  {
933  return $this->lng->txt('tst_rnd_quest_cfg_tab_general');
934  }
+ Here is the caller graph for this function:

◆ getGeneralModificationSuccessMessage()

ilTestRandomQuestionSetConfigGUI::getGeneralModificationSuccessMessage ( )
private
Returns
string

Definition at line 923 of file class.ilTestRandomQuestionSetConfigGUI.php.

Referenced by showGeneralConfigFormCmd(), and showSourcePoolDefinitionListCmd().

924  {
925  return $this->lng->txt("tst_msg_random_question_set_config_modified");
926  }
+ Here is the caller graph for this function:

◆ getPoolConfigTabLabel()

ilTestRandomQuestionSetConfigGUI::getPoolConfigTabLabel ( )
Returns
string

Definition at line 939 of file class.ilTestRandomQuestionSetConfigGUI.php.

Referenced by handleTabs().

940  {
941  return $this->lng->txt('tst_rnd_quest_cfg_tab_pool');
942  }
+ Here is the caller graph for this function:

◆ getSourcePoolDefinitionByAvailableQuestionPoolId()

ilTestRandomQuestionSetConfigGUI::getSourcePoolDefinitionByAvailableQuestionPoolId (   $poolId)
private

Definition at line 814 of file class.ilTestRandomQuestionSetConfigGUI.php.

Referenced by executeCommand(), saveCreateSourcePoolDefinitionFormCmd(), and showCreateSourcePoolDefinitionFormCmd().

815  {
816  $availablePools = $this->testOBJ->getAvailableQuestionpools(
817  true,
818  $this->questionSetConfig->arePoolsWithHomogeneousScoredQuestionsRequired(),
819  false,
820  true,
821  true
822  );
823 
824  if (isset($availablePools[$poolId])) {
825  $originalPoolData = $availablePools[$poolId];
826 
827  $originalPoolData['qpl_path'] = $this->questionSetConfig->getQuestionPoolPathString($poolId);
828  $originalPoolData['qpl_ref_id'] = $this->questionSetConfig->getFirstQuestionPoolRefIdByObjId($poolId);
829 
830  return $this->sourcePoolDefinitionFactory->getSourcePoolDefinitionByOriginalPoolData($originalPoolData);
831  }
832 
833  require_once 'Modules/Test/exceptions/class.ilTestQuestionPoolNotAvailableAsSourcePoolException.php';
835  }
+ Here is the caller graph for this function:

◆ handleTabs()

ilTestRandomQuestionSetConfigGUI::handleTabs ( )
private

Definition at line 265 of file class.ilTestRandomQuestionSetConfigGUI.php.

References getGeneralConfigTabLabel(), and getPoolConfigTabLabel().

Referenced by executeCommand().

266  {
267  $this->tabs->activateTab('assQuestions');
268 
269  $this->tabs->addSubTab(
270  'tstRandQuestSetGeneralConfig',
271  $this->getGeneralConfigTabLabel(),
272  $this->ctrl->getLinkTarget($this, self::CMD_SHOW_GENERAL_CONFIG_FORM)
273  );
274 
275  $this->tabs->addSubTab(
276  'tstRandQuestSetPoolConfig',
277  $this->getPoolConfigTabLabel(),
278  $this->ctrl->getLinkTarget($this, self::CMD_SHOW_SRC_POOL_DEF_LIST)
279  );
280 
281  switch ($this->ctrl->getCmd(self::CMD_SHOW_GENERAL_CONFIG_FORM)) {
282  case self::CMD_SHOW_GENERAL_CONFIG_FORM:
283  case self::CMD_SAVE_GENERAL_CONFIG_FORM:
284 
285  $this->tabs->activateSubTab('tstRandQuestSetGeneralConfig');
286  break;
287 
288  case self::CMD_SHOW_SRC_POOL_DEF_LIST:
289  case self::CMD_SAVE_SRC_POOL_DEF_LIST:
290  case self::CMD_DELETE_SINGLE_SRC_POOL_DEF:
291  case self::CMD_DELETE_MULTI_SRC_POOL_DEFS:
292  case self::CMD_SHOW_CREATE_SRC_POOL_DEF_FORM:
293  case self::CMD_SAVE_CREATE_SRC_POOL_DEF_FORM:
294  case self::CMD_SHOW_EDIT_SRC_POOL_DEF_FORM:
295  case self::CMD_SAVE_EDIT_SRC_POOL_DEF_FORM:
296 
297  $this->tabs->activateSubTab('tstRandQuestSetPoolConfig');
298  break;
299 
300  default: $this->tabs->activateSubTab('nonTab');
301  }
302  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ isAvoidManipulationRedirectRequired()

ilTestRandomQuestionSetConfigGUI::isAvoidManipulationRedirectRequired ( )
private

Definition at line 221 of file class.ilTestRandomQuestionSetConfigGUI.php.

References isFrozenConfigRequired(), and isManipulationCommand().

Referenced by executeCommand().

222  {
223  if (!$this->isFrozenConfigRequired()) {
224  return false;
225  }
226 
227  if (!$this->isManipulationCommand()) {
228  return false;
229  }
230 
231  return true;
232  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ isFrozenConfigRequired()

ilTestRandomQuestionSetConfigGUI::isFrozenConfigRequired ( )
private

Definition at line 234 of file class.ilTestRandomQuestionSetConfigGUI.php.

Referenced by buildGeneralConfigFormGUI(), buildSourcePoolDefinitionListTableGUI(), isAvoidManipulationRedirectRequired(), and showSourcePoolDefinitionListCmd().

235  {
236  if ($this->testOBJ->participantDataExist()) {
237  return true;
238  }
239 
240  if ($this->sourcePoolDefinitionList->hasLostPool()) {
241  return true;
242  }
243 
244  return false;
245  }
+ Here is the caller graph for this function:

◆ isManipulationCommand()

ilTestRandomQuestionSetConfigGUI::isManipulationCommand ( )
private

Definition at line 247 of file class.ilTestRandomQuestionSetConfigGUI.php.

Referenced by isAvoidManipulationRedirectRequired().

248  {
249  switch ($this->ctrl->getCmd(self::CMD_SHOW_GENERAL_CONFIG_FORM)) {
250  case self::CMD_SAVE_GENERAL_CONFIG_FORM:
251  case self::CMD_SAVE_SRC_POOL_DEF_LIST:
252  case self::CMD_DELETE_SINGLE_SRC_POOL_DEF:
253  case self::CMD_DELETE_MULTI_SRC_POOL_DEFS:
254  case self::CMD_SAVE_CREATE_SRC_POOL_DEF_FORM:
255  case self::CMD_SAVE_EDIT_SRC_POOL_DEF_FORM:
256  case self::CMD_SAVE_AND_NEW_CREATE_SRC_POOL_DEF_FORM:
257  case self::CMD_BUILD_QUESTION_STAGE:
258 
259  return true;
260  }
261 
262  return false;
263  }
+ Here is the caller graph for this function:

◆ saveCreateAndNewSourcePoolDefinitionFormCmd()

ilTestRandomQuestionSetConfigGUI::saveCreateAndNewSourcePoolDefinitionFormCmd ( )
private

Definition at line 623 of file class.ilTestRandomQuestionSetConfigGUI.php.

References saveCreateSourcePoolDefinitionFormCmd().

624  {
626  }
saveCreateSourcePoolDefinitionFormCmd($redirect_back_to_form=false)
+ Here is the call graph for this function:

◆ saveCreateSourcePoolDefinitionFormCmd()

ilTestRandomQuestionSetConfigGUI::saveCreateSourcePoolDefinitionFormCmd (   $redirect_back_to_form = false)
private
Parameters
bool$redirect_back_to_form

Definition at line 631 of file class.ilTestRandomQuestionSetConfigGUI.php.

References $errors, buildCreateSourcePoolDefinitionFormGUI(), fetchQuestionPoolIdParameter(), getSourcePoolDefinitionByAvailableQuestionPoolId(), ilObjTaxonomy\getUsageOfObject(), and showCreateSourcePoolDefinitionFormCmd().

Referenced by saveCreateAndNewSourcePoolDefinitionFormCmd().

632  {
633  $this->questionSetConfig->loadFromDb();
634 
635  $poolId = $this->fetchQuestionPoolIdParameter();
636  $sourcePoolDefinition = $this->getSourcePoolDefinitionByAvailableQuestionPoolId($poolId);
637  $availableTaxonomyIds = ilObjTaxonomy::getUsageOfObject($sourcePoolDefinition->getPoolId());
638 
640  $form->build($sourcePoolDefinition, $availableTaxonomyIds);
641 
642  $errors = !$form->checkInput(); // ALWAYS CALL BEFORE setValuesByPost()
643  $form->setValuesByPost(); // NEVER CALL THIS BEFORE checkInput()
644 
645  if ($errors) {
646  return $this->showCreateSourcePoolDefinitionFormCmd($form);
647  }
648 
649  $form->applySubmit($sourcePoolDefinition, $availableTaxonomyIds);
650 
651  $sourcePoolDefinition->setSequencePosition($this->sourcePoolDefinitionList->getNextPosition());
652  $sourcePoolDefinition->saveToDb();
653  $this->sourcePoolDefinitionList->addDefinition($sourcePoolDefinition);
654 
655  $this->sourcePoolDefinitionList->saveDefinitions();
656 
657  $this->questionSetConfig->setLastQuestionSyncTimestamp(0);
658  $this->questionSetConfig->saveToDb();
659 
660  $this->testOBJ->saveCompleteStatus($this->questionSetConfig);
661 
662  if ($redirect_back_to_form) {
663  ilUtil::sendSuccess($this->lng->txt("tst_msg_random_qsc_modified_add_new_rule"), true);
664  $this->ctrl->setParameter($this, 'src_pool_def_id', $sourcePoolDefinition->getId());
665  $this->ctrl->setParameter($this, 'quest_pool_id', $sourcePoolDefinition->getPoolId());
666  $this->ctrl->redirect($this, self::CMD_SHOW_CREATE_SRC_POOL_DEF_FORM);
667  } else {
668  ilUtil::sendSuccess($this->lng->txt("tst_msg_random_question_set_config_modified"), true);
669  $this->ctrl->redirect($this, self::CMD_SHOW_SRC_POOL_DEF_LIST);
670  }
671  }
$errors
static getUsageOfObject($a_obj_id, $a_include_titles=false)
Get usage of object.
showCreateSourcePoolDefinitionFormCmd(ilTestRandomQuestionSetPoolDefinitionFormGUI $form=null)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ saveEditSourcePoolDefinitionFormCmd()

ilTestRandomQuestionSetConfigGUI::saveEditSourcePoolDefinitionFormCmd ( )
private

Definition at line 707 of file class.ilTestRandomQuestionSetConfigGUI.php.

References $errors, buildEditSourcePoolDefinitionFormGUI(), fetchSingleSourcePoolDefinitionIdParameter(), ilObjTaxonomy\getUsageOfObject(), and showSourcePoolDefinitionListCmd().

708  {
709  $this->questionSetConfig->loadFromDb();
710 
712  $sourcePoolDefinition = $this->sourcePoolDefinitionFactory->getSourcePoolDefinitionByDefinitionId($defId);
713  $availableTaxonomyIds = ilObjTaxonomy::getUsageOfObject($sourcePoolDefinition->getPoolId());
714 
715  $form = $this->buildEditSourcePoolDefinitionFormGUI();
716  $form->build($sourcePoolDefinition, $availableTaxonomyIds);
717 
718  $errors = !$form->checkInput(); // ALWAYS CALL BEFORE setValuesByPost()
719  $form->setValuesByPost(); // NEVER CALL THIS BEFORE checkInput()
720 
721  if ($errors) {
722  return $this->showSourcePoolDefinitionListCmd($form);
723  }
724 
725  $form->applySubmit($sourcePoolDefinition, $availableTaxonomyIds);
726 
727  $sourcePoolDefinition->saveToDb();
728 
729  $this->questionSetConfig->setLastQuestionSyncTimestamp(0);
730  $this->questionSetConfig->saveToDb();
731 
732  $this->testOBJ->saveCompleteStatus($this->questionSetConfig);
733 
734  ilUtil::sendSuccess($this->lng->txt("tst_msg_random_question_set_config_modified"), true);
735  $this->ctrl->redirect($this, self::CMD_SHOW_SRC_POOL_DEF_LIST);
736  }
$errors
static getUsageOfObject($a_obj_id, $a_include_titles=false)
Get usage of object.
+ Here is the call graph for this function:

◆ saveGeneralConfigFormCmd()

ilTestRandomQuestionSetConfigGUI::saveGeneralConfigFormCmd ( )
private

Definition at line 368 of file class.ilTestRandomQuestionSetConfigGUI.php.

References $errors, buildGeneralConfigFormGUI(), and showGeneralConfigFormCmd().

369  {
370  $this->questionSetConfig->loadFromDb();
371 
372  $form = $this->buildGeneralConfigFormGUI();
373 
374  $errors = !$form->checkInput(); // ALWAYS CALL BEFORE setValuesByPost()
375  $form->setValuesByPost(); // NEVER CALL THIS BEFORE checkInput()
376 
377  if ($errors) {
378  return $this->showGeneralConfigFormCmd($form);
379  }
380 
381  $form->save();
382 
383  $this->questionSetConfig->setLastQuestionSyncTimestamp(0);
384  $this->questionSetConfig->saveToDb();
385 
386  $this->testOBJ->saveCompleteStatus($this->questionSetConfig);
387 
388  $this->ctrl->setParameter($this, 'modified', 1);
389  $this->ctrl->redirect($this, self::CMD_SHOW_GENERAL_CONFIG_FORM);
390  }
$errors
showGeneralConfigFormCmd(ilTestRandomQuestionSetGeneralConfigFormGUI $form=null)
+ Here is the call graph for this function:

◆ saveSourcePoolDefinitionListCmd()

ilTestRandomQuestionSetConfigGUI::saveSourcePoolDefinitionListCmd ( )
private

Definition at line 455 of file class.ilTestRandomQuestionSetConfigGUI.php.

References buildSourcePoolDefinitionListTableGUI().

456  {
457  $this->questionSetConfig->loadFromDb();
458 
459  $table = $this->buildSourcePoolDefinitionListTableGUI();
460 
461  $table->applySubmit($this->sourcePoolDefinitionList);
462 
463  $this->sourcePoolDefinitionList->reindexPositions();
464  $this->sourcePoolDefinitionList->saveDefinitions();
465 
466  // fau: delayCopyRandomQuestions - don't rebuild the staging pool, just clear the sycn timestamp
467  #$this->stagingPool->rebuild( $this->sourcePoolDefinitionList );
468  #$this->sourcePoolDefinitionList->saveDefinitions();
469  #$this->questionSetConfig->setLastQuestionSyncTimestamp(time());
470  $this->questionSetConfig->setLastQuestionSyncTimestamp(0);
471  // fau.
472  $this->questionSetConfig->saveToDb();
473 
474  $this->testOBJ->saveCompleteStatus($this->questionSetConfig);
475 
476  $this->ctrl->setParameter($this, 'modified', 1);
477  $this->ctrl->redirect($this, self::CMD_SHOW_SRC_POOL_DEF_LIST);
478  }
+ Here is the call graph for this function:

◆ selectPoolDerivationTargetCmd()

ilTestRandomQuestionSetConfigGUI::selectPoolDerivationTargetCmd ( )
private

Definition at line 863 of file class.ilTestRandomQuestionSetConfigGUI.php.

References fetchPoolIdsParameter(), and ilUtil\sendInfo().

864  {
865  $this->ctrl->setParameter($this, 'derive_pool_ids', implode(':', $this->fetchPoolIdsParameter()));
866 
867  require_once 'Services/Repository/classes/class.ilRepositorySelectorExplorerGUI.php';
868  $explorer = new ilRepositorySelectorExplorerGUI(
869  $this,
870  self::CMD_SELECT_DERIVATION_TARGET,
871  $this,
872  self::CMD_DERIVE_NEW_POOLS,
873  'target_ref'
874  );
875  $explorer->setClickableTypes($this->objDefinition->getExplorerContainerTypes());
876  $explorer->setSelectableTypes(array());
877 
878  if (!$explorer->handleCommand()) {
879  ilUtil::sendInfo($this->lng->txt('tst_please_select_target_for_pool_derives'));
880  $this->tpl->setContent($this->ctrl->getHTML($explorer));
881  }
882  }
Explorer for selecting repository items.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
+ Here is the call graph for this function:

◆ showCreateSourcePoolDefinitionFormCmd()

ilTestRandomQuestionSetConfigGUI::showCreateSourcePoolDefinitionFormCmd ( ilTestRandomQuestionSetPoolDefinitionFormGUI  $form = null)
private

Definition at line 606 of file class.ilTestRandomQuestionSetConfigGUI.php.

References buildCreateSourcePoolDefinitionFormGUI(), fetchQuestionPoolIdParameter(), getSourcePoolDefinitionByAvailableQuestionPoolId(), and ilObjTaxonomy\getUsageOfObject().

Referenced by saveCreateSourcePoolDefinitionFormCmd().

607  {
608  $this->questionSetConfig->loadFromDb();
609 
610  $poolId = $this->fetchQuestionPoolIdParameter();
611 
612  $sourcePoolDefinition = $this->getSourcePoolDefinitionByAvailableQuestionPoolId($poolId);
613  $availableTaxonomyIds = ilObjTaxonomy::getUsageOfObject($sourcePoolDefinition->getPoolId());
614 
615  if ($form === null) {
617  $form->build($sourcePoolDefinition, $availableTaxonomyIds);
618  }
619 
620  $this->tpl->setContent($this->ctrl->getHTML($form));
621  }
build(ilTestRandomQuestionSetSourcePoolDefinition $sourcePool, $availableTaxonomyIds)
static getUsageOfObject($a_obj_id, $a_include_titles=false)
Get usage of object.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ showEditSourcePoolDefinitionFormCmd()

ilTestRandomQuestionSetConfigGUI::showEditSourcePoolDefinitionFormCmd ( ilTestRandomQuestionSetPoolDefinitionFormGUI  $form = null)
private

Definition at line 691 of file class.ilTestRandomQuestionSetConfigGUI.php.

References buildEditSourcePoolDefinitionFormGUI(), fetchSingleSourcePoolDefinitionIdParameter(), and ilObjTaxonomy\getUsageOfObject().

692  {
693  $this->questionSetConfig->loadFromDb();
694 
696  $sourcePoolDefinition = $this->sourcePoolDefinitionFactory->getSourcePoolDefinitionByDefinitionId($defId);
697  $availableTaxonomyIds = ilObjTaxonomy::getUsageOfObject($sourcePoolDefinition->getPoolId());
698 
699  if ($form === null) {
700  $form = $this->buildEditSourcePoolDefinitionFormGUI();
701  $form->build($sourcePoolDefinition, $availableTaxonomyIds);
702  }
703 
704  $this->tpl->setContent($this->ctrl->getHTML($form));
705  }
build(ilTestRandomQuestionSetSourcePoolDefinition $sourcePool, $availableTaxonomyIds)
static getUsageOfObject($a_obj_id, $a_include_titles=false)
Get usage of object.
+ Here is the call graph for this function:

◆ showGeneralConfigFormCmd()

ilTestRandomQuestionSetConfigGUI::showGeneralConfigFormCmd ( ilTestRandomQuestionSetGeneralConfigFormGUI  $form = null)
private

Definition at line 338 of file class.ilTestRandomQuestionSetConfigGUI.php.

References $_GET, buildGeneralConfigFormGUI(), ilTestRandomQuestionSetConfigStateMessageHandler\CONTEXT_GENERAL_CONFIG, getGeneralModificationSuccessMessage(), ilUtil\sendFailure(), and ilUtil\sendInfo().

Referenced by saveGeneralConfigFormCmd().

339  {
340  if ($form === null) {
341  $this->questionSetConfig->loadFromDb();
342  $form = $this->buildGeneralConfigFormGUI();
343  }
344 
345  $this->tpl->setContent($this->ctrl->getHTML($form));
346 
347  $this->configStateMessageHandler->setContext(
349  );
350 
351  $this->configStateMessageHandler->handle();
352 
353  if ($this->configStateMessageHandler->hasValidationReports()) {
354  if ($this->configStateMessageHandler->isValidationFailed()) {
356  $this->configStateMessageHandler->getValidationReportHtml()
357  );
358  } else {
359  ilUtil::sendInfo($this->configStateMessageHandler->getValidationReportHtml());
360  }
361  }
362 
363  if (isset($_GET['modified']) && (int) $_GET['modified']) {
364  ilUtil::sendSuccess($this->getGeneralModificationSuccessMessage());
365  }
366  }
$_GET["client_id"]
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ showPoolSelectorExplorerCmd()

ilTestRandomQuestionSetConfigGUI::showPoolSelectorExplorerCmd ( )
protected

Definition at line 583 of file class.ilTestRandomQuestionSetConfigGUI.php.

584  {
585  $this->questionSetConfig->loadFromDb();
586 
587  require_once 'Services/Repository/classes/class.ilTestQuestionPoolSelectorExplorer.php';
588  $selector = new ilTestQuestionPoolSelectorExplorer(
589  $this,
590  self::CMD_SHOW_POOL_SELECTOR_EXPLORER,
591  self::CMD_SHOW_CREATE_SRC_POOL_DEF_FORM
592  );
593 
594  $selector->setAvailableQuestionPools(
595  array_keys($this->questionSetConfig->getSelectableQuestionPools())
596  );
597 
598  if ($selector->handleCommand()) {
599  return;
600  }
601 
602  $this->tpl->setContent($selector->getHTML());
603  }

◆ showSourcePoolDefinitionListCmd()

ilTestRandomQuestionSetConfigGUI::showSourcePoolDefinitionListCmd ( )
private

Definition at line 411 of file class.ilTestRandomQuestionSetConfigGUI.php.

References $_GET, buildNonAvailablePoolsTableGUI(), buildSourcePoolDefinitionListTableGUI(), buildSourcePoolDefinitionListToolbarGUI(), ilTestRandomQuestionSetConfigStateMessageHandler\CONTEXT_POOL_SELECTION, getGeneralModificationSuccessMessage(), isFrozenConfigRequired(), ilUtil\sendFailure(), and ilUtil\sendInfo().

Referenced by saveEditSourcePoolDefinitionFormCmd().

412  {
413  $this->questionSetConfig->loadFromDb();
414 
415  $content = '';
416 
417  if (!$this->isFrozenConfigRequired()) {
418  $toolbar = $this->buildSourcePoolDefinitionListToolbarGUI();
419  $content .= $this->ctrl->getHTML($toolbar);
420  }
421 
422  $table = $this->buildSourcePoolDefinitionListTableGUI();
423  $table->init($this->sourcePoolDefinitionList);
424  $content .= $this->ctrl->getHTML($table);
425 
426  if (!$this->sourcePoolDefinitionList->areAllUsedPoolsAvailable()) {
427  $table = $this->buildNonAvailablePoolsTableGUI();
428  $table->init($this->sourcePoolDefinitionList);
429  $content .= $this->ctrl->getHTML($table);
430  }
431 
432  $this->tpl->setContent($content);
433 
434  $this->configStateMessageHandler->setContext(
436  );
437 
438  $this->configStateMessageHandler->handle();
439 
440  if ($this->configStateMessageHandler->hasValidationReports()) {
441  if ($this->configStateMessageHandler->isValidationFailed()) {
443  $this->configStateMessageHandler->getValidationReportHtml()
444  );
445  } else {
446  ilUtil::sendInfo($this->configStateMessageHandler->getValidationReportHtml());
447  }
448  }
449 
450  if (isset($_GET['modified']) && (int) $_GET['modified']) {
451  ilUtil::sendSuccess($this->getGeneralModificationSuccessMessage());
452  }
453  }
$_GET["client_id"]
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Field Documentation

◆ $access

ilTestRandomQuestionSetConfigGUI::$access = null

Definition at line 54 of file class.ilTestRandomQuestionSetConfigGUI.php.

Referenced by __construct().

◆ $configStateMessageHandler

ilTestRandomQuestionSetConfigGUI::$configStateMessageHandler
protected

Definition at line 119 of file class.ilTestRandomQuestionSetConfigGUI.php.

◆ $ctrl

ilTestRandomQuestionSetConfigGUI::$ctrl = null

Definition at line 49 of file class.ilTestRandomQuestionSetConfigGUI.php.

Referenced by __construct().

◆ $db

ilTestRandomQuestionSetConfigGUI::$db = null

Definition at line 74 of file class.ilTestRandomQuestionSetConfigGUI.php.

Referenced by __construct().

◆ $lng

ilTestRandomQuestionSetConfigGUI::$lng = null

Definition at line 64 of file class.ilTestRandomQuestionSetConfigGUI.php.

Referenced by __construct().

◆ $objDefinition

ilTestRandomQuestionSetConfigGUI::$objDefinition = null

Definition at line 89 of file class.ilTestRandomQuestionSetConfigGUI.php.

◆ $pluginAdmin

ilTestRandomQuestionSetConfigGUI::$pluginAdmin = null

Definition at line 84 of file class.ilTestRandomQuestionSetConfigGUI.php.

Referenced by __construct().

◆ $processLockerFactory

ilTestRandomQuestionSetConfigGUI::$processLockerFactory
private

Definition at line 123 of file class.ilTestRandomQuestionSetConfigGUI.php.

Referenced by __construct().

◆ $questionSetConfig

ilTestRandomQuestionSetConfigGUI::$questionSetConfig = null
protected

Definition at line 99 of file class.ilTestRandomQuestionSetConfigGUI.php.

◆ $sourcePoolDefinitionFactory

ilTestRandomQuestionSetConfigGUI::$sourcePoolDefinitionFactory = null
protected

Definition at line 104 of file class.ilTestRandomQuestionSetConfigGUI.php.

◆ $sourcePoolDefinitionList

ilTestRandomQuestionSetConfigGUI::$sourcePoolDefinitionList = null
protected

Definition at line 109 of file class.ilTestRandomQuestionSetConfigGUI.php.

◆ $stagingPool

ilTestRandomQuestionSetConfigGUI::$stagingPool = null
protected

Definition at line 114 of file class.ilTestRandomQuestionSetConfigGUI.php.

◆ $tabs

ilTestRandomQuestionSetConfigGUI::$tabs = null

Definition at line 59 of file class.ilTestRandomQuestionSetConfigGUI.php.

Referenced by __construct().

◆ $testOBJ

ilTestRandomQuestionSetConfigGUI::$testOBJ = null

Definition at line 94 of file class.ilTestRandomQuestionSetConfigGUI.php.

Referenced by __construct().

◆ $tpl

ilTestRandomQuestionSetConfigGUI::$tpl = null

Definition at line 69 of file class.ilTestRandomQuestionSetConfigGUI.php.

Referenced by __construct().

◆ $tree

ilTestRandomQuestionSetConfigGUI::$tree = null

Definition at line 79 of file class.ilTestRandomQuestionSetConfigGUI.php.

Referenced by __construct().

◆ CMD_BUILD_QUESTION_STAGE

const ilTestRandomQuestionSetConfigGUI::CMD_BUILD_QUESTION_STAGE = 'buildQuestionStage'

◆ CMD_DELETE_MULTI_SRC_POOL_DEFS

const ilTestRandomQuestionSetConfigGUI::CMD_DELETE_MULTI_SRC_POOL_DEFS = 'deleteMultipleSourcePoolDefinitions'

◆ CMD_DELETE_SINGLE_SRC_POOL_DEF

const ilTestRandomQuestionSetConfigGUI::CMD_DELETE_SINGLE_SRC_POOL_DEF = 'deleteSingleSourcePoolDefinition'

◆ CMD_DERIVE_NEW_POOLS

const ilTestRandomQuestionSetConfigGUI::CMD_DERIVE_NEW_POOLS = 'deriveNewPools'

Definition at line 43 of file class.ilTestRandomQuestionSetConfigGUI.php.

◆ CMD_SAVE_AND_NEW_CREATE_SRC_POOL_DEF_FORM

const ilTestRandomQuestionSetConfigGUI::CMD_SAVE_AND_NEW_CREATE_SRC_POOL_DEF_FORM = 'saveCreateAndNewSourcePoolDefinitionForm'

Definition at line 38 of file class.ilTestRandomQuestionSetConfigGUI.php.

◆ CMD_SAVE_CREATE_SRC_POOL_DEF_FORM

const ilTestRandomQuestionSetConfigGUI::CMD_SAVE_CREATE_SRC_POOL_DEF_FORM = 'saveCreateSourcePoolDefinitionForm'

Definition at line 37 of file class.ilTestRandomQuestionSetConfigGUI.php.

◆ CMD_SAVE_EDIT_SRC_POOL_DEF_FORM

const ilTestRandomQuestionSetConfigGUI::CMD_SAVE_EDIT_SRC_POOL_DEF_FORM = 'saveEditSourcePoolDefinitionForm'

Definition at line 40 of file class.ilTestRandomQuestionSetConfigGUI.php.

◆ CMD_SAVE_GENERAL_CONFIG_FORM

const ilTestRandomQuestionSetConfigGUI::CMD_SAVE_GENERAL_CONFIG_FORM = 'saveGeneralConfigForm'

◆ CMD_SAVE_SRC_POOL_DEF_LIST

const ilTestRandomQuestionSetConfigGUI::CMD_SAVE_SRC_POOL_DEF_LIST = 'saveSourcePoolDefinitionList'

◆ CMD_SELECT_DERIVATION_TARGET

const ilTestRandomQuestionSetConfigGUI::CMD_SELECT_DERIVATION_TARGET = 'selectPoolDerivationTarget'

◆ CMD_SHOW_CREATE_SRC_POOL_DEF_FORM

const ilTestRandomQuestionSetConfigGUI::CMD_SHOW_CREATE_SRC_POOL_DEF_FORM = 'showCreateSourcePoolDefinitionForm'

Definition at line 36 of file class.ilTestRandomQuestionSetConfigGUI.php.

◆ CMD_SHOW_EDIT_SRC_POOL_DEF_FORM

const ilTestRandomQuestionSetConfigGUI::CMD_SHOW_EDIT_SRC_POOL_DEF_FORM = 'showEditSourcePoolDefinitionForm'

◆ CMD_SHOW_GENERAL_CONFIG_FORM

const ilTestRandomQuestionSetConfigGUI::CMD_SHOW_GENERAL_CONFIG_FORM = 'showGeneralConfigForm'

◆ CMD_SHOW_POOL_SELECTOR_EXPLORER

const ilTestRandomQuestionSetConfigGUI::CMD_SHOW_POOL_SELECTOR_EXPLORER = 'showPoolSelectorExplorer'

◆ CMD_SHOW_SRC_POOL_DEF_LIST

◆ HTTP_PARAM_AFTER_REBUILD_QUESTION_STAGE_CMD

const ilTestRandomQuestionSetConfigGUI::HTTP_PARAM_AFTER_REBUILD_QUESTION_STAGE_CMD = 'afterRebuildQuestionStageCmd'

The documentation for this class was generated from the following file: