ILIAS  release_8 Revision v8.19
All Data Structures Namespaces Files Functions Variables Modules Pages
ilObjTestSettingsGeneralGUI Class Reference
+ Inheritance diagram for ilObjTestSettingsGeneralGUI:
+ Collaboration diagram for ilObjTestSettingsGeneralGUI:

Public Member Functions

 executeCommand ()
 Command Execution. More...
 
- Public Member Functions inherited from ilTestSettingsGUI
 __construct (ilObjTest $testOBJ)
 

Data Fields

const CMD_SHOW_FORM = 'showForm'
 command constants More...
 
const CMD_SAVE_FORM = 'saveForm'
 
const CMD_CONFIRMED_SAVE_FORM = 'confirmedSaveForm'
 
const CMD_SHOW_RESET_TPL_CONFIRM = 'showResetTemplateConfirmation'
 
const CMD_CONFIRMED_RESET_TPL = 'confirmedResetTemplate'
 
const ANSWER_FIXATION_NONE = 'none'
 
const ANSWER_FIXATION_ON_INSTANT_FEEDBACK = 'instant_feedback'
 
const ANSWER_FIXATION_ON_FOLLOWUP_QUESTION = 'followup_question'
 
const ANSWER_FIXATION_ON_IFB_OR_FUQST = 'ifb_or_fuqst'
 
const INSTANT_FEEDBACK_TRIGGER_MANUAL = 0
 
const INSTANT_FEEDBACK_TRIGGER_FORCED = 1
 

Protected Member Functions

 populateSettingsTemplateMessage ()
 
 addPresentationProperties (ilPropertyFormGUI $form)
 
 savePresentationProperties (ilPropertyFormGUI $form)
 
 setAnswerFixationSettingsByFormValue ($formValue)
 
 getAnswerFixationSettingsAsFormValue ()
 
- Protected Member Functions inherited from ilTestSettingsGUI
 getTemplateSettingValue ($settingName)
 
 isHiddenFormItem ($formFieldId)
 
 isSectionHeaderRequired ($fields)
 
 formPropertyExists (ilPropertyFormGUI $form, $propertyId)
 
 removeHiddenItems (ilPropertyFormGUI $form)
 

Protected Attributes

ilCtrlInterface $ctrl
 
ilAccessHandler $access
 
ilLanguage $lng
 
ilGlobalTemplateInterface $tpl
 
ilTree $tree
 
ilDBInterface $db
 
ilComponentRepository $component_repository
 
ilObjUser $activeUser
 
ilObjTestGUI $testGUI
 
- Protected Attributes inherited from ilTestSettingsGUI
ilObjTest $testOBJ
 
ilSettingsTemplate $settingsTemplate = null
 

Private Member Functions

 showFormCmd (ilPropertyFormGUI $form=null)
 
 showConfirmation (ilPropertyFormGUI $form, $oldQuestionSetType, $newQuestionSetType, $hasQuestionsWithoutQuestionpool)
 
 confirmedSaveFormCmd ()
 
 saveFormCmd ($isConfirmedSave=false)
 
 showResetTemplateConfirmationCmd ()
 Enable all settings - Confirmation. More...
 
 confirmedResetTemplateCmd ()
 Enable all settings - remove template. More...
 
 isSkillServiceSettingToBeAdjusted (ilPropertyFormGUI $form)
 
 isCharSelectorPropertyRequired ()
 
 buildForm ()
 
 performSaveForm (ilPropertyFormGUI $form)
 
 addGeneralProperties (ilPropertyFormGUI $form)
 
 saveGeneralProperties (ilPropertyFormGUI $form)
 
 addAvailabilityProperties (ilPropertyFormGUI $form)
 
 saveAvailabilityProperties (ilPropertyFormGUI $form)
 
 addTestIntroProperties (ilPropertyFormGUI $form)
 
 saveTestIntroProperties (ilPropertyFormGUI $form)
 
 addTestAccessProperties (ilPropertyFormGUI $form)
 
 saveTestAccessProperties (ilPropertyFormGUI $form)
 
 addTestRunProperties (ilPropertyFormGUI $form)
 
 saveTestRunProperties (ilPropertyFormGUI $form)
 
 addQuestionBehaviourProperties (ilPropertyFormGUI $form)
 
 saveQuestionBehaviourProperties (ilPropertyFormGUI $form)
 
 addTestSequenceProperties (ilPropertyFormGUI $form)
 
 saveTestSequenceSettings (ilPropertyFormGUI $form)
 
 addTestFinishProperties (ilPropertyFormGUI $form)
 
 saveTestFinishProperties (ilPropertyFormGUI $form)
 

Private Attributes

ilTestQuestionSetConfigFactory $testQuestionSetConfigFactory
 
RequestInterface $request
 
UIFactory $ui_factory
 
UIRenderer $ui_renderer
 

Detailed Description

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

Member Function Documentation

◆ addAvailabilityProperties()

ilObjTestSettingsGeneralGUI::addAvailabilityProperties ( ilPropertyFormGUI  $form)
private
Parameters
ilPropertyFormGUI$form

Definition at line 657 of file class.ilObjTestSettingsGeneralGUI.php.

References ilObject\_getAllReferences(), ilPropertyFormGUI\addItem(), IL_CAL_UNIX, ILIAS\Repository\lng(), ilCheckboxInputGUI\setChecked(), ilFormPropertyGUI\setInfo(), and ilFormPropertyGUI\setRequired().

Referenced by buildForm().

658  {
659  include_once "Services/Object/classes/class.ilObjectActivation.php";
660  $this->lng->loadLanguageModule('rep');
661 
662  $section = new ilFormSectionHeaderGUI();
663  $section->setTitle($this->lng->txt('rep_activation_availability'));
664  $form->addItem($section);
665 
666  // additional info only with multiple references
667  $act_obj_info = $act_ref_info = "";
668  if (sizeof(ilObject::_getAllReferences($this->testOBJ->getId())) > 1) {
669  $act_obj_info = ' ' . $this->lng->txt('rep_activation_online_object_info');
670  $act_ref_info = $this->lng->txt('rep_activation_access_ref_info');
671  }
672 
673  $online = new ilCheckboxInputGUI($this->lng->txt('rep_activation_online'), 'online');
674  $online->setChecked(!$this->testOBJ->getOfflineStatus());
675  $online->setInfo($this->lng->txt('tst_activation_online_info') . $act_obj_info);
676  $form->addItem($online);
677 
678  $act_type = new ilCheckboxInputGUI($this->lng->txt('rep_visibility_until'), 'activation_type');
679  $act_type->setChecked($this->testOBJ->isActivationLimited());
680 
681  include_once "Services/Form/classes/class.ilDateDurationInputGUI.php";
682  $dur = new ilDateDurationInputGUI($this->lng->txt("rep_time_period"), "access_period");
683  $dur->setRequired(true);
684  $dur->setShowTime(true);
685  $start_date = $this->testOBJ->getActivationStartingTime();
686  $dur->setStart(new ilDateTime($start_date ? $start_date : time(), IL_CAL_UNIX));
687  $dur->setStartText($this->lng->txt('rep_activation_limited_start'));
688  $end_date = $this->testOBJ->getActivationEndingTime();
689  $dur->setEnd(new ilDateTime($end_date ? $end_date : time(), IL_CAL_UNIX));
690  $dur->setEndText($this->lng->txt('rep_activation_limited_end'));
691  $act_type->addSubItem($dur);
692 
693  $visible = new ilCheckboxInputGUI($this->lng->txt('rep_activation_limited_visibility'), 'activation_visibility');
694  $visible->setInfo($this->lng->txt('tst_activation_limited_visibility_info'));
695  $visible->setChecked((bool) $this->testOBJ->getActivationVisibility());
696  $act_type->addSubItem($visible);
697 
698  $form->addItem($act_type);
699  }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static _getAllReferences(int $id)
get all reference ids for object ID
This class represents a checkbox property in a property form.
const IL_CAL_UNIX
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
setRequired(bool $a_required)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ addGeneralProperties()

ilObjTestSettingsGeneralGUI::addGeneralProperties ( ilPropertyFormGUI  $form)
private
Parameters
ilPropertyFormGUI$form

Definition at line 541 of file class.ilObjTestSettingsGeneralGUI.php.

References ilPropertyFormGUI\addItem(), ilMD\getGeneral(), ILIAS\Repository\lng(), ilObjTest\QUESTION_SET_TYPE_FIXED, ilObjTest\QUESTION_SET_TYPE_RANDOM, ilTextAreaInputGUI\setCols(), ilFormPropertyGUI\setDisabled(), ilRadioOption\setInfo(), ilFormPropertyGUI\setInfo(), and ilRadioOption\setValue().

Referenced by buildForm().

542  {
543  $header = new ilFormSectionHeaderGUI();
544  $header->setTitle($this->lng->txt("tst_general_properties"));
545  $form->addItem($header);
546 
547  // title & description (meta data)
548 
549  include_once 'Services/MetaData/classes/class.ilMD.php';
550  $md_obj = new ilMD($this->testOBJ->getId(), 0, "tst");
551  $md_section = $md_obj->getGeneral();
552 
553  $title = new ilTextInputGUI($this->lng->txt("title"), "title");
554  $title->setRequired(true);
555  $title->setMaxLength(255);
556  if ($md_section !== null) {
557  $title->setValue($md_section->getTitle());
558  }
559  $form->addItem($title);
560 
561  if ($md_section !== null) {
562  $ids = $md_section->getDescriptionIds();
563  } else {
564  $ids = array();
565  }
566 
567  $desc = new ilTextAreaInputGUI($this->lng->txt("description"), "description");
568  $desc->setCols(50);
569  $desc->setRows(4);
570 
571  if ($ids) {
572  $desc_obj = $md_section->getDescription(array_pop($ids));
573 
574  if ($desc_obj !== null) {
575  $desc->setValue($desc_obj->getDescription());
576  }
577  }
578  $form->addItem($desc);
579 
580  $question_set_type = new ilRadioGroupInputGUI($this->lng->txt('test_question_set_type'), 'question_set_type');
581 
582  $fixed = new ilRadioOption($this->lng->txt('test_question_set_type_fixed'), ilObjTest::QUESTION_SET_TYPE_FIXED);
583  $fixed->setInfo($this->lng->txt('test_question_set_type_fixed_info'));
584  $question_set_type->addOption($fixed);
585 
586  $random = new ilRadioOption($this->lng->txt('test_question_set_type_random'), ilObjTest::QUESTION_SET_TYPE_RANDOM);
587  $random->setInfo($this->lng->txt('test_question_set_type_random_info'));
588  $question_set_type->addOption($random);
589  if ($this->testOBJ->participantDataExist()) {
590  $question_set_type->setDisabled(true);
591  }
592 
593  $question_set_type->setValue($this->testOBJ->getQuestionSetType());
594  $form->addItem($question_set_type);
595 
596  // anonymity
597  $anonymity = new ilRadioGroupInputGUI($this->lng->txt('tst_anonymity'), 'anonymity');
598  if ($this->testOBJ->participantDataExist()) {
599  $anonymity->setDisabled(true);
600  }
601  $rb = new ilRadioOption($this->lng->txt('tst_anonymity_no_anonymization'), 0);
602  $anonymity->addOption($rb);
603  $rb = new ilRadioOption($this->lng->txt('tst_anonymity_anonymous_test'), 1);
604  $anonymity->addOption($rb);
605  $anonymity->setValue($this->testOBJ->getAnonymity());
606  $form->addItem($anonymity);
607  }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
const QUESTION_SET_TYPE_RANDOM
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
setInfo(string $a_info)
This class represents a property in a property form.
setValue(string $a_value)
This class represents a text area property in a property form.
getGeneral()
Definition: class.ilMD.php:34
const QUESTION_SET_TYPE_FIXED
setDisabled(bool $a_disabled)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ addPresentationProperties()

ilObjTestSettingsGeneralGUI::addPresentationProperties ( ilPropertyFormGUI  $form)
protected
Parameters
ilPropertyFormGUI$form

Definition at line 722 of file class.ilObjTestSettingsGeneralGUI.php.

References $DIC, ilPropertyFormGUI\addItem(), and ILIAS\Repository\lng().

Referenced by buildForm().

723  {
724  global $DIC; /* @var ILIAS\DI\Container $DIC */
725 
726  $section = new ilFormSectionHeaderGUI();
727  $section->setTitle($this->lng->txt('tst_presentation_settings_section'));
728  $form->addItem($section);
729 
730  $DIC->object()->commonSettings()->legacyForm($form, $this->testOBJ)->addTileImage();
731  }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
global $DIC
Definition: feed.php:28
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ addQuestionBehaviourProperties()

