134 {
136 $form->setFormAction($this->dic->ctrl()->getFormAction($this));
137
139 $ne->setValue($this->
language->txt(
'type_' . $this->object->getContentType()));
140 $form->addItem($ne);
141
143 $ne->setValue($this->
object->getLrsType()->getTitle());
144 $form->addItem($ne);
145
147 $item->setSize(40);
148 $item->setMaxLength(128);
149 $item->setRequired(true);
150 $item->setInfo($this->
language->txt(
'title_info'));
151 $item->setValue($this->
object->getTitle());
152 $form->addItem($item);
153
155 $item->setInfo($this->
language->txt(
'description_info'));
156 $item->setRows(2);
157 $item->setCols(80);
158 $item->setValue($this->
object->getDescription());
159 $form->addItem($item);
160
162 $item->setRequired(true);
163 $item->setSize(40);
164 $item->setMaxLength(128);
165
166 $item->setInfo($this->
language->txt(
'activity_id_info'));
167 $item->setValue($this->
object->getActivityId());
168 $form->addItem($item);
169
171 $item->setInfo($this->
language->txt(
"online_info"));
172 $item->setValue("1");
173 if (!$this->
object->getOfflineStatus()) {
174 $item->setChecked(true);
175 }
176 $form->addItem($item);
177
179 $lpDeterioration->setInfo($this->
language->txt(
'conf_keep_lp_info'));
180 if ($this->
object->isKeepLpStatusEnabled()) {
181 $lpDeterioration->setChecked(true);
182 }
183
184
185
186
188 $item->setTitle($this->
language->txt(
"obj_presentation"));
189 $form->addItem($item);
190
191
192 $this->dic->object()->commonSettings()->legacyForm($form, $this->object)->addTileImage();
193
194 if (!$this->
object->isSourceTypeExternal()) {
196 $item->setTitle($this->
language->txt(
"launch_options"));
197 $form->addItem($item);
198
199 if ($this->
object->isSourceTypeRemote()) {
201 $item->setSize(40);
202 $item->setMaxLength(128);
203 $item->setRequired(true);
204 $item->setInfo($this->
language->txt(
'launch_url_info'));
205 $item->setValue($this->
object->getLaunchUrl());
206 $form->addItem($item);
207 }
208
211 $item->setInfo($this->
language->txt(
"use_fetch_info"));
212 $item->setValue("1");
213
214 if ($this->
object->isAuthFetchUrlEnabled()) {
215 $item->setChecked(true);
216 }
217 $form->addItem($item);
218 }
219
221 $display->setRequired(true);
222 $display->setValue($this->
object->getLaunchMethod());
224 $optOwnWindow->setInfo($this->
language->txt(
'conf_own_window_info'));
225 $display->addOption($optOwnWindow);
227 $optAnyWindow->setInfo($this->
language->txt(
'conf_new_window_info'));
228 $display->addOption($optAnyWindow);
229 $form->addItem($display);
230
232 $launchMode->setRequired(true);
233 $launchMode->setValue($this->
object->getLaunchMode());
235 $optNormal->setInfo($this->
language->txt(
'conf_launch_mode_normal_info'));
236
237 $optNormal->addSubItem($lpDeterioration);
238
239 $launchMode->addOption($optNormal);
241 $optBrowse->setInfo($this->
language->txt(
'conf_launch_mode_browse_info'));
242 $launchMode->addOption($optBrowse);
244 $optReview->setInfo($this->
language->txt(
'conf_launch_mode_review_info'));
245 $launchMode->addOption($optReview);
246 $form->addItem($launchMode);
247 } else {
248 $form->addItem($lpDeterioration);
249 }
250
253 $switchMode->setInfo($this->
language->txt(
"conf_switch_to_review_info"));
254 if ($this->
object->isSwitchToReviewEnabled()) {
255 $switchMode->setChecked(true);
256 }
257
258 $optNormal->addSubItem($switchMode);
259
261 $masteryScore->setInfo($this->
language->txt(
'conf_mastery_score_info'));
262 $masteryScore->setSuffix('%');
263 $masteryScore->allowDecimals(true);
264 $masteryScore->setDecimals(2);
265 $masteryScore->setMinvalueShouldBeGreater(false);
266 $masteryScore->setMinValue(0);
267 $masteryScore->setMaxvalueShouldBeLess(false);
268 $masteryScore->setMaxValue(100);
269 $masteryScore->setSize(4);
270 if (empty($this->
object->getMasteryScore())) {
272 }
273 $masteryScore->setValue((
string) $this->
object->getMasteryScorePercent());
274 $optNormal->addSubItem($masteryScore);
275 }
276
277 if (!$this->
object->isSourceTypeExternal()) {
279 $sectionHeader->setTitle($this->
language->txt(
'privacy_options'));
280 $form->addItem($sectionHeader);
281
283 $useProxy->setInfo($this->
language->txt(
'conf_use_proxy_info_xapi'));
284 if ($this->
object->isBypassProxyEnabled() ==
false) {
285 $useProxy->setChecked(true);
286 }
288 $useProxy->setChecked(true);
289 $useProxy->setDisabled(true);
290 $useProxy->setInfo($this->
language->txt(
'conf_use_proxy_info_cmi5'));
291 }
292
294 $item->setInfo($this->
language->txt(
'only_moveon_info'));
295 $item->setChecked($this->
object->getOnlyMoveon());
296
298 $subitem->setInfo($this->
language->txt(
'achieved_info'));
299 $subitem->setChecked($this->
object->getAchieved());
300 if ($this->
object->getLrsType()->getForcePrivacySettings()) {
301 $subitem->setDisabled(true);
302 }
303 $item->addSubItem($subitem);
304
306 $subitem->setInfo($this->
language->txt(
'answered_info'));
307 $subitem->setChecked($this->
object->getAnswered());
308 if ($this->
object->getLrsType()->getForcePrivacySettings()) {
309 $subitem->setDisabled(true);
310 }
311 $item->addSubItem($subitem);
312
314 $subitem->setInfo($this->
language->txt(
'completed_info'));
315 $subitem->setChecked($this->
object->getCompleted());
316 if ($this->
object->getLrsType()->getForcePrivacySettings()) {
317 $subitem->setDisabled(true);
318 }
319 $item->addSubItem($subitem);
320
322 $subitem->setInfo($this->
language->txt(
'failed_info'));
323 $subitem->setChecked($this->
object->getFailed());
324 if ($this->
object->getLrsType()->getForcePrivacySettings()) {
325 $subitem->setDisabled(true);
326 }
327 $item->addSubItem($subitem);
328
330 $subitem->setInfo($this->
language->txt(
'initialized_info'));
331 $subitem->setChecked($this->
object->getInitialized());
332 if ($this->
object->getLrsType()->getForcePrivacySettings()) {
333 $subitem->setDisabled(true);
334 }
335 $item->addSubItem($subitem);
336
338 $subitem->setInfo($this->
language->txt(
'passed_info'));
339 $subitem->setChecked($this->
object->getPassed());
340 if ($this->
object->getLrsType()->getForcePrivacySettings()) {
341 $subitem->setDisabled(true);
342 }
343 $item->addSubItem($subitem);
344
346 $subitem->setInfo($this->
language->txt(
'progressed_info'));
347 $subitem->setChecked($this->
object->getProgressed());
348 if ($this->
object->getLrsType()->getForcePrivacySettings()) {
349 $subitem->setDisabled(true);
350 }
351 $item->addSubItem($subitem);
354 $subitem->setInfo($this->
language->txt(
'satisfied_info'));
355 $subitem->setChecked($this->
object->getSatisfied());
356 if ($this->
object->getLrsType()->getForcePrivacySettings()) {
357 $subitem->setDisabled(true);
358 }
359 $item->addSubItem($subitem);
360
362 $subitem->setInfo($this->
language->txt(
'terminated_info'));
363 $subitem->setChecked($this->
object->getTerminated());
364 if ($this->
object->getLrsType()->getForcePrivacySettings()) {
365 $subitem->setDisabled(true);
366 }
367 $item->addSubItem($subitem);
368 }
369 if ($this->
object->getLrsType()->getForcePrivacySettings()) {
370 $item->setDisabled(true);
371 }
372 $useProxy->addSubItem($item);
373
375 $item->setInfo($this->
language->txt(
'hide_data_info'));
376 $item->setChecked($this->
object->getHideData());
377
379 $subitem->setInfo($this->
language->txt(
'timestamp_info'));
380 $subitem->setChecked($this->
object->getTimestamp());
381 if ($this->
object->getLrsType()->getForcePrivacySettings()) {
382 $subitem->setDisabled(true);
383 }
384 $item->addSubItem($subitem);
385
387 $subitem->setInfo($this->
language->txt(
'duration_info'));
388 $subitem->setChecked($this->
object->getDuration());
389 if ($this->
object->getLrsType()->getForcePrivacySettings()) {
390 $subitem->setDisabled(true);
391 }
392 $item->addSubItem($subitem);
393
394 if ($this->
object->getLrsType()->getForcePrivacySettings()) {
395 $item->setDisabled(true);
396 }
397 $useProxy->addSubItem($item);
398
400 $item->setInfo($this->
language->txt(
'no_substatements_info'));
401 $item->setChecked($this->
object->getNoSubstatements());
402 if ($this->
object->getLrsType()->getForcePrivacySettings()) {
403 $item->setDisabled(true);
404 }
405 $useProxy->addSubItem($item);
406
407 $form->addItem($useProxy);
408
409
412 $this->
language->txt(
'conf_privacy_ident_il_uuid_user_id'),
414 );
415 $op->setInfo($this->
language->txt(
'conf_privacy_ident_il_uuid_user_id_info'));
416 $userIdent->addOption($op);
418 $this->
language->txt(
'conf_privacy_ident_il_uuid_login'),
420 );
421 $op->setInfo($this->
language->txt(
'conf_privacy_ident_il_uuid_login_info'));
422 $userIdent->addOption($op);
424 $this->
language->txt(
'conf_privacy_ident_il_uuid_ext_account'),
426 );
427 $op->setInfo($this->
language->txt(
'conf_privacy_ident_il_uuid_ext_account_info'));
428 $userIdent->addOption($op);
430 $this->
language->txt(
'conf_privacy_ident_il_uuid_sha256'),
432 );
433 $op->setInfo($this->
language->txt(
'conf_privacy_ident_il_uuid_sha256_info'));
434 $userIdent->addOption($op);
436 $this->
language->txt(
'conf_privacy_ident_il_uuid_sha256url'),
438 );
439 $op->setInfo($this->
language->txt(
'conf_privacy_ident_il_uuid_sha256url_info'));
440 $userIdent->addOption($op);
442 $this->
language->txt(
'conf_privacy_ident_il_uuid_random'),
444 );
445 $op->setInfo($this->
language->txt(
'conf_privacy_ident_il_uuid_random_info'));
446 $userIdent->addOption($op);
448 $this->
language->txt(
'conf_privacy_ident_real_email'),
450 );
451 $op->setInfo($this->
language->txt(
'conf_privacy_ident_real_email_info'));
452 $userIdent->addOption($op);
453 $userIdent->setValue((
string) $this->
object->getPrivacyIdent());
454 $userIdent->setInfo(
456 );
457 $userIdent->setRequired(false);
458 $form->addItem($userIdent);
459
462 $this->
language->txt(
'conf_privacy_name_none'),
464 );
465 $op->setInfo($this->
language->txt(
'conf_privacy_name_none_info'));
466 $userName->addOption($op);
468 $this->
language->txt(
'conf_privacy_name_firstname'),
470 );
471 $userName->addOption($op);
473 $this->
language->txt(
'conf_privacy_name_lastname'),
475 );
476 $userName->addOption($op);
478 $this->
language->txt(
'conf_privacy_name_fullname'),
480 );
481 $userName->addOption($op);
482 $userName->setValue((
string) $this->
object->getPrivacyName());
483 $userName->setInfo($this->
language->txt(
'conf_privacy_name_info'));
484 $userName->setRequired(false);
485 $form->addItem($userName);
486
487 if ($this->
object->getLrsType()->getForcePrivacySettings()) {
488 $userIdent->setDisabled(true);
489 $userName->setDisabled(true);
490 }
491
494 $item->setInfo($this->
language->txt(
'enrich_data_info'));
495 $item->setChecked($this->
object->getEnrichData());
496 if ($this->
object->getLrsType()->getForcePrivacySettings()) {
497 $item->setDisabled(true);
498 }
499 $form->addItem($item);
500 }
501
502 }
503
506 for ((
int) $i = 0; $i < count(
$options); $i++) {
508 $item->addOption($op);
509 }
510 $item->setValue((
string) $this->
object->getDeleteData());
511 $item->setInfo($this->
language->txt(
'conf_delete_data_info'));
512 if ($this->
object->getLrsType()->getForcePrivacySettings()) {
513 $item->setDisabled(true);
514 }
515 $form->addItem($item);
516
517
518
520 $item->setTitle($this->
language->txt(
"log_options"));
521 $form->addItem($item);
522
524 $item->setInfo($this->
language->txt(
"show_debug_info"));
525 $item->setValue("1");
526 if ($this->
object->isStatementsReportEnabled()) {
527 $item->setChecked(true);
528 }
529 $form->addItem($item);
530
532 $highscore->setValue("1");
533 $highscore->setChecked($this->
object->getHighscoreEnabled());
534 $highscore->setInfo($this->
language->txt(
"highscore_description"));
535 $form->addItem($highscore);
537 $highscore_tables->setRequired(true);
538 $highscore_tables->setValue((
string) $this->
object->getHighscoreMode());
540 $this->
language->txt(
'highscore_own_table'),
542 );
543 $highscore_table_own->setInfo($this->
language->txt(
'highscore_own_table_description'));
544 $highscore_tables->addOption($highscore_table_own);
546 $this->
language->txt(
'highscore_top_table'),
548 );
549 $highscore_table_other->setInfo($this->
language->txt(
'highscore_top_table_description'));
550 $highscore_tables->addOption($highscore_table_other);
552 $this->
language->txt(
'highscore_all_tables'),
554 );
555 $highscore_table_other->setInfo($this->
language->txt(
'highscore_all_tables_description'));
556 $highscore_tables->addOption($highscore_table_other);
557 $highscore->addSubItem($highscore_tables);
559 $highscore_top_num->setSize(4);
560 $highscore_top_num->setRequired(true);
561 $highscore_top_num->setMinValue(1);
562 $highscore_top_num->setSuffix($this->
language->txt(
"highscore_top_num_unit"));
563 $highscore_top_num->setValue((
string) $this->
object->getHighscoreTopNum(
null));
564 $highscore_top_num->setInfo($this->
language->txt(
"highscore_top_num_description"));
565 $highscore->addSubItem($highscore_top_num);
567 $highscore_achieved_ts->setValue("1");
568 $highscore_achieved_ts->setChecked($this->
object->getHighscoreAchievedTS());
569 $highscore_achieved_ts->setInfo($this->
language->txt(
"highscore_achieved_ts_description"));
570 $highscore->addSubItem($highscore_achieved_ts);
572 $highscore_percentage->setValue("1");
573 $highscore_percentage->setChecked($this->
object->getHighscorePercentage());
574 $highscore_percentage->setInfo($this->
language->txt(
"highscore_percentage_description"));
575 $highscore->addSubItem($highscore_percentage);
577 $highscore_wtime->setValue("1");
578 $highscore_wtime->setChecked($this->
object->getHighscoreWTime());
579 $highscore_wtime->setInfo($this->
language->txt(
"highscore_wtime_description"));
580 $highscore->addSubItem($highscore_wtime);
581
582
583 $form->setTitle($this->
language->txt(
'settings'));
584 $form->addCommandButton(self::CMD_SAVE, $this->
language->txt(
"save"));
585 $form->addCommandButton(self::CMD_SHOW, $this->
language->txt(
"cancel"));
586
587 return $form;
588 }
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.