4 require_once
'Modules/Test/classes/class.ilTestSettingsGUI.php';
94 $this->testOBJ = $testGUI->object;
96 require_once
'Modules/Test/classes/class.ilTestQuestionSetConfigFactory.php';
99 $templateId = $this->testOBJ->getTemplate();
102 include_once
"Services/Administration/classes/class.ilSettingsTemplate.php";
114 if (!$this->access->checkAccess(
'write',
'', $this->testGUI->ref_id)) {
116 $this->ctrl->redirect($this->testGUI,
'infoScreen');
125 $nextClass = $this->ctrl->getNextClass();
127 switch ($nextClass) {
129 $cmd = $this->ctrl->getCmd(self::CMD_SHOW_FORM) .
'Cmd';
138 if (
$form === null) {
142 $this->tpl->setContent($this->ctrl->getHTML(
$form));
157 $form->setValuesByPost();
181 if ($recalcRequired) {
182 $this->testOBJ->recalculateScores(
true);
187 ilUtil::sendSuccess($this->lng->txt(
"msg_obj_modified"),
true);
188 $this->ctrl->redirect($this, self::CMD_SHOW_FORM);
199 $this->testOBJ->saveToDb(
true);
204 require_once
'Services/Utilities/classes/class.ilConfirmationGUI.php';
207 $confirmation->setHeaderText($this->lng->txt(
'tst_trigger_result_refreshing'));
209 $confirmation->setFormAction($this->ctrl->getFormAction($this));
210 $confirmation->setCancel($this->lng->txt(
'cancel'), self::CMD_SHOW_FORM);
211 $confirmation->setConfirm($this->lng->txt(
'confirm'), self::CMD_CONFIRMED_SAVE_FORM);
216 switch ($item->getType()) {
217 case 'section_header':
223 $datetime = $item->getDate();
226 if (!($date instanceof
ilDate)) {
227 $confirmation->addHiddenItem($item->getPostVar(), $date .
' ' .
$time);
229 $confirmation->addHiddenItem($item->getPostVar(), $date);
232 $confirmation->addHiddenItem($item->getPostVar(),
'');
239 $confirmation->addHiddenItem(
"{$item->getPostVar()}[MM]", (
int) $item->getMonths());
240 $confirmation->addHiddenItem(
"{$item->getPostVar()}[dd]", (
int) $item->getDays());
241 $confirmation->addHiddenItem(
"{$item->getPostVar()}[hh]", (
int) $item->getHours());
242 $confirmation->addHiddenItem(
"{$item->getPostVar()}[mm]", (
int) $item->getMinutes());
243 $confirmation->addHiddenItem(
"{$item->getPostVar()}[ss]", (
int) $item->getSeconds());
247 case 'checkboxgroup':
249 if (is_array($item->getValue())) {
250 foreach ($item->getValue() as $option) {
251 $confirmation->addHiddenItem(
"{$item->getPostVar()}[]", $option);
259 if ($item->getChecked()) {
260 $confirmation->addHiddenItem($item->getPostVar(), 1);
267 $confirmation->addHiddenItem($item->getPostVar(), $item->getValue());
271 $this->tpl->setContent($this->ctrl->getHTML($confirmation));
276 include_once
'Services/Form/classes/class.ilPropertyFormGUI.php';
278 $form->setFormAction($this->ctrl->getFormAction($this));
279 $form->setTableWidth(
'100%');
280 $form->setId(
'test_scoring_results');
288 if ($this->settingsTemplate) {
289 foreach ($this->settingsTemplate->getSettings() as
$id => $item) {
291 $form->removeItemByPostVar($id);
296 $form->addCommandButton(self::CMD_SAVE_FORM, $this->lng->txt(
'save'));
304 'count_system',
'mc_scoring',
'score_cutting',
'pass_scoring',
'pass_deletion_allowed' 310 $header->setTitle($this->lng->txt(
'test_scoring'));
315 $count_system =
new ilRadioGroupInputGUI($this->lng->txt(
'tst_text_count_system'),
'count_system');
316 $count_system->
addOption($opt =
new ilRadioOption($this->lng->txt(
'tst_count_partial_solutions'), 0,
''));
317 $opt->setInfo($this->lng->txt(
'tst_count_partial_solutions_desc'));
318 $count_system->addOption($opt =
new ilRadioOption($this->lng->txt(
'tst_count_correct_solutions'), 1,
''));
319 $opt->setInfo($this->lng->txt(
'tst_count_correct_solutions_desc'));
320 $count_system->setValue($this->testOBJ->getCountSystem());
324 $mc_scoring =
new ilRadioGroupInputGUI($this->lng->txt(
'tst_score_mcmr_questions'),
'mc_scoring');
325 $mc_scoring->
addOption($opt =
new ilRadioOption($this->lng->txt(
'tst_score_mcmr_zero_points_when_unanswered'), 0,
''));
326 $opt->setInfo($this->lng->txt(
'tst_score_mcmr_zero_points_when_unanswered_desc'));
327 $mc_scoring->addOption($opt =
new ilRadioOption($this->lng->txt(
'tst_score_mcmr_use_scoring_system'), 1,
''));
328 $opt->setInfo($this->lng->txt(
'tst_score_mcmr_use_scoring_system_desc'));
329 $mc_scoring->setValue($this->testOBJ->getMCScoring());
331 $mc_scoring->setDisabled(
true);
336 $score_cutting =
new ilRadioGroupInputGUI($this->lng->txt(
'tst_score_cutting'),
'score_cutting');
338 $opt->setInfo($this->lng->txt(
'tst_score_cut_question_desc'));
339 $score_cutting->addOption($opt =
new ilRadioOption($this->lng->txt(
'tst_score_cut_test'), 1,
''));
340 $opt->setInfo($this->lng->txt(
'tst_score_cut_test_desc'));
341 $score_cutting->setValue($this->testOBJ->getScoreCutting());
342 $form->
addItem($score_cutting);
347 $opt->setInfo($this->lng->txt(
'tst_pass_last_pass_desc'));
348 $pass_scoring->addOption($opt =
new ilRadioOption($this->lng->txt(
'tst_pass_best_pass'), 1,
''));
349 $opt->setInfo($this->lng->txt(
'tst_pass_best_pass_desc'));
350 $pass_scoring->setValue($this->testOBJ->getPassScoring());
354 $passDeletion =
new ilRadioGroupInputGUI($this->lng->txt(
'tst_pass_deletion'),
'pass_deletion_allowed');
356 $passDeletion->addOption(
new ilRadioOption($this->lng->txt(
'tst_pass_deletion_allowed'), 1,
''));
357 $passDeletion->setValue($this->testOBJ->isPassDeletionAllowed());
362 $count_system->setDisabled(
true);
363 $mc_scoring->setDisabled(
true);
364 $score_cutting->setDisabled(
true);
365 $pass_scoring->setDisabled(
true);
376 $this->testOBJ->setCountSystem($form->
getItemByPostVar(
'count_system')->getValue());
380 $this->testOBJ->setMCScoring($form->
getItemByPostVar(
'mc_scoring')->getValue());
384 $this->testOBJ->setScoreCutting($form->
getItemByPostVar(
'score_cutting')->getValue());
388 $this->testOBJ->setPassScoring($form->
getItemByPostVar(
'pass_scoring')->getValue());
393 $this->testOBJ->setPassDeletionAllowed((
bool) $form->
getItemByPostVar(
'pass_deletion_allowed')->getValue());
401 $header_tr->setTitle($this->lng->txt(
'test_results'));
405 $resultsAccessEnabled =
new ilCheckboxInputGUI($this->lng->txt(
'tst_results_access_enabled'),
'results_access_enabled');
406 $resultsAccessEnabled->
setInfo($this->lng->txt(
'tst_results_access_enabled_desc'));
407 $resultsAccessEnabled->setChecked($this->testOBJ->isScoreReportingEnabled());
408 $resultsAccessSetting =
new ilRadioGroupInputGUI($this->lng->txt(
'tst_results_access_setting'),
'results_access_setting');
410 $optAlways =
new ilRadioOption($this->lng->txt(
'tst_results_access_always'));
411 $optAlways->
setInfo($this->lng->txt(
'tst_results_access_always_desc'));
413 $resultsAccessSetting->addOption($optAlways);
414 $optFinished = $opt =
new ilRadioOption($this->lng->txt(
'tst_results_access_finished'));
415 $optFinished->
setInfo($this->lng->txt(
'tst_results_access_finished_desc'));
417 $resultsAccessSetting->addOption($optFinished);
418 $optPassed = $opt =
new ilRadioOption($this->lng->txt(
'tst_results_access_passed'));
419 $optPassed->
setInfo($this->lng->txt(
'tst_results_access_passed_desc'));
421 $resultsAccessSetting->addOption($optPassed);
422 $optionDate =
new ilRadioOption($this->lng->txt(
'tst_results_access_date'));
423 $optionDate->
setInfo($this->lng->txt(
'tst_results_access_date_desc'));
426 $reportingDate =
new ilDateTimeInputGUI($this->lng->txt(
'tst_reporting_date'),
'reporting_date');
428 $reportingDate->setShowTime(
true);
429 if (strlen($this->testOBJ->getReportingDate())) {
434 $optionDate->addSubItem($reportingDate);
435 $resultsAccessSetting->addOption($optionDate);
436 $resultsAccessSetting->setValue($this->testOBJ->getScoreReporting());
437 $resultsAccessEnabled->addSubItem($resultsAccessSetting);
439 $showPassDetails =
new ilCheckboxInputGUI($this->lng->txt(
'tst_show_pass_details'),
'pass_details');
440 $showPassDetails->
setInfo($this->lng->txt(
'tst_show_pass_details_desc'));
441 $showPassDetails->setChecked($this->testOBJ->getShowPassDetails());
442 $resultsAccessEnabled->addSubItem($showPassDetails);
443 $form->
addItem($resultsAccessEnabled);
446 $chb_only_passed_failed =
new ilCheckboxInputGUI($this->lng->txt(
'tst_results_grading_opt_show_status'),
'grading_status');
447 $chb_only_passed_failed->
setInfo($this->lng->txt(
'tst_results_grading_opt_show_status_desc'));
448 $chb_only_passed_failed->setValue(1);
449 $chb_only_passed_failed->setChecked($this->testOBJ->isShowGradingStatusEnabled());
450 $resultsAccessEnabled->addSubItem($chb_only_passed_failed);
452 $chb_resulting_mark_only =
new ilCheckboxInputGUI($this->lng->txt(
'tst_results_grading_opt_show_mark'),
'grading_mark');
453 $chb_resulting_mark_only->
setInfo($this->lng->txt(
'tst_results_grading_opt_show_mark_desc'));
454 $chb_resulting_mark_only->setValue(1);
455 $chb_resulting_mark_only->setChecked($this->testOBJ->isShowGradingMarkEnabled());
456 $resultsAccessEnabled->addSubItem($chb_resulting_mark_only);
466 $this->testOBJ->setScoreReporting($form->
getItemByPostVar(
'results_access_setting')->getValue());
471 $this->testOBJ->setReportingDate($reporting_date->get(
IL_CAL_FKT_DATE,
'YmdHis'));
473 $this->testOBJ->setReportingDate(
'');
476 $this->testOBJ->setReportingDate(
'');
479 $this->testOBJ->setShowPassDetails($form->
getItemByPostVar(
'pass_details')->getChecked());
482 $this->testOBJ->setShowPassDetails(
false);
483 $this->testOBJ->setReportingDate(
'');
488 $this->testOBJ->setShowGradingStatusEnabled(
494 $this->testOBJ->setShowGradingMarkEnabled(
504 $header_tr->setTitle($this->lng->txt(
'tst_results_details_options'));
508 $showSolutionDetails =
new ilCheckboxInputGUI($this->lng->txt(
'tst_show_solution_details'),
'solution_details');
509 $showSolutionDetails->
setInfo($this->lng->txt(
'tst_show_solution_details_desc'));
510 $showSolutionDetails->setChecked($this->testOBJ->getShowSolutionDetails());
511 $form->
addItem($showSolutionDetails);
514 $results_print_best_solution =
new ilCheckboxInputGUI($this->lng->txt(
'tst_results_print_best_solution'),
'print_bs_with_res');
515 $results_print_best_solution->
setInfo($this->lng->txt(
'tst_results_print_best_solution_info'));
516 $results_print_best_solution->setChecked((
bool) $this->testOBJ->isBestSolutionPrintedWithResult());
517 $showSolutionDetails->addSubItem($results_print_best_solution);
520 $showSolutionFeedbackOption =
new ilCheckboxInputGUI($this->lng->txt(
'tst_show_solution_feedback'),
'solution_feedback');
521 $showSolutionFeedbackOption->
setInfo($this->lng->txt(
'tst_show_solution_feedback_desc'));
522 $showSolutionFeedbackOption->setChecked($this->testOBJ->getShowSolutionFeedback());
523 $form->
addItem($showSolutionFeedbackOption);
526 $showSuggestedSolutionOption =
new ilCheckboxInputGUI($this->lng->txt(
'tst_show_solution_suggested'),
'solution_suggested');
527 $showSuggestedSolutionOption->
setInfo($this->lng->txt(
'tst_show_solution_suggested_desc'));
528 $showSuggestedSolutionOption->setChecked($this->testOBJ->getShowSolutionSuggested());
529 $form->
addItem($showSuggestedSolutionOption);
532 $showSolutionPrintview =
new ilCheckboxInputGUI($this->lng->txt(
'tst_show_solution_printview'),
'solution_printview');
533 $showSolutionPrintview->
setInfo($this->lng->txt(
'tst_show_solution_printview_desc'));
534 $showSolutionPrintview->setChecked($this->testOBJ->getShowSolutionPrintview());
535 $form->
addItem($showSolutionPrintview);
538 $solutionCompareInput =
new ilCheckboxInputGUI($this->lng->txt(
'tst_show_solution_compare'),
'solution_compare');
539 $solutionCompareInput->
setInfo($this->lng->txt(
'tst_show_solution_compare_desc'));
540 $solutionCompareInput->setChecked($this->testOBJ->getShowSolutionListComparison());
541 $showSolutionPrintview->addSubItem($solutionCompareInput);
544 $solutionAnswersOnly =
new ilCheckboxInputGUI($this->lng->txt(
'tst_show_solution_answers_only'),
'solution_answers_only');
545 $solutionAnswersOnly->
setInfo($this->lng->txt(
'tst_show_solution_answers_only_desc'));
546 $solutionAnswersOnly->setChecked($this->testOBJ->getShowSolutionAnswersOnly());
547 $showSolutionPrintview->addSubItem($solutionAnswersOnly);
550 $highscore =
new ilCheckboxInputGUI($this->lng->txt(
"tst_highscore_enabled"),
"highscore_enabled");
552 $highscore->setChecked($this->testOBJ->getHighscoreEnabled());
553 $highscore->setInfo($this->lng->txt(
"tst_highscore_description"));
555 $highscore_tables =
new ilRadioGroupInputGUI($this->lng->txt(
'tst_highscore_mode'),
'highscore_mode');
557 $highscore_tables->setValue($this->testOBJ->getHighscoreMode());
559 $highscore_table_own->
setInfo($this->lng->txt(
'tst_highscore_own_table_description'));
560 $highscore_tables->addOption($highscore_table_own);
562 $highscore_table_other->
setInfo($this->lng->txt(
'tst_highscore_top_table_description'));
563 $highscore_tables->addOption($highscore_table_other);
565 $highscore_table_other->
setInfo($this->lng->txt(
'tst_highscore_all_tables_description'));
566 $highscore_tables->addOption($highscore_table_other);
567 $highscore->addSubItem($highscore_tables);
568 $highscore_top_num =
new ilNumberInputGUI($this->lng->txt(
"tst_highscore_top_num"),
"highscore_top_num");
569 $highscore_top_num->
setSize(4);
570 $highscore_top_num->setRequired(
true);
571 $highscore_top_num->setMinValue(1);
572 $highscore_top_num->setSuffix($this->lng->txt(
"tst_highscore_top_num_unit"));
573 $highscore_top_num->setValue($this->testOBJ->getHighscoreTopNum(null));
574 $highscore_top_num->setInfo($this->lng->txt(
"tst_highscore_top_num_description"));
575 $highscore->addSubItem($highscore_top_num);
576 $highscore_anon =
new ilCheckboxInputGUI($this->lng->txt(
"tst_highscore_anon"),
"highscore_anon");
578 $highscore_anon->setChecked($this->testOBJ->getHighscoreAnon());
579 $highscore_anon->setInfo($this->lng->txt(
"tst_highscore_anon_description"));
580 $highscore->addSubItem($highscore_anon);
581 $highscore_achieved_ts =
new ilCheckboxInputGUI($this->lng->txt(
"tst_highscore_achieved_ts"),
"highscore_achieved_ts");
582 $highscore_achieved_ts->
setValue(1);
583 $highscore_achieved_ts->setChecked($this->testOBJ->getHighscoreAchievedTS());
584 $highscore_achieved_ts->setInfo($this->lng->txt(
"tst_highscore_achieved_ts_description"));
585 $highscore->addSubItem($highscore_achieved_ts);
586 $highscore_score =
new ilCheckboxInputGUI($this->lng->txt(
"tst_highscore_score"),
"highscore_score");
588 $highscore_score->setChecked($this->testOBJ->getHighscoreScore());
589 $highscore_score->setInfo($this->lng->txt(
"tst_highscore_score_description"));
590 $highscore->addSubItem($highscore_score);
591 $highscore_percentage =
new ilCheckboxInputGUI($this->lng->txt(
"tst_highscore_percentage"),
"highscore_percentage");
593 $highscore_percentage->setChecked($this->testOBJ->getHighscorePercentage());
594 $highscore_percentage->setInfo($this->lng->txt(
"tst_highscore_percentage_description"));
595 $highscore->addSubItem($highscore_percentage);
596 $highscore_hints =
new ilCheckboxInputGUI($this->lng->txt(
"tst_highscore_hints"),
"highscore_hints");
598 $highscore_hints->setChecked($this->testOBJ->getHighscoreHints());
599 $highscore_hints->setInfo($this->lng->txt(
"tst_highscore_hints_description"));
600 $highscore->addSubItem($highscore_hints);
601 $highscore_wtime =
new ilCheckboxInputGUI($this->lng->txt(
"tst_highscore_wtime"),
"highscore_wtime");
603 $highscore_wtime->setChecked($this->testOBJ->getHighscoreWTime());
604 $highscore_wtime->setInfo($this->lng->txt(
"tst_highscore_wtime_description"));
605 $highscore->addSubItem($highscore_wtime);
608 $showSignaturePlaceholder =
new ilCheckboxInputGUI($this->lng->txt(
'tst_show_solution_signature'),
'solution_signature');
609 $showSignaturePlaceholder->
setInfo($this->lng->txt(
'tst_show_solution_signature_desc'));
610 $showSignaturePlaceholder->setChecked($this->testOBJ->getShowSolutionSignature());
611 if ($this->testOBJ->getAnonymity()) {
612 $showSignaturePlaceholder->setDisabled(
true);
614 $form->
addItem($showSignaturePlaceholder);
617 $showExamId =
new ilCheckboxInputGUI($this->lng->txt(
'examid_in_test_res'),
'examid_in_test_res');
618 $showExamId->
setInfo($this->lng->txt(
'examid_in_test_res_desc'));
619 $showExamId->setChecked($this->testOBJ->isShowExamIdInTestResultsEnabled());
623 $export_settings =
new ilCheckboxInputGUI($this->lng->txt(
'tst_exp_sc_short'),
'exp_sc_short');
624 $export_settings->
setInfo($this->lng->txt(
'tst_exp_sc_short_desc'));
625 $export_settings->setChecked($this->testOBJ->getExportSettingsSingleChoiceShort());
626 $form->
addItem($export_settings);
636 $this->testOBJ->setShowSolutionDetails(1);
637 $this->testOBJ->setPrintBestSolutionWithResult(
641 $this->testOBJ->setShowSolutionDetails(0);
642 $this->testOBJ->setPrintBestSolutionWithResult(0);
647 $this->testOBJ->setShowSolutionFeedback($form->
getItemByPostVar(
'solution_feedback')->getChecked());
651 $this->testOBJ->setShowSolutionSuggested($form->
getItemByPostVar(
'solution_suggested')->getChecked());
656 $this->testOBJ->setShowSolutionPrintview(1);
657 $this->testOBJ->setShowSolutionListComparison(
660 $this->testOBJ->setShowSolutionAnswersOnly(
664 $this->testOBJ->setShowSolutionPrintview(0);
665 $this->testOBJ->setShowSolutionListComparison(
false);
666 $this->testOBJ->setShowSolutionAnswersOnly(0);
672 $this->testOBJ->setHighscoreEnabled((
bool) $form->
getItemByPostVar(
'highscore_enabled')->getChecked());
673 $this->testOBJ->setHighscoreAnon((
bool) $form->
getItemByPostVar(
'highscore_anon')->getChecked());
674 $this->testOBJ->setHighscoreAchievedTS((
bool) $form->
getItemByPostVar(
'highscore_achieved_ts')->getChecked());
675 $this->testOBJ->setHighscoreScore((
bool) $form->
getItemByPostVar(
'highscore_score')->getChecked());
676 $this->testOBJ->setHighscorePercentage((
bool) $form->
getItemByPostVar(
'highscore_percentage')->getChecked());
677 $this->testOBJ->setHighscoreHints((
bool) $form->
getItemByPostVar(
'highscore_hints')->getChecked());
678 $this->testOBJ->setHighscoreWTime((
bool) $form->
getItemByPostVar(
'highscore_wtime')->getChecked());
679 $this->testOBJ->setHighscoreMode((
int) $form->
getItemByPostVar(
'highscore_mode')->getValue());
680 $this->testOBJ->setHighscoreTopNum((
int) $form->
getItemByPostVar(
'highscore_top_num')->getValue());
684 $this->testOBJ->setShowSolutionSignature($form->
getItemByPostVar(
'solution_signature')->getChecked());
688 $this->testOBJ->setShowExamIdInTestResultsEnabled($form->
getItemByPostVar(
'examid_in_test_res')->getChecked());
692 $this->testOBJ->setExportSettingsSingleChoiceShort((
int) $form->
getItemByPostVar(
'exp_sc_short')->getChecked());
698 if ($this->testQuestionSetConfigFactory->getQuestionSetConfig()->isResultTaxonomyFilterSupported()) {
701 $header_misc->setTitle($this->lng->txt(
'misc'));
706 if ($this->testQuestionSetConfigFactory->getQuestionSetConfig()->isResultTaxonomyFilterSupported()) {
710 require_once
'Modules/Test/classes/class.ilTestTaxonomyFilterLabelTranslater.php';
714 $results_presentation =
new ilCheckboxGroupInputGUI($this->lng->txt(
'tst_results_tax_filters'),
'results_tax_filters');
718 $labelTranslater->getTaxonomyTreeLabel($taxonomyId),
724 $results_presentation->setValue($this->testOBJ->getResultFilterTaxIds());
726 $form->
addItem($results_presentation);
737 if ($this->testQuestionSetConfigFactory->getQuestionSetConfig()->isResultTaxonomyFilterSupported()) {
739 $taxFilters = array();
742 $taxFilters = array_intersect(
748 $this->testOBJ->setResultFilterTaxIds($taxFilters);
755 if (!$this->testOBJ->getScoreReporting()) {
761 && $this->testOBJ->getReportingDate() > time()
771 if (!$this->testOBJ->participantDataExist()) {
784 if (!$this->testOBJ->participantDataExist()) {
802 if (is_object($countSystem) && $countSystem->getValue() != $this->testOBJ->getCountSystem()) {
807 if (is_object($mcScoring) && $mcScoring->getValue() != $this->testOBJ->getMCScoring()) {
812 if (is_object($scoreCutting) && $scoreCutting->getValue() != $this->testOBJ->getScoreCutting()) {
817 if (is_object($passScoring) && $passScoring->getValue() != $this->testOBJ->getPassScoring()) {
829 require_once
'Services/Taxonomy/classes/class.ilObjTaxonomy.php';
getAvailableTaxonomyIds()
static getSettingsTemplateConfig()
const SCORE_REPORTING_DISABLED
This class represents an option in a radio group.
This class provides processing control methods.
showFormCmd(ilPropertyFormGUI $form=null)
This class represents an option in a checkbox group.
static getUsageOfObject($a_obj_id, $a_include_titles=false)
Get usage of object.
performSaveForm(ilPropertyFormGUI $form)
const CMD_SHOW_FORM
command constants
saveScoringSettingsFormSection(ilPropertyFormGUI $form)
const SCORE_REPORTING_AFTER_PASSED
hasScoringSettingsChanged(ilPropertyFormGUI $form)
if(!array_key_exists('StateId', $_REQUEST)) $id
isScoreRecalculationRequired(ilPropertyFormGUI $form)
setInfo($a_info)
Set Info.
showConfirmation(ilPropertyFormGUI $form)
isScoreReportingAvailable()
Interface ilAccessHandler.
Administration class for plugins.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
const SCORE_REPORTING_IMMIDIATLY
executeCommand()
Command Execution.
if(isset($_POST['submit'])) $form
isSectionHeaderRequired($fields)
const CMD_CONFIRMED_SAVE_FORM
saveResultSummarySettings(ilPropertyFormGUI $form)
saveResultMiscOptionsSettings(ilPropertyFormGUI $form)
special template class to simplify handling of ITX/PEAR
saveResultDetailsSettings(ilPropertyFormGUI $form)
areScoringSettingsWritable()
__construct(ilCtrl $ctrl, ilAccessHandler $access, ilLanguage $lng, ilTemplate $tpl, ilTree $tree, ilDBInterface $db, ilPluginAdmin $pluginAdmin, ilObjTestGUI $testGUI)
Constructor.
saveFormCmd($isConfirmedSave=false)
Tree class data representation in hierachical trees using the Nested Set Model with Gaps by Joe Celco...
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
const SCORE_REPORTING_FINISHED
$testQuestionSetConfigFactory
isHiddenFormItem($formFieldId)
const SCORE_REPORTING_DATE
const HIGHSCORE_SHOW_TOP_TABLE
const HIGHSCORE_SHOW_OWN_TABLE
formPropertyExists(ilPropertyFormGUI $form, $propertyId)
addResultSummarySettingsFormSection(ilPropertyFormGUI $form)
addScoringSettingsFormSection(ilPropertyFormGUI $form)
const HIGHSCORE_SHOW_ALL_TABLES
addResultDetailsSettingsFormSection(ilPropertyFormGUI $form)
Settings template application class.
addMiscSettingsFormSection(ilPropertyFormGUI $form)
Confirmation screen class.