ilObjTestSettingsGeneralGUI::addQuestionBehaviourProperties ( ilPropertyFormGUI  $form)
private
Parameters
ilPropertyFormGUI$form

Definition at line 1132 of file class.ilObjTestSettingsGeneralGUI.php.

References ilPropertyFormGUI\addItem(), ilRadioGroupInputGUI\addOption(), ilCharSelectorConfig\CONTEXT_TEST, getAnswerFixationSettingsAsFormValue(), isCharSelectorPropertyRequired(), ilTestSettingsGUI\isSectionHeaderRequired(), ILIAS\Repository\lng(), ilCheckboxInputGUI\setChecked(), ilFormPropertyGUI\setInfo(), ilFormPropertyGUI\setRequired(), and ilCheckboxInputGUI\setValue().

Referenced by buildForm().

1133  {
1134  $fields = array(
1135  'title_output', 'autosave', 'chb_shuffle_questions', 'chb_shuffle_questions',
1136  'offer_hints', 'instant_feedback_contents', 'instant_feedback_trigger',
1137  'answer_fixation_handling', 'obligations_enabled'
1138  );
1139 
1140  if ($this->isSectionHeaderRequired($fields) || $this->isCharSelectorPropertyRequired()) {
1141  // sequence properties
1142  $seqheader = new ilFormSectionHeaderGUI();
1143  $seqheader->setTitle($this->lng->txt("tst_presentation_properties"));
1144  $form->addItem($seqheader);
1145  }
1146 
1147  // question title output
1148  $title_output = new ilRadioGroupInputGUI($this->lng->txt("tst_title_output"), "title_output");
1149  $title_output->addOption(new ilRadioOption($this->lng->txt("tst_title_output_full"), 0, ''));
1150  $title_output->addOption(new ilRadioOption($this->lng->txt("tst_title_output_hide_points"), 1, ''));
1151  $title_output->addOption(new ilRadioOption($this->lng->txt("tst_title_output_no_title"), 2, ''));
1152  $title_output->setValue($this->testOBJ->getTitleOutput());
1153  $form->addItem($title_output);
1154 
1155  // Autosave
1156  $autosave_output = new ilCheckboxInputGUI($this->lng->txt('autosave'), 'autosave');
1157  $autosave_output->setValue(1);
1158  $autosave_output->setChecked($this->testOBJ->getAutosave());
1159  $autosave_output->setInfo($this->lng->txt('autosave_info'));
1160  $autosave_interval = new ilTextInputGUI($this->lng->txt('autosave_ival'), 'autosave_ival');
1161  $autosave_interval->setSize(10);
1162  $autosave_interval->setValue($this->testOBJ->getAutosaveIval() / 1000);
1163  $autosave_interval->setSuffix($this->lng->txt('seconds'));
1164  $autosave_output->addSubItem($autosave_interval);
1165  $form->addItem($autosave_output);
1166 
1167  // shuffle questions
1168  $shuffle = new ilCheckboxInputGUI($this->lng->txt("tst_shuffle_questions"), "chb_shuffle_questions");
1169  $shuffle->setValue(1);
1170  $shuffle->setChecked($this->testOBJ->getShuffleQuestions());
1171  $shuffle->setInfo($this->lng->txt("tst_shuffle_questions_description"));
1172  $form->addItem($shuffle);
1173 
1174  // offer hints
1175  $checkBoxOfferHints = new ilCheckboxInputGUI($this->lng->txt('tst_setting_offer_hints_label'), 'offer_hints');
1176  $checkBoxOfferHints->setChecked((bool) $this->testOBJ->isOfferingQuestionHintsEnabled());
1177  $checkBoxOfferHints->setInfo($this->lng->txt('tst_setting_offer_hints_info'));
1178  $form->addItem($checkBoxOfferHints);
1179 
1180  // instant feedback
1181  $instant_feedback_enabled = new ilCheckboxInputGUI($this->lng->txt('tst_instant_feedback'), 'instant_feedback_enabled');
1182  $instant_feedback_enabled->setInfo($this->lng->txt('tst_instant_feedback_desc'));
1183  $instant_feedback_enabled->setChecked($this->testOBJ->isAnyInstantFeedbackOptionEnabled());
1184  $form->addItem($instant_feedback_enabled);
1185  $instant_feedback_contents = new ilCheckboxGroupInputGUI($this->lng->txt('tst_instant_feedback_contents'), 'instant_feedback_contents');
1186  $instant_feedback_contents->setRequired(true);
1187  $instant_feedback_contents->addOption(new ilCheckboxOption(
1188  $this->lng->txt('tst_instant_feedback_results'),
1189  'instant_feedback_points',
1190  $this->lng->txt('tst_instant_feedback_results_desc')
1191  ));
1192  $instant_feedback_contents->addOption(new ilCheckboxOption(
1193  $this->lng->txt('tst_instant_feedback_answer_generic'),
1194  'instant_feedback_generic',
1195  $this->lng->txt('tst_instant_feedback_answer_generic_desc')
1196  ));
1197  $instant_feedback_contents->addOption(new ilCheckboxOption(
1198  $this->lng->txt('tst_instant_feedback_answer_specific'),
1199  'instant_feedback_specific',
1200  $this->lng->txt('tst_instant_feedback_answer_specific_desc')
1201  ));
1202  $instant_feedback_contents->addOption(new ilCheckboxOption(
1203  $this->lng->txt('tst_instant_feedback_solution'),
1204  'instant_feedback_solution',
1205  $this->lng->txt('tst_instant_feedback_solution_desc')
1206  ));
1207  $instant_feedback_contents->setValue($this->testOBJ->getInstantFeedbackOptionsAsArray());
1208  $instant_feedback_enabled->addSubItem($instant_feedback_contents);
1209  $instant_feedback_trigger = new ilRadioGroupInputGUI(
1210  $this->lng->txt('tst_instant_feedback_trigger'),
1211  'instant_feedback_trigger'
1212  );
1213  $ifbTriggerOpt = new ilRadioOption(
1214  $this->lng->txt('tst_instant_feedback_trigger_manual'),
1215  self::INSTANT_FEEDBACK_TRIGGER_MANUAL
1216  );
1217  $ifbTriggerOpt->setInfo($this->lng->txt('tst_instant_feedback_trigger_manual_desc'));
1218  $instant_feedback_trigger->addOption($ifbTriggerOpt);
1219  $ifbTriggerOpt = new ilRadioOption(
1220  $this->lng->txt('tst_instant_feedback_trigger_forced'),
1221  self::INSTANT_FEEDBACK_TRIGGER_FORCED
1222  );
1223  $ifbTriggerOpt->setInfo($this->lng->txt('tst_instant_feedback_trigger_forced_desc'));
1224  $instant_feedback_trigger->addOption($ifbTriggerOpt);
1225  $instant_feedback_trigger->setValue($this->testOBJ->isForceInstantFeedbackEnabled() ? 1 : 0);
1226  $instant_feedback_enabled->addSubItem($instant_feedback_trigger);
1227 
1228  $answerFixation = new ilRadioGroupInputGUI(
1229  $this->lng->txt('tst_answer_fixation_handling'),
1230  'answer_fixation_handling'
1231  );
1232  $radioOption = new ilRadioOption(
1233  $this->lng->txt('tst_answer_fixation_none'),
1234  self::ANSWER_FIXATION_NONE
1235  );
1236  $radioOption->setInfo($this->lng->txt('tst_answer_fixation_none_desc'));
1237  $answerFixation->addOption($radioOption);
1238  $radioOption = new ilRadioOption(
1239  $this->lng->txt('tst_answer_fixation_on_instant_feedback'),
1240  self::ANSWER_FIXATION_ON_INSTANT_FEEDBACK
1241  );
1242  $radioOption->setInfo($this->lng->txt('tst_answer_fixation_on_instant_feedback_desc'));
1243  $answerFixation->addOption($radioOption);
1244  $radioOption = new ilRadioOption(
1245  $this->lng->txt('tst_answer_fixation_on_followup_question'),
1246  self::ANSWER_FIXATION_ON_FOLLOWUP_QUESTION
1247  );
1248  $radioOption->setInfo($this->lng->txt('tst_answer_fixation_on_followup_question_desc'));
1249  $answerFixation->addOption($radioOption);
1250  $radioOption = new ilRadioOption(
1251  $this->lng->txt('tst_answer_fixation_on_instantfb_or_followupqst'),
1252  self::ANSWER_FIXATION_ON_IFB_OR_FUQST
1253  );
1254  $radioOption->setInfo($this->lng->txt('tst_answer_fixation_on_instantfb_or_followupqst_desc'));
1255  $answerFixation->addOption($radioOption);
1256  $answerFixation->setValue($this->getAnswerFixationSettingsAsFormValue());
1257  $form->addItem($answerFixation);
1258 
1259  // enable obligations
1260  $checkBoxEnableObligations = new ilCheckboxInputGUI($this->lng->txt('tst_setting_enable_obligations_label'), 'obligations_enabled');
1261  $checkBoxEnableObligations->setChecked($this->testOBJ->areObligationsEnabled());
1262  $checkBoxEnableObligations->setInfo($this->lng->txt('tst_setting_enable_obligations_info'));
1263  $form->addItem($checkBoxEnableObligations);
1264 
1265  // selector for unicode characters
1266  if ($this->isCharSelectorPropertyRequired()) {
1267  require_once 'Services/UIComponent/CharSelector/classes/class.ilCharSelectorGUI.php';
1269  $char_selector->getConfig()->setAvailability((int) $this->testOBJ->getCharSelectorAvailability());
1270  $char_selector->getConfig()->setDefinition((string) $this->testOBJ->getCharSelectorDefinition());
1271  $char_selector->addFormProperties($form);
1272  $char_selector->setFormValues($form);
1273  }
1274 
1275  if ($this->testOBJ->participantDataExist()) {
1276  $checkBoxOfferHints->setDisabled(true);
1277  $instant_feedback_enabled->setDisabled(true);
1278  $instant_feedback_trigger->setDisabled(true);
1279  $instant_feedback_contents->setDisabled(true);
1280  $answerFixation->setDisabled(true);
1281  $checkBoxEnableObligations->setDisabled(true);
1282  }
1283  }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This class represents a checkbox property in a property form.
addOption(ilRadioOption $a_option)
This class represents a property in a property form.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
setRequired(bool $a_required)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ addTestAccessProperties()

ilObjTestSettingsGeneralGUI::addTestAccessProperties ( ilPropertyFormGUI  $form)
private
Parameters
ilPropertyFormGUI$form

Definition at line 800 of file class.ilObjTestSettingsGeneralGUI.php.

References ilPropertyFormGUI\addItem(), IL_CAL_UNIX, ILIAS\Repository\lng(), ilCheckboxInputGUI\setChecked(), ilFormPropertyGUI\setInfo(), ilFormPropertyGUI\setRequired(), and ilCheckboxInputGUI\setValue().

Referenced by buildForm().

801  {
802  $header = new ilFormSectionHeaderGUI();
803  $header->setTitle($this->lng->txt("tst_settings_header_execution"));
804  $form->addItem($header);
805 
806  // starting time
807  $startingtime = new ilDateTimeInputGUI($this->lng->txt("tst_starting_time"), 'starting_time');
808  $startingtime->setInfo($this->lng->txt("tst_starting_time_desc"));
809  $startingtime->setShowTime(true);
810  if ((int) $this->testOBJ->getStartingTime() !== 0) {
811  $startingtime->setDate(new ilDateTime($this->testOBJ->getStartingTime(), IL_CAL_UNIX));
812  } else {
813  $startingtime->setDate(null);
814  }
815  $form->addItem($startingtime);
816  if ($this->testOBJ->participantDataExist()) {
817  $startingtime->setDisabled(true);
818  }
819 
820  // ending time
821  $endingtime = new ilDateTimeInputGUI($this->lng->txt("tst_ending_time"), 'ending_time');
822  $endingtime->setInfo($this->lng->txt("tst_ending_time_desc"));
823  $endingtime->setShowTime(true);
824  if ((int) $this->testOBJ->getEndingTime() !== 0) {
825  $endingtime->setDate(new ilDateTime($this->testOBJ->getEndingTime(), IL_CAL_UNIX));
826  } else {
827  $endingtime->setDate(null);
828  }
829  $form->addItem($endingtime);
830 
831 
832  // test password
833  $pwEnabled = new ilCheckboxInputGUI($this->lng->txt('tst_password'), 'password_enabled');
834  $pwEnabled->setChecked((bool) $this->testOBJ->isPasswordEnabled());
835  $pwEnabled->setInfo($this->lng->txt("tst_password_details"));
836  $password = new ilTextInputGUI($this->lng->txt("tst_password_enter"), "password");
837  $password->setRequired(true);
838  $password->setSize(20);
839  $password->setMaxLength(20);
840  $password->setValue($this->testOBJ->getPassword());
841  $pwEnabled->addSubItem($password);
842  $form->addItem($pwEnabled);
843 
844  // fixed participants
845  $fixedparticipants = new ilCheckboxInputGUI($this->lng->txt('participants_invitation'), "fixedparticipants");
846  $fixedparticipants->setValue(1);
847  $fixedparticipants->setChecked($this->testOBJ->getFixedParticipants());
848  $fixedparticipants->setInfo($this->lng->txt("participants_invitation_description"));
849  if ($this->testOBJ->participantDataExist()) {
850  $fixedparticipants->setDisabled(true);
851  }
852  $form->addItem($fixedparticipants);
853 
854  // simultaneous users
855  $simulLimited = new ilCheckboxInputGUI($this->lng->txt("tst_allowed_users"), 'limitUsers');
856  $simulLimited->setInfo($this->lng->txt("tst_allowed_users_desc"));
857  $simulLimited->setChecked((bool) $this->testOBJ->isLimitUsersEnabled());
858 
859  // allowed simultaneous users
860  $simul = new ilNumberInputGUI($this->lng->txt("tst_allowed_users_max"), "allowedUsers");
861  $simul->setRequired(true);
862  $simul->allowDecimals(false);
863  $simul->setMinValue(1);
864  $simul->setMinvalueShouldBeGreater(false);
865  $simul->setSize(4);
866  $simul->setValue(($this->testOBJ->getAllowedUsers()) ? $this->testOBJ->getAllowedUsers() : '');
867  $simulLimited->addSubItem($simul);
868 
869  // idle time
870  $idle = new ilNumberInputGUI($this->lng->txt("tst_allowed_users_time_gap"), "allowedUsersTimeGap");
871  $idle->setInfo($this->lng->txt("tst_allowed_users_time_gap_desc"));
872  $idle->setSize(4);
873  $idle->setSuffix($this->lng->txt("seconds"));
874  $idle->setValue(($this->testOBJ->getAllowedUsersTimeGap()) ? $this->testOBJ->getAllowedUsersTimeGap() : 300);
875  $simulLimited->addSubItem($idle);
876 
877  $form->addItem($simulLimited);
878  return $header;
879  }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This class represents a checkbox property in a property form.
const IL_CAL_UNIX
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This class represents a number property in a property form.
setRequired(bool $a_required)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ addTestFinishProperties()

ilObjTestSettingsGeneralGUI::addTestFinishProperties ( ilPropertyFormGUI  $form)
private
Parameters
ilPropertyFormGUI$form

Definition at line 1453 of file class.ilObjTestSettingsGeneralGUI.php.

References ilPropertyFormGUI\addItem(), ilRadioGroupInputGUI\addOption(), ILIAS\Repository\lng(), REDIRECT_ALWAYS, REDIRECT_KIOSK, ilCheckboxInputGUI\setChecked(), ilFormPropertyGUI\setInfo(), ilFormPropertyGUI\setRequired(), ilCheckboxInputGUI\setValue(), and ilRadioOption\setValue().

Referenced by buildForm().

1454  {
1455  $testFinishHeader = new ilFormSectionHeaderGUI();
1456  $testFinishHeader->setTitle($this->lng->txt("tst_final_information"));
1457  $form->addItem($testFinishHeader);
1458 
1459  // examview
1460  $enable_examview = new ilCheckboxInputGUI($this->lng->txt("enable_examview"), 'enable_examview');
1461  $enable_examview->setValue(1);
1462  $enable_examview->setChecked($this->testOBJ->getEnableExamview());
1463  $enable_examview->setInfo($this->lng->txt("enable_examview_desc"));
1464  $show_examview_pdf = new ilCheckboxInputGUI('', 'show_examview_pdf');
1465  $show_examview_pdf->setValue(1);
1466  $show_examview_pdf->setChecked($this->testOBJ->getShowExamviewPdf());
1467  $show_examview_pdf->setOptionTitle($this->lng->txt("show_examview_pdf"));
1468  $enable_examview->addSubItem($show_examview_pdf);
1469  $form->addItem($enable_examview);
1470 
1471  // show final statement
1472  $showfinal = new ilCheckboxInputGUI($this->lng->txt("final_statement"), "showfinalstatement");
1473  $showfinal->setChecked($this->testOBJ->getShowFinalStatement());
1474  $showfinal->setInfo($this->lng->txt("final_statement_show_desc"));
1475  $form->addItem($showfinal);
1476  // final statement
1477  $finalstatement = new ilTextAreaInputGUI($this->lng->txt("final_statement"), "finalstatement");
1478  $finalstatement->setRequired(true);
1479  $finalstatement->setValue((string) $this->testOBJ->prepareTextareaOutput($this->testOBJ->getFinalStatement(), false, true));
1480  $finalstatement->setRows(10);
1481  $finalstatement->setCols(80);
1482  $finalstatement->setUseRte(true);
1483  $finalstatement->addPlugin("latex");
1484  $finalstatement->addButton("latex");
1485  $finalstatement->setRTESupport($this->testOBJ->getId(), "tst", "assessment");
1486  $finalstatement->setRteTagSet('full');
1487  $showfinal->addSubItem($finalstatement);
1488 
1489  $redirection_mode = $this->testOBJ->getRedirectionMode();
1490  $rm_enabled = new ilCheckboxInputGUI($this->lng->txt('redirect_after_finishing_tst'), 'redirection_enabled');
1491  $rm_enabled->setInfo($this->lng->txt('redirect_after_finishing_tst_desc'));
1492  $rm_enabled->setChecked($redirection_mode == '0' ? false : true);
1493  $radio_rm = new ilRadioGroupInputGUI($this->lng->txt('redirect_after_finishing_rule'), 'redirection_mode');
1494  $always = new ilRadioOption($this->lng->txt('redirect_always'), REDIRECT_ALWAYS);
1495  $radio_rm->addOption($always);
1496  $kiosk = new ilRadioOption($this->lng->txt('redirect_in_kiosk_mode'), REDIRECT_KIOSK);
1497  $radio_rm->addOption($kiosk);
1498  $radio_rm->setValue(in_array($redirection_mode, array(REDIRECT_ALWAYS, REDIRECT_KIOSK)) ? $redirection_mode : REDIRECT_ALWAYS);
1499  $rm_enabled->addSubItem($radio_rm);
1500  $redirection_url = new ilTextInputGUI($this->lng->txt('redirection_url'), 'redirection_url');
1501  $redirection_url->setValue((string) $this->testOBJ->getRedirectionUrl());
1502  $redirection_url->setRequired(true);
1503  $redirection_url->setMaxLength(128);
1504  $rm_enabled->addSubItem($redirection_url);
1505 
1506  $form->addItem($rm_enabled);
1507 
1508  // Sign submission
1509  $sign_submission = $this->testOBJ->getSignSubmission();
1510  $sign_submission_enabled = new ilCheckboxInputGUI($this->lng->txt('sign_submission'), 'sign_submission');
1511  $sign_submission_enabled->setChecked($sign_submission);
1512  $sign_submission_enabled->setInfo($this->lng->txt('sign_submission_info'));
1513  $form->addItem($sign_submission_enabled);
1514 
1515  // mail notification
1516  $mailnotification = new ilCheckboxInputGUI($this->lng->txt("tst_finish_notification"), "mailnotification");
1517  $mailnotification->setInfo($this->lng->txt("tst_finish_notification_desc"));
1518  $mailnotification->setChecked($this->testOBJ->getMailNotification() > 0);
1519  $form->addItem($mailnotification);
1520 
1521  $mailnotificationContent = new ilRadioGroupInputGUI($this->lng->txt("tst_finish_notification_content"), "mailnotification_content");
1522  $mailnotificationContent->addOption(new ilRadioOption($this->lng->txt("tst_finish_notification_simple"), 1, ''));
1523  $mailnotificationContent->addOption(new ilRadioOption($this->lng->txt("tst_finish_notification_advanced"), 2, ''));
1524  $mailnotificationContent->setValue($this->testOBJ->getMailNotification() ? $this->testOBJ->getMailNotification() : 1);
1525  $mailnotificationContent->setRequired(true);
1526  $mailnotification->addSubItem($mailnotificationContent);
1527 
1528  $mailnottype = new ilCheckboxInputGUI('', "mailnottype");
1529  $mailnottype->setValue(1);
1530  $mailnottype->setOptionTitle($this->lng->txt("mailnottype"));
1531  $mailnottype->setInfo($this->lng->txt("mailnottype_desc"));
1532  $mailnottype->setChecked($this->testOBJ->getMailNotificationType());
1533  $mailnotification->addSubItem($mailnottype);
1534  }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This class represents a checkbox property in a property form.
addOption(ilRadioOption $a_option)
const REDIRECT_ALWAYS
This class represents a property in a property form.
setValue(string $a_value)
setRequired(bool $a_required)
const REDIRECT_KIOSK
This class represents a text area property in a property form.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ addTestIntroProperties()

ilObjTestSettingsGeneralGUI::addTestIntroProperties ( ilPropertyFormGUI  $form)
private
Parameters
ilPropertyFormGUI$form

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

References ilPropertyFormGUI\addItem(), ILIAS\Repository\lng(), ilCheckboxInputGUI\setChecked(), ilFormPropertyGUI\setRequired(), and ilCheckboxInputGUI\setValue().

Referenced by buildForm().

747  {
748  $section = new ilFormSectionHeaderGUI();
749  $section->setTitle($this->lng->txt('tst_settings_header_intro'));
750  $form->addItem($section);
751 
752  // introduction
753  $introEnabled = new ilCheckboxInputGUI($this->lng->txt("tst_introduction"), 'intro_enabled');
754  $introEnabled->setChecked($this->testOBJ->isIntroductionEnabled());
755  $introEnabled->setInfo($this->lng->txt('tst_introduction_desc'));
756  $form->addItem($introEnabled);
757  $intro = new ilTextAreaInputGUI($this->lng->txt("tst_introduction_text"), "introduction");
758  $intro->setRequired(true);
759  $intro->setValue((string) $this->testOBJ->prepareTextareaOutput($this->testOBJ->getIntroduction(), false, true));
760  $intro->setRows(10);
761  $intro->setCols(80);
762  $intro->setUseRte(true);
763  $intro->addPlugin("latex");
764  $intro->addButton("latex");
765  $intro->setRTESupport($this->testOBJ->getId(), "tst", "assessment");
766  $intro->setRteTagSet('full');
767  $introEnabled->addSubItem($intro);
768 
769  // showinfo
770  $showinfo = new ilCheckboxInputGUI($this->lng->txt("showinfo"), "showinfo");
771  $showinfo->setValue(1);
772  $showinfo->setChecked($this->testOBJ->getShowInfo());
773  $showinfo->setInfo($this->lng->txt("showinfo_desc"));
774  $form->addItem($showinfo);
775  }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This class represents a checkbox property in a property form.
setRequired(bool $a_required)
This class represents a text area property in a property form.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ addTestRunProperties()

ilObjTestSettingsGeneralGUI::addTestRunProperties ( ilPropertyFormGUI  $form)
private
Parameters
ilPropertyFormGUI$form

Definition at line 935 of file class.ilObjTestSettingsGeneralGUI.php.

References ilPropertyFormGUI\addItem(), ilCheckboxGroupInputGUI\addOption(), ilNumberInputGUI\allowDecimals(), ilTestSettingsGUI\getTemplateSettingValue(), ILIAS\Repository\lng(), ilFormPropertyGUI\setInfo(), ilDurationInputGUI\setShowMonths(), ilNumberInputGUI\setSize(), and ilCheckboxInputGUI\setValue().

Referenced by buildForm().

