ILIAS  release_5-3 Revision v5.3.23-19-g915713cf615
ilTestRandomQuestionSetConfigGUI Class Reference
+ Collaboration diagram for ilTestRandomQuestionSetConfigGUI:

Public Member Functions

 __construct (ilCtrl $ctrl, ilAccessHandler $access, ilTabsGUI $tabs, ilLanguage $lng, ilTemplate $tpl, ilDBInterface $db, ilTree $tree, ilPluginAdmin $pluginAdmin, ilObjTest $testOBJ)
 
 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 ()
 

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,
ilTemplate  $tpl,
ilDBInterface  $db,
ilTree  $tree,
ilPluginAdmin  $pluginAdmin,
ilObjTest  $testOBJ 
)

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

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

131  {
132  $this->ctrl = $ctrl;
133  $this->access = $access;
134  $this->tabs = $tabs;
135  $this->lng = $lng;
136  $this->tpl = $tpl;
137  $this->db = $db;
138  $this->tree = $tree;
139  $this->pluginAdmin = $pluginAdmin;
140  $this->objDefinition = $GLOBALS['DIC']['objDefinition'];
141  $this->testOBJ = $testOBJ;
142 
143  $this->questionSetConfig = new ilTestRandomQuestionSetConfig(
144  $this->tree,
145  $this->db,
146  $this->pluginAdmin,
147  $this->testOBJ
148  );
149 
150  $this->sourcePoolDefinitionFactory = new ilTestRandomQuestionSetSourcePoolDefinitionFactory(
151  $this->db,
152  $this->testOBJ
153  );
154 
155  $this->sourcePoolDefinitionList = new ilTestRandomQuestionSetSourcePoolDefinitionList(
156  $this->db,
157  $this->testOBJ,
158  $this->sourcePoolDefinitionFactory
159  );
160 
161  $this->sourcePoolDefinitionList->loadDefinitions();
162 
163  $this->stagingPool = new ilTestRandomQuestionSetStagingPoolBuilder(
164  $this->db,
165  $this->testOBJ
166  );
167 
168  $this->configStateMessageHandler = new ilTestRandomQuestionSetConfigStateMessageHandler(
169  $this->lng,
170  $this->ctrl
171  );
172 
173  $this->configStateMessageHandler->setTargetGUI($this);
174  $this->configStateMessageHandler->setQuestionSetConfig($this->questionSetConfig);
175  $this->configStateMessageHandler->setParticipantDataExists($this->testOBJ->participantDataExist());
176  $this->configStateMessageHandler->setLostPools($this->sourcePoolDefinitionList->getLostPools());
177  }
$GLOBALS['loaded']
Global hash that tracks already loaded includes.

Member Function Documentation

◆ buildCreateSourcePoolDefinitionFormGUI()

ilTestRandomQuestionSetConfigGUI::buildCreateSourcePoolDefinitionFormGUI ( )
private

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

References $form.

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

665  {
666  require_once 'Modules/Test/classes/forms/class.ilTestRandomQuestionSetPoolDefinitionFormGUI.php';
667 
669  $this->ctrl,
670  $this->lng,
671  $this->testOBJ,
672  $this,
673  $this->questionSetConfig
674  );
675 
676  $form->setSaveCommand(self::CMD_SAVE_CREATE_SRC_POOL_DEF_FORM);
677  $form->setSaveAndNewCommand(self::CMD_SAVE_AND_NEW_CREATE_SRC_POOL_DEF_FORM);
678 
679  return $form;
680  }
if(isset($_POST['submit'])) $form
+ Here is the caller graph for this function:

◆ buildEditSourcePoolDefinitionFormGUI()

ilTestRandomQuestionSetConfigGUI::buildEditSourcePoolDefinitionFormGUI ( )
private

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

References $form.

Referenced by saveEditSourcePoolDefinitionFormCmd(), and showEditSourcePoolDefinitionFormCmd().

730  {
731  require_once 'Modules/Test/classes/forms/class.ilTestRandomQuestionSetPoolDefinitionFormGUI.php';
732 
734  $this->ctrl,
735  $this->lng,
736  $this->testOBJ,
737  $this,
738  $this->questionSetConfig
739  );
740 
741  $form->setSaveCommand(self::CMD_SAVE_EDIT_SRC_POOL_DEF_FORM);
742 
743  return $form;
744  }
if(isset($_POST['submit'])) $form
+ Here is the caller graph for this function:

◆ buildGeneralConfigFormGUI()

ilTestRandomQuestionSetConfigGUI::buildGeneralConfigFormGUI ( )
private

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

References $form, and isFrozenConfigRequired().

Referenced by saveGeneralConfigFormCmd(), and showGeneralConfigFormCmd().

