4require_once 
'Modules/Test/classes/class.ilTestSettingsGUI.php';
 
   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');
 
  121        $nextClass = $this->ctrl->getNextClass();
 
  123        switch ($nextClass) {
 
  125                $cmd = $this->ctrl->getCmd(self::CMD_SHOW_FORM) . 
'Cmd';
 
  134        if (
$form === 
null) {
 
  138        $this->tpl->setContent($this->ctrl->getHTML(
$form));
 
  153        $form->setValuesByPost(); 
 
  173            $this->testOBJ->recalculateScores(
true);
 
  179        $this->ctrl->redirect($this, self::CMD_SHOW_FORM);
 
  190        $this->testOBJ->saveToDb(
true);
 
  195        require_once 
'Services/Utilities/classes/class.ilConfirmationGUI.php';
 
  198        $confirmation->setHeaderText($this->lng->txt(
'tst_trigger_result_refreshing'));
 
  200        $confirmation->setFormAction($this->ctrl->getFormAction($this));
 
  201        $confirmation->setCancel($this->lng->txt(
'cancel'), self::CMD_SHOW_FORM);
 
  202        $confirmation->setConfirm($this->lng->txt(
'confirm'), self::CMD_CONFIRMED_SAVE_FORM);
 
  204        foreach (
$form->getInputItemsRecursive() as 
$key => $item) {
 
  207            switch ($item->getType()) {
 
  208                case 'section_header':
 
  214                    $datetime = $item->getDate();
 
  217                        if (!($date instanceof 
ilDate)) {
 
  218                            $confirmation->addHiddenItem($item->getPostVar(), $date . 
' ' . 
$time);
 
  220                            $confirmation->addHiddenItem($item->getPostVar(), $date);
 
  223                        $confirmation->addHiddenItem($item->getPostVar(), 
'');
 
  230                    $confirmation->addHiddenItem(
"{$item->getPostVar()}[MM]", (
int) $item->getMonths());
 
  231                    $confirmation->addHiddenItem(
"{$item->getPostVar()}[dd]", (
int) $item->getDays());
 
  232                    $confirmation->addHiddenItem(
"{$item->getPostVar()}[hh]", (
int) $item->getHours());
 
  233                    $confirmation->addHiddenItem(
"{$item->getPostVar()}[mm]", (
int) $item->getMinutes());
 
  234                    $confirmation->addHiddenItem(
"{$item->getPostVar()}[ss]", (
int) $item->getSeconds());
 
  238                case 'checkboxgroup':
 
  240                    if (is_array($item->getValue())) {
 
  241                        foreach ($item->getValue() as $option) {
 
  242                            $confirmation->addHiddenItem(
"{$item->getPostVar()}[]", $option);
 
  250                    if ($item->getChecked()) {
 
  251                        $confirmation->addHiddenItem($item->getPostVar(), 1);
 
  258                    $confirmation->addHiddenItem($item->getPostVar(), $item->getValue());
 
  262        $this->tpl->setContent($this->ctrl->getHTML($confirmation));
 
  267        include_once 
'Services/Form/classes/class.ilPropertyFormGUI.php';
 
  269        $form->setFormAction($this->ctrl->getFormAction($this));
 
  270        $form->setTableWidth(
'100%');
 
  271        $form->setId(
'test_scoring_results');
 
  279        if ($this->settingsTemplate) {
 
  280            foreach ($this->settingsTemplate->getSettings() as 
$id => $item) {
 
  287        $form->addCommandButton(self::CMD_SAVE_FORM, $this->lng->txt(
'save'));
 
  295            'count_system', 
'mc_scoring', 
'score_cutting', 
'pass_scoring', 
'pass_deletion_allowed' 
  301            $header->setTitle($this->lng->txt(
'test_scoring'));
 
  306        $count_system = 
new ilRadioGroupInputGUI($this->lng->txt(
'tst_text_count_system'), 
'count_system');
 
  307        $count_system->addOption($opt = 
new ilRadioOption($this->lng->txt(
'tst_count_partial_solutions'), 0, 
''));
 
  308        $opt->setInfo($this->lng->txt(
'tst_count_partial_solutions_desc'));
 
  309        $count_system->addOption($opt = 
new ilRadioOption($this->lng->txt(
'tst_count_correct_solutions'), 1, 
''));
 
  310        $opt->setInfo($this->lng->txt(
'tst_count_correct_solutions_desc'));
 
  311        $count_system->setValue($this->testOBJ->getCountSystem());
 
  312        $form->addItem($count_system);
 
  315        $mc_scoring = 
new ilRadioGroupInputGUI($this->lng->txt(
'tst_score_mcmr_questions'), 
'mc_scoring');
 
  316        $mc_scoring->addOption($opt = 
new ilRadioOption($this->lng->txt(
'tst_score_mcmr_zero_points_when_unanswered'), 0, 
''));
 
  317        $opt->setInfo($this->lng->txt(
'tst_score_mcmr_zero_points_when_unanswered_desc'));
 
  318        $mc_scoring->addOption($opt = 
new ilRadioOption($this->lng->txt(
'tst_score_mcmr_use_scoring_system'), 1, 
''));
 
  319        $opt->setInfo($this->lng->txt(
'tst_score_mcmr_use_scoring_system_desc'));
 
  320        $mc_scoring->setValue($this->testOBJ->getMCScoring());
 
  322        $mc_scoring->setDisabled(
true);
 
  324        $form->addItem($mc_scoring);
 
  327        $score_cutting = 
new ilRadioGroupInputGUI($this->lng->txt(
'tst_score_cutting'), 
'score_cutting');
 
  328        $score_cutting->addOption($opt = 
new ilRadioOption($this->lng->txt(
'tst_score_cut_question'), 0, 
''));
 
  329        $opt->setInfo($this->lng->txt(
'tst_score_cut_question_desc'));
 
  330        $score_cutting->addOption($opt = 
new ilRadioOption($this->lng->txt(
'tst_score_cut_test'), 1, 
''));
 
  331        $opt->setInfo($this->lng->txt(
'tst_score_cut_test_desc'));
 
  332        $score_cutting->setValue($this->testOBJ->getScoreCutting());
 
  333        $form->addItem($score_cutting);
 
  337        $pass_scoring->addOption($opt = 
new ilRadioOption($this->lng->txt(
'tst_pass_last_pass'), 0, 
''));
 
  338        $opt->setInfo($this->lng->txt(
'tst_pass_last_pass_desc'));
 
  339        $pass_scoring->addOption($opt = 
new ilRadioOption($this->lng->txt(
'tst_pass_best_pass'), 1, 
''));
 
  340        $opt->setInfo($this->lng->txt(
'tst_pass_best_pass_desc'));
 
  341        $pass_scoring->setValue($this->testOBJ->getPassScoring());
 
  342        $form->addItem($pass_scoring);
 
  345        $passDeletion = 
new ilRadioGroupInputGUI($this->lng->txt(
'tst_pass_deletion'), 
'pass_deletion_allowed');
 
  346        $passDeletion->addOption(
new ilRadioOption($this->lng->txt(
'tst_pass_deletion_not_allowed'), 0, 
''));
 
  347        $passDeletion->addOption(
new ilRadioOption($this->lng->txt(
'tst_pass_deletion_allowed'), 1, 
''));
 
  348        $passDeletion->setValue($this->testOBJ->isPassDeletionAllowed());
 
  349        $form->addItem($passDeletion);
 
  353            $count_system->setDisabled(
true);
 
  354            $mc_scoring->setDisabled(
true);
 
  355            $score_cutting->setDisabled(
true);
 
  356            $pass_scoring->setDisabled(
true);
 
  367                $this->testOBJ->setCountSystem(
$form->getItemByPostVar(
'count_system')->getValue());
 
  371                $this->testOBJ->setMCScoring(
$form->getItemByPostVar(
'mc_scoring')->getValue());
 
  375                $this->testOBJ->setScoreCutting(
$form->getItemByPostVar(
'score_cutting')->getValue());
 
  379                $this->testOBJ->setPassScoring(
$form->getItemByPostVar(
'pass_scoring')->getValue());
 
  384            $this->testOBJ->setPassDeletionAllowed((
bool) 
$form->getItemByPostVar(
'pass_deletion_allowed')->getValue());
 
  392        $header_tr->setTitle($this->lng->txt(
'test_results'));
 
  393        $form->addItem($header_tr);
 
  396        $resultsAccessEnabled = 
new ilCheckboxInputGUI($this->lng->txt(
'tst_results_access_enabled'), 
'results_access_enabled');
 
  397        $resultsAccessEnabled->setInfo($this->lng->txt(
'tst_results_access_enabled_desc'));
 
  398        $resultsAccessEnabled->setChecked($this->testOBJ->isScoreReportingEnabled());
 
  399        $resultsAccessSetting = 
new ilRadioGroupInputGUI($this->lng->txt(
'tst_results_access_setting'), 
'results_access_setting');
 
  400        $resultsAccessSetting->setRequired(
true);
 
  401        $optAlways = 
new ilRadioOption($this->lng->txt(
'tst_results_access_always'), 2, 
'');
 
  402        $optAlways->setInfo($this->lng->txt(
'tst_results_access_always_desc'));
 
  403        $resultsAccessSetting->addOption($optAlways);
 
  404        $optFinished = $opt = 
new ilRadioOption($this->lng->txt(
'tst_results_access_finished'), 1, 
'');
 
  405        $optFinished->setInfo($this->lng->txt(
'tst_results_access_finished_desc'));
 
  406        $resultsAccessSetting->addOption($optFinished);
 
  407        $optionDate = 
new ilRadioOption($this->lng->txt(
'tst_results_access_date'), 3, 
'');
 
  408        $optionDate->setInfo($this->lng->txt(
'tst_results_access_date_desc'));
 
  410        $reportingDate = 
new ilDateTimeInputGUI($this->lng->txt(
'tst_reporting_date'), 
'reporting_date');
 
  411        $reportingDate->setRequired(
true);
 
  412        $reportingDate->setShowTime(
true);
 
  413        if (strlen($this->testOBJ->getReportingDate())) {
 
  418        $optionDate->addSubItem($reportingDate);
 
  419        $resultsAccessSetting->addOption($optionDate);
 
  420        $resultsAccessValue = $this->testOBJ->getScoreReporting();
 
  421        $resultsAccessSetting->setValue(
 
  422                $resultsAccessValue > 0 && $resultsAccessValue < 4 ? $resultsAccessValue : 2
 
  424        $resultsAccessEnabled->addSubItem($resultsAccessSetting);
 
  426        $showPassDetails = 
new ilCheckboxInputGUI($this->lng->txt(
'tst_show_pass_details'), 
'pass_details');
 
  427        $showPassDetails->setInfo($this->lng->txt(
'tst_show_pass_details_desc'));
 
  428        $showPassDetails->setChecked($this->testOBJ->getShowPassDetails());
 
  429        $resultsAccessEnabled->addSubItem($showPassDetails);
 
  430        $form->addItem($resultsAccessEnabled);
 
  433        $chb_only_passed_failed = 
new ilCheckboxInputGUI($this->lng->txt(
'tst_results_grading_opt_show_status'), 
'grading_status');
 
  434        $chb_only_passed_failed->setInfo($this->lng->txt(
'tst_results_grading_opt_show_status_desc'));
 
  435        $chb_only_passed_failed->setValue(1);
 
  436        $chb_only_passed_failed->setChecked($this->testOBJ->isShowGradingStatusEnabled());
 
  437        $resultsAccessEnabled->addSubItem($chb_only_passed_failed);
 
  439        $chb_resulting_mark_only = 
new ilCheckboxInputGUI($this->lng->txt(
'tst_results_grading_opt_show_mark'), 
'grading_mark');
 
  440        $chb_resulting_mark_only->setInfo($this->lng->txt(
'tst_results_grading_opt_show_mark_desc'));
 
  441        $chb_resulting_mark_only->setValue(1);
 
  442        $chb_resulting_mark_only->setChecked($this->testOBJ->isShowGradingMarkEnabled());
 
  443        $resultsAccessEnabled->addSubItem($chb_resulting_mark_only);
 
  452            if (
$form->getItemByPostVar(
'results_access_enabled')->getChecked()) {
 
  453                $this->testOBJ->setScoreReporting(
$form->getItemByPostVar(
'results_access_setting')->getValue());
 
  456                    $reporting_date = 
$form->getItemByPostVar(
'reporting_date')->getDate();
 
  458                        $this->testOBJ->setReportingDate($reporting_date->get(
IL_CAL_FKT_DATE, 
'YmdHis'));
 
  460                        $this->testOBJ->setReportingDate(
'');
 
  463                    $this->testOBJ->setReportingDate(
'');
 
  466                $this->testOBJ->setShowPassDetails(
$form->getItemByPostVar(
'pass_details')->getChecked());
 
  468                $this->testOBJ->setScoreReporting(4); 
 
  469                $this->testOBJ->setShowPassDetails(
false);
 
  470                $this->testOBJ->setReportingDate(
'');
 
  475            $this->testOBJ->setShowGradingStatusEnabled(
 
  476                $form->getItemByPostVar(
'grading_status')->getChecked()
 
  481            $this->testOBJ->setShowGradingMarkEnabled(
 
  482                (
int) 
$form->getItemByPostVar(
'grading_mark')->getChecked()
 
  491        $header_tr->setTitle($this->lng->txt(
'tst_results_details_options'));
 
  492        $form->addItem($header_tr);
 
  495        $showSolutionDetails = 
new ilCheckboxInputGUI($this->lng->txt(
'tst_show_solution_details'), 
'solution_details');
 
  496        $showSolutionDetails->setInfo($this->lng->txt(
'tst_show_solution_details_desc'));
 
  497        $showSolutionDetails->setChecked($this->testOBJ->getShowSolutionDetails());
 
  498        $form->addItem($showSolutionDetails);
 
  501        $results_print_best_solution = 
new ilCheckboxInputGUI($this->lng->txt(
'tst_results_print_best_solution'), 
'print_bs_with_res');
 
  502        $results_print_best_solution->setInfo($this->lng->txt(
'tst_results_print_best_solution_info'));
 
  503        $results_print_best_solution->setChecked((
bool) $this->testOBJ->isBestSolutionPrintedWithResult());
 
  504        $showSolutionDetails->addSubItem($results_print_best_solution);
 
  507        $showSolutionFeedbackOption = 
new ilCheckboxInputGUI($this->lng->txt(
'tst_show_solution_feedback'), 
'solution_feedback');
 
  508        $showSolutionFeedbackOption->setInfo($this->lng->txt(
'tst_show_solution_feedback_desc'));
 
  509        $showSolutionFeedbackOption->setChecked($this->testOBJ->getShowSolutionFeedback());
 
  510        $form->addItem($showSolutionFeedbackOption);
 
  513        $showSuggestedSolutionOption = 
new ilCheckboxInputGUI($this->lng->txt(
'tst_show_solution_suggested'), 
'solution_suggested');
 
  514        $showSuggestedSolutionOption->setInfo($this->lng->txt(
'tst_show_solution_suggested_desc'));
 
  515        $showSuggestedSolutionOption->setChecked($this->testOBJ->getShowSolutionSuggested());
 
  516        $form->addItem($showSuggestedSolutionOption);
 
  519        $showSolutionPrintview = 
new ilCheckboxInputGUI($this->lng->txt(
'tst_show_solution_printview'), 
'solution_printview');
 
  520        $showSolutionPrintview->setInfo($this->lng->txt(
'tst_show_solution_printview_desc'));
 
  521        $showSolutionPrintview->setChecked($this->testOBJ->getShowSolutionPrintview());
 
  522        $form->addItem($showSolutionPrintview);
 
  525        $solutionCompareInput = 
new ilCheckboxInputGUI($this->lng->txt(
'tst_show_solution_compare'), 
'solution_compare');
 
  526        $solutionCompareInput->setInfo($this->lng->txt(
'tst_show_solution_compare_desc'));
 
  527        $solutionCompareInput->setChecked($this->testOBJ->getShowSolutionListComparison());
 
  528        $showSolutionPrintview->addSubItem($solutionCompareInput);
 
  531        $solutionAnswersOnly = 
new ilCheckboxInputGUI($this->lng->txt(
'tst_show_solution_answers_only'), 
'solution_answers_only');
 
  532        $solutionAnswersOnly->setInfo($this->lng->txt(
'tst_show_solution_answers_only_desc'));
 
  533        $solutionAnswersOnly->setChecked($this->testOBJ->getShowSolutionAnswersOnly());
 
  534        $showSolutionPrintview->addSubItem($solutionAnswersOnly);
 
  537        $highscore = 
new ilCheckboxInputGUI($this->lng->txt(
"tst_highscore_enabled"), 
"highscore_enabled");
 
  538        $highscore->setValue(1);
 
  539        $highscore->setChecked($this->testOBJ->getHighscoreEnabled());
 
  540        $highscore->setInfo($this->lng->txt(
"tst_highscore_description"));
 
  541        $form->addItem($highscore);
 
  542        $highscore_tables = 
new ilRadioGroupInputGUI($this->lng->txt(
'tst_highscore_mode'), 
'highscore_mode');
 
  543        $highscore_tables->setRequired(
true);
 
  544        $highscore_tables->setValue($this->testOBJ->getHighscoreMode());
 
  546        $highscore_table_own->setInfo($this->lng->txt(
'tst_highscore_own_table_description'));
 
  547        $highscore_tables->addOption($highscore_table_own);
 
  549        $highscore_table_other->setInfo($this->lng->txt(
'tst_highscore_top_table_description'));
 
  550        $highscore_tables->addOption($highscore_table_other);
 
  552        $highscore_table_other->setInfo($this->lng->txt(
'tst_highscore_all_tables_description'));
 
  553        $highscore_tables->addOption($highscore_table_other);
 
  554        $highscore->addSubItem($highscore_tables);
 
  555        $highscore_top_num = 
new ilNumberInputGUI($this->lng->txt(
"tst_highscore_top_num"), 
"highscore_top_num");
 
  556        $highscore_top_num->setSize(4);
 
  557        $highscore_top_num->setRequired(
true);
 
  558        $highscore_top_num->setMinValue(1);
 
  559        $highscore_top_num->setSuffix($this->lng->txt(
"tst_highscore_top_num_unit"));
 
  560        $highscore_top_num->setValue($this->testOBJ->getHighscoreTopNum(
null));
 
  561        $highscore_top_num->setInfo($this->lng->txt(
"tst_highscore_top_num_description"));
 
  562        $highscore->addSubItem($highscore_top_num);
 
  563        $highscore_anon = 
new ilCheckboxInputGUI($this->lng->txt(
"tst_highscore_anon"), 
"highscore_anon");
 
  564        $highscore_anon->setValue(1);
 
  565        $highscore_anon->setChecked($this->testOBJ->getHighscoreAnon());
 
  566        $highscore_anon->setInfo($this->lng->txt(
"tst_highscore_anon_description"));
 
  567        $highscore->addSubItem($highscore_anon);
 
  568        $highscore_achieved_ts = 
new ilCheckboxInputGUI($this->lng->txt(
"tst_highscore_achieved_ts"), 
"highscore_achieved_ts");
 
  569        $highscore_achieved_ts->setValue(1);
 
  570        $highscore_achieved_ts->setChecked($this->testOBJ->getHighscoreAchievedTS());
 
  571        $highscore_achieved_ts->setInfo($this->lng->txt(
"tst_highscore_achieved_ts_description"));
 
  572        $highscore->addSubItem($highscore_achieved_ts);
 
  573        $highscore_score = 
new ilCheckboxInputGUI($this->lng->txt(
"tst_highscore_score"), 
"highscore_score");
 
  574        $highscore_score->setValue(1);
 
  575        $highscore_score->setChecked($this->testOBJ->getHighscoreScore());
 
  576        $highscore_score->setInfo($this->lng->txt(
"tst_highscore_score_description"));
 
  577        $highscore->addSubItem($highscore_score);
 
  578        $highscore_percentage = 
new ilCheckboxInputGUI($this->lng->txt(
"tst_highscore_percentage"), 
"highscore_percentage");
 
  579        $highscore_percentage->setValue(1);
 
  580        $highscore_percentage->setChecked($this->testOBJ->getHighscorePercentage());
 
  581        $highscore_percentage->setInfo($this->lng->txt(
"tst_highscore_percentage_description"));
 
  582        $highscore->addSubItem($highscore_percentage);
 
  583        $highscore_hints = 
new ilCheckboxInputGUI($this->lng->txt(
"tst_highscore_hints"), 
"highscore_hints");
 
  584        $highscore_hints->setValue(1);
 
  585        $highscore_hints->setChecked($this->testOBJ->getHighscoreHints());
 
  586        $highscore_hints->setInfo($this->lng->txt(
"tst_highscore_hints_description"));
 
  587        $highscore->addSubItem($highscore_hints);
 
  588        $highscore_wtime = 
new ilCheckboxInputGUI($this->lng->txt(
"tst_highscore_wtime"), 
"highscore_wtime");
 
  589        $highscore_wtime->setValue(1);
 
  590        $highscore_wtime->setChecked($this->testOBJ->getHighscoreWTime());
 
  591        $highscore_wtime->setInfo($this->lng->txt(
"tst_highscore_wtime_description"));
 
  592        $highscore->addSubItem($highscore_wtime);
 
  595        $showSignaturePlaceholder = 
new ilCheckboxInputGUI($this->lng->txt(
'tst_show_solution_signature'), 
'solution_signature');
 
  596        $showSignaturePlaceholder->setInfo($this->lng->txt(
'tst_show_solution_signature_desc'));
 
  597        $showSignaturePlaceholder->setChecked($this->testOBJ->getShowSolutionSignature());
 
  598        if ($this->testOBJ->getAnonymity()) {
 
  599            $showSignaturePlaceholder->setDisabled(
true);
 
  601        $form->addItem($showSignaturePlaceholder);
 
  604        $showExamId = 
new ilCheckboxInputGUI($this->lng->txt(
'examid_in_test_res'), 
'examid_in_test_res');
 
  605        $showExamId->setInfo($this->lng->txt(
'examid_in_test_res_desc'));
 
  606        $showExamId->setChecked($this->testOBJ->isShowExamIdInTestResultsEnabled());
 
  607        $form->addItem($showExamId);
 
  610        $export_settings = 
new ilCheckboxInputGUI($this->lng->txt(
'tst_exp_sc_short'), 
'exp_sc_short');
 
  611        $export_settings->setInfo($this->lng->txt(
'tst_exp_sc_short_desc'));
 
  612        $export_settings->setChecked($this->testOBJ->getExportSettingsSingleChoiceShort());
 
  613        $form->addItem($export_settings);
 
  622            if (
$form->getItemByPostVar(
'solution_details')->getChecked()) {
 
  623                $this->testOBJ->setShowSolutionDetails(1);
 
  624                $this->testOBJ->setPrintBestSolutionWithResult(
 
  625                    (
int) 
$form->getItemByPostVar(
'print_bs_with_res')->getChecked()
 
  628                $this->testOBJ->setShowSolutionDetails(0);
 
  629                $this->testOBJ->setPrintBestSolutionWithResult(0);
 
  634            $this->testOBJ->setShowSolutionFeedback(
$form->getItemByPostVar(
'solution_feedback')->getChecked());
 
  638            $this->testOBJ->setShowSolutionSuggested(
$form->getItemByPostVar(
'solution_suggested')->getChecked());
 
  642            if (
$form->getItemByPostVar(
'solution_printview')->getChecked()) {
 
  643                $this->testOBJ->setShowSolutionPrintview(1);
 
  644                $this->testOBJ->setShowSolutionListComparison(
 
  645                    (
bool) 
$form->getItemByPostVar(
'solution_compare')->getChecked()
 
  647                $this->testOBJ->setShowSolutionAnswersOnly(
 
  648                    (
int) 
$form->getItemByPostVar(
'solution_answers_only')->getChecked()
 
  651                $this->testOBJ->setShowSolutionPrintview(0);
 
  652                $this->testOBJ->setShowSolutionListComparison(
false);
 
  653                $this->testOBJ->setShowSolutionAnswersOnly(0);
 
  659            $this->testOBJ->setHighscoreEnabled((
bool) 
$form->getItemByPostVar(
'highscore_enabled')->getChecked());
 
  660            $this->testOBJ->setHighscoreAnon((
bool) 
$form->getItemByPostVar(
'highscore_anon')->getChecked());
 
  661            $this->testOBJ->setHighscoreAchievedTS((
bool) 
$form->getItemByPostVar(
'highscore_achieved_ts')->getChecked());
 
  662            $this->testOBJ->setHighscoreScore((
bool) 
$form->getItemByPostVar(
'highscore_score')->getChecked());
 
  663            $this->testOBJ->setHighscorePercentage((
bool) 
$form->getItemByPostVar(
'highscore_percentage')->getChecked());
 
  664            $this->testOBJ->setHighscoreHints((
bool) 
$form->getItemByPostVar(
'highscore_hints')->getChecked());
 
  665            $this->testOBJ->setHighscoreWTime((
bool) 
$form->getItemByPostVar(
'highscore_wtime')->getChecked());
 
  666            $this->testOBJ->setHighscoreMode((
int) 
$form->getItemByPostVar(
'highscore_mode')->getValue());
 
  667            $this->testOBJ->setHighscoreTopNum((
int) 
$form->getItemByPostVar(
'highscore_top_num')->getValue());
 
  671            $this->testOBJ->setShowSolutionSignature(
$form->getItemByPostVar(
'solution_signature')->getChecked());
 
  675            $this->testOBJ->setShowExamIdInTestResultsEnabled(
$form->getItemByPostVar(
'examid_in_test_res')->getChecked());
 
  679            $this->testOBJ->setExportSettingsSingleChoiceShort((
int) 
$form->getItemByPostVar(
'exp_sc_short')->getChecked());
 
  685        if ($this->testQuestionSetConfigFactory->getQuestionSetConfig()->isResultTaxonomyFilterSupported()) {
 
  688            $header_misc->setTitle($this->lng->txt(
'misc'));
 
  689            $form->addItem($header_misc);
 
  693        if ($this->testQuestionSetConfigFactory->getQuestionSetConfig()->isResultTaxonomyFilterSupported()) {
 
  697                require_once 
'Modules/Test/classes/class.ilTestTaxonomyFilterLabelTranslater.php';
 
  701                $results_presentation = 
new ilCheckboxGroupInputGUI($this->lng->txt(
'tst_results_tax_filters'), 
'results_tax_filters');
 
  705                        $labelTranslater->getTaxonomyTreeLabel($taxonomyId),
 
  711                $results_presentation->setValue($this->testOBJ->getResultFilterTaxIds());
 
  713                $form->addItem($results_presentation);
 
  724        if ($this->testQuestionSetConfigFactory->getQuestionSetConfig()->isResultTaxonomyFilterSupported()) {
 
  726                $taxFilters = array();
 
  728                if (is_array(
$form->getItemByPostVar(
'results_tax_filters')->getValue())) {
 
  729                    $taxFilters = array_intersect(
 
  735                $this->testOBJ->setResultFilterTaxIds($taxFilters);
 
  742        if (!$this->testOBJ->participantDataExist()) {
 
  746        if (!$this->testOBJ->isScoreReportingAvailable()) {
 
  755        if (!$this->testOBJ->participantDataExist()) {
 
  772        $countSystem = 
$form->getItemByPostVar(
'count_system');
 
  773        if (is_object($countSystem) && $countSystem->getValue() != $this->testOBJ->getCountSystem()) {
 
  777        $mcScoring = 
$form->getItemByPostVar(
'mc_scoring');
 
  778        if (is_object($mcScoring) && $mcScoring->getValue() != $this->testOBJ->getMCScoring()) {
 
  782        $scoreCutting = 
$form->getItemByPostVar(
'score_cutting');
 
  783        if (is_object($scoreCutting) && $scoreCutting->getValue() != $this->testOBJ->getScoreCutting()) {
 
  787        $passScoring = 
$form->getItemByPostVar(
'pass_scoring');
 
  788        if (is_object($passScoring) && $passScoring->getValue() != $this->testOBJ->getPassScoring()) {
 
  800            require_once 
'Services/Taxonomy/classes/class.ilObjTaxonomy.php';
 
An exception for terminatinating execution or to throw for unit testing.
This class represents an option in a checkbox group.
Confirmation screen class.
This class provides processing control methods.
@classDescription Date and time handling
static getSettingsTemplateConfig()
static getUsageOfObject($a_obj_id, $a_include_titles=false)
Get usage of object.
saveResultSummarySettings(ilPropertyFormGUI $form)
const CMD_SHOW_FORM
command constants
saveScoringSettingsFormSection(ilPropertyFormGUI $form)
hasScoringSettingsChanged(ilPropertyFormGUI $form)
saveFormCmd($isConfirmedSave=false)
getAvailableTaxonomyIds()
addResultDetailsSettingsFormSection(ilPropertyFormGUI $form)
areScoringSettingsWritable()
addScoringSettingsFormSection(ilPropertyFormGUI $form)
saveResultDetailsSettings(ilPropertyFormGUI $form)
showFormCmd(ilPropertyFormGUI $form=null)
isScoreRecalculationRequired(ilPropertyFormGUI $form)
showConfirmation(ilPropertyFormGUI $form)
performSaveForm(ilPropertyFormGUI $form)
$testQuestionSetConfigFactory
const CMD_CONFIRMED_SAVE_FORM
addResultSummarySettingsFormSection(ilPropertyFormGUI $form)
saveResultMiscOptionsSettings(ilPropertyFormGUI $form)
addMiscSettingsFormSection(ilPropertyFormGUI $form)
executeCommand()
Command Execution.
__construct(ilCtrl $ctrl, ilAccessHandler $access, ilLanguage $lng, ilTemplate $tpl, ilTree $tree, ilDBInterface $db, ilPluginAdmin $pluginAdmin, ilObjTestGUI $testGUI)
Constructor.
const HIGHSCORE_SHOW_ALL_TABLES
const HIGHSCORE_SHOW_OWN_TABLE
const HIGHSCORE_SHOW_TOP_TABLE
Administration class for plugins.
This class represents an option in a radio group.
Settings template application class.
special template class to simplify handling of ITX/PEAR
formPropertyExists(ilPropertyFormGUI $form, $propertyId)
isSectionHeaderRequired($fields)
isHiddenFormItem($formFieldId)
Tree class data representation in hierachical trees using the Nested Set Model with Gaps by Joe Celco...
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
if(!array_key_exists('StateId', $_REQUEST)) $id
Interface ilAccessHandler.
if(isset($_POST['submit'])) $form