936  {
937  // section header test run
938  $header = new ilFormSectionHeaderGUI();
939  $header->setTitle($this->lng->txt("tst_settings_header_test_run"));
940  $form->addItem($header);
941 
942  // max. number of passes
943  $limitPasses = new ilCheckboxInputGUI($this->lng->txt("tst_limit_nr_of_tries"), 'limitPasses');
944  $limitPasses->setInfo($this->lng->txt("tst_nr_of_tries_desc"));
945  $limitPasses->setChecked($this->testOBJ->getNrOfTries() > 0);
946  $nr_of_tries = new ilNumberInputGUI($this->lng->txt("tst_nr_of_tries"), "nr_of_tries");
947  $nr_of_tries->setSize(3);
948  $nr_of_tries->allowDecimals(false);
949  $nr_of_tries->setMinValue(1);
950  $nr_of_tries->setMinvalueShouldBeGreater(false);
951  $nr_of_tries->setValue($this->testOBJ->getNrOfTries() ? $this->testOBJ->getNrOfTries() : 1);
952  $nr_of_tries->setRequired(true);
953  $limitPasses->addSubItem($nr_of_tries);
954  $blockAfterPassed = new ilCheckboxInputGUI(
955  $this->lng->txt('tst_block_passes_after_passed'),
956  'block_after_passed'
957  );
958  $blockAfterPassed->setInfo($this->lng->txt('tst_block_passes_after_passed_info'));
959  $blockAfterPassed->setChecked($this->testOBJ->isBlockPassesAfterPassedEnabled());
960  $limitPasses->addSubItem($blockAfterPassed);
961  if ($this->testOBJ->participantDataExist()) {
962  $limitPasses->setDisabled(true);
963  $blockAfterPassed->setDisabled(true);
964  $nr_of_tries->setDisabled(true);
965  }
966  $form->addItem($limitPasses);
967 
968  // pass_waiting time between testruns
969  $pass_waiting_enabled = new ilCheckboxInputGUI($this->lng->txt('tst_pass_waiting_enabled'), 'pass_waiting_enabled');
970  $pass_waiting_enabled->setInfo($this->lng->txt('tst_pass_waiting_info'));
971  $pass_waiting_enabled->setChecked($this->testOBJ->isPassWaitingEnabled());
972 
973  // pass_waiting
974  $duration = new ilDurationInputGUI($this->lng->txt("tst_pass_waiting_time"), "pass_waiting");
975 
976  $duration->setShowMonths(true);
977  $duration->setShowDays(true);
978  $duration->setShowHours(true);
979  $duration->setShowMinutes(true);
980 
981  $pw_time_array = ["00", "000", "00", "00", "00"];
982  if ($this->testOBJ->getPassWaiting() !== '') {
983  $pw_time_array = explode(':', $this->testOBJ->getPassWaiting());
984  }
985 
986  $duration->setMonths((int) $pw_time_array[0]);
987  $duration->setDays((int) $pw_time_array[1]);
988  $duration->setHours((int) $pw_time_array[2]);
989  $duration->setMinutes((int) $pw_time_array[3]);
990  $duration->setRequired(false);
991  $pass_waiting_enabled->addSubItem($duration);
992 
993  $form->addItem($pass_waiting_enabled);
994 
995  // enable max. processing time
996  $processing = new ilCheckboxInputGUI($this->lng->txt("tst_processing_time"), "chb_processing_time");
997  $processing->setInfo($this->lng->txt("tst_processing_time_desc"));
998  $processing->setValue(1);
999 
1000  if ($this->settingsTemplate && $this->getTemplateSettingValue('chb_processing_time')) {
1001  $processing->setChecked(true);
1002  } else {
1003  $processing->setChecked($this->testOBJ->getEnableProcessingTime());
1004  }
1005 
1006  // max. processing time
1007  $processingtime = new ilNumberInputGUI($this->lng->txt("tst_processing_time_duration"), 'processing_time');
1008  $processingtime->allowDecimals(false);
1009  $processingtime->setMinValue(1);
1010  $processingtime->setMinvalueShouldBeGreater(false);
1011  $processingtime->setValue($this->testOBJ->getProcessingTimeAsMinutes());
1012  $processingtime->setSize(5);
1013  $processingtime->setSuffix($this->lng->txt('minutes'));
1014  $processingtime->setInfo($this->lng->txt("tst_processing_time_duration_desc"));
1015  $processing->addSubItem($processingtime);
1016 
1017  // reset max. processing time
1018  $resetprocessing = new ilCheckboxInputGUI('', "chb_reset_processing_time");
1019  $resetprocessing->setValue(1);
1020  $resetprocessing->setOptionTitle($this->lng->txt("tst_reset_processing_time"));
1021  $resetprocessing->setChecked($this->testOBJ->getResetProcessingTime());
1022  $resetprocessing->setInfo($this->lng->txt("tst_reset_processing_time_desc"));
1023  $processing->addSubItem($resetprocessing);
1024  $form->addItem($processing);
1025 
1026  if ($this->testOBJ->participantDataExist()) {
1027  $processing->setDisabled(true);
1028  $processingtime->setDisabled(true);
1029  $resetprocessing->setDisabled(true);
1030 
1031  $duration->setDisabled(true);
1032  $pass_waiting_enabled->setDisabled(true);
1033  }
1034 
1035  // kiosk mode
1036  $kiosk = new ilCheckboxInputGUI($this->lng->txt("kiosk"), "kiosk");
1037  $kiosk->setValue(1);
1038  $kiosk->setChecked($this->testOBJ->getKioskMode());
1039  $kiosk->setInfo($this->lng->txt("kiosk_description"));
1040 
1041  // kiosk mode options
1042  $kiosktitle = new ilCheckboxGroupInputGUI($this->lng->txt("kiosk_options"), "kiosk_options");
1043  $kiosktitle->addOption(new ilCheckboxOption($this->lng->txt("kiosk_show_title"), 'kiosk_title', ''));
1044  $kiosktitle->addOption(new ilCheckboxOption($this->lng->txt("kiosk_show_participant"), 'kiosk_participant', ''));
1045  $values = array();
1046  if ($this->testOBJ->getShowKioskModeTitle()) {
1047  array_push($values, 'kiosk_title');
1048  }
1049  if ($this->testOBJ->getShowKioskModeParticipant()) {
1050  array_push($values, 'kiosk_participant');
1051  }
1052  $kiosktitle->setValue($values);
1053  $kiosktitle->setInfo($this->lng->txt("kiosk_options_desc"));
1054  $kiosk->addSubItem($kiosktitle);
1055 
1056  $form->addItem($kiosk);
1057 
1058  $examIdInPass = new ilCheckboxInputGUI($this->lng->txt('examid_in_test_pass'), 'examid_in_test_pass');
1059  $examIdInPass->setInfo($this->lng->txt('examid_in_test_pass_desc'));
1060  $examIdInPass->setChecked($this->testOBJ->isShowExamIdInTestPassEnabled());
1061  $form->addItem($examIdInPass);
1062  }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This class represents a checkbox property in a property form.
allowDecimals(bool $a_value)
This class represents a number property in a property form.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
getTemplateSettingValue($settingName)
setShowMonths(bool $a_show_months)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ addTestSequenceProperties()

ilObjTestSettingsGeneralGUI::addTestSequenceProperties ( ilPropertyFormGUI  $form)
private
Parameters
ilPropertyFormGUI$form

Definition at line 1346 of file class.ilObjTestSettingsGeneralGUI.php.

References ilPropertyFormGUI\addItem(), ilRadioGroupInputGUI\addOption(), ILIAS\Repository\lng(), and ilCheckboxInputGUI\setValue().

Referenced by buildForm().

1347  {
1348  // sequence properties
1349  $seqheader = new ilFormSectionHeaderGUI();
1350  $seqheader->setTitle($this->lng->txt("tst_sequence_properties"));
1351  $form->addItem($seqheader);
1352 
1353  // use previous answers
1354  $prevanswers = new ilCheckboxInputGUI($this->lng->txt("tst_use_previous_answers"), "chb_use_previous_answers");
1355  $prevanswers->setValue(1);
1356  $prevanswers->setChecked($this->testOBJ->getUsePreviousAnswers());
1357  $prevanswers->setInfo($this->lng->txt("tst_use_previous_answers_description"));
1358  $form->addItem($prevanswers);
1359 
1360  // show suspend test
1361  $cancel = new ilCheckboxInputGUI($this->lng->txt("tst_show_cancel"), "chb_show_cancel");
1362  $cancel->setValue(1);
1363  $cancel->setChecked($this->testOBJ->getShowCancel());
1364  $cancel->setInfo($this->lng->txt("tst_show_cancel_description"));
1365  $form->addItem($cancel);
1366 
1367  // postpone questions
1368  $postpone = new ilRadioGroupInputGUI($this->lng->txt("tst_postpone"), "postpone");
1369  $postpone->addOption(new ilRadioOption(
1370  $this->lng->txt("tst_postpone_off"),
1371  0,
1372  $this->lng->txt("tst_postpone_off_desc")
1373  ));
1374  $postpone->addOption(new ilRadioOption(
1375  $this->lng->txt("tst_postpone_on"),
1376  1,
1377  $this->lng->txt("tst_postpone_on_desc")
1378  ));
1379  $postpone->setValue($this->testOBJ->getSequenceSettings());
1380  $form->addItem($postpone);
1381 
1382  // show list of questions
1383  $list_of_questions = new ilCheckboxInputGUI($this->lng->txt("tst_show_summary"), "list_of_questions");
1384  //$list_of_questions->setOptionTitle($this->lng->txt("tst_show_summary"));
1385  $list_of_questions->setValue(1);
1386  $list_of_questions->setChecked($this->testOBJ->getListOfQuestions());
1387  $list_of_questions->setInfo($this->lng->txt("tst_show_summary_description"));
1388 
1389  $list_of_questions_options = new ilCheckboxGroupInputGUI('', "list_of_questions_options");
1390  $list_of_questions_options->addOption(new ilCheckboxOption($this->lng->txt("tst_list_of_questions_start"), 'chb_list_of_questions_start', ''));
1391  $list_of_questions_options->addOption(new ilCheckboxOption($this->lng->txt("tst_list_of_questions_end"), 'chb_list_of_questions_end', ''));
1392  $list_of_questions_options->addOption(new ilCheckboxOption($this->lng->txt("tst_list_of_questions_with_description"), 'chb_list_of_questions_with_description', ''));
1393  $values = array();
1394  if ($this->testOBJ->getListOfQuestionsStart()) {
1395  array_push($values, 'chb_list_of_questions_start');
1396  }
1397  if ($this->testOBJ->getListOfQuestionsEnd()) {
1398  array_push($values, 'chb_list_of_questions_end');
1399  }
1400  if ($this->testOBJ->getListOfQuestionsDescription()) {
1401  array_push($values, 'chb_list_of_questions_with_description');
1402  }
1403  $list_of_questions_options->setValue($values);
1404 
1405  $list_of_questions->addSubItem($list_of_questions_options);
1406  $form->addItem($list_of_questions);
1407 
1408  // show question marking
1409  $marking = new ilCheckboxInputGUI($this->lng->txt("question_marking"), "chb_show_marker");
1410  $marking->setValue(1);
1411  $marking->setChecked($this->testOBJ->getShowMarker());
1412  $marking->setInfo($this->lng->txt("question_marking_description"));
1413  $form->addItem($marking);
1414  }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This class represents a checkbox property in a property form.
addOption(ilRadioOption $a_option)
This class represents a property in a property form.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ buildForm()

ilObjTestSettingsGeneralGUI::buildForm ( )
private

Definition at line 444 of file class.ilObjTestSettingsGeneralGUI.php.

References addAvailabilityProperties(), addGeneralProperties(), addPresentationProperties(), addQuestionBehaviourProperties(), addTestAccessProperties(), addTestFinishProperties(), addTestIntroProperties(), addTestRunProperties(), addTestSequenceProperties(), ILIAS\Repository\ctrl(), ilOrgUnitGlobalSettings\getInstance(), ilObjectServiceSettingsGUI\initServiceSettingsForm(), ilObjTest\isSkillManagementGloballyActivated(), ILIAS\Repository\lng(), ilObjectServiceSettingsGUI\ORGU_POSITION_ACCESS, ilTestSettingsGUI\removeHiddenItems(), and ilFormPropertyGUI\setInfo().

Referenced by saveFormCmd(), and showFormCmd().

445  {
446  require_once 'Services/Form/classes/class.ilPropertyFormGUI.php';
447  $form = new ilPropertyFormGUI();
448  $form->setFormAction($this->ctrl->getFormAction($this));
449  $form->addCommandButton(self::CMD_SAVE_FORM, $this->lng->txt("save"));
450  $form->setTableWidth("100%");
451  $form->setId("test_properties");
452 
453  $this->addGeneralProperties($form);
454  $this->addAvailabilityProperties($form);
455  $this->addPresentationProperties($form);
456  $this->addTestIntroProperties($form);
457  $this->addTestAccessProperties($form);
458  $this->addTestRunProperties($form);
459  $this->addQuestionBehaviourProperties($form);
460  $this->addTestSequenceProperties($form);
461  $this->addTestFinishProperties($form);
462 
463  // Edit ecs export settings
464  include_once 'Modules/Test/classes/class.ilECSTestSettings.php';
465  $ecs = new ilECSTestSettings($this->testOBJ);
466  $ecs->addSettingsToForm($form, 'tst');
467 
468  // additional features
469 
470  $orgunitServiceActive = ilOrgUnitGlobalSettings::getInstance()->getObjectPositionSettingsByType(
471  $this->testOBJ->getType()
472  )->isActive();
473 
474  $skillServiceActive = ilObjTest::isSkillManagementGloballyActivated();
475 
476 
477  if ($orgunitServiceActive || $skillServiceActive) {
478  $otherHead = new ilFormSectionHeaderGUI();
479  $otherHead->setTitle($this->lng->txt('obj_features'));
480  $form->addItem($otherHead);
481  }
482 
483  require_once 'Services/Object/classes/class.ilObjectServiceSettingsGUI.php';
484  ilObjectServiceSettingsGUI::initServiceSettingsForm($this->testOBJ->getId(), $form, array(
486  ));
487 
488  // skill service activation for FIXED tests only
489  if ($skillServiceActive) {
490  $skillService = new ilCheckboxInputGUI($this->lng->txt('tst_activate_skill_service'), 'skill_service');
491  $skillService->setInfo($this->lng->txt('tst_activate_skill_service_desc'));
492  $skillService->setChecked($this->testOBJ->isSkillServiceEnabled());
493  if ($this->testOBJ->participantDataExist()) {
494  $skillService->setDisabled(true);
495  }
496  $form->addItem($skillService);
497  }
498 
499  // remove items when using template
500  $this->removeHiddenItems($form);
501 
502  return $form;
503  }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This class represents a checkbox property in a property form.
removeHiddenItems(ilPropertyFormGUI $form)
addQuestionBehaviourProperties(ilPropertyFormGUI $form)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static isSkillManagementGloballyActivated()
static initServiceSettingsForm(int $obj_id, ilPropertyFormGUI $form, array $services)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ confirmedResetTemplateCmd()

ilObjTestSettingsGeneralGUI::confirmedResetTemplateCmd ( )
private

Enable all settings - remove template.

Definition at line 409 of file class.ilObjTestSettingsGeneralGUI.php.

References ILIAS\Repository\ctrl(), and ILIAS\Repository\lng().

410  {
411  $this->testOBJ->setTemplate(null);
412  $this->testOBJ->saveToDB();
413 
414  $this->tpl->setOnScreenMessage('success', $this->lng->txt("test_template_reset"), true);
415  $this->ctrl->redirect($this, self::CMD_SHOW_FORM);
416  }
+ Here is the call graph for this function:

◆ confirmedSaveFormCmd()

ilObjTestSettingsGeneralGUI::confirmedSaveFormCmd ( )
private

Definition at line 198 of file class.ilObjTestSettingsGeneralGUI.php.

References saveFormCmd().

198  : void
199  {
200  $this->saveFormCmd(true);
201  }
+ Here is the call graph for this function:

◆ executeCommand()

ilObjTestSettingsGeneralGUI::executeCommand ( )

Command Execution.

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

References $DIC, ILIAS\Repository\access(), ILIAS\Repository\ctrl(), ILIAS\Repository\lng(), ilTestTabsManager\SUBTAB_ID_GENERAL_SETTINGS, and ilTestTabsManager\TAB_ID_SETTINGS.

110  {
111  global $DIC; /* @var ILIAS\DI\Container $DIC */
112 
113  // allow only write access
114 
115  if (!$this->access->checkAccess("write", "", $this->testGUI->getRefId())) {
116  $this->tpl->setOnScreenMessage('info', $this->lng->txt("cannot_edit_test"), true);
117  $this->ctrl->redirect($this->testGUI, "infoScreen");
118  }
119 
120  $DIC->tabs()->activateTab(ilTestTabsManager::TAB_ID_SETTINGS);
121  $DIC->tabs()->activateSubTab(ilTestTabsManager::SUBTAB_ID_GENERAL_SETTINGS);
122 
123  // process command
124 
125  $nextClass = $this->ctrl->getNextClass();
126 
127  switch ($nextClass) {
128  default:
129  $cmd = $this->ctrl->getCmd(self::CMD_SHOW_FORM) . 'Cmd';
130  $this->$cmd();
131  }
132  }
global $DIC
Definition: feed.php:28
+ Here is the call graph for this function:

◆ getAnswerFixationSettingsAsFormValue()

ilObjTestSettingsGeneralGUI::getAnswerFixationSettingsAsFormValue ( )
protected

Definition at line 1599 of file class.ilObjTestSettingsGeneralGUI.php.

Referenced by addQuestionBehaviourProperties().

1599  : string
1600  {
1601  if ($this->testOBJ->isInstantFeedbackAnswerFixationEnabled() && $this->testOBJ->isFollowupQuestionAnswerFixationEnabled()) {
1602  return self::ANSWER_FIXATION_ON_IFB_OR_FUQST;
1603  }
1604 
1605  if ($this->testOBJ->isFollowupQuestionAnswerFixationEnabled()) {
1606  return self::ANSWER_FIXATION_ON_FOLLOWUP_QUESTION;
1607  }
1608 
1609  if ($this->testOBJ->isInstantFeedbackAnswerFixationEnabled()) {
1610  return self::ANSWER_FIXATION_ON_INSTANT_FEEDBACK;
1611  }
1612 
1613  return self::ANSWER_FIXATION_NONE;
1614  }
+ Here is the caller graph for this function:

◆ isCharSelectorPropertyRequired()

ilObjTestSettingsGeneralGUI::isCharSelectorPropertyRequired ( )
private

Definition at line 435 of file class.ilObjTestSettingsGeneralGUI.php.

References $DIC, and $ilSetting.

Referenced by addQuestionBehaviourProperties(), and saveQuestionBehaviourProperties().

435  : bool
436  {
437  global $DIC;
438  $ilSetting = $DIC['ilSetting'];
439 
440  return $ilSetting->get('char_selector_availability') > 0;
441  }
global $DIC
Definition: feed.php:28
global $ilSetting
Definition: privfeed.php:17
+ Here is the caller graph for this function:

◆ isSkillServiceSettingToBeAdjusted()

ilObjTestSettingsGeneralGUI::isSkillServiceSettingToBeAdjusted ( ilPropertyFormGUI  $form)
private

Definition at line 418 of file class.ilObjTestSettingsGeneralGUI.php.

References ilPropertyFormGUI\getInput(), ilPropertyFormGUI\getItemByPostVar(), and ilObjTest\isSkillManagementGloballyActivated().

418  : bool
419  {
420  if (!($form->getItemByPostVar('skill_service') instanceof ilFormPropertyGUI)) {
421  return false;
422  }
423 
425  return false;
426  }
427 
428  if (!$form->getInput('skill_service')) {
429  return false;
430  }
431 
432  return true;
433  }
getItemByPostVar(string $a_post_var)
getInput(string $a_post_var, bool $ensureValidation=true)
Returns the input of an item, if item provides getInput method and as fallback the value of the HTTP-...
static isSkillManagementGloballyActivated()
This class represents a property in a property form.
+ Here is the call graph for this function:

◆ performSaveForm()

ilObjTestSettingsGeneralGUI::performSaveForm ( ilPropertyFormGUI  $form)
private

Definition at line 505 of file class.ilObjTestSettingsGeneralGUI.php.

References ilPropertyFormGUI\getInput(), ilPropertyFormGUI\getItemByPostVar(), ilObjTest\isSkillManagementGloballyActivated(), ilObjectServiceSettingsGUI\ORGU_POSITION_ACCESS, saveAvailabilityProperties(), saveGeneralProperties(), savePresentationProperties(), saveQuestionBehaviourProperties(), saveTestAccessProperties(), saveTestFinishProperties(), saveTestIntroProperties(), saveTestRunProperties(), saveTestSequenceSettings(), and ilObjectServiceSettingsGUI\updateServiceSettingsForm().

Referenced by saveFormCmd().

506  {
507  $this->saveGeneralProperties($form);
508  $this->savePresentationProperties($form);
509  $this->saveAvailabilityProperties($form);
510  $this->saveTestIntroProperties($form);
511  $this->saveTestAccessProperties($form);
512  $this->saveTestRunProperties($form);
513  $this->saveQuestionBehaviourProperties($form);
514  $this->saveTestSequenceSettings($form);
515  $this->saveTestFinishProperties($form);
516 
517  if (!$this->testOBJ->participantDataExist()) {
518  // skill service
519  if (ilObjTest::isSkillManagementGloballyActivated() && $form->getItemByPostVar('skill_service') instanceof ilFormPropertyGUI) {
520  $this->testOBJ->setSkillServiceEnabled((bool) $form->getInput('skill_service'));
521  }
522  }
523 
524  require_once 'Services/Object/classes/class.ilObjectServiceSettingsGUI.php';
525  ilObjectServiceSettingsGUI::updateServiceSettingsForm($this->testOBJ->getId(), $form, array(
527  ));
528 
529  // store settings to db
530  $this->testOBJ->saveToDb(true);
531 
532  // Update ecs export settings
533  include_once 'Modules/Test/classes/class.ilECSTestSettings.php';
534  $ecs = new ilECSTestSettings($this->testOBJ);
535  $ecs->handleSettingsUpdate();
536  }
getItemByPostVar(string $a_post_var)
static updateServiceSettingsForm(int $obj_id, ilPropertyFormGUI $form, array $services)
getInput(string $a_post_var, bool $ensureValidation=true)
Returns the input of an item, if item provides getInput method and as fallback the value of the HTTP-...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
saveQuestionBehaviourProperties(ilPropertyFormGUI $form)
static isSkillManagementGloballyActivated()
This class represents a property in a property form.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ populateSettingsTemplateMessage()

ilObjTestSettingsGeneralGUI::populateSettingsTemplateMessage ( )
protected

Definition at line 170 of file class.ilObjTestSettingsGeneralGUI.php.

References $message, ILIAS\Repository\ctrl(), and ILIAS\Repository\lng().

Referenced by showFormCmd().

170  : void
171  {
172  if (!$this->settingsTemplate) {
173  return;
174  }
175 
176  $link = $this->ui_factory->link()->standard(
177  $this->lng->txt('test_using_template_link'),
178  $this->ctrl->getLinkTarget($this, self::CMD_SHOW_RESET_TPL_CONFIRM)
179  );
180  if ($this->settingsTemplate->isAvailable()) {
181  $title = $this->settingsTemplate->getTitle();
182  if ($this->settingsTemplate->getAutoGenerated()) {
183  $title = $this->lng->txt($title);
184  }
185 
186  $message = sprintf($this->lng->txt('test_using_template'), $title, $this->ui_renderer->render($link));
187  } else {
188  $message = sprintf($this->lng->txt('test_using_removed_template'), $this->ui_renderer->render($link));
189  }
190 
191  $this->tpl->setOnScreenMessage(
192  $this->settingsTemplate->isAvailable() ? 'info' : 'failure',
193  $message,
194  !$this->settingsTemplate->isAvailable()
195  );
196  }
$message
Definition: xapiexit.php:32
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ saveAvailabilityProperties()

ilObjTestSettingsGeneralGUI::saveAvailabilityProperties ( ilPropertyFormGUI  $form)
private
Parameters
ilPropertyFormGUI$form

Definition at line 704 of file class.ilObjTestSettingsGeneralGUI.php.

References ilPropertyFormGUI\getInput(), ilPropertyFormGUI\getItemByPostVar(), and IL_CAL_UNIX.

Referenced by performSaveForm().

705  {
706  // activation
707  if ($form->getInput('activation_type')) {
708  $this->testOBJ->setActivationLimited(true);
709  $this->testOBJ->setActivationVisibility($form->getInput('activation_visibility'));
710 
711  $period = $form->getItemByPostVar("access_period");
712  $this->testOBJ->setActivationStartingTime($period->getStart()->get(IL_CAL_UNIX));
713  $this->testOBJ->setActivationEndingTime($period->getEnd()->get(IL_CAL_UNIX));
714  } else {
715  $this->testOBJ->setActivationLimited(false);
716  }
717  }
getItemByPostVar(string $a_post_var)
const IL_CAL_UNIX
getInput(string $a_post_var, bool $ensureValidation=true)
Returns the input of an item, if item provides getInput method and as fallback the value of the HTTP-...
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ saveFormCmd()

ilObjTestSettingsGeneralGUI::saveFormCmd (   $isConfirmedSave = false)
private

Definition at line 204 of file class.ilObjTestSettingsGeneralGUI.php.

References $errors, buildForm(), ILIAS\Repository\ctrl(), IL_CAL_DATETIME, IL_CAL_UNIX, ILIAS\Repository\lng(), performSaveForm(), ilObjTest\QUESTION_SET_TYPE_FIXED, showConfirmation(), and showFormCmd().

Referenced by confirmedSaveFormCmd().