384  {
385  require_once 'Modules/Test/classes/forms/class.ilTestRandomQuestionSetGeneralConfigFormGUI.php';
386 
388  $this->ctrl,
389  $this->lng,
390  $this->testOBJ,
391  $this,
392  $this->questionSetConfig
393  );
394 
395  $form->setEditModeEnabled(!$this->isFrozenConfigRequired());
396 
397  $form->build();
398 
399  return $form;
400  }
if(isset($_POST['submit'])) $form
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ buildNonAvailablePoolsTableGUI()

ilTestRandomQuestionSetConfigGUI::buildNonAvailablePoolsTableGUI ( )
private

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

References $table.

Referenced by showSourcePoolDefinitionListCmd().

523  {
524  require_once 'Modules/Test/classes/tables/class.ilTestRandomQuestionSetNonAvailablePoolsTableGUI.php';
525 
527  $this->ctrl,
528  $this->lng,
529  $this,
530  self::CMD_SHOW_SRC_POOL_DEF_LIST
531  );
532 
533  $table->build();
534 
535  return $table;
536  }
if(empty($password)) $table
Definition: pwgen.php:24
+ Here is the caller graph for this function:

◆ buildQuestionStageCmd()

ilTestRandomQuestionSetConfigGUI::buildQuestionStageCmd ( )
private

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

References fetchAfterRebuildQuestionStageCmdParameter(), ilUtil\sendSuccess(), and time.

299  {
300  if ($this->sourcePoolDefinitionList->areAllUsedPoolsAvailable()) {
301  $this->stagingPool->rebuild($this->sourcePoolDefinitionList);
302  $this->sourcePoolDefinitionList->saveDefinitions();
303 
304  $this->questionSetConfig->loadFromDb();
305  $this->questionSetConfig->setLastQuestionSyncTimestamp(time());
306  $this->questionSetConfig->saveToDb();
307 
308  $this->testOBJ->saveCompleteStatus($this->questionSetConfig);
309 
310  ilUtil::sendSuccess($this->lng->txt("tst_msg_random_question_set_synced"), true);
311  }
312 
313  $this->ctrl->redirect($this, $this->fetchAfterRebuildQuestionStageCmdParameter());
314  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
Add data(end) time
Method that wraps PHPs time in order to allow simulations with the workflow.
+ Here is the call graph for this function:

◆ buildSourcePoolDefinitionListTableGUI()

ilTestRandomQuestionSetConfigGUI::buildSourcePoolDefinitionListTableGUI ( )
private

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

References $table, and isFrozenConfigRequired().

Referenced by saveSourcePoolDefinitionListCmd(), and showSourcePoolDefinitionListCmd().

488  {
489  require_once 'Modules/Test/classes/tables/class.ilTestRandomQuestionSetSourcePoolDefinitionListTableGUI.php';
490 
492  $this->ctrl,
493  $this->lng,
494  $this,
495  self::CMD_SHOW_SRC_POOL_DEF_LIST
496  );
497 
498  if (!$this->isFrozenConfigRequired()) {
499  $table->setDefinitionEditModeEnabled(true);
500  }
501 
502  $table->setQuestionAmountColumnEnabled(
503  $this->questionSetConfig->isQuestionAmountConfigurationModePerPool()
504  );
505 
506  // fau: taxFilter/typeFilter - show the mapped taxonomy filters if pools are synced
507  $table->setShowMappedTaxonomyFilter(
508  $this->questionSetConfig->getLastQuestionSyncTimestamp() != 0
509  );
510  // fau.
511 
512  require_once 'Modules/Test/classes/class.ilTestTaxonomyFilterLabelTranslater.php';
513  $translater = new ilTestTaxonomyFilterLabelTranslater($this->db);
514  $translater->loadLabels($this->sourcePoolDefinitionList);
515  $table->setTaxonomyFilterLabelTranslater($translater);
516 
517  $table->build();
518 
519  return $table;
520  }
if(empty($password)) $table
Definition: pwgen.php:24
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ buildSourcePoolDefinitionListToolbarGUI()

ilTestRandomQuestionSetConfigGUI::buildSourcePoolDefinitionListToolbarGUI ( )
private

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

Referenced by showSourcePoolDefinitionListCmd().

472  {
473  require_once 'Modules/Test/classes/toolbars/class.ilTestRandomQuestionSetSourcePoolDefinitionListToolbarGUI.php';
474 
476  $this->ctrl,
477  $this->lng,
478  $this,
479  $this->questionSetConfig
480  );
481 
482  $toolbar->build();
483 
484  return $toolbar;
485  }
+ Here is the caller graph for this function:

◆ deleteMultipleSourcePoolDefinitionsCmd()

ilTestRandomQuestionSetConfigGUI::deleteMultipleSourcePoolDefinitionsCmd ( )
private

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

