/**
  * Get settings template configuration object
  *
  * @return object settings template configuration object
  */
 private function getSettingsTemplateConfig()
 {
     global $lng;
     $lng->loadLanguageModule("survey");
     include_once "./Services/Administration/classes/class.ilSettingsTemplateConfig.php";
     $config = new ilSettingsTemplateConfig("svy");
     $config->addHidableTab("survey_question_editor", $lng->txt("survey_question_editor_settings_template"));
     $config->addHidableTab("constraints", $lng->txt("constraints"));
     $config->addHidableTab("invitation", $lng->txt("invitation"));
     $config->addHidableTab("meta_data", $lng->txt("meta_data"));
     $config->addHidableTab("export", $lng->txt("export"));
     $config->addSetting("use_pool", ilSettingsTemplateConfig::BOOL, $lng->txt("survey_question_pool_usage"), true);
     $config->addSetting("anonymization_options", ilSettingsTemplateConfig::SELECT, $lng->txt("survey_auth_mode"), true, 'personalized', array('personalized' => $this->lng->txt("anonymize_personalized"), 'anonymize_without_code' => $this->lng->txt("anonymize_without_code"), 'anonymize_with_code' => $this->lng->txt("anonymize_with_code")));
     $config->addSetting("rte_switch", ilSettingsTemplateConfig::SELECT, $lng->txt("set_edit_mode"), true, 0, array(0 => $this->lng->txt("rte_editor_disabled"), 1 => $this->lng->txt("rte_editor_enabled")));
     $config->addSetting("enabled_start_date", ilSettingsTemplateConfig::BOOL, $lng->txt("start_date"), true);
     $config->addSetting("enabled_end_date", ilSettingsTemplateConfig::BOOL, $lng->txt("end_date"), true);
     $config->addSetting("show_question_titles", ilSettingsTemplateConfig::BOOL, $lng->txt("svy_show_questiontitles"), true);
     return $config;
 }
 /**
  * Get settings template configuration object
  *
  * @return object settings template configuration object
  */
 public static function getSettingsTemplateConfig()
 {
     global $lng;
     $lng->loadLanguageModule("tst");
     $lng->loadLanguageModule("assessment");
     include_once "./Services/Administration/classes/class.ilSettingsTemplateConfig.php";
     $config = new ilSettingsTemplateConfig("tst");
     $config->addHidableTab("questions", $lng->txt('edit_test_questions'));
     $config->addHidableTab("mark_schema", $lng->txt('settings') . ' - ' . $lng->txt("mark_schema"));
     $config->addHidableTab("certificate", $lng->txt('settings') . ' - ' . $lng->txt("certificate"));
     $config->addHidableTab("defaults", $lng->txt('settings') . ' - ' . $lng->txt("defaults"));
     $config->addHidableTab("learning_progress", $lng->txt("learning_progress"));
     $config->addHidableTab("manscoring", $lng->txt("manscoring"));
     $config->addHidableTab("history", $lng->txt("history"));
     $config->addHidableTab("meta_data", $lng->txt("meta_data"));
     $config->addHidableTab("export", $lng->txt("export"));
     $config->addHidableTab("permissions", $lng->txt("permission"));
     /////////////////////////////////////
     // Settings
     /////////////////////////////////////
     //general properties
     $config->addSetting("anonymity", ilSettingsTemplateConfig::SELECT, $lng->txt("tst_anonymity"), false, 0, array('0' => $lng->txt("tst_anonymity_no_anonymization"), '1' => $lng->txt("tst_anonymity_anonymous_test")));
     $config->addSetting("title_output", ilSettingsTemplateConfig::SELECT, $lng->txt("tst_title_output"), true, 0, array('0' => $lng->txt("test_enable_view_table"), '1' => $lng->txt("test_enable_view_express"), '2' => $lng->txt("test_enable_view_both")));
     $config->addSetting("random_test", ilSettingsTemplateConfig::BOOL, $lng->txt("tst_random_selection"), true);
     $config->addSetting("use_pool", ilSettingsTemplateConfig::BOOL, $lng->txt("test_question_pool_usage"), true);
     // Information at beginning and end of test
     $config->addSetting("showinfo", ilSettingsTemplateConfig::BOOL, $lng->txt("showinfo"), true);
     $config->addSetting("showfinalstatement", ilSettingsTemplateConfig::BOOL, $lng->txt("final_statement_show"), false);
     // Session Settings
     $config->addSetting("nr_of_tries", ilSettingsTemplateConfig::TEXT, $lng->txt("tst_nr_of_tries"), false, 3);
     $config->addSetting("chb_processing_time", ilSettingsTemplateConfig::BOOL, $lng->txt("tst_processing_time"), false);
     $config->addSetting("chb_starting_time", ilSettingsTemplateConfig::BOOL, $lng->txt("tst_starting_time"), false);
     $config->addSetting("chb_ending_time", ilSettingsTemplateConfig::BOOL, $lng->txt("tst_ending_time"), false);
     $config->addSetting("password", ilSettingsTemplateConfig::TEXT, $lng->txt("tst_password"), true, 20);
     // Presentation Properties
     $config->addSetting("chb_use_previous_answers", ilSettingsTemplateConfig::BOOL, $lng->txt("tst_use_previous_answers"), false);
     $config->addSetting("forcejs", ilSettingsTemplateConfig::BOOL, $lng->txt("forcejs_short"), true);
     $config->addSetting("title_output", ilSettingsTemplateConfig::SELECT, $lng->txt("tst_title_output"), true, 0, array('0' => $lng->txt("test_enable_view_table"), '1' => $lng->txt("test_enable_view_express"), '2' => $lng->txt("test_enable_view_both")));
     // Sequence Properties
     $config->addSetting("chb_postpone", ilSettingsTemplateConfig::BOOL, $lng->txt("tst_postpone"), true);
     $config->addSetting("chb_shuffle_questions", ilSettingsTemplateConfig::BOOL, $lng->txt("tst_shuffle_questions"), false);
     $config->addSetting("list_of_questions", ilSettingsTemplateConfig::BOOL, $lng->txt("tst_show_summary"), false);
     $config->addSetting("chb_show_marker", ilSettingsTemplateConfig::BOOL, $lng->txt("question_marking"), true);
     $config->addSetting("chb_show_cancel", ilSettingsTemplateConfig::BOOL, $lng->txt("tst_show_cancel"), true);
     // Notifications
     $config->addSetting("mailnotification", ilSettingsTemplateConfig::SELECT, $lng->txt("tst_finish_notification"), true, 0, array('0' => $lng->txt("tst_finish_notification_no"), '1' => $lng->txt("tst_finish_notification_simple"), '2' => $lng->txt("tst_finish_notification_advanced")));
     $config->addSetting("mailnottype", ilSettingsTemplateConfig::BOOL, $lng->txt("mailnottype"), true);
     // Kiosk Mode
     $config->addSetting("kiosk", ilSettingsTemplateConfig::BOOL, $lng->txt("kiosk"), true);
     // Participants Restriction
     $config->addSetting("fixedparticipants", ilSettingsTemplateConfig::BOOL, $lng->txt("participants_invitation"), true);
     $config->addSetting("allowedUsers", ilSettingsTemplateConfig::TEXT, $lng->txt("tst_allowed_users"), true, 3);
     $config->addSetting("allowedUsersTimeGap", ilSettingsTemplateConfig::TEXT, $lng->txt("tst_allowed_users_time_gap"), true, 4);
     /////////////////////////////////////
     // Scoring and Results
     /////////////////////////////////////
     $config->addSetting("count_system", ilSettingsTemplateConfig::SELECT, $lng->txt("tst_text_count_system"), true, 0, array('0' => $lng->txt("tst_count_partial_solutions"), '1' => $lng->txt("tst_count_correct_solutions")));
     $config->addSetting("mc_scoring", ilSettingsTemplateConfig::SELECT, $lng->txt("tst_score_mcmr_questions"), true, 0, array('0' => $lng->txt("tst_score_mcmr_zero_points_when_unanswered"), '1' => $lng->txt("tst_score_mcmr_use_scoring_system")));
     $config->addSetting("score_cutting", ilSettingsTemplateConfig::SELECT, $lng->txt("tst_score_cutting"), true, 0, array('0' => $lng->txt("tst_score_cut_question"), '1' => $lng->txt("tst_score_cut_test")));
     $config->addSetting("pass_scoring", ilSettingsTemplateConfig::SELECT, $lng->txt("tst_pass_scoring"), false, 0, array('0' => $lng->txt("tst_pass_last_pass"), '1' => $lng->txt("tst_pass_best_pass")));
     $config->addSetting("instant_feedback", ilSettingsTemplateConfig::CHECKBOX, $lng->txt("tst_instant_feedback"), false, 0, array('instant_feedback_answer' => $lng->txt("tst_instant_feedback_answer_specific"), 'instant_feedback_points' => $lng->txt("tst_instant_feedback_results"), 'instant_feedback_solution' => $lng->txt("tst_instant_feedback_solution")));
     $config->addSetting("results_access", ilSettingsTemplateConfig::SELECT, $lng->txt("tst_results_access"), false, 0, array('1' => $lng->txt("tst_results_access_finished"), '2' => $lng->txt("tst_results_access_always"), '3' => $lng->txt("tst_results_access_never"), '4' => $lng->txt("tst_results_access_date")));
     $config->addSetting("print_bs_with_res", ilSettingsTemplateConfig::BOOL, $lng->txt("tst_results_print_best_solution"), true);
     $config->addSetting("results_presentation", ilSettingsTemplateConfig::CHECKBOX, $lng->txt("tst_results_presentation"), false, 0, array('pass_details' => $lng->txt("tst_show_pass_details"), 'solution_details' => $lng->txt("tst_show_solution_details"), 'solution_printview' => $lng->txt("tst_show_solution_printview"), 'solution_feedback' => $lng->txt("tst_show_solution_feedback"), 'solution_answers_only' => $lng->txt("tst_show_solution_answers_only"), 'solution_signature' => $lng->txt("tst_show_solution_signature"), 'solution_suggested' => $lng->txt("tst_show_solution_suggested")));
     $config->addSetting("export_settings", ilSettingsTemplateConfig::BOOL, $lng->txt("tst_export_settings"), true);
     return $config;
 }