204  : void
205  {
206  $form = $this->buildForm();
207 
208  // form validation and initialisation
209 
210  if ($isConfirmedSave) {
211  // since confirmation does only pickup POST and no FILES
212  // mocking the tile image file upload field is neccessary
213  // due to checkInput() behaviour (fixes mantis #24226)
214  $_FILES['tile_image'] = array(
215  'name' => '', 'type' => '', 'size' => '', 'tmp_name' => '', 'error' => ''
216  );
217 
218  // TODO: get rid of question selection mode setting in settings form (move to creation screen)
219  }
220 
221  $errors = !$form->checkInput(); // ALWAYS CALL BEFORE setValuesByPost()
222 
223  $values = $this->request->getParsedBody();
224  if (!isset($values['kiosk_options'])) {
225  $values['kiosk_options'] = [];
226  }
227  if (!isset($values['instant_feedback_contents'])) {
228  $values['instant_feedback_contents'] = [];
229  }
230  if (!isset($values['list_of_questions_options'])) {
231  $values['list_of_questions_options'] = [];
232  }
233  if (!isset($values['pass_waiting'])) {
234  $values['pass_waiting'] = [];
235  }
236 
237  if ($errors) {
238  $form->setValuesByArray($values);
239  $this->tpl->setOnScreenMessage('failure', $this->lng->txt('form_input_not_valid'));
240  $this->showFormCmd($form);
241  return;
242  }
243 
244  // return to form when online is to be set, but no questions are configured
245  $currentQuestionSetConfig = $this->testQuestionSetConfigFactory->getQuestionSetConfig();
246  if ($form->getInput('online') && !$this->testOBJ->isComplete($currentQuestionSetConfig)) {
247  $form->setValuesByArray($values);
248  $form->getItemByPostVar('online')->setAlert(
249  $this->lng->txt("cannot_switch_to_online_no_questions_andor_no_mark_steps")
250  );
251 
252  $this->tpl->setOnScreenMessage('failure', $this->lng->txt('form_input_not_valid'));
253  $this->showFormCmd($form);
254  return;
255  }
256 
257  // avoid settings conflict "obligate questions" and "freeze answer"
258  if ($form->getInput('obligations_enabled') && $form->getInput('answer_fixation_handling') != self::ANSWER_FIXATION_NONE) {
259  $form->setValuesByArray($values);
260  $form->getItemByPostVar('obligations_enabled')->setAlert($this->lng->txt('tst_conflicting_setting'));
261  $form->getItemByPostVar('answer_fixation_handling')->setAlert($this->lng->txt('tst_conflicting_setting'));
262 
263  $this->tpl->setOnScreenMessage('failure', $this->lng->txt('tst_settings_conflict_message'));
264  $this->showFormCmd($form);
265  return;
266  }
267 
268  $conflictModes = array(self::ANSWER_FIXATION_ON_FOLLOWUP_QUESTION, self::ANSWER_FIXATION_ON_IFB_OR_FUQST);
269 
270  if ($form->getInput('postpone') && in_array($form->getInput('answer_fixation_handling'), $conflictModes)) {
271  $form->setValuesByArray($values);
272  $form->getItemByPostVar('postpone')->setAlert($this->lng->txt('tst_conflicting_setting'));
273  $form->getItemByPostVar('answer_fixation_handling')->setAlert($this->lng->txt('tst_conflicting_setting'));
274 
275  $this->tpl->setOnScreenMessage('failure', $this->lng->txt('tst_settings_conflict_message'));
276  $this->showFormCmd($form);
277  return;
278  }
279 
280  if ($form->getInput('chb_shuffle_questions') && in_array($form->getInput('answer_fixation_handling'), $conflictModes)) {
281  $form->setValuesByArray($values);
282  $form->getItemByPostVar('chb_shuffle_questions')->setAlert($this->lng->txt('tst_conflicting_setting'));
283  $form->getItemByPostVar('answer_fixation_handling')->setAlert($this->lng->txt('tst_conflicting_setting'));
284 
285  $this->tpl->setOnScreenMessage('failure', $this->lng->txt('tst_settings_conflict_message'));
286  $this->showFormCmd($form);
287  return;
288  }
289 
290  $infoMsg = array();
291 
292  // solve conflicts with question set type setting with confirmation screen if required
293  // determine wether question set type relating data is to be removed (questions/pools)
294 
295  $questionSetTypeRelatingDataCleanupRequired = false;
296 
297  $oldQuestionSetType = $this->testOBJ->getQuestionSetType();
298  if ($form->getItemByPostVar('question_set_type') instanceof ilFormPropertyGUI) {
299  $newQuestionSetType = $form->getInput('question_set_type');
300 
301  if (!$this->testOBJ->participantDataExist() && $newQuestionSetType != $oldQuestionSetType) {
302  $oldQuestionSetConfig = $this->testQuestionSetConfigFactory->getQuestionSetConfigByType();
303 
304  if ($oldQuestionSetConfig->doesQuestionSetRelatedDataExist()) {
305  if (!$isConfirmedSave) {
306  $form->setValuesByArray($values);
307  if ($oldQuestionSetType == ilObjTest::QUESTION_SET_TYPE_FIXED) {
308  $this->showConfirmation(
309  $form,
310  $oldQuestionSetType,
311  $newQuestionSetType,
312  $this->testOBJ->hasQuestionsWithoutQuestionpool()
313  );
314  return;
315  }
316 
317  $this->showConfirmation(
318  $form,
319  $oldQuestionSetType,
320  $newQuestionSetType,
321  false
322  );
323  return;
324  }
325 
326  $questionSetTypeRelatingDataCleanupRequired = true;
327  }
328 
329  if ($form->getInput('online')) {
330  $form->getItemByPostVar('online')->setChecked(false);
331 
332  if (!$this->testOBJ->getOfflineStatus()) {
333  $infoMsg[] = $this->lng->txt("tst_set_offline_due_to_switched_question_set_type_setting");
334  } else {
335  $infoMsg[] = $this->lng->txt("tst_cannot_online_due_to_switched_quest_set_type_setting");
336  }
337  }
338  }
339  } else {
340  $newQuestionSetType = $oldQuestionSetType;
341  }
342 
343  // adjust settings due to chosen question set type
344 
345  if ($newQuestionSetType != ilObjTest::QUESTION_SET_TYPE_FIXED) {
346  $form->getItemByPostVar('chb_use_previous_answers')->setChecked(false);
347  }
348 
349  $ending_time = $form->getInput('ending_time');
350  $starting_time = $form->getInput('starting_time');
351  if (is_string($ending_time) && $ending_time !== ''
352  && is_string($starting_time) && $starting_time !== ''
353  && ($starting_time > $ending_time
354  || (new ilDateTime($ending_time, IL_CAL_DATETIME))->get(IL_CAL_UNIX) < (new ilDateTime($starting_time, IL_CAL_DATETIME))->get(IL_CAL_UNIX))
355  ) {
356  $this->tpl->setOnScreenMessage('failure', $this->lng->txt("tst_ending_time_before_starting_time"), true);
357  $form->setValuesByArray($values);
358  $form->getItemByPostVar('starting_time')->setDate(new ilDateTime($this->testOBJ->getStartingTime(), IL_CAL_UNIX));
359  $this->showFormCmd($form);
360  return;
361  }
362 
363  // perform saving the form data
364 
365  $this->performSaveForm($form);
366 
367  // clean up test mode relating configuration data (questions/questionpools)
368 
369  if ($questionSetTypeRelatingDataCleanupRequired) {
370  $oldQuestionSetConfig->removeQuestionSetRelatedData();
371  }
372 
373  // disinvite all invited users if required
374 
375  if (!$this->testOBJ->participantDataExist() && !$this->testOBJ->getFixedParticipants()) {
376  foreach ($this->testOBJ->getInvitedUsers() as $usrId => $usrData) {
377  $this->testOBJ->disinviteUser($usrId);
378  }
379  }
380 
381  // redirect to form output
382 
383  if (count($infoMsg)) {
384  $this->tpl->setOnScreenMessage('info', implode('<br />', $infoMsg), true);
385  }
386 
387  $this->tpl->setOnScreenMessage('success', $this->lng->txt("msg_obj_modified"), true);
388  $this->ctrl->redirect($this, self::CMD_SHOW_FORM);
389  }
const IL_CAL_DATETIME
$errors
Definition: imgupload.php:65
const IL_CAL_UNIX
showConfirmation(ilPropertyFormGUI $form, $oldQuestionSetType, $newQuestionSetType, $hasQuestionsWithoutQuestionpool)
This class represents a property in a property form.
const QUESTION_SET_TYPE_FIXED
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ saveGeneralProperties()

ilObjTestSettingsGeneralGUI::saveGeneralProperties ( ilPropertyFormGUI  $form)
private
Parameters
ilPropertyFormGUI$form

Definition at line 612 of file class.ilObjTestSettingsGeneralGUI.php.

References ilMD\addGeneral(), ilTestSettingsGUI\formPropertyExists(), ilMD\getGeneral(), ilPropertyFormGUI\getInput(), ilPropertyFormGUI\getItemByPostVar(), ilMDBase\save(), ilUtil\stripSlashes(), and ilMDBase\update().

Referenced by performSaveForm().

613  {
614  $md_obj = new ilMD($this->testOBJ->getId(), 0, "tst");
615  $md_section = $md_obj->getGeneral();
616 
617  if ($md_section === null) {
618  $md_section = $md_obj->addGeneral();
619  $md_section->save();
620  }
621 
622  $md_section->setTitle(ilUtil::stripSlashes($form->getInput('title')));
623  $md_section->update();
624 
625  $md_desc_ids = $md_section->getDescriptionIds();
626  if ($md_desc_ids) {
627  $md_desc = $md_section->getDescription(array_pop($md_desc_ids));
628  $md_desc->setDescription(ilUtil::stripSlashes($form->getInput('description')));
629  $md_desc->update();
630  } else {
631  $md_desc = $md_section->addDescription();
632  $md_desc->setDescription(ilUtil::stripSlashes($form->getInput('description')));
633  $md_desc->save();
634  }
635 
636  $this->testOBJ->setTitle(ilUtil::stripSlashes($form->getInput('title')));
637  $this->testOBJ->setDescription(ilUtil::stripSlashes($form->getInput('description')));
638  $this->testOBJ->setOfflineStatus(!$form->getInput('online'));
639  $this->testOBJ->update();
640 
641  if (!$this->testOBJ->participantDataExist()) {
642  // question set type
643  if ($form->getItemByPostVar('question_set_type') instanceof ilFormPropertyGUI) {
644  $this->testOBJ->setQuestionSetType($form->getInput('question_set_type'));
645  }
646  }
647 
648  // anonymity setting
649  if (!$this->testOBJ->participantDataExist() && $this->formPropertyExists($form, 'anonymity')) {
650  $this->testOBJ->setAnonymity((int) $form->getInput('anonymity'));
651  }
652  }
getItemByPostVar(string $a_post_var)
addGeneral()
Definition: class.ilMD.php:44
static stripSlashes(string $a_str, bool $a_strip_html=true, string $a_allow="")
getInput(string $a_post_var, bool $ensureValidation=true)
Returns the input of an item, if item provides getInput method and as fallback the value of the HTTP-...
This class represents a property in a property form.
getGeneral()
Definition: class.ilMD.php:34
formPropertyExists(ilPropertyFormGUI $form, $propertyId)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ savePresentationProperties()

ilObjTestSettingsGeneralGUI::savePresentationProperties ( ilPropertyFormGUI  $form)
protected
Parameters
ilPropertyFormGUI$form

Definition at line 736 of file class.ilObjTestSettingsGeneralGUI.php.

References $DIC.

Referenced by performSaveForm().

737  {
738  global $DIC; /* @var ILIAS\DI\Container $DIC */
739 
740  $DIC->object()->commonSettings()->legacyForm($form, $this->testOBJ)->saveTileImage();
741  }
global $DIC
Definition: feed.php:28
+ Here is the caller graph for this function:

◆ saveQuestionBehaviourProperties()

ilObjTestSettingsGeneralGUI::saveQuestionBehaviourProperties ( ilPropertyFormGUI  $form)
private
Parameters
ilPropertyFormGUI$form

Definition at line 1288 of file class.ilObjTestSettingsGeneralGUI.php.

References ilCharSelectorConfig\CONTEXT_TEST, ilTestSettingsGUI\formPropertyExists(), ilPropertyFormGUI\getInput(), ilPropertyFormGUI\getItemByPostVar(), isCharSelectorPropertyRequired(), and setAnswerFixationSettingsByFormValue().

Referenced by performSaveForm().

