ILIAS  release_8 Revision v8.24
class.ilTestSettingsTemplateConfig.php
Go to the documentation of this file.
1<?php
2
19require_once 'Modules/Test/classes/inc.AssessmentConstants.php';
20
28{
32 protected $lng;
33
37 public function __construct(ilLanguage $lng)
38 {
39 $this->lng = $lng;
41 }
42
43 public function init()
44 {
45 $this->initLanguage();
46 $this->initHidableTabs();
47 $this->initSettings();
48 }
49
50 private function initLanguage()
51 {
52 $this->lng->loadLanguageModule("tst");
53 $this->lng->loadLanguageModule("assessment");
54 }
55
56 private function initHidableTabs()
57 {
58 $this->addHidableTab("questions", $this->lng->txt('assQuestions') . ' - ' . $this->lng->txt('edit_test_questions'));
59 $this->addHidableTab("mark_schema", $this->lng->txt('settings') . ' - ' . $this->lng->txt("mark_schema"));
60 $this->addHidableTab("certificate", $this->lng->txt('settings') . ' - ' . $this->lng->txt("certificate"));
61 $this->addHidableTab("defaults", $this->lng->txt('settings') . ' - ' . $this->lng->txt("tst_default_settings"));
62
63 $this->addHidableTab("learning_progress", $this->lng->txt("learning_progress"));
64 $this->addHidableTab("manscoring", $this->lng->txt("manscoring"));
65 $this->addHidableTab("statistics", $this->lng->txt("statistics"));
66 $this->addHidableTab("history", $this->lng->txt("history"));
67 $this->addHidableTab("meta_data", $this->lng->txt("meta_data"));
68 $this->addHidableTab("export", $this->lng->txt("export"));
69 $this->addHidableTab("permissions", $this->lng->txt("permission"));
70 }
71
72 private function initSettings()
73 {
77 $this->addTestRunProperties();
85 }
86
87 private function addGeneralPropertySettings()
88 {
89 $this->addSetting(
90 "use_pool",
92 $this->lng->txt("test_question_pool_usage"),
93 true,
94 0,
95 array(
96 1 => $this->lng->txt('test_question_pool_usage_optional'),
97 0 => $this->lng->txt('test_question_pool_usage_tst_directly')
98 )
99 );
100
101 $this->addSetting(
102 "question_set_type",
104 $this->lng->txt("tst_question_set_type"),
105 true,
106 0,
107 array(
108 ilObjTest::QUESTION_SET_TYPE_FIXED => $this->lng->txt("tst_question_set_type_fixed"),
109 ilObjTest::QUESTION_SET_TYPE_RANDOM => $this->lng->txt("tst_question_set_type_random")
110 )
111 );
112 }
113
114 private function addTestIntroProperties()
115 {
116 // Test Introduction
117 $this->addSetting(
118 "intro_enabled",
120 $this->lng->txt("tst_introduction"),
121 false
122 );
123
124 // All Details on Info Screen
125 $this->addSetting(
126 "showinfo",
128 $this->lng->txt("showinfo"),
129 true
130 );
131 }
132
133 private function addTestAccessProperties()
134 {
135 $this->addSetting(
136 "chb_starting_time",
138 $this->lng->txt("tst_starting_time"),
139 false
140 );
141
142 $this->addSetting(
143 "chb_ending_time",
145 $this->lng->txt("tst_ending_time"),
146 false
147 );
148
149 $this->addSetting(
150 "password_enabled",
152 $this->lng->txt("tst_password"),
153 false
154 );
155
156 $this->addSetting(
157 "fixedparticipants",
159 $this->lng->txt("participants_invitation"),
160 true
161 );
162
163 $this->addSetting(
164 "limitUsers",
166 $this->lng->txt("tst_allowed_users"),
167 false
168 );
169 }
170
171 private function addTestRunProperties()
172 {
173 $this->addSetting(
174 "nr_of_tries",
176 $this->lng->txt("tst_nr_of_tries"),
177 false,
178 3
179 );
180
181 $this->addSetting(
182 "chb_processing_time",
184 $this->lng->txt("tst_processing_time"),
185 false
186 );
187
188 $this->addSetting(
189 "kiosk",
191 $this->lng->txt("kiosk"),
192 false
193 );
194
195 $this->addSetting(
196 "examid_in_test_pass",
198 $this->lng->txt("examid_in_test_pass"),
199 false
200 );
201 }
202
204 {
205 $this->addSetting(
206 "title_output",
208 $this->lng->txt("tst_title_output"),
209 true,
210 0,
211 array(
212 '0' => $this->lng->txt("tst_title_output_full"),
213 '1' => $this->lng->txt("tst_title_output_hide_points"),
214 '2' => $this->lng->txt("tst_title_output_no_title"),
215 )
216 );
217
218 $this->addSetting(
219 "autosave",
221 $this->lng->txt("autosave"),
222 true,
223 5
224 );
225
226 $this->addSetting(
227 "chb_shuffle_questions",
229 $this->lng->txt("tst_shuffle_questions"),
230 true
231 );
232
233 $this->addSetting(
234 "offer_hints",
236 $this->lng->txt("tst_setting_offer_hints_label"),
237 true
238 );
239
240 $this->addSetting(
241 "instant_feedback_contents",
243 $this->lng->txt("tst_instant_feedback"),
244 true,
245 0,
246 array(
247 'instant_feedback_points' => $this->lng->txt("tst_instant_feedback_results"),
248 'instant_feedback_generic' => $this->lng->txt("tst_instant_feedback_answer_generic"),
249 'instant_feedback_specific' => $this->lng->txt("tst_instant_feedback_answer_specific"),
250 'instant_feedback_solution' => $this->lng->txt("tst_instant_feedback_solution")
251 )
252 );
253
254 $this->addSetting(
255 "instant_feedback_trigger",
257 $this->lng->txt("tst_instant_feedback_trigger"),
258 true,
259 0,
260 array(
261 ilObjTestSettingsGeneralGUI::INSTANT_FEEDBACK_TRIGGER_MANUAL => $this->lng->txt("tst_instant_feedback_trigger_manual"),
262 ilObjTestSettingsGeneralGUI::INSTANT_FEEDBACK_TRIGGER_FORCED => $this->lng->txt("tst_instant_feedback_trigger_forced")
263 )
264 );
265
266 $this->addSetting(
267 'answer_fixation_handling',
269 $this->lng->txt('tst_answer_fixation_handling'),
270 true,
271 0,
272 array(
273 ilObjTestSettingsGeneralGUI::ANSWER_FIXATION_NONE => $this->lng->txt('tst_answer_fixation_none'),
274 ilObjTestSettingsGeneralGUI::ANSWER_FIXATION_ON_INSTANT_FEEDBACK => $this->lng->txt('tst_answer_fixation_on_instant_feedback'),
275 ilObjTestSettingsGeneralGUI::ANSWER_FIXATION_ON_FOLLOWUP_QUESTION => $this->lng->txt('tst_answer_fixation_on_followup_question'),
276 ilObjTestSettingsGeneralGUI::ANSWER_FIXATION_ON_IFB_OR_FUQST => $this->lng->txt('tst_answer_fixation_on_instantfb_or_followupqst')
277 )
278 );
279
280 $this->addSetting(
281 "obligations_enabled",
283 $this->lng->txt("tst_setting_enable_obligations_label"),
284 true
285 );
286 }
287
288 private function addTestSequenceProperties()
289 {
290 $this->addSetting(
291 "chb_use_previous_answers",
293 $this->lng->txt("tst_use_previous_answers"),
294 true
295 );
296
297 $this->addSetting(
298 "chb_show_cancel",
300 $this->lng->txt("tst_show_cancel"),
301 true
302 );
303
304 $this->addSetting(
305 "chb_postpone",
307 $this->lng->txt("tst_postpone"),
308 true
309 );
310
311 $this->addSetting(
312 "list_of_questions",
314 $this->lng->txt("tst_show_summary"),
315 false
316 );
317
318 $this->addSetting(
319 "chb_show_marker",
321 $this->lng->txt("question_marking"),
322 true
323 );
324 }
325
326 private function addTestFinishProperties()
327 {
328 $this->addSetting(
329 "enable_examview",
331 $this->lng->txt("enable_examview"),
332 false
333 );
334
335 $this->addSetting(
336 "showfinalstatement",
338 $this->lng->txt("final_statement"),
339 false
340 );
341
342 /* $this->addSetting(
343 "redirection_enabled",
344 ilSettingsTemplateConfig::SELECT,
345 $this->lng->txt("redirect_after_finishing_tst"),
346 false,
347 0,
348 array(
349 REDIRECT_NONE => $this->lng->txt("redirect_none"),
350 REDIRECT_ALWAYS => $this->lng->txt("redirect_always"),
351 REDIRECT_KIOSK => $this->lng->txt("redirect_in_kiosk_mode"),
352 )
353 ); */
354 $this->addSetting(
355 "redirection_enabled",
357 $this->lng->txt("redirect_after_finishing_tst"),
358 false
359 );
360
361 $this->addSetting(
362 "sign_submission",
364 $this->lng->txt("sign_submission"),
365 true
366 );
367
368 $this->addSetting(
369 "mailnotification",
371 $this->lng->txt("tst_finish_notification"),
372 false,
373 0,
374 array(
375 '0' => $this->lng->txt("tst_finish_notification_no"),
376 '1' => $this->lng->txt("tst_finish_notification_simple"),
377 '2' => $this->lng->txt("tst_finish_notification_advanced"),
378 )
379 );
380 }
381
383 {
384 $this->addSetting(
385 "count_system",
387 $this->lng->txt("tst_text_count_system"),
388 true,
389 0,
390 array(
391 '0' => $this->lng->txt("tst_count_partial_solutions"),
392 '1' => $this->lng->txt("tst_count_correct_solutions")
393 )
394 );
395
396 $this->addSetting(
397 "score_cutting",
399 $this->lng->txt("tst_score_cutting"),
400 true,
401 0,
402 array(
403 '0' => $this->lng->txt("tst_score_cut_question"),
404 '1' => $this->lng->txt("tst_score_cut_test")
405 )
406 );
407
408 $this->addSetting(
409 "pass_scoring",
411 $this->lng->txt("tst_pass_scoring"),
412 true,
413 0,
414 array(
415 '0' => $this->lng->txt("tst_pass_last_pass"),
416 '1' => $this->lng->txt("tst_pass_best_pass")
417 )
418 );
419
420 $this->addSetting(
421 "pass_deletion_allowed",
423 $this->lng->txt("tst_pass_deletion"),
424 true,
425 0,
426 array(
427 '0' => $this->lng->txt("tst_pass_deletion_not_allowed"),
428 '1' => $this->lng->txt("tst_pass_deletion_allowed")
429 )
430 );
431 }
432
433 private function addResultSummaryProperties()
434 {
435 $this->addSetting(
436 "results_access_enabled",
438 $this->lng->txt("tst_results_access_enabled"),
439 false,
440 0,
441 array(
442 '0' => $this->lng->txt("tst_results_access_never"),
443 '2' => $this->lng->txt("tst_results_access_always"),
444 '1' => $this->lng->txt("tst_results_access_finished"),
445 '3' => $this->lng->txt("tst_results_access_date")
446 )
447 );
448
449 $this->addSetting(
450 "grading_status",
452 $this->lng->txt("tst_results_grading_opt_show_status"),
453 true
454 );
455
456 $this->addSetting(
457 "grading_mark",
459 $this->lng->txt("tst_results_grading_opt_show_mark"),
460 true
461 );
462 }
463
464 private function addResultDetailsProperties()
465 {
466 $this->addSetting(
467 "solution_details",
469 $this->lng->txt("tst_show_solution_details"),
470 false
471 );
472
473 $this->addSetting(
474 "solution_feedback",
476 $this->lng->txt("tst_show_solution_feedback"),
477 true
478 );
479
480 $this->addSetting(
481 "solution_suggested",
483 $this->lng->txt("tst_show_solution_suggested"),
484 true
485 );
486
487 $this->addSetting(
488 "solution_printview",
490 $this->lng->txt("tst_show_solution_printview"),
491 false
492 );
493
494 $this->addSetting(
495 "highscore_enabled",
497 $this->lng->txt("tst_highscore_enabled"),
498 false
499 );
500
501 $this->addSetting(
502 "solution_signature",
504 $this->lng->txt("tst_show_solution_signature"),
505 true
506 );
507
508 $this->addSetting(
509 "examid_in_test_res",
511 $this->lng->txt("examid_in_test_res"),
512 true
513 );
514
515 $this->addSetting(
516 "exp_sc_short",
518 $this->lng->txt("tst_exp_sc_short"),
519 true
520 );
521 }
522
524 {
525 $this->addSetting(
526 "anonymity",
528 $this->lng->txt("tst_anonymity"),
529 true,
530 0,
531 array(
532 '0' => $this->lng->txt("tst_anonymity_no_anonymization"),
533 '1' => $this->lng->txt("tst_anonymity_anonymous_test"),
534 )
535 );
536
537 $this->addSetting(
538 "enable_archiving",
540 $this->lng->txt("test_enable_archiving"),
541 true
542 );
543 }
544}
language handling
const QUESTION_SET_TYPE_RANDOM
const QUESTION_SET_TYPE_FIXED
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
addSetting(string $a_id, string $a_type, string $a_text, bool $a_hidable, int $a_length=0, array $a_options=array())
addHidableTab(string $a_tab_id, string $a_text)
__construct(Container $dic, ilPlugin $plugin)
@inheritDoc