132 {
134 $form->setFormAction($this->dic->ctrl()->getFormAction($this));
135
137 $ne->setValue($this->
language->txt(
'type_' . $this->object->getContentType()));
138 $form->addItem($ne);
139
141 $ne->setValue($this->
object->getLrsType()->getTitle());
142 $form->addItem($ne);
143
145 $item->setSize(40);
146 $item->setMaxLength(128);
147 $item->setRequired(true);
148 $item->setInfo($this->
language->txt(
'title_info'));
149 $item->setValue($this->
object->getTitle());
150 $form->addItem($item);
151
153 $item->setInfo($this->
language->txt(
'description_info'));
154 $item->setRows(2);
155 $item->setCols(80);
156 $item->setValue($this->
object->getDescription());
157 $form->addItem($item);
158
160 $item->setRequired(true);
161 $item->setSize(40);
162 $item->setMaxLength(128);
163
164 $item->setInfo($this->
language->txt(
'activity_id_info'));
165 $item->setValue($this->
object->getActivityId());
166 $form->addItem($item);
167
169 $item->setInfo($this->
language->txt(
"online_info"));
170 $item->setValue("1");
171 if (!$this->
object->getOfflineStatus()) {
172 $item->setChecked(true);
173 }
174 $form->addItem($item);
175
177 $lpDeterioration->setInfo($this->
language->txt(
'conf_keep_lp_info'));
178 if ($this->
object->isKeepLpStatusEnabled()) {
179 $lpDeterioration->setChecked(true);
180 }
181
182
183
184
186 $item->setTitle($this->
language->txt(
"obj_presentation"));
187 $form->addItem($item);
188
189
190 $this->dic->object()->commonSettings()->legacyForm($form, $this->object)->addTileImage();
191
192 if (!$this->
object->isSourceTypeExternal()) {
194 $item->setTitle($this->
language->txt(
"launch_options"));
195 $form->addItem($item);
196
197 if ($this->
object->isSourceTypeRemote()) {
199 $item->setSize(40);
200 $item->setMaxLength(128);
201 $item->setRequired(true);
202 $item->setInfo($this->
language->txt(
'launch_url_info'));
203 $item->setValue($this->
object->getLaunchUrl());
204 $form->addItem($item);
205 }
206
209 $item->setInfo($this->
language->txt(
"use_fetch_info"));
210 $item->setValue("1");
211
212 if ($this->
object->isAuthFetchUrlEnabled()) {
213 $item->setChecked(true);
214 }
215 $form->addItem($item);
216 }
217
219 $display->setRequired(true);
220 $display->setValue($this->
object->getLaunchMethod());
222 $optOwnWindow->setInfo($this->
language->txt(
'conf_own_window_info'));
223 $display->addOption($optOwnWindow);
225 $optAnyWindow->setInfo($this->
language->txt(
'conf_new_window_info'));
226 $display->addOption($optAnyWindow);
227 $form->addItem($display);
228
230 $launchMode->setRequired(true);
231 $launchMode->setValue($this->
object->getLaunchMode());
233 $optNormal->setInfo($this->
language->txt(
'conf_launch_mode_normal_info'));
234
235 $optNormal->addSubItem($lpDeterioration);
236
237 $launchMode->addOption($optNormal);
239 $optBrowse->setInfo($this->
language->txt(
'conf_launch_mode_browse_info'));
240 $launchMode->addOption($optBrowse);
242 $optReview->setInfo($this->
language->txt(
'conf_launch_mode_review_info'));
243 $launchMode->addOption($optReview);
244 $form->addItem($launchMode);
245 } else {
246 $form->addItem($lpDeterioration);
247 }
248
251 $switchMode->setInfo($this->
language->txt(
"conf_switch_to_review_info"));
252 if ($this->
object->isSwitchToReviewEnabled()) {
253 $switchMode->setChecked(true);
254 }
255
256 $optNormal->addSubItem($switchMode);
257
259 $masteryScore->setInfo($this->
language->txt(
'conf_mastery_score_info'));
260 $masteryScore->setSuffix('%');
261 $masteryScore->allowDecimals(true);
262 $masteryScore->setDecimals(2);
263 $masteryScore->setMinvalueShouldBeGreater(false);
264 $masteryScore->setMinValue(0);
265 $masteryScore->setMaxvalueShouldBeLess(false);
266 $masteryScore->setMaxValue(100);
267 $masteryScore->setSize(4);
268 if (empty($this->
object->getMasteryScore())) {
270 }
271 $masteryScore->setValue((
string) $this->
object->getMasteryScorePercent());
272 $optNormal->addSubItem($masteryScore);
273 }
274
275 if (!$this->
object->isSourceTypeExternal()) {
278 $sectionHeader->setTitle($this->
language->txt(
'sect_learning_progress_options'));
279 $form->addItem($sectionHeader);
281 $bypassProxy->setInfo($this->
language->txt(
'conf_bypass_proxy_info'));
283 $bypassProxy->addOption($opt1);
285 $bypassProxy->addOption($opt2);
286 $bypassProxy->setValue((
string) ((
int) $this->
object->isBypassProxyEnabled()));
287
288 $form->addItem($bypassProxy);
289 if ($this->
object->getLrsType()->isBypassProxyEnabled()) {
290 $bypassProxy->setDisabled(true);
291 }
292 }
293
295 $item->setTitle($this->
language->txt(
"privacy_options"));
296 $form->addItem($item);
297
300 $this->
language->txt(
'conf_privacy_ident_il_uuid_user_id'),
302 );
303 $op->setInfo($this->
language->txt(
'conf_privacy_ident_il_uuid_user_id_info'));
304 $userIdent->addOption($op);
306 $this->
language->txt(
'conf_privacy_ident_il_uuid_login'),
308 );
309 $op->setInfo($this->
language->txt(
'conf_privacy_ident_il_uuid_login_info'));
310 $userIdent->addOption($op);
312 $this->
language->txt(
'conf_privacy_ident_il_uuid_ext_account'),
314 );
315 $op->setInfo($this->
language->txt(
'conf_privacy_ident_il_uuid_ext_account_info'));
316 $userIdent->addOption($op);
318 $this->
language->txt(
'conf_privacy_ident_il_uuid_sha256'),
320 );
321 $op->setInfo($this->
language->txt(
'conf_privacy_ident_il_uuid_sha256_info'));
322 $userIdent->addOption($op);
324 $this->
language->txt(
'conf_privacy_ident_il_uuid_sha256url'),
326 );
327 $op->setInfo($this->
language->txt(
'conf_privacy_ident_il_uuid_sha256url_info'));
328 $userIdent->addOption($op);
330 $this->
language->txt(
'conf_privacy_ident_il_uuid_random'),
332 );
333 $op->setInfo($this->
language->txt(
'conf_privacy_ident_il_uuid_random_info'));
334 $userIdent->addOption($op);
336 $this->
language->txt(
'conf_privacy_ident_real_email'),
338 );
339 $op->setInfo($this->
language->txt(
'conf_privacy_ident_real_email_info'));
340 $userIdent->addOption($op);
341 $userIdent->setValue((
string) $this->
object->getPrivacyIdent());
342 $userIdent->setInfo(
344 );
345 $userIdent->setRequired(false);
346 $form->addItem($userIdent);
347
350 $this->
language->txt(
'conf_privacy_name_none'),
352 );
353 $op->setInfo($this->
language->txt(
'conf_privacy_name_none_info'));
354 $userName->addOption($op);
356 $this->
language->txt(
'conf_privacy_name_firstname'),
358 );
359 $op->setInfo($this->
language->txt(
'conf_privacy_name_firstname_info'));
360 $userName->addOption($op);
362 $this->
language->txt(
'conf_privacy_name_lastname'),
364 );
365 $op->setInfo($this->
language->txt(
'conf_privacy_name_lastname_info'));
366 $userName->addOption($op);
368 $this->
language->txt(
'conf_privacy_name_fullname'),
370 );
371 $op->setInfo($this->
language->txt(
'conf_privacy_name_fullname_info'));
372 $userName->addOption($op);
373 $userName->setValue((
string) $this->
object->getPrivacyName());
374 $userName->setInfo($this->
language->txt(
'conf_privacy_name_info'));
375 $userName->setRequired(false);
376 $form->addItem($userName);
377
378 if ($this->
object->getLrsType()->getForcePrivacySettings()) {
379 $userIdent->setDisabled(true);
380 $userName->setDisabled(true);
381 }
382
384 $item->setInfo($this->
language->txt(
'only_moveon_info'));
385 $item->setChecked($this->
object->getOnlyMoveon());
386
388 $subitem->setInfo($this->
language->txt(
'achieved_info'));
389 $subitem->setChecked($this->
object->getAchieved());
390 if ($this->
object->getLrsType()->getForcePrivacySettings()) {
391 $subitem->setDisabled(true);
392 }
393 $item->addSubItem($subitem);
394
396 $subitem->setInfo($this->
language->txt(
'answered_info'));
397 $subitem->setChecked($this->
object->getAnswered());
398 if ($this->
object->getLrsType()->getForcePrivacySettings()) {
399 $subitem->setDisabled(true);
400 }
401 $item->addSubItem($subitem);
402
404 $subitem->setInfo($this->
language->txt(
'completed_info'));
405 $subitem->setChecked($this->
object->getCompleted());
406 if ($this->
object->getLrsType()->getForcePrivacySettings()) {
407 $subitem->setDisabled(true);
408 }
409 $item->addSubItem($subitem);
410
412 $subitem->setInfo($this->
language->txt(
'failed_info'));
413 $subitem->setChecked($this->
object->getFailed());
414 if ($this->
object->getLrsType()->getForcePrivacySettings()) {
415 $subitem->setDisabled(true);
416 }
417 $item->addSubItem($subitem);
418
420 $subitem->setInfo($this->
language->txt(
'initialized_info'));
421 $subitem->setChecked($this->
object->getInitialized());
422 if ($this->
object->getLrsType()->getForcePrivacySettings()) {
423 $subitem->setDisabled(true);
424 }
425 $item->addSubItem($subitem);
426
428 $subitem->setInfo($this->
language->txt(
'passed_info'));
429 $subitem->setChecked($this->
object->getPassed());
430 if ($this->
object->getLrsType()->getForcePrivacySettings()) {
431 $subitem->setDisabled(true);
432 }
433 $item->addSubItem($subitem);
434
436 $subitem->setInfo($this->
language->txt(
'progressed_info'));
437 $subitem->setChecked($this->
object->getProgressed());
438 if ($this->
object->getLrsType()->getForcePrivacySettings()) {
439 $subitem->setDisabled(true);
440 }
441 $item->addSubItem($subitem);
444 $subitem->setInfo($this->
language->txt(
'satisfied_info'));
445 $subitem->setChecked($this->
object->getSatisfied());
446 if ($this->
object->getLrsType()->getForcePrivacySettings()) {
447 $subitem->setDisabled(true);
448 }
449 $item->addSubItem($subitem);
450
452 $subitem->setInfo($this->
language->txt(
'terminated_info'));
453 $subitem->setChecked($this->
object->getTerminated());
454 if ($this->
object->getLrsType()->getForcePrivacySettings()) {
455 $subitem->setDisabled(true);
456 }
457 $item->addSubItem($subitem);
458 }
459 if ($this->
object->getLrsType()->getForcePrivacySettings()) {
460 $item->setDisabled(true);
461 }
462 $form->addItem($item);
463
465 $item->setInfo($this->
language->txt(
'hide_data_info'));
466 $item->setChecked($this->
object->getHideData());
467
469 $subitem->setInfo($this->
language->txt(
'timestamp_info'));
470 $subitem->setChecked($this->
object->getTimestamp());
471 if ($this->
object->getLrsType()->getForcePrivacySettings()) {
472 $subitem->setDisabled(true);
473 }
474 $item->addSubItem($subitem);
475
477 $subitem->setInfo($this->
language->txt(
'duration_info'));
478 $subitem->setChecked($this->
object->getDuration());
479 if ($this->
object->getLrsType()->getForcePrivacySettings()) {
480 $subitem->setDisabled(true);
481 }
482 $item->addSubItem($subitem);
483
484 if ($this->
object->getLrsType()->getForcePrivacySettings()) {
485 $item->setDisabled(true);
486 }
487 $form->addItem($item);
488
490 $item->setInfo($this->
language->txt(
'no_substatements_info'));
491 $item->setChecked($this->
object->getNoSubstatements());
492 if ($this->
object->getLrsType()->getForcePrivacySettings()) {
493 $item->setDisabled(true);
494 }
495 $form->addItem($item);
496 }
497
499 $options = ["0","1","2","11","12"];
500 for ((int) $i = 0; $i < count($options); $i++) {
502 $item->addOption($op);
503 }
504 $item->setValue((
string) $this->
object->getDeleteData());
505 $item->setInfo($this->
language->txt(
'conf_delete_data_info'));
506 $form->addItem($item);
507
508
509
511 $item->setTitle($this->
language->txt(
"log_options"));
512 $form->addItem($item);
513
515 $item->setInfo($this->
language->txt(
"show_debug_info"));
516 $item->setValue("1");
517 if ($this->
object->isStatementsReportEnabled()) {
518 $item->setChecked(true);
519 }
520 $form->addItem($item);
521
523 $highscore->setValue("1");
524 $highscore->setChecked($this->
object->getHighscoreEnabled());
525 $highscore->setInfo($this->
language->txt(
"highscore_description"));
526 $form->addItem($highscore);
528 $highscore_tables->setRequired(true);
529 $highscore_tables->setValue((
string) $this->
object->getHighscoreMode());
531 $this->
language->txt(
'highscore_own_table'),
533 );
534 $highscore_table_own->setInfo($this->
language->txt(
'highscore_own_table_description'));
535 $highscore_tables->addOption($highscore_table_own);
537 $this->
language->txt(
'highscore_top_table'),
539 );
540 $highscore_table_other->setInfo($this->
language->txt(
'highscore_top_table_description'));
541 $highscore_tables->addOption($highscore_table_other);
543 $this->
language->txt(
'highscore_all_tables'),
545 );
546 $highscore_table_other->setInfo($this->
language->txt(
'highscore_all_tables_description'));
547 $highscore_tables->addOption($highscore_table_other);
548 $highscore->addSubItem($highscore_tables);
550 $highscore_top_num->setSize(4);
551 $highscore_top_num->setRequired(true);
552 $highscore_top_num->setMinValue(1);
553 $highscore_top_num->setSuffix($this->
language->txt(
"highscore_top_num_unit"));
554 $highscore_top_num->setValue((
string) $this->
object->getHighscoreTopNum(
null));
555 $highscore_top_num->setInfo($this->
language->txt(
"highscore_top_num_description"));
556 $highscore->addSubItem($highscore_top_num);
558 $highscore_achieved_ts->setValue("1");
559 $highscore_achieved_ts->setChecked($this->
object->getHighscoreAchievedTS());
560 $highscore_achieved_ts->setInfo($this->
language->txt(
"highscore_achieved_ts_description"));
561 $highscore->addSubItem($highscore_achieved_ts);
563 $highscore_percentage->setValue("1");
564 $highscore_percentage->setChecked($this->
object->getHighscorePercentage());
565 $highscore_percentage->setInfo($this->
language->txt(
"highscore_percentage_description"));
566 $highscore->addSubItem($highscore_percentage);
568 $highscore_wtime->setValue("1");
569 $highscore_wtime->setChecked($this->
object->getHighscoreWTime());
570 $highscore_wtime->setInfo($this->
language->txt(
"highscore_wtime_description"));
571 $highscore->addSubItem($highscore_wtime);
572
573
574 $form->setTitle($this->
language->txt(
'settings'));
575 $form->addCommandButton(self::CMD_SAVE, $this->
language->txt(
"save"));
576 $form->addCommandButton(self::CMD_SHOW, $this->
language->txt(
"cancel"));
577
578 return $form;
579 }
const PRIVACY_NAME_FULLNAME
const PRIVACY_IDENT_IL_UUID_SHA256
const PRIVACY_NAME_FIRSTNAME
const PRIVACY_IDENT_IL_UUID_LOGIN
const PRIVACY_IDENT_IL_UUID_USER_ID
const PRIVACY_NAME_LASTNAME
const PRIVACY_IDENT_REAL_EMAIL
const PRIVACY_IDENT_IL_UUID_SHA256URL
const PRIVACY_IDENT_IL_UUID_EXT_ACCOUNT
const PRIVACY_IDENT_IL_UUID_RANDOM
This class represents a non editable value in a property form.
const LAUNCH_METHOD_NEW_WIN
const HIGHSCORE_SHOW_ALL_TABLES
const HIGHSCORE_SHOW_TOP_TABLE
const HIGHSCORE_SHOW_OWN_TABLE
const LAUNCH_METHOD_OWN_WIN
This class represents an option in a radio group.
This class represents a text area property in a property form.
This class represents a text property in a property form.