1289  {
1290  if ($form->getItemByPostVar('title_output') instanceof ilFormPropertyGUI) {
1291  $this->testOBJ->setTitleOutput($form->getInput('title_output'));
1292  }
1293 
1294  if ($form->getItemByPostVar('autosave') instanceof ilFormPropertyGUI) {
1295  $this->testOBJ->setAutosave((bool) $form->getInput('autosave'));
1296  $this->testOBJ->setAutosaveIval($form->getInput('autosave_ival') * 1000);
1297  }
1298 
1299  if ($form->getItemByPostVar('chb_shuffle_questions') instanceof ilFormPropertyGUI) {
1300  $this->testOBJ->setShuffleQuestions((bool) $form->getInput('chb_shuffle_questions'));
1301  }
1302 
1303  if (!$this->testOBJ->participantDataExist() && $this->formPropertyExists($form, 'offer_hints')) {
1304  $this->testOBJ->setOfferingQuestionHintsEnabled((bool) $form->getInput('offer_hints'));
1305  }
1306 
1307  if (!$this->testOBJ->participantDataExist() && $this->formPropertyExists($form, 'instant_feedback_enabled')) {
1308  if ($form->getInput('instant_feedback_enabled')) {
1309  if ($this->formPropertyExists($form, 'instant_feedback_contents')) {
1310  $this->testOBJ->setInstantFeedbackOptionsByArray(
1311  $form->getInput('instant_feedback_contents')
1312  );
1313  }
1314  if ($this->formPropertyExists($form, 'instant_feedback_trigger')) {
1315  $this->testOBJ->setForceInstantFeedbackEnabled(
1316  (bool) $form->getInput('instant_feedback_trigger')
1317  );
1318  }
1319  } else {
1320  $this->testOBJ->setInstantFeedbackOptionsByArray(array());
1321  $this->testOBJ->setForceInstantFeedbackEnabled(false);
1322  }
1323  }
1324 
1325  if (!$this->testOBJ->participantDataExist() && $this->formPropertyExists($form, 'answer_fixation_handling')) {
1326  $this->setAnswerFixationSettingsByFormValue($form->getInput('answer_fixation_handling'));
1327  }
1328 
1329  if (!$this->testOBJ->participantDataExist() && $this->formPropertyExists($form, 'obligations_enabled')) {
1330  $this->testOBJ->setObligationsEnabled((bool) $form->getInput('obligations_enabled'));
1331  }
1332 
1333  if ($this->isCharSelectorPropertyRequired()) {
1334  require_once 'Services/UIComponent/CharSelector/classes/class.ilCharSelectorGUI.php';
1336  $char_selector->addFormProperties($form);
1337  $char_selector->getFormValues($form);
1338  $this->testOBJ->setCharSelectorAvailability($char_selector->getConfig()->getAvailability());
1339  $this->testOBJ->setCharSelectorDefinition($char_selector->getConfig()->getDefinition());
1340  }
1341  }
getItemByPostVar(string $a_post_var)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
getInput(string $a_post_var, bool $ensureValidation=true)
Returns the input of an item, if item provides getInput method and as fallback the value of the HTTP-...
This class represents a property in a property form.
formPropertyExists(ilPropertyFormGUI $form, $propertyId)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ saveTestAccessProperties()

ilObjTestSettingsGeneralGUI::saveTestAccessProperties ( ilPropertyFormGUI  $form)
private
Parameters
ilPropertyFormGUI$form

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

References ilTestSettingsGUI\formPropertyExists(), ilPropertyFormGUI\getInput(), IL_CAL_DATETIME, and IL_CAL_UNIX.

Referenced by performSaveForm().

885  {
886  if (!$this->testOBJ->participantDataExist()) {
887  $starting_time = $form->getInput('starting_time');
888  if (is_string($starting_time) && $starting_time !== '') {
889  $this->testOBJ->setStartingTime((new ilDateTime($starting_time, IL_CAL_DATETIME))->get(IL_CAL_UNIX));
890  $this->testOBJ->setStartingTimeEnabled(true);
891  } else {
892  $this->testOBJ->setStartingTime(null);
893  $this->testOBJ->setStartingTimeEnabled(false);
894  }
895  }
896 
897  $ending_time = $form->getInput('ending_time');
898  if (is_string($ending_time) && $ending_time !== '') {
899  $this->testOBJ->setEndingTime((new ilDateTime($ending_time, IL_CAL_DATETIME))->get(IL_CAL_UNIX));
900  $this->testOBJ->setEndingTimeEnabled(true);
901  } else {
902  $this->testOBJ->setEndingTime(null);
903  $this->testOBJ->setEndingTimeEnabled(false);
904  }
905 
906  if ($this->formPropertyExists($form, 'password_enabled')) {
907  $this->testOBJ->setPasswordEnabled((bool) $form->getInput('password_enabled'));
908 
909  if ($form->getInput('password_enabled')) {
910  $this->testOBJ->setPassword($form->getInput('password'));
911  } else {
912  $this->testOBJ->setPassword(''); // otherwise test will still respect value
913  }
914  }
915 
916  if ($this->formPropertyExists($form, 'fixedparticipants') && !$this->testOBJ->participantDataExist()) {
917  $this->testOBJ->setFixedParticipants((bool) $form->getInput('fixedparticipants'));
918  }
919 
920  if ($this->formPropertyExists($form, 'limitUsers')) {
921  $this->testOBJ->setLimitUsersEnabled((bool) $form->getInput('limitUsers'));
922 
923  if ($form->getInput('limitUsers')) {
924  $this->testOBJ->setAllowedUsers($form->getInput('allowedUsers'));
925  $this->testOBJ->setAllowedUsersTimeGap($form->getInput('allowedUsersTimeGap'));
926  } else {
927  $this->testOBJ->setAllowedUsers(''); // otherwise test will still respect value
928  }
929  }
930  }
const IL_CAL_DATETIME
const IL_CAL_UNIX
getInput(string $a_post_var, bool $ensureValidation=true)
Returns the input of an item, if item provides getInput method and as fallback the value of the HTTP-...
formPropertyExists(ilPropertyFormGUI $form, $propertyId)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ saveTestFinishProperties()

ilObjTestSettingsGeneralGUI::saveTestFinishProperties ( ilPropertyFormGUI  $form)
private
Parameters
ilPropertyFormGUI$form

Definition at line 1539 of file class.ilObjTestSettingsGeneralGUI.php.

References ilTestSettingsGUI\formPropertyExists(), ilPropertyFormGUI\getInput(), and REDIRECT_NONE.

Referenced by performSaveForm().

1540  {
1541  if ($this->formPropertyExists($form, 'enable_examview')) {
1542  $this->testOBJ->setEnableExamview((bool) $form->getInput('enable_examview'));
1543  $this->testOBJ->setShowExamviewPdf((bool) $form->getInput('show_examview_pdf'));
1544  }
1545 
1546  $this->testOBJ->setShowFinalStatement((bool) $form->getInput('showfinalstatement'));
1547  $this->testOBJ->setFinalStatement($form->getInput('finalstatement') ?? '');
1548 
1549  if ($this->formPropertyExists($form, 'redirection_enabled')) {
1550  if (empty($form->getInput('redirection_enabled'))) {
1551  $this->testOBJ->setRedirectionMode(REDIRECT_NONE);
1552  } else {
1553  $this->testOBJ->setRedirectionMode(($form->getInput('redirection_mode')));
1554  }
1555  } else {
1556  $this->testOBJ->setRedirectionMode(REDIRECT_NONE);
1557  }
1558  if ($this->formPropertyExists($form, 'redirection_url')) {
1559  $this->testOBJ->setRedirectionUrl($form->getInput('redirection_url'));
1560  } else {
1561  $this->testOBJ->setRedirectionUrl(null);
1562  }
1563 
1564  if ($this->formPropertyExists($form, 'sign_submission')) {
1565  $this->testOBJ->setSignSubmission((bool) $form->getInput('sign_submission'));
1566  }
1567 
1568  if ($this->formPropertyExists($form, 'mailnotification') && $form->getInput('mailnotification')) {
1569  $this->testOBJ->setMailNotification($form->getInput('mailnotification_content'));
1570  $this->testOBJ->setMailNotificationType($form->getInput('mailnottype'));
1571  } else {
1572  $this->testOBJ->setMailNotification(0);
1573  $this->testOBJ->setMailNotificationType(false);
1574  }
1575  }
const REDIRECT_NONE
Redirect after finishing test constants.
getInput(string $a_post_var, bool $ensureValidation=true)
Returns the input of an item, if item provides getInput method and as fallback the value of the HTTP-...
formPropertyExists(ilPropertyFormGUI $form, $propertyId)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ saveTestIntroProperties()

ilObjTestSettingsGeneralGUI::saveTestIntroProperties ( ilPropertyFormGUI  $form)
private
Parameters
ilPropertyFormGUI$form

Definition at line 780 of file class.ilObjTestSettingsGeneralGUI.php.

References ilPropertyFormGUI\getInput(), and ilPropertyFormGUI\getItemByPostVar().

Referenced by performSaveForm().

781  {
782  if ($form->getItemByPostVar('intro_enabled') instanceof ilFormPropertyGUI) {
783  $this->testOBJ->setIntroductionEnabled($form->getInput('intro_enabled'));
784 
785  if ($form->getItemByPostVar('intro_enabled')->getChecked()) {
786  $this->testOBJ->setIntroduction($form->getInput('introduction'));
787  } else {
788  $this->testOBJ->setIntroduction('');
789  }
790  }
791 
792  if ($form->getItemByPostVar('showinfo') instanceof ilFormPropertyGUI) {
793  $this->testOBJ->setShowInfo($form->getInput('showinfo'));
794  }
795  }
getItemByPostVar(string $a_post_var)
getInput(string $a_post_var, bool $ensureValidation=true)
Returns the input of an item, if item provides getInput method and as fallback the value of the HTTP-...
This class represents a property in a property form.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ saveTestRunProperties()

ilObjTestSettingsGeneralGUI::saveTestRunProperties ( ilPropertyFormGUI  $form)
private
Parameters
ilPropertyFormGUI$form

Definition at line 1067 of file class.ilObjTestSettingsGeneralGUI.php.

References ilPropertyFormGUI\getInput(), and ilPropertyFormGUI\getItemByPostVar().

Referenced by performSaveForm().

1068  {
1069  if (!$this->testOBJ->participantDataExist()) {
1070  // nr of tries (max passes)
1071  if ($form->getItemByPostVar('limitPasses') instanceof ilFormPropertyGUI) {
1072  if ($form->getInput('limitPasses')) {
1073  $this->testOBJ->setNrOfTries($form->getInput('nr_of_tries'));
1074 
1075  $this->testOBJ->setBlockPassesAfterPassedEnabled(
1076  (bool) $form->getInput('block_after_passed')
1077  );
1078  } else {
1079  $this->testOBJ->setNrOfTries(0);
1080  $this->testOBJ->setBlockPassesAfterPassedEnabled(false);
1081  }
1082  }
1083 
1084  // pass_waiting
1085  if ($form->getItemByPostVar('pass_waiting_enabled') instanceof ilFormPropertyGUI) {
1086  if ($form->getInput('pass_waiting_enabled')) {
1087  $pass_waiting_values = $form->getInput('pass_waiting');
1088 
1089  $pass_waiting_duration[] = sprintf("%'.02d", $pass_waiting_values['MM'] ?? 0);
1090  $pass_waiting_duration[] = sprintf("%'.03d", $pass_waiting_values['dd'] ?? 0);
1091  $pass_waiting_duration[] = sprintf("%'.02d", $pass_waiting_values['hh'] ?? 0);
1092  $pass_waiting_duration[] = sprintf("%'.02d", $pass_waiting_values['mm'] ?? 0);
1093  $pass_waiting_duration[] = sprintf("%'.02d", $pass_waiting_values['ss'] ?? 0);
1094 
1095  $pass_waiting_string = implode(':', $pass_waiting_duration);
1096  $this->testOBJ->setPassWaiting($pass_waiting_string);
1097  } else {
1098  $this->testOBJ->setPassWaiting("00:000:00:00:00");
1099  }
1100  }
1101 
1102  $this->testOBJ->setEnableProcessingTime($form->getInput('chb_processing_time'));
1103  if ($this->testOBJ->getEnableProcessingTime()) {
1104  $this->testOBJ->setProcessingTimeByMinutes($form->getInput('processing_time'));
1105  $this->testOBJ->setResetProcessingTime($form->getInput('chb_reset_processing_time'));
1106  } else {
1107  $this->testOBJ->setProcessingTime('');
1108  $this->testOBJ->setResetProcessingTime(false);
1109  }
1110  }
1111 
1112  if ($form->getItemByPostVar('kiosk') instanceof ilFormPropertyGUI) {
1113  $this->testOBJ->setKioskMode($form->getInput('kiosk'));
1114  $kioskOptions = $form->getInput('kiosk_options');
1115  if (is_array($kioskOptions)) {
1116  $this->testOBJ->setShowKioskModeTitle(in_array('kiosk_title', $kioskOptions, true));
1117  $this->testOBJ->setShowKioskModeParticipant(in_array('kiosk_participant', $kioskOptions, true));
1118  } else {
1119  $this->testOBJ->setShowKioskModeTitle(false);
1120  $this->testOBJ->setShowKioskModeParticipant(false);
1121  }
1122  }
1123 
1124  if ($form->getItemByPostVar('examid_in_test_pass') instanceof ilFormPropertyGUI) {
1125  $this->testOBJ->setShowExamIdInTestPassEnabled((bool) $form->getInput('examid_in_test_pass'));
1126  }
1127  }
getItemByPostVar(string $a_post_var)
getInput(string $a_post_var, bool $ensureValidation=true)
Returns the input of an item, if item provides getInput method and as fallback the value of the HTTP-...
This class represents a property in a property form.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ saveTestSequenceSettings()