References deleteSourcePoolDefinitions(), fetchMultiSourcePoolDefinitionIdsParameter(), and ilUtil\sendSuccess().

548  {
549  $definitionIds = $this->fetchMultiSourcePoolDefinitionIdsParameter();
550  $this->deleteSourcePoolDefinitions($definitionIds);
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  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
+ Here is the call graph for this function:

◆ deleteSingleSourcePoolDefinitionCmd()

ilTestRandomQuestionSetConfigGUI::deleteSingleSourcePoolDefinitionCmd ( )
private

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

References array, deleteSourcePoolDefinitions(), fetchSingleSourcePoolDefinitionIdParameter(), and ilUtil\sendSuccess().

539  {
540  $definitionId = $this->fetchSingleSourcePoolDefinitionIdParameter();
541  $this->deleteSourcePoolDefinitions(array($definitionId));
542 
543  ilUtil::sendSuccess($this->lng->txt("tst_msg_source_pool_definitions_deleted"), true);
544  $this->ctrl->redirect($this, self::CMD_SHOW_SRC_POOL_DEF_LIST);
545  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
Create styles array
The data for the language used.
+ Here is the call graph for this function:

◆ deleteSourcePoolDefinitions()

ilTestRandomQuestionSetConfigGUI::deleteSourcePoolDefinitions (   $definitionIds)
private

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

Referenced by deleteMultipleSourcePoolDefinitionsCmd(), and deleteSingleSourcePoolDefinitionCmd().

557  {
558  foreach ($definitionIds as $definitionId) {
559  $definition = $this->sourcePoolDefinitionFactory->getSourcePoolDefinitionByDefinitionId($definitionId);
560  $definition->deleteFromDb();
561  }
562 
563  $this->sourcePoolDefinitionList->reindexPositions();
564  $this->sourcePoolDefinitionList->saveDefinitions();
565 
566  $this->questionSetConfig->loadFromDb();
567  $this->questionSetConfig->setLastQuestionSyncTimestamp(0);
568  $this->questionSetConfig->saveToDb();
569 
570  $this->testOBJ->saveCompleteStatus($this->questionSetConfig);
571  }
+ Here is the caller graph for this function:

◆ deriveNewPoolsCmd()

ilTestRandomQuestionSetConfigGUI::deriveNewPoolsCmd ( )
private

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

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

874  {
875  $poolIds = $this->fetchPoolIdsParameter();
876  $targetRef = $this->fetchTargetRefParameter();
877 
878  if (count($poolIds)) {
879  require_once 'Modules/Test/classes/class.ilTestRandomQuestionSetPoolDeriver.php';
880 
881  foreach ($poolIds as $poolId) {
882  $lostPool = $this->sourcePoolDefinitionList->getLostPool($poolId);
883 
884  $deriver = new ilTestRandomQuestionSetPoolDeriver($this->db, $this->pluginAdmin, $this->testOBJ);
885  $deriver->setSourcePoolDefinitionList($this->sourcePoolDefinitionList);
886  $deriver->setTargetContainerRef($targetRef);
887  $deriver->setOwnerId($GLOBALS['DIC']['ilUser']->getId());
888  $newPool = $deriver->derive($lostPool);
889 
890  $srcPoolDefinition = $this->sourcePoolDefinitionList->getDefinitionBySourcePoolId($newPool->getId());
891  $srcPoolDefinition->setPoolTitle($newPool->getTitle());
892  $srcPoolDefinition->setPoolPath($this->questionSetConfig->getQuestionPoolPathString($newPool->getId()));
893  $srcPoolDefinition->saveToDb();
894 
896  $this->testOBJ->getTestId(),
897  $lostPool->getId(),
898  $newPool->getId()
899  );
900  }
901 
902  ilUtil::sendSuccess($this->lng->txt('tst_non_available_pool_newly_derived'), true);
903  }
904 
905  $this->ctrl->redirect($this, self::CMD_SHOW_SRC_POOL_DEF_LIST);
906  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
$GLOBALS['loaded']
Global hash that tracks already loaded includes.
+ Here is the call graph for this function:

◆ executeCommand()

ilTestRandomQuestionSetConfigGUI::executeCommand ( )

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

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

180  {
181  if (!$this->access->checkAccess("write", "", $this->testOBJ->getRefId())) {
182  ilUtil::sendFailure($this->lng->txt("cannot_edit_test"), true);
183  $this->ctrl->redirectByClass('ilObjTestGUI', "infoScreen");
184  }
185 
187  ilUtil::sendFailure($this->lng->txt("tst_msg_cannot_modify_random_question_set_conf_due_to_part"), true);
188  $this->ctrl->redirect($this);
189  }
190 
191  $this->handleTabs();
192 
193  $nextClass = $this->ctrl->getNextClass();
194 
195  switch ($nextClass) {
196  case 'iltestrandomquestionsetpooldefinitionformgui':
197  $this->questionSetConfig->loadFromDb();
198  $poolId = $this->fetchQuestionPoolIdParameter();
199  $sourcePoolDefinition = $this->getSourcePoolDefinitionByAvailableQuestionPoolId($poolId);
200  $availableTaxonomyIds = ilObjTaxonomy::getUsageOfObject($sourcePoolDefinition->getPoolId());
202  $form->build($sourcePoolDefinition, $availableTaxonomyIds);
203 
204  $this->ctrl->forwardCommand($form);
205  break;
206 
207  default:
208 
209  $cmd = $this->ctrl->getCmd(self::CMD_SHOW_GENERAL_CONFIG_FORM) . 'Cmd';
210 
211  $this->$cmd();
212  }
213  }
static getUsageOfObject($a_obj_id, $a_include_titles=false)
Get usage of object.
if(isset($_POST['submit'])) $form
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 316 of file class.ilTestRandomQuestionSetConfigGUI.php.

References $_GET.

Referenced by buildQuestionStageCmd().

317  {
318  if (!isset($_GET[self::HTTP_PARAM_AFTER_REBUILD_QUESTION_STAGE_CMD])) {
319  return self::CMD_SHOW_GENERAL_CONFIG_FORM;
320  }
321 
322  if (!strlen($_GET[self::HTTP_PARAM_AFTER_REBUILD_QUESTION_STAGE_CMD])) {
323  return self::CMD_SHOW_GENERAL_CONFIG_FORM;
324  }
325 
326  return $_GET[self::HTTP_PARAM_AFTER_REBUILD_QUESTION_STAGE_CMD];
327  }
$_GET["client_id"]
+ Here is the caller graph for this function:

◆ fetchMultiSourcePoolDefinitionIdsParameter()

ilTestRandomQuestionSetConfigGUI::fetchMultiSourcePoolDefinitionIdsParameter ( )
private

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

References $_POST, and array.

Referenced by deleteMultipleSourcePoolDefinitionsCmd().

782  {
783  if (!isset($_POST['src_pool_def_ids']) || !is_array($_POST['src_pool_def_ids'])) {
784  require_once 'Modules/Test/exceptions/class.ilTestMissingSourcePoolDefinitionParameterException.php';
786  }
787 
788  $definitionIds = array();
789 
790  foreach ($_POST['src_pool_def_ids'] as $definitionId) {
791  $definitionId = (int) $definitionId;
792 
793  if (!$definitionId) {
794  require_once 'Modules/Test/exceptions/class.ilTestMissingSourcePoolDefinitionParameterException.php';
796  }
797 
798  $definitionIds[] = $definitionId;
799  }
800 
801  return $definitionIds;
802  }
Create styles array
The data for the language used.
$_POST["username"]
+ Here is the caller graph for this function:

◆ fetchPoolIdsParameter()

ilTestRandomQuestionSetConfigGUI::fetchPoolIdsParameter ( )
protected

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

References $_GET, $_POST, and array.

Referenced by deriveNewPoolsCmd(), and selectPoolDerivationTargetCmd().

827  {
828  if (isset($_POST['derive_pool_ids']) && is_array($_POST['derive_pool_ids'])) {
829  $poolIds = array();
830 
831  foreach ($_POST['derive_pool_ids'] as $poolId) {
832  $poolIds[] = (int) $poolId;
833  }
834  } elseif (isset($_GET['derive_pool_ids']) && preg_match('/^\d+(\:\d+)*$/', $_GET['derive_pool_ids'])) {
835  $poolIds = explode(':', $_GET['derive_pool_ids']);
836  } elseif (isset($_GET['derive_pool_id']) && (int) $_GET['derive_pool_id']) {
837  $poolIds = array( (int) $_GET['derive_pool_id'] );
838  }
839 
840  return $poolIds;
841  }
$_GET["client_id"]
Create styles array
The data for the language used.
$_POST["username"]
+ Here is the caller graph for this function:

◆ fetchQuestionPoolIdParameter()

ilTestRandomQuestionSetConfigGUI::fetchQuestionPoolIdParameter ( )
private

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

References $_GET, $_POST, and $GLOBALS.

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

747  {
748  if (isset($_POST['quest_pool_id']) && (int) $_POST['quest_pool_id']) {
749  return (int) $_POST['quest_pool_id'];
750  }
751 
752  if (isset($_GET['quest_pool_id']) && (int) $_GET['quest_pool_id']) {
753  return (int) $_GET['quest_pool_id'];
754  }
755 
756  if (isset($_GET['quest_pool_ref']) && (int) $_GET['quest_pool_ref']) {
757  /* @var ilObjectDataCache $objCache */
758  $objCache = isset($GLOBALS['DIC']) ? $GLOBALS['DIC']['ilObjDataCache'] : $GLOBALS['ilObjDataCache'];
759 
760  return $objCache->lookupObjId((int) $_GET['quest_pool_ref']);
761  }
762 
763  require_once 'Modules/Test/exceptions/class.ilTestMissingQuestionPoolIdParameterException.php';
765  }
$_GET["client_id"]
$GLOBALS['loaded']
Global hash that tracks already loaded includes.
$_POST["username"]
+ Here is the caller graph for this function:

◆ fetchSingleSourcePoolDefinitionIdParameter()

ilTestRandomQuestionSetConfigGUI::fetchSingleSourcePoolDefinitionIdParameter ( )
private

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

References $_GET, and $_POST.

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

768  {
769  if (isset($_POST['src_pool_def_id']) && (int) $_POST['src_pool_def_id']) {
770  return (int) $_POST['src_pool_def_id'];
771  }
772 
773  if (isset($_GET['src_pool_def_id']) && (int) $_GET['src_pool_def_id']) {
774  return (int) $_GET['src_pool_def_id'];
775  }
776 
777  require_once 'Modules/Test/exceptions/class.ilTestMissingSourcePoolDefinitionParameterException.php';
779  }
$_GET["client_id"]
$_POST["username"]
+ Here is the caller graph for this function:

◆ fetchTargetRefParameter()

ilTestRandomQuestionSetConfigGUI::fetchTargetRefParameter ( )
protected

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

References $_GET.

Referenced by deriveNewPoolsCmd().

844  {
845  if (isset($_GET['target_ref']) && (int) $_GET['target_ref']) {
846  return (int) $_GET['target_ref'];
847  }
848 
849  return null;
850  }
$_GET["client_id"]
+ Here is the caller graph for this function:

◆ getGeneralConfigTabLabel()

ilTestRandomQuestionSetConfigGUI::getGeneralConfigTabLabel ( )
Returns
string

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

Referenced by handleTabs().

920  {
921  return $this->lng->txt('tst_rnd_quest_cfg_tab_general');
922  }
+ Here is the caller graph for this function:

◆ getGeneralModificationSuccessMessage()

ilTestRandomQuestionSetConfigGUI::getGeneralModificationSuccessMessage ( )
private
Returns
string

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

Referenced by showGeneralConfigFormCmd(), and showSourcePoolDefinitionListCmd().

912  {
913  return $this->lng->txt("tst_msg_random_question_set_config_modified");
914  }
+ Here is the caller graph for this function:

◆ getPoolConfigTabLabel()

ilTestRandomQuestionSetConfigGUI::getPoolConfigTabLabel ( )
Returns
string

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

Referenced by handleTabs().

928  {
929  return $this->lng->txt('tst_rnd_quest_cfg_tab_pool');
930  }
+ Here is the caller graph for this function:

◆ getSourcePoolDefinitionByAvailableQuestionPoolId()

ilTestRandomQuestionSetConfigGUI::getSourcePoolDefinitionByAvailableQuestionPoolId (   $poolId)
private

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

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

805  {
806  $availablePools = $this->testOBJ->getAvailableQuestionpools(
807  true,
808  $this->questionSetConfig->arePoolsWithHomogeneousScoredQuestionsRequired(),
809  false,
810  true,
811  true
812  );
813 
814  if (isset($availablePools[$poolId])) {
815  $originalPoolData = $availablePools[$poolId];
816 
817  $originalPoolData['qpl_path'] = $this->questionSetConfig->getQuestionPoolPathString($poolId);
818 
819  return $this->sourcePoolDefinitionFactory->getSourcePoolDefinitionByOriginalPoolData($originalPoolData);
820  }
821 
822  require_once 'Modules/Test/exceptions/class.ilTestQuestionPoolNotAvailableAsSourcePoolException.php';
824  }
+ Here is the caller graph for this function:

◆ handleTabs()

ilTestRandomQuestionSetConfigGUI::handleTabs ( )
private

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

References getGeneralConfigTabLabel(), and getPoolConfigTabLabel().

Referenced by executeCommand().

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

◆ isAvoidManipulationRedirectRequired()

ilTestRandomQuestionSetConfigGUI::isAvoidManipulationRedirectRequired ( )
private

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

References isFrozenConfigRequired(), and isManipulationCommand().

Referenced by executeCommand().

216  {
217  if (!$this->isFrozenConfigRequired()) {
218  return false;
219  }
220 
221  if (!$this->isManipulationCommand()) {
222  return false;
223  }
224 
225  return true;
226  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ isFrozenConfigRequired()

ilTestRandomQuestionSetConfigGUI::isFrozenConfigRequired ( )
private

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

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

229  {
230  if ($this->testOBJ->participantDataExist()) {
231  return true;
232  }
233 
234  if ($this->sourcePoolDefinitionList->hasLostPool()) {
235  return true;
236  }
237 
238  return false;
239  }
+ Here is the caller graph for this function:

◆ isManipulationCommand()

ilTestRandomQuestionSetConfigGUI::isManipulationCommand ( )
private

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

Referenced by isAvoidManipulationRedirectRequired().

242  {
243  switch ($this->ctrl->getCmd(self::CMD_SHOW_GENERAL_CONFIG_FORM)) {
244  case self::CMD_SAVE_GENERAL_CONFIG_FORM:
245  case self::CMD_SAVE_SRC_POOL_DEF_LIST:
246  case self::CMD_DELETE_SINGLE_SRC_POOL_DEF:
247  case self::CMD_DELETE_MULTI_SRC_POOL_DEFS:
248  case self::CMD_SAVE_CREATE_SRC_POOL_DEF_FORM:
249  case self::CMD_SAVE_EDIT_SRC_POOL_DEF_FORM:
250  case self::CMD_SAVE_AND_NEW_CREATE_SRC_POOL_DEF_FORM:
251  case self::CMD_BUILD_QUESTION_STAGE:
252 
253  return true;
254  }
255 
256  return false;
257  }
+ Here is the caller graph for this function:

◆ saveCreateAndNewSourcePoolDefinitionFormCmd()

ilTestRandomQuestionSetConfigGUI::saveCreateAndNewSourcePoolDefinitionFormCmd ( )
private

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

References saveCreateSourcePoolDefinitionFormCmd().

615  {
617  }
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 622 of file class.ilTestRandomQuestionSetConfigGUI.php.

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

Referenced by saveCreateAndNewSourcePoolDefinitionFormCmd().

623  {
624  $this->questionSetConfig->loadFromDb();
625 
626  $poolId = $this->fetchQuestionPoolIdParameter();
627  $sourcePoolDefinition = $this->getSourcePoolDefinitionByAvailableQuestionPoolId($poolId);
628  $availableTaxonomyIds = ilObjTaxonomy::getUsageOfObject($sourcePoolDefinition->getPoolId());
629 
631  $form->build($sourcePoolDefinition, $availableTaxonomyIds);
632 
633  $errors = !$form->checkInput(); // ALWAYS CALL BEFORE setValuesByPost()
634  $form->setValuesByPost(); // NEVER CALL THIS BEFORE checkInput()
635 
636  if ($errors) {
637  return $this->showCreateSourcePoolDefinitionFormCmd($form);
638  }
639 
640  $form->applySubmit($sourcePoolDefinition, $availableTaxonomyIds);
641 
642  $sourcePoolDefinition->setSequencePosition($this->sourcePoolDefinitionList->getNextPosition());
643  $sourcePoolDefinition->saveToDb();
644  $this->sourcePoolDefinitionList->addDefinition($sourcePoolDefinition);
645 
646  $this->sourcePoolDefinitionList->saveDefinitions();
647 
648  $this->questionSetConfig->setLastQuestionSyncTimestamp(0);
649  $this->questionSetConfig->saveToDb();
650 
651  $this->testOBJ->saveCompleteStatus($this->questionSetConfig);
652 
653  if ($redirect_back_to_form) {
654  ilUtil::sendSuccess($this->lng->txt("tst_msg_random_qsc_modified_add_new_rule"), true);
655  $this->ctrl->setParameter($this, 'src_pool_def_id', $sourcePoolDefinition->getId());
656  $this->ctrl->setParameter($this, 'quest_pool_id', $sourcePoolDefinition->getPoolId());
657  $this->ctrl->redirect($this, self::CMD_SHOW_CREATE_SRC_POOL_DEF_FORM);
658  } else {
659  ilUtil::sendSuccess($this->lng->txt("tst_msg_random_question_set_config_modified"), true);
660  $this->ctrl->redirect($this, self::CMD_SHOW_SRC_POOL_DEF_LIST);
661  }
662  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
static getUsageOfObject($a_obj_id, $a_include_titles=false)
Get usage of object.
if(isset($_POST['submit'])) $form
$errors
Definition: index.php:6
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 698 of file class.ilTestRandomQuestionSetConfigGUI.php.

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

699  {
700  $this->questionSetConfig->loadFromDb();
701 
703  $sourcePoolDefinition = $this->sourcePoolDefinitionFactory->getSourcePoolDefinitionByDefinitionId($defId);
704  $availableTaxonomyIds = ilObjTaxonomy::getUsageOfObject($sourcePoolDefinition->getPoolId());
705 
707  $form->build($sourcePoolDefinition, $availableTaxonomyIds);
708 
709  $errors = !$form->checkInput(); // ALWAYS CALL BEFORE setValuesByPost()
710  $form->setValuesByPost(); // NEVER CALL THIS BEFORE checkInput()
711 
712  if ($errors) {
713  return $this->showSourcePoolDefinitionListCmd($form);
714  }
715 
716  $form->applySubmit($sourcePoolDefinition, $availableTaxonomyIds);
717 
718  $sourcePoolDefinition->saveToDb();
719 
720  $this->questionSetConfig->setLastQuestionSyncTimestamp(0);
721  $this->questionSetConfig->saveToDb();
722 
723  $this->testOBJ->saveCompleteStatus($this->questionSetConfig);
724 
725  ilUtil::sendSuccess($this->lng->txt("tst_msg_random_question_set_config_modified"), true);
726  $this->ctrl->redirect($this, self::CMD_SHOW_SRC_POOL_DEF_LIST);
727  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
static getUsageOfObject($a_obj_id, $a_include_titles=false)
Get usage of object.
if(isset($_POST['submit'])) $form
$errors
Definition: index.php:6
+ Here is the call graph for this function:

◆ saveGeneralConfigFormCmd()

ilTestRandomQuestionSetConfigGUI::saveGeneralConfigFormCmd ( )
private

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

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

360  {
361  $this->questionSetConfig->loadFromDb();
362 
363  $form = $this->buildGeneralConfigFormGUI();
364 
365  $errors = !$form->checkInput(); // ALWAYS CALL BEFORE setValuesByPost()
366  $form->setValuesByPost(); // NEVER CALL THIS BEFORE checkInput()
367 
368  if ($errors) {
369  return $this->showGeneralConfigFormCmd($form);
370  }
371 
372  $form->save();
373 
374  $this->questionSetConfig->setLastQuestionSyncTimestamp(0);
375  $this->questionSetConfig->saveToDb();
376 
377  $this->testOBJ->saveCompleteStatus($this->questionSetConfig);
378 
379  $this->ctrl->setParameter($this, 'modified', 1);
380  $this->ctrl->redirect($this, self::CMD_SHOW_GENERAL_CONFIG_FORM);
381  }
if(isset($_POST['submit'])) $form
$errors
Definition: index.php:6
showGeneralConfigFormCmd(ilTestRandomQuestionSetGeneralConfigFormGUI $form=null)
+ Here is the call graph for this function:

◆ saveSourcePoolDefinitionListCmd()

ilTestRandomQuestionSetConfigGUI::saveSourcePoolDefinitionListCmd ( )
private

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

References $table, and buildSourcePoolDefinitionListTableGUI().

447  {
448  $this->questionSetConfig->loadFromDb();
449 
451 
452  $table->applySubmit($this->sourcePoolDefinitionList);
453 
454  $this->sourcePoolDefinitionList->reindexPositions();
455  $this->sourcePoolDefinitionList->saveDefinitions();
456 
457  // fau: delayCopyRandomQuestions - don't rebuild the staging pool, just clear the sycn timestamp
458  #$this->stagingPool->rebuild( $this->sourcePoolDefinitionList );
459  #$this->sourcePoolDefinitionList->saveDefinitions();
460  #$this->questionSetConfig->setLastQuestionSyncTimestamp(time());
461  $this->questionSetConfig->setLastQuestionSyncTimestamp(0);
462  // fau.
463  $this->questionSetConfig->saveToDb();
464 
465  $this->testOBJ->saveCompleteStatus($this->questionSetConfig);
466 
467  $this->ctrl->setParameter($this, 'modified', 1);
468  $this->ctrl->redirect($this, self::CMD_SHOW_SRC_POOL_DEF_LIST);
469  }
if(empty($password)) $table
Definition: pwgen.php:24
+ Here is the call graph for this function:

◆ selectPoolDerivationTargetCmd()

ilTestRandomQuestionSetConfigGUI::selectPoolDerivationTargetCmd ( )
private

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

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

853  {
854  $this->ctrl->setParameter($this, 'derive_pool_ids', implode(':', $this->fetchPoolIdsParameter()));
855 
856  require_once 'Services/Repository/classes/class.ilRepositorySelectorExplorerGUI.php';
857  $explorer = new ilRepositorySelectorExplorerGUI(
858  $this,
859  self::CMD_SELECT_DERIVATION_TARGET,
860  $this,
861  self::CMD_DERIVE_NEW_POOLS,
862  'target_ref'
863  );
864  $explorer->setClickableTypes($this->objDefinition->getExplorerContainerTypes());
865  $explorer->setSelectableTypes(array());
866 
867  if (!$explorer->handleCommand()) {
868  ilUtil::sendInfo($this->lng->txt('tst_please_select_target_for_pool_derives'));
869  $this->tpl->setContent($this->ctrl->getHTML($explorer));
870  }
871  }
Explorer for selecting repository items.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
Create styles array
The data for the language used.
+ Here is the call graph for this function:

◆ showCreateSourcePoolDefinitionFormCmd()

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

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

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

Referenced by saveCreateSourcePoolDefinitionFormCmd().

598  {
599  $this->questionSetConfig->loadFromDb();
600 
601  $poolId = $this->fetchQuestionPoolIdParameter();
602 
603  $sourcePoolDefinition = $this->getSourcePoolDefinitionByAvailableQuestionPoolId($poolId);
604  $availableTaxonomyIds = ilObjTaxonomy::getUsageOfObject($sourcePoolDefinition->getPoolId());
605 
606  if ($form === null) {
608  $form->build($sourcePoolDefinition, $availableTaxonomyIds);
609  }
610 
611  $this->tpl->setContent($this->ctrl->getHTML($form));
612  }
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 682 of file class.ilTestRandomQuestionSetConfigGUI.php.

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

683  {
684  $this->questionSetConfig->loadFromDb();
685 
687  $sourcePoolDefinition = $this->sourcePoolDefinitionFactory->getSourcePoolDefinitionByDefinitionId($defId);
688  $availableTaxonomyIds = ilObjTaxonomy::getUsageOfObject($sourcePoolDefinition->getPoolId());
689 
690  if ($form === null) {
691  $form = $this->buildEditSourcePoolDefinitionFormGUI();
692  $form->build($sourcePoolDefinition, $availableTaxonomyIds);
693  }
694 
695  $this->tpl->setContent($this->ctrl->getHTML($form));
696  }
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 329 of file class.ilTestRandomQuestionSetConfigGUI.php.

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

Referenced by saveGeneralConfigFormCmd().

330  {
331  if ($form === null) {
332  $this->questionSetConfig->loadFromDb();
333  $form = $this->buildGeneralConfigFormGUI();
334  }
335 
336  $this->tpl->setContent($this->ctrl->getHTML($form));
337 
338  $this->configStateMessageHandler->setContext(
340  );
341 
342  $this->configStateMessageHandler->handle();
343 
344  if ($this->configStateMessageHandler->hasValidationReports()) {
345  if ($this->configStateMessageHandler->isValidationFailed()) {
347  $this->configStateMessageHandler->getValidationReportHtml()
348  );
349  } else {
350  ilUtil::sendInfo($this->configStateMessageHandler->getValidationReportHtml());
351  }
352  }
353 
354  if (isset($_GET['modified']) && (int) $_GET['modified']) {
356  }
357  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
$_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 574 of file class.ilTestRandomQuestionSetConfigGUI.php.

575  {
576  $this->questionSetConfig->loadFromDb();
577 
578  require_once 'Services/Repository/classes/class.ilTestQuestionPoolSelectorExplorer.php';
579  $selector = new ilTestQuestionPoolSelectorExplorer(
580  $this,
581  self::CMD_SHOW_POOL_SELECTOR_EXPLORER,
582  self::CMD_SHOW_CREATE_SRC_POOL_DEF_FORM
583  );
584 
585  $selector->setAvailableQuestionPools(
586  array_keys($this->questionSetConfig->getSelectableQuestionPools())
587  );
588 
589  if ($selector->handleCommand()) {
590  return;
591  }
592 
593  $this->tpl->setContent($selector->getHTML());
594  }

◆ showSourcePoolDefinitionListCmd()

ilTestRandomQuestionSetConfigGUI::showSourcePoolDefinitionListCmd ( )
private

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

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

Referenced by saveEditSourcePoolDefinitionFormCmd().

403  {
404  $this->questionSetConfig->loadFromDb();
405 
406  $content = '';
407 
408  if (!$this->isFrozenConfigRequired()) {
409  $toolbar = $this->buildSourcePoolDefinitionListToolbarGUI();
410  $content .= $this->ctrl->getHTML($toolbar);
411  }
412 
414  $table->init($this->sourcePoolDefinitionList);
415  $content .= $this->ctrl->getHTML($table);
416 
417  if (!$this->sourcePoolDefinitionList->areAllUsedPoolsAvailable()) {
419  $table->init($this->sourcePoolDefinitionList);
420  $content .= $this->ctrl->getHTML($table);
421  }
422 
423  $this->tpl->setContent($content);
424 
425  $this->configStateMessageHandler->setContext(
427  );
428 
429  $this->configStateMessageHandler->handle();
430 
431  if ($this->configStateMessageHandler->hasValidationReports()) {
432  if ($this->configStateMessageHandler->isValidationFailed()) {
434  $this->configStateMessageHandler->getValidationReportHtml()
435  );
436  } else {
437  ilUtil::sendInfo($this->configStateMessageHandler->getValidationReportHtml());
438  }
439  }
440 
441  if (isset($_GET['modified']) && (int) $_GET['modified']) {
443  }
444  }
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
$_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.
if(empty($password)) $table
Definition: pwgen.php:24
+ 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().

◆ $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: