3 declare(strict_types=1);
    47         $this->tabs_gui->addTab(
    48             self::TAB_ID_LRS_TYPES,
    49             $this->
lng->txt(self::TAB_ID_LRS_TYPES),
    50             $this->
ctrl->getLinkTargetByClass(self::class)
    54         if ($this->rbac_system->checkAccess(
'edit_permission', $this->object->getRefId())) {
    55             $this->tabs_gui->addTab(
    56                 self::TAB_ID_PERMISSIONS,
    57                 $this->
lng->txt(self::TAB_ID_PERMISSIONS),
    58                 $this->
ctrl->getLinkTargetByClass(ilPermissionGUI::class, 
'perm')
    65         $this->
lng->loadLanguageModule(
'cmix');
    69         switch ($this->
ctrl->getNextClass()) {
    70             case 'ilpermissiongui':
    72                 $this->tabs_gui->activateTab(self::TAB_ID_PERMISSIONS);
    74                 $this->
ctrl->forwardCommand($gui);
    79                 $command = $this->
ctrl->getCmd(self::DEFAULT_CMD) . 
'Cmd';
    91         $this->tabs_gui->activateTab(self::TAB_ID_LRS_TYPES);
    94         if ($this->rbac_system->checkAccess(
'write', $this->getRefId())) {
   101         $this->tpl->setContent($toolbarHtml . $table->getHTML());
   112         $button = $DIC->ui()->factory()->button()->primary(
   113             $this->
lng->txt(
"btn_create_lrs_type"),
   114             $this->
ctrl->getLinkTarget($this, self::CMD_SHOW_LRS_TYPE_FORM)
   125         $this->tabs_gui->activateTab(self::TAB_ID_LRS_TYPES);
   127         if ($form === null) {
   133         $this->tpl->setContent($form->getHTML());
   138         if ($this->post_wrapper->has(
'lrs_type_id')) {
   139             if (is_int($this->post_wrapper->retrieve(
'lrs_type_id', $this->refinery->kindlyTo()->int()))) {
   140                 return new ilCmiXapiLrsType($this->post_wrapper->retrieve(
'lrs_type_id', $this->refinery->kindlyTo()->int()));
   144         if ($this->request_wrapper->has(
'lrs_type_id')) {
   145             if (is_int($this->request_wrapper->retrieve(
'lrs_type_id', $this->refinery->kindlyTo()->int()))) {
   146                 return new ilCmiXapiLrsType($this->request_wrapper->retrieve(
'lrs_type_id', $this->refinery->kindlyTo()->int()));
   158         $form->setFormAction($DIC->ctrl()->getFormAction($this));
   161             $form->setTitle($DIC->language()->txt(
'edit_lrs_type_form'));
   163             $form->setTitle($DIC->language()->txt(
'create_lrs_type_form'));
   166         $form->addCommandButton(self::CMD_SAVE_LRS_TYPE_FORM, $DIC->language()->txt(
'save'));
   167         $form->addCommandButton(self::CMD_SHOW_LRS_TYPES_LIST, $DIC->language()->txt(
'cancel'));
   170         $hiddenId->setValue((
string) $lrsType->
getTypeId());
   171         $form->addItem($hiddenId);
   174         $item = 
new ilTextInputGUI($DIC->language()->txt(
'conf_title'), 
'title');
   175         $item->setValue($lrsType->
getTitle());
   176         $item->setInfo($DIC->language()->txt(
'info_title'));
   177         $item->setRequired(
true);
   178         $item->setMaxLength(255);
   179         $form->addItem($item);
   181         $item = 
new ilTextInputGUI($DIC->language()->txt(
'conf_description'), 
'description');
   183         $item->setInfo($DIC->language()->txt(
'info_description'));
   184         $form->addItem($item);
   192         $item->addOption($optionCreate);
   198         $item->addOption($optionCreate);
   204         $item->addOption($optionCreate);
   206         $item->setRequired(
true);
   207         $form->addItem($item);
   210         $sectionHeader->setTitle($DIC->language()->txt(
'lrs_authentication'));
   211         $form->addItem($sectionHeader);
   213         $item = 
new ilTextInputGUI($DIC->language()->txt(
'conf_lrs_endpoint'), 
'lrs_endpoint');
   215         $item->setInfo($DIC->language()->txt(
'info_lrs_endpoint'));
   216         $item->setRequired(
true);
   217         $item->setMaxLength(255);
   218         $form->addItem($item);
   220         $item = 
new ilTextInputGUI($DIC->language()->txt(
'conf_lrs_key'), 
'lrs_key');
   222         $item->setInfo($DIC->language()->txt(
'info_lrs_key'));
   223         $item->setRequired(
true);
   224         $item->setMaxLength(128);
   225         $form->addItem($item);
   227         $item = 
new ilTextInputGUI($DIC->language()->txt(
'conf_lrs_secret'), 
'lrs_secret');
   229         $item->setInfo($DIC->language()->txt(
'info_lrs_secret'));
   230         $item->setRequired(
true);
   231         $item->setMaxLength(128);
   232         $form->addItem($item);
   235         $sectionHeader->setTitle($DIC->language()->txt(
'privacy_options'));
   236         $form->addItem($sectionHeader);
   238         $useProxy = 
new ilCheckboxInputGUI($DIC->language()->txt(
'conf_use_proxy'), 
'use_proxy');
   239         $useProxy->setInfo($DIC->language()->txt(
'conf_use_proxy_info'));
   241             $useProxy->setChecked(
true);
   245             "achieved" => $DIC->language()->txt(
'achieved_label'),
   246             "answered" => $DIC->language()->txt(
'answered_label'),
   247             "completed" => $DIC->language()->txt(
'completed_label'),
   248             "failed" => $DIC->language()->txt(
'failed_label'),
   249             "initialized" => $DIC->language()->txt(
'initialized_label'),
   250             "passed" => $DIC->language()->txt(
'passed_label'),
   251             "progressed" => $DIC->language()->txt(
'progressed_label'),
   252             "satisfied" => $DIC->language()->txt(
'satisfied_label'),
   253             "terminated" => $DIC->language()->txt(
'terminated_label'),
   255         $multi = $DIC->ui()->factory()->input()->field()->multiselect($DIC->language()->txt(
'conf_store_only_verbs'), $options, $DIC->language()->txt(
'conf_store_only_verbs_info'))
   256                     ->withRequired(
true);
   260         $item = 
new ilCheckboxInputGUI($DIC->language()->txt(
'only_moveon_label'), 
'only_moveon');
   261         $item->setInfo($DIC->language()->txt(
'only_moveon_info'));
   264         $subitem = 
new ilCheckboxInputGUI($DIC->language()->txt(
'achieved_label'), 
'achieved');
   265         $subitem->setInfo($DIC->language()->txt(
'achieved_info'));
   267         $item->addSubItem($subitem);
   269         $subitem = 
new ilCheckboxInputGUI($DIC->language()->txt(
'answered_label'), 
'answered');
   270         $subitem->setInfo($DIC->language()->txt(
'answered_info'));
   272         $item->addSubItem($subitem);
   274         $subitem = 
new ilCheckboxInputGUI($DIC->language()->txt(
'completed_label'), 
'completed');
   275         $subitem->setInfo($DIC->language()->txt(
'completed_info'));
   277         $item->addSubItem($subitem);
   280         $subitem->setInfo($DIC->language()->txt(
'failed_info'));
   281         $subitem->setChecked($lrsType->
getFailed());
   282         $item->addSubItem($subitem);
   284         $subitem = 
new ilCheckboxInputGUI($DIC->language()->txt(
'initialized_label'), 
'initialized');
   285         $subitem->setInfo($DIC->language()->txt(
'initialized_info'));
   287         $item->addSubItem($subitem);
   290         $subitem->setInfo($DIC->language()->txt(
'passed_info'));
   291         $subitem->setChecked($lrsType->
getPassed());
   292         $item->addSubItem($subitem);
   294         $subitem = 
new ilCheckboxInputGUI($DIC->language()->txt(
'progressed_label'), 
'progressed');
   295         $subitem->setInfo($DIC->language()->txt(
'progressed_info'));
   297         $item->addSubItem($subitem);
   299         $subitem = 
new ilCheckboxInputGUI($DIC->language()->txt(
'satisfied_label'), 
'satisfied');
   300         $subitem->setInfo($DIC->language()->txt(
'satisfied_info'));
   302         $item->addSubItem($subitem);
   304         $subitem = 
new ilCheckboxInputGUI($DIC->language()->txt(
'terminated_label'), 
'terminated');
   305         $subitem->setInfo($DIC->language()->txt(
'terminated_info'));
   307         $item->addSubItem($subitem);
   309         $useProxy->addSubItem($item);
   311         $item = 
new ilCheckboxInputGUI($DIC->language()->txt(
'hide_data_label'), 
'hide_data');
   312         $item->setInfo($DIC->language()->txt(
'hide_data_info'));
   315         $subitem = 
new ilCheckboxInputGUI($DIC->language()->txt(
'timestamp_label'), 
'timestamp');
   316         $subitem->setInfo($DIC->language()->txt(
'timestamp_info'));
   318         $item->addSubItem($subitem);
   320         $subitem = 
new ilCheckboxInputGUI($DIC->language()->txt(
'duration_label'), 
'duration');
   321         $subitem->setInfo($DIC->language()->txt(
'duration_info'));
   323         $item->addSubItem($subitem);
   325         $useProxy->addSubItem($item);
   327         $item = 
new ilCheckboxInputGUI($DIC->language()->txt(
'no_substatements_label'), 
'no_substatements');
   328         $item->setInfo($DIC->language()->txt(
'no_substatements_info'));
   330         $useProxy->addSubItem($item);
   334         $form->addItem($useProxy);
   342             $DIC->language()->txt(
'conf_privacy_ident_il_uuid_user_id'),
   345         $op->
setInfo($DIC->language()->txt(
'conf_privacy_ident_il_uuid_user_id_info'));
   346         $item->addOption($op);
   348             $DIC->language()->txt(
'conf_privacy_ident_il_uuid_login'),
   351         $op->
setInfo($DIC->language()->txt(
'conf_privacy_ident_il_uuid_login_info'));
   352         $item->addOption($op);
   354             $DIC->language()->txt(
'conf_privacy_ident_il_uuid_ext_account'),
   357         $op->
setInfo($DIC->language()->txt(
'conf_privacy_ident_il_uuid_ext_account_info'));
   358         $item->addOption($op);
   360             $DIC->language()->txt(
'conf_privacy_ident_il_uuid_sha256'),
   363         $op->
setInfo($DIC->language()->txt(
'conf_privacy_ident_il_uuid_sha256_info'));
   364         $item->addOption($op);
   366             $DIC->language()->txt(
'conf_privacy_ident_il_uuid_sha256url'),
   369         $op->
setInfo($DIC->language()->txt(
'conf_privacy_ident_il_uuid_sha256url_info'));
   370         $item->addOption($op);
   373             $DIC->language()->txt(
'conf_privacy_ident_il_uuid_random'),
   376         $op->
setInfo($DIC->language()->txt(
'conf_privacy_ident_il_uuid_random_info'));
   377         $item->addOption($op);
   379             $DIC->language()->txt(
'conf_privacy_ident_real_email'),
   382         $op->
setInfo($DIC->language()->txt(
'conf_privacy_ident_real_email_info'));
   383         $item->addOption($op);
   388         $item->setRequired(
false);
   389         $form->addItem($item);
   393             $DIC->language()->txt(
'conf_privacy_name_none'),
   396         $op->
setInfo($DIC->language()->txt(
'conf_privacy_name_none_info'));
   397         $item->addOption($op);
   399             $DIC->language()->txt(
'conf_privacy_name_firstname'),
   402         $item->addOption($op);
   404             $DIC->language()->txt(
'conf_privacy_name_lastname'),
   407         $item->addOption($op);
   409             $DIC->language()->txt(
'conf_privacy_name_fullname'),
   412         $item->addOption($op);
   414         $item->setInfo($DIC->language()->txt(
'conf_privacy_name_info'));
   415         $item->setRequired(
false);
   416         $form->addItem($item);
   491         $options = [
"0",
"1",
"2",
"11",
"12"];
   492         for ((
int) $i = 0; $i < count($options); $i++) {
   493             $op = 
new ilRadioOption($DIC->language()->txt(
'conf_delete_data_opt' . $options[$i]), $options[$i]);
   494             $item->addOption($op);
   497         $item->setInfo($DIC->language()->txt(
'conf_delete_data_info'));
   498         $form->addItem($item);
   500         $item = 
new ilRadioGroupInputGUI($DIC->language()->txt(
'conf_privacy_setting_conf'), 
'force_privacy_setting');
   501         $op = 
new ilRadioOption($DIC->language()->txt(
'conf_privacy_setting_default'), 
"0");
   502         $item->addOption($op);
   503         $op = 
new ilRadioOption($DIC->language()->txt(
'conf_privacy_setting_force'), 
"1");
   504         $item->addOption($op);
   506         $form->addItem($item);
   509         $sectionHeader->setTitle(
'Hints');
   510         $form->addItem($sectionHeader);
   512         $item = 
new ilCheckboxInputGUI($DIC->language()->txt(
'conf_external_lrs'), 
'external_lrs');
   514         $item->setInfo($DIC->language()->txt(
'info_external_lrs'));
   515         $form->addItem($item);
   517         $item = 
new ilTextAreaInputGUI($DIC->language()->txt(
'conf_privacy_comment_default'), 
'privacy_comment_default');
   518         $item->
setInfo($DIC->language()->txt(
'info_privacy_comment_default'));
   521         $form->addItem($item);
   524         $item->
setInfo($DIC->language()->txt(
'info_remarks'));
   527         $form->addItem($item);
   540         if (!$form->checkInput()) {
   545         $lrsType->setTitle($form->getInput(
"title"));
   546         $lrsType->setDescription($form->getInput(
"description"));
   547         $lrsType->setAvailability((
int) $form->getInput(
"availability"));
   549         $lrsType->setLrsEndpoint(
   553         $lrsType->setLrsKey($form->getInput(
"lrs_key"));
   554         $lrsType->setLrsSecret($form->getInput(
"lrs_secret"));
   555         $lrsType->setExternalLrs((
bool) $form->getInput(
"external_lrs"));
   556         $lrsType->setPrivacyIdent((
int) $form->getInput(
"privacy_ident"));
   557         $lrsType->setPrivacyName((
int) $form->getInput(
"privacy_name"));
   558         $lrsType->setPrivacyCommentDefault($form->getInput(
"privacy_comment_default"));
   559         $lrsType->setRemarks($form->getInput(
"remarks"));
   561         $oldBypassProxyEnabled = $lrsType->isBypassProxyEnabled();
   562         $newBypassProxyEnabled = 
false;
   563         if ((
bool) $form->getInput(
"use_proxy") == 
false) {
   564             $newBypassProxyEnabled = 
true;
   566         $lrsType->setBypassProxyEnabled($newBypassProxyEnabled);
   567         if ($newBypassProxyEnabled && $newBypassProxyEnabled != $oldBypassProxyEnabled) {
   571         $lrsType->setOnlyMoveon((
bool) $form->getInput(
"only_moveon"));
   572         $lrsType->setAchieved((
bool) $form->getInput(
"achieved"));
   573         $lrsType->setAnswered((
bool) $form->getInput(
"answered"));
   574         $lrsType->setCompleted((
bool) $form->getInput(
"completed"));
   575         $lrsType->setFailed((
bool) $form->getInput(
"failed"));
   576         $lrsType->setInitialized((
bool) $form->getInput(
"initialized"));
   577         $lrsType->setPassed((
bool) $form->getInput(
"passed"));
   578         $lrsType->setProgressed((
bool) $form->getInput(
"progressed"));
   579         $lrsType->setSatisfied((
bool) $form->getInput(
"satisfied"));
   580         $lrsType->setTerminated((
bool) $form->getInput(
"terminated"));
   581         $lrsType->setHideData((
bool) $form->getInput(
"hide_data"));
   582         $lrsType->setTimestamp((
bool) $form->getInput(
"timestamp"));
   583         $lrsType->setDuration((
bool) $form->getInput(
"duration"));
   584         $lrsType->setNoSubstatements((
bool) $form->getInput(
"no_substatements"));
   585         $lrsType->setDeleteData((
int) $form->getInput(
"delete_data"));
   587         $lrsType->setForcePrivacySettings((
bool) $form->getInput(
"force_privacy_setting"));
   588         if ($lrsType->getForcePrivacySettings()) {
   594         $DIC->ctrl()->redirect($this, self::CMD_SHOW_LRS_TYPES_LIST);
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
buildLrsTypeForm(ilCmiXapiLrsType $lrsType)
 
const PRIVACY_IDENT_REAL_EMAIL
 
prepareOutput(bool $show_sub_objects=true)
 
const PRIVACY_NAME_FULLNAME
 
const CMD_SHOW_LRS_TYPES_LIST
 
const CMD_SAVE_LRS_TYPE_FORM
 
const PRIVACY_NAME_LASTNAME
 
static updatePrivacySettingsFromLrsType(ilCmiXapiLrsType $lrsType)
 
buildLrsTypesToolbarGUI()
 
const PRIVACY_IDENT_IL_UUID_USER_ID
 
static removeTrailingPathSeparators(string $path)
 
getForcePrivacySettings()
 
const AVAILABILITY_CREATE
 
const CMD_SHOW_LRS_TYPE_FORM
 
const AVAILABILITY_EXISTING
 
Class ilObjectGUI Basic methods of all Output classes. 
 
setValue(string $a_value)
 
const PRIVACY_IDENT_IL_UUID_SHA256URL
 
getPrivacyCommentDefault()
 
showLrsTypeFormCmd(ilPropertyFormGUI $form=null)
 
This class represents a text area property in a property form. 
 
const PRIVACY_IDENT_IL_UUID_EXT_ACCOUNT
 
const PRIVACY_IDENT_IL_UUID_SHA256
 
const PRIVACY_IDENT_IL_UUID_RANDOM
 
static updateByPassProxyFromLrsType(ilCmiXapiLrsType $lrsType)
 
const PRIVACY_NAME_FIRSTNAME
 
static getTypesData(bool $a_extended=false, ?int $a_availability=null)
Get basic data array of all types (without field definitions) 
 
const PRIVACY_IDENT_IL_UUID_LOGIN