19 declare(strict_types=1);
30 protected bool $show_answer_overview =
false,
31 protected bool $concluding_remarks_enabled =
false,
32 protected ?
string $concluding_remarks_text =
'',
33 protected ?
int $concluding_remarks_page_id = null,
35 protected ?
string $redirection_url = null,
36 protected int $mail_notification_content_type = 0,
37 protected bool $always_send_mail_notification =
false 46 array $environment = null
48 $inputs[
'show_answer_overview'] = $f->checkbox(
49 $lng->
txt(
'enable_examview'),
50 $lng->
txt(
'enable_examview_desc')
53 $inputs[
'show_concluding_remarks'] = $f->checkbox(
54 $lng->
txt(
'final_statement'),
55 $lng->
txt(
'final_statement_show_desc')
62 return $f->section(
$inputs, $lng->
txt(
'tst_final_information'));
70 $redirection_trafo = $refinery->custom()->transformation(
71 static function (?array $v): array {
83 $sub_inputs_redirect = [
84 'redirect_mode' => $f->radio(
85 $lng->
txt(
'redirect_after_finishing_rule')
88 $lng->
txt(
'redirect_always')
91 $lng->
txt(
'redirect_in_kiosk_mode')
93 ->withAdditionalTransformation($refinery->kindlyTo()->int()),
94 'redirect_url' => $f->text(
95 $lng->
txt(
'redirection_url')
97 ->withAdditionalTransformation($refinery->string()->hasMaxLength(4000))
100 $redirection_input = $f->optionalGroup(
101 $sub_inputs_redirect,
102 $lng->
txt(
'redirect_after_finishing_tst'),
103 $lng->
txt(
'redirect_after_finishing_tst_desc')
105 ->withAdditionalTransformation($redirection_trafo);
108 return $redirection_input;
111 return $redirection_input->withValue(
124 $notification_trafo = $refinery->custom()->transformation(
125 static function (?array $v): array {
128 'notification_content_type' => 0,
129 'always_notify' => false
137 $sub_inputs_finish_notification = [
138 'notification_content_type' => $f->radio(
139 $lng->
txt(
'tst_finish_notification_content_type')
142 $lng->
txt(
'tst_finish_notification_simple')
145 $lng->
txt(
'tst_finish_notification_advanced')
146 )->withRequired(
true)
148 ->withAdditionalTransformation($refinery->kindlyTo()->int()),
149 'always_notify' => $f->checkbox(
150 $lng->
txt(
'mailnottype'),
151 $lng->
txt(
'mailnottype_desc')
155 $mail_notification_inputs = $f->optionalGroup(
156 $sub_inputs_finish_notification,
157 $lng->
txt(
'tst_finish_notification'),
158 $lng->
txt(
'tst_finish_notification_desc')
160 ->withAdditionalTransformation($notification_trafo);
163 return $mail_notification_inputs;
166 return $mail_notification_inputs->withValue(
190 return $this->show_answer_overview;
195 $clone = clone $this;
196 $clone->show_answer_overview = $show_answer_overview;
202 return $this->concluding_remarks_enabled;
207 $clone = clone $this;
208 $clone->concluding_remarks_enabled = $concluding_remarks_enabled;
214 return $this->concluding_remarks_text ??
'';
219 return $this->concluding_remarks_page_id;
224 $clone = clone $this;
225 $clone->concluding_remarks_page_id = $concluding_remarks_page_id;
231 return $this->redirection_mode;
236 $clone = clone $this;
237 $clone->redirection_mode = $redirection_mode;
243 return $this->redirection_url;
248 $clone = clone $this;
249 $clone->redirection_url = $redirection_url;
255 return $this->mail_notification_content_type;
260 $clone = clone $this;
261 $clone->mail_notification_content_type = $mail_notification_content_type;
267 return $this->always_send_mail_notification;
272 $clone = clone $this;
273 $clone->always_send_mail_notification = $always_send_mail_notification;
getConcludingRemarksEnabled()
txt(string $a_topic, string $a_default_lang_fallback_mod="")
gets the text for a given topic if the topic is not in the list, the topic itself with "-" will be re...
toForm(\ilLanguage $lng, FieldFactory $f, Refinery $refinery, array $environment=null)
getMailNotificationInputs(ilLanguage $lng, FieldFactory $f, Refinery $refinery)
withConcludingRemarksEnabled(bool $concluding_remarks_enabled)
withRedirectionUrl(?string $redirection_url)
getConcludingRemarksText()
withMailNotificationContentType(int $mail_notification_content_type)
__construct(int $test_id, protected bool $show_answer_overview=false, protected bool $concluding_remarks_enabled=false, protected ?string $concluding_remarks_text='', protected ?int $concluding_remarks_page_id=null, protected int $redirection_mode=ilObjTest::REDIRECT_NONE, protected ?string $redirection_url=null, protected int $mail_notification_content_type=0, protected bool $always_send_mail_notification=false)
withRedirectionMode(int $redirection_mode)
withAlwaysSendMailNotification(bool $always_send_mail_notification)
withShowAnswerOverview(bool $show_answer_overview)
withConcludingRemarksPageId(?int $concluding_remarks_page_id)
getMailNotificationContentType()
getConcludingRemarksPageId()
getRedirectionInputs(ilLanguage $lng, FieldFactory $f, Refinery $refinery)
getAlwaysSendMailNotification()
Refinery Factory $refinery