ilObjTestSettingsGeneralGUI::saveTestSequenceSettings ( ilPropertyFormGUI  $form)
private
Parameters
ilPropertyFormGUI$form

Definition at line 1419 of file class.ilObjTestSettingsGeneralGUI.php.

References ilTestSettingsGUI\formPropertyExists(), and ilPropertyFormGUI\getInput().

Referenced by performSaveForm().

1420  {
1421  if ($this->formPropertyExists($form, 'chb_use_previous_answers')) {
1422  $this->testOBJ->setUsePreviousAnswers($form->getInput('chb_use_previous_answers'));
1423  }
1424 
1425  if ($this->formPropertyExists($form, 'chb_show_cancel')) {
1426  $this->testOBJ->setShowCancel((bool) $form->getInput('chb_show_cancel'));
1427  }
1428 
1429  if ($this->formPropertyExists($form, 'postpone')) {
1430  $this->testOBJ->setPostponingEnabled((bool) $form->getInput('postpone'));
1431  }
1432 
1433  $this->testOBJ->setListOfQuestions((bool) $form->getInput('list_of_questions'));
1434  $listOfQuestionsOptions = $form->getInput('list_of_questions_options');
1435  if (is_array($listOfQuestionsOptions)) {
1436  $this->testOBJ->setListOfQuestionsStart(in_array('chb_list_of_questions_start', $listOfQuestionsOptions));
1437  $this->testOBJ->setListOfQuestionsEnd(in_array('chb_list_of_questions_end', $listOfQuestionsOptions));
1438  $this->testOBJ->setListOfQuestionsDescription(in_array('chb_list_of_questions_with_description', $listOfQuestionsOptions));
1439  } else {
1440  $this->testOBJ->setListOfQuestionsStart(0);
1441  $this->testOBJ->setListOfQuestionsEnd(0);
1442  $this->testOBJ->setListOfQuestionsDescription(0);
1443  }
1444 
1445  if ($this->formPropertyExists($form, 'chb_show_marker')) {
1446  $this->testOBJ->setShowMarker((bool) $form->getInput('chb_show_marker'));
1447  }
1448  }
getInput(string $a_post_var, bool $ensureValidation=true)
Returns the input of an item, if item provides getInput method and as fallback the value of the HTTP-...
formPropertyExists(ilPropertyFormGUI $form, $propertyId)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setAnswerFixationSettingsByFormValue()

ilObjTestSettingsGeneralGUI::setAnswerFixationSettingsByFormValue (   $formValue)
protected

Definition at line 1577 of file class.ilObjTestSettingsGeneralGUI.php.

Referenced by saveQuestionBehaviourProperties().

1578  {
1579  switch ($formValue) {
1580  case self::ANSWER_FIXATION_NONE:
1581  $this->testOBJ->setInstantFeedbackAnswerFixationEnabled(false);
1582  $this->testOBJ->setFollowupQuestionAnswerFixationEnabled(false);
1583  break;
1584  case self::ANSWER_FIXATION_ON_INSTANT_FEEDBACK:
1585  $this->testOBJ->setInstantFeedbackAnswerFixationEnabled(true);
1586  $this->testOBJ->setFollowupQuestionAnswerFixationEnabled(false);
1587  break;
1588  case self::ANSWER_FIXATION_ON_FOLLOWUP_QUESTION:
1589  $this->testOBJ->setInstantFeedbackAnswerFixationEnabled(false);
1590  $this->testOBJ->setFollowupQuestionAnswerFixationEnabled(true);
1591  break;
1592  case self::ANSWER_FIXATION_ON_IFB_OR_FUQST:
1593  $this->testOBJ->setInstantFeedbackAnswerFixationEnabled(true);
1594  $this->testOBJ->setFollowupQuestionAnswerFixationEnabled(true);
1595  break;
1596  }
1597  }
+ Here is the caller graph for this function:

◆ showConfirmation()

ilObjTestSettingsGeneralGUI::showConfirmation ( ilPropertyFormGUI  $form,
  $oldQuestionSetType,
  $newQuestionSetType,
  $hasQuestionsWithoutQuestionpool 
)
private

Definition at line 151 of file class.ilObjTestSettingsGeneralGUI.php.

References ILIAS\Repository\ctrl(), and ILIAS\Repository\lng().

Referenced by saveFormCmd().

152  {
153  require_once 'Modules/Test/classes/confirmations/class.ilTestSettingsChangeConfirmationGUI.php';
154  $confirmation = new ilTestSettingsChangeConfirmationGUI($this->testOBJ);
155 
156  $confirmation->setFormAction($this->ctrl->getFormAction($this));
157  $confirmation->setCancel($this->lng->txt('cancel'), self::CMD_SHOW_FORM);
158  $confirmation->setConfirm($this->lng->txt('confirm'), self::CMD_CONFIRMED_SAVE_FORM);
159 
160  $confirmation->setOldQuestionSetType($oldQuestionSetType);
161  $confirmation->setNewQuestionSetType($newQuestionSetType);
162  $confirmation->setQuestionLossInfoEnabled($hasQuestionsWithoutQuestionpool);
163  $confirmation->build();
164 
165  $confirmation->populateParametersFromPropertyForm($form, $this->activeUser->getTimeZone());
166 
167  $this->tpl->setContent($this->ctrl->getHTML($confirmation));
168  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ showFormCmd()

ilObjTestSettingsGeneralGUI::showFormCmd ( ilPropertyFormGUI  $form = null)
private

Definition at line 134 of file class.ilObjTestSettingsGeneralGUI.php.

References buildForm(), ILIAS\Repository\ctrl(), ILIAS\Repository\lng(), and populateSettingsTemplateMessage().

Referenced by saveFormCmd().

135  {
136  $this->tpl->addJavascript("./Services/JavaScript/js/Basic.js");
137 
138  if ($this->testOBJ->isDynamicTest()) {
139  $this->tpl->setOnScreenMessage('info', $this->lng->txt("ctm_cannot_be_changed"));
140  return;
141  }
142 
143  if ($form === null) {
144  $form = $this->buildForm();
145  }
146 
147  $this->tpl->setContent($this->ctrl->getHTML($form));
149  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ showResetTemplateConfirmationCmd()

ilObjTestSettingsGeneralGUI::showResetTemplateConfirmationCmd ( )
private

Enable all settings - Confirmation.

Definition at line 394 of file class.ilObjTestSettingsGeneralGUI.php.

References ILIAS\Repository\ctrl(), and ILIAS\Repository\lng().

395  {
396  $confirmationGUI = new ilConfirmationGUI();
397 
398  $confirmationGUI->setFormAction($this->ctrl->getFormAction($this));
399  $confirmationGUI->setHeaderText($this->lng->txt("test_confirm_template_reset"));
400  $confirmationGUI->setCancel($this->lng->txt('cancel'), self::CMD_SHOW_FORM);
401  $confirmationGUI->setConfirm($this->lng->txt('confirm'), self::CMD_CONFIRMED_RESET_TPL);
402 
403  $this->tpl->setContent($this->ctrl->getHTML($confirmationGUI));
404  }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
+ Here is the call graph for this function:

Field Documentation

◆ $access

ilAccessHandler ilObjTestSettingsGeneralGUI::$access
protected

Definition at line 56 of file class.ilObjTestSettingsGeneralGUI.php.

◆ $activeUser

ilObjUser ilObjTestSettingsGeneralGUI::$activeUser
protected

Definition at line 62 of file class.ilObjTestSettingsGeneralGUI.php.

◆ $component_repository

ilComponentRepository ilObjTestSettingsGeneralGUI::$component_repository
protected

Definition at line 61 of file class.ilObjTestSettingsGeneralGUI.php.

◆ $ctrl

ilCtrlInterface ilObjTestSettingsGeneralGUI::$ctrl
protected

Definition at line 55 of file class.ilObjTestSettingsGeneralGUI.php.

◆ $db

ilDBInterface ilObjTestSettingsGeneralGUI::$db
protected

Definition at line 60 of file class.ilObjTestSettingsGeneralGUI.php.

◆ $lng

ilLanguage ilObjTestSettingsGeneralGUI::$lng
protected

Definition at line 57 of file class.ilObjTestSettingsGeneralGUI.php.

◆ $request

RequestInterface ilObjTestSettingsGeneralGUI::$request
private

Definition at line 65 of file class.ilObjTestSettingsGeneralGUI.php.

◆ $testGUI

ilObjTestGUI ilObjTestSettingsGeneralGUI::$testGUI
protected

Definition at line 63 of file class.ilObjTestSettingsGeneralGUI.php.

◆ $testQuestionSetConfigFactory

ilTestQuestionSetConfigFactory ilObjTestSettingsGeneralGUI::$testQuestionSetConfigFactory
private

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

◆ $tpl

ilGlobalTemplateInterface ilObjTestSettingsGeneralGUI::$tpl
protected

Definition at line 58 of file class.ilObjTestSettingsGeneralGUI.php.

◆ $tree

ilTree ilObjTestSettingsGeneralGUI::$tree
protected

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

◆ $ui_factory

UIFactory ilObjTestSettingsGeneralGUI::$ui_factory
private

Definition at line 66 of file class.ilObjTestSettingsGeneralGUI.php.

◆ $ui_renderer

UIRenderer ilObjTestSettingsGeneralGUI::$ui_renderer
private

Definition at line 67 of file class.ilObjTestSettingsGeneralGUI.php.

◆ ANSWER_FIXATION_NONE

const ilObjTestSettingsGeneralGUI::ANSWER_FIXATION_NONE = 'none'

◆ ANSWER_FIXATION_ON_FOLLOWUP_QUESTION

const ilObjTestSettingsGeneralGUI::ANSWER_FIXATION_ON_FOLLOWUP_QUESTION = 'followup_question'

◆ ANSWER_FIXATION_ON_IFB_OR_FUQST

const ilObjTestSettingsGeneralGUI::ANSWER_FIXATION_ON_IFB_OR_FUQST = 'ifb_or_fuqst'

◆ ANSWER_FIXATION_ON_INSTANT_FEEDBACK

const ilObjTestSettingsGeneralGUI::ANSWER_FIXATION_ON_INSTANT_FEEDBACK = 'instant_feedback'

◆ CMD_CONFIRMED_RESET_TPL

const ilObjTestSettingsGeneralGUI::CMD_CONFIRMED_RESET_TPL = 'confirmedResetTemplate'

Definition at line 45 of file class.ilObjTestSettingsGeneralGUI.php.

◆ CMD_CONFIRMED_SAVE_FORM

const ilObjTestSettingsGeneralGUI::CMD_CONFIRMED_SAVE_FORM = 'confirmedSaveForm'

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

◆ CMD_SAVE_FORM

const ilObjTestSettingsGeneralGUI::CMD_SAVE_FORM = 'saveForm'

Definition at line 42 of file class.ilObjTestSettingsGeneralGUI.php.

◆ CMD_SHOW_FORM

const ilObjTestSettingsGeneralGUI::CMD_SHOW_FORM = 'showForm'

◆ CMD_SHOW_RESET_TPL_CONFIRM

const ilObjTestSettingsGeneralGUI::CMD_SHOW_RESET_TPL_CONFIRM = 'showResetTemplateConfirmation'

Definition at line 44 of file class.ilObjTestSettingsGeneralGUI.php.

◆ INSTANT_FEEDBACK_TRIGGER_FORCED

const ilObjTestSettingsGeneralGUI::INSTANT_FEEDBACK_TRIGGER_FORCED = 1

◆ INSTANT_FEEDBACK_TRIGGER_MANUAL

const ilObjTestSettingsGeneralGUI::INSTANT_FEEDBACK_TRIGGER_MANUAL = 0

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