19 declare(strict_types=1);
    63         $lng = $DIC->language();
    69         if ($this->provider->getId() !== 0) {
    76         $titleInp->setValue($this->provider->getTitle());
    77         $titleInp->setRequired(
true);
    81         $descInp->setValue($this->provider->getDescription());
    87         $iconInp->setUseCache(
false);
    88         if ($this->provider->hasProviderIcon() && $this->provider->getProviderIcon()->exists()) {
    89             $iconInp->setImage($this->provider->getProviderIcon()->getAbsoluteFilePath());
    91             $iconInp->setImage(
'');
    97             $availabilityInp->
setValue((
string) $this->provider->getAvailability());
    98             $availabilityInp->setRequired(
true);
   100                 $lng->
txt(
'lti_con_prov_availability_create'),
   103             $availabilityInp->addOption($optionCreate);
   105                 $lng->
txt(
'lti_con_prov_availability_existing'),
   108             $availabilityInp->addOption($optionCreate);
   110                 $lng->
txt(
'lti_con_prov_availability_non'),
   113             $availabilityInp->addOption($optionCreate);
   114             $this->
addItem($availabilityInp);
   118         $sectionHeader->setTitle(
$lng->
txt(
'lti_con_prov_authentication'));
   119         $this->
addItem($sectionHeader);
   125         if ($this->provider->getId() == 0) {
   128         $versionInp->addOption($lti13);
   130         $providerUrlInp->setValue($this->provider->getProviderUrl());
   131         $providerUrlInp->setRequired(
true);
   135         $initiateLogin->setValue($this->provider->getInitiateLogin());
   136         $initiateLogin->setRequired(
true);
   141         $redirectionUris->setValue(implode(
"\n", explode(
",", $this->provider->getRedirectionUris())));
   142         $redirectionUris->setRequired(
true);
   150         $keyType->addOption($keyRsa);
   153         $publicKey->setRequired(
true);
   154         $publicKey->setInfo(
$lng->
txt(
'lti_con_key_type_rsa_public_key_info'));
   155         $keyRsa->addSubItem($publicKey);
   158         $keyType->addOption($keyJwk);
   160         $keyset->setValue($this->provider->getPublicKeyset());
   161         $keyset->setRequired(
true);
   162         $keyJwk->addSubItem($keyset);
   164         $keyType->setValue($this->provider->getKeyType());
   168         $contentItem->setValue(
'1');
   169         $contentItem->setChecked($this->provider->isContentItem());
   172         $contentItemUrl->setValue($this->provider->getContentItemUrl());
   173         $contentItem->addSubItem($contentItemUrl);
   178         $gradeSynchronization->setInfo(
$lng->
txt(
'lti_con_grade_synchronization_info'));
   179         $gradeSynchronization->setValue(
'1');
   180         $gradeSynchronization->setChecked($this->provider->isGradeSynchronization());
   183         if ($this->provider->getId() > 0) {
   186             $Lti13Info->setValue(
   188                 . 
"\nClient ID: \t\t\t\t\t" . $this->provider->getClientId()
   189                 . 
"\nDeployment ID: \t\t\t\t" . (string) $this->provider->getId()
   194             $Lti13Info->setDisabled(
true);
   198         $versionInp->setValue($this->provider->getLtiVersion());
   202         $versionInp->addOption($lti11);
   205         $providerUrlInp->setValue($this->provider->getProviderUrl());
   206         $providerUrlInp->setRequired(
true);
   207         $lti11->addSubItem($providerUrlInp);
   210         $keyGlobal->setValue(
"1");
   211         if (!$this->provider->isProviderKeyCustomizable()) {
   212             $keyGlobal->setChecked(
true);
   214         $keyGlobal->setInfo(
$lng->
txt(
'lti_con_prov_provider_key_global_info'));
   217         $providerKeyInp->setValue($this->provider->getProviderKey());
   218         $providerKeyInp->setRequired(
true);
   219         $keyGlobal->addSubItem($providerKeyInp);
   222         $providerSecretInp->setValue($this->provider->getProviderSecret());
   223         $providerSecretInp->setRequired(
true);
   224         $keyGlobal->addSubItem($providerSecretInp);
   225         $lti11->addSubItem($keyGlobal);
   230         $sectionHeader->setTitle(
$lng->
txt(
'lti_con_prov_privacy_settings'));
   231         $this->
addItem($sectionHeader);
   235             $lng->
txt(
'clti_privacy_ident_il_uuid_user_id'),
   238         $op->
setInfo(
$lng->
txt(
'clti_privacy_ident_il_uuid_user_id_info'));
   239         $item->addOption($op);
   241             $lng->
txt(
'clti_privacy_ident_il_uuid_login'),
   245         $item->addOption($op);
   247             $lng->
txt(
'clti_privacy_ident_il_uuid_ext_account'),
   250         $op->
setInfo(
$lng->
txt(
'clti_privacy_ident_il_uuid_ext_account_info'));
   251         $item->addOption($op);
   253             $lng->
txt(
'clti_privacy_ident_il_uuid_sha256'),
   256         $op->
setInfo(
$lng->
txt(
'clti_privacy_ident_il_uuid_sha256_info'));
   257         $item->addOption($op);
   259             $lng->
txt(
'clti_privacy_ident_il_uuid_sha256url'),
   262         $op->
setInfo(
$lng->
txt(
'clti_privacy_ident_il_uuid_sha256url_info'));
   263         $item->addOption($op);
   266             $lng->
txt(
'clti_privacy_ident_il_uuid_random'),
   269         $op->
setInfo(
$lng->
txt(
'clti_privacy_ident_il_uuid_random_info'));
   270         $item->addOption($op);
   273             $lng->
txt(
'clti_privacy_ident_real_email'),
   277         $item->addOption($op);
   278         $item->setValue((
string) $this->provider->getPrivacyIdent());
   282         $item->setRequired(
false);
   286         $item->setValue(
"1");
   287         if ($this->provider->isInstructorSendEmail()) {
   288             $item->setChecked(
true);
   290         $item->setInfo(
$lng->
txt(
'lti_con_prov_instructor_email_info'));
   296         $item->addOption($op);
   298         $item->addOption($op);
   300         $item->addOption($op);
   302         $item->addOption($op);
   303         $item->setValue((
string) $this->provider->getPrivacyName());
   304         $item->setInfo(
$lng->
txt(
'clti_privacy_name_info'));
   305         $item->setRequired(
false);
   309         $item->setValue(
"1");
   310         if ($this->provider->isInstructorSendName()) {
   311             $item->setChecked(
true);
   313         $item->setInfo(
$lng->
txt(
'lti_con_prov_instructor_name_info'));
   317         $includeUserImage->setInfo(
$lng->
txt(
'lti_con_prov_inc_usr_pic_info'));
   318         $includeUserImage->setChecked($this->provider->getIncludeUserPicture());
   319         $this->
addItem($includeUserImage);
   322         $item->setValue(
"1");
   323         if ($this->provider->IsExternalProvider()) {
   324             $item->setChecked(
true);
   326         $item->setInfo(
$lng->
txt(
'lti_con_prov_external_provider_info'));
   331         $sectionHeader->setTitle(
$lng->
txt(
'lti_con_prov_learning_progress_options'));
   332         $this->
addItem($sectionHeader);
   334         $item->setValue(
"1");
   335         if ($this->provider->getHasOutcome()) {
   336             $item->setChecked(
true);
   338         $item->setInfo(
$lng->
txt(
'lti_con_prov_has_outcome_service_info'));
   340         $masteryScore->setInfo(
$lng->
txt(
'lti_con_prov_mastery_score_default_info'));
   341         $masteryScore->setSuffix(
'%');
   342         $masteryScore->allowDecimals(
true);
   343         $masteryScore->setDecimals(2);
   344         $masteryScore->setMinvalueShouldBeGreater(
false);
   345         $masteryScore->setMinValue(0);
   346         $masteryScore->setMaxvalueShouldBeLess(
false);
   347         $masteryScore->setMaxValue(100);
   348         $masteryScore->setSize(4);
   349         $masteryScore->setValue((
string) $this->provider->getMasteryScorePercent());
   350         $item->addSubItem($masteryScore);
   354         $sectionHeader->setTitle(
$lng->
txt(
'lti_con_prov_launch_options'));
   355         $this->
addItem($sectionHeader);
   358         $item->setValue(
"1");
   359         if ($this->provider->getUseProviderId()) {
   360             $item->setChecked(
true);
   362         $item->setInfo(
$lng->
txt(
'lti_con_prov_use_provider_id_info'));
   367         $item->setValue(
"1");
   368         if ($this->provider->getAlwaysLearner()) {
   369             $item->setChecked(
true);
   371         $item->setInfo(
$lng->
txt(
'lti_con_prov_always_learner_info'));
   375         $item->setValue(
"1");
   376         if ($this->provider->getUseXapi()) {
   377             $item->setChecked(
true);
   379         $item->setInfo(
$lng->
txt(
'lti_con_prov_use_xapi_info'));
   382         $subitem->setValue($this->provider->getXapiLaunchUrl());
   383         $subitem->setInfo(
$lng->
txt(
'lti_con_prov_xapi_launch_url_info'));
   384         $subitem->setRequired(
true);
   385         $subitem->setMaxLength(255);
   386         $item->addSubItem($subitem);
   389         $subitem->setValue($this->provider->getXapiLaunchKey());
   390         $subitem->setInfo(
$lng->
txt(
'lti_con_prov_xapi_launch_key_info'));
   391         $subitem->setRequired(
true);
   392         $subitem->setMaxLength(64);
   393         $item->addSubItem($subitem);
   396         $subitem->setValue($this->provider->getXapiLaunchSecret());
   397         $subitem->setInfo(
$lng->
txt(
'lti_con_prov_xapi_launch_secret_info'));
   398         $subitem->setRequired(
true);
   399         $subitem->setMaxLength(64);
   400         $item->addSubItem($subitem);
   403         $subitem->setValue($this->provider->getXapiActivityId());
   404         $subitem->setInfo(
$lng->
txt(
'lti_con_prov_xapi_activity_id_info'));
   405         $subitem->setMaxLength(128);
   406         $item->addSubItem($subitem);
   411         $item->
setValue($this->provider->getCustomParams());
   414         $item->setInfo(
$lng->
txt(
'lti_con_prov_custom_params_info'));
   418         $sectionHeader->setTitle(
$lng->
txt(
'lti_con_prov_group_options'));
   419         $this->
addItem($sectionHeader);
   422         $item->setValue($this->provider->getKeywords());
   423         $item->setInfo(
$lng->
txt(
'lti_con_prov_keywords_info'));
   424         $item->setMaxLength(1000);
   429         $category->setValue($this->provider->getCategory());
   430         $category->setRequired(
true);
   437         $sectionHeader->setTitle(
$lng->
txt(
'lti_con_prov_hints'));
   438         $this->
addItem($sectionHeader);
   441         $remarksInp->
setValue($this->provider->getRemarks());
   442         $remarksInp->setRows(6);
   449         $lng = $DIC->language();
   457         $titleInp->setValue($this->provider->getTitle());
   458         $titleInp->setRequired(
true);
   462         $descInp->setValue($this->provider->getDescription());
   468         $iconInp->setUseCache(
false);
   469         if ($this->provider->hasProviderIcon() && $this->provider->getProviderIcon()->exists()) {
   470             $iconInp->setImage($this->provider->getProviderIcon()->getAbsoluteFilePath());
   472             $iconInp->setImage(
'');
   478             $availabilityInp->
setValue((
string) $this->provider->getAvailability());
   479             $availabilityInp->setRequired(
true);
   481                 $lng->
txt(
'lti_con_prov_availability_create'),
   484             $availabilityInp->addOption($optionCreate);
   486                 $lng->
txt(
'lti_con_prov_availability_existing'),
   489             $availabilityInp->addOption($optionCreate);
   491                 $lng->
txt(
'lti_con_prov_availability_non'),
   494             $availabilityInp->addOption($optionCreate);
   495             $this->
addItem($availabilityInp);
   499         $sectionHeader->setTitle(
$lng->
txt(
'lti_con_prov_authentication'));
   500         $this->
addItem($sectionHeader);
   506         if ($this->provider->getId() == 0) {
   509         $versionInp->addOption($lti13);
   511         $providerUrlInp->setValue($this->provider->getProviderUrl());
   512         $providerUrlInp->setRequired(
true);
   513         $lti13->addSubItem($providerUrlInp);
   516         $initiateLogin->setValue($this->provider->getInitiateLogin());
   517         $initiateLogin->setRequired(
true);
   518         $lti13->addSubItem($initiateLogin);
   522         $redirectionUris->setValue(implode(
"\n", explode(
",", $this->provider->getRedirectionUris())));
   523         $redirectionUris->setRequired(
true);
   524         $lti13->addSubItem($redirectionUris);
   531         $keyType->addOption($keyRsa);
   534         $publicKey->setRequired(
true);
   535         $publicKey->setValue($this->provider->getPublicKey());
   536         $publicKey->setInfo(
$lng->
txt(
'lti_con_key_type_rsa_public_key_info'));
   537         $keyRsa->addSubItem($publicKey);
   540         $keyType->addOption($keyJwk);
   542         $keyset->setValue($this->provider->getPublicKeyset());
   543         $keyset->setRequired(
true);
   544         $keyJwk->addSubItem($keyset);
   546         $keyType->setValue($this->provider->getKeyType());
   547         $lti13->addSubItem($keyType);
   550         $contentItem->setValue(
'1');
   553             if (!
ilSession::has(
'lti_dynamic_registration_custom_params') && !empty($this->provider->getContentItemUrl())) {
   554                 $contentItem->setChecked(
true);
   556                 $contentItem->setChecked(
false);
   559             if (empty($this->provider->getContentItemUrl())) {
   560                 $contentItem->setChecked(
false);
   562                 $contentItem->setChecked($this->provider->isContentItem());
   566         $contentItemUrl->setValue($this->provider->getContentItemUrl());
   567         $contentItem->addSubItem($contentItemUrl);
   568         $lti13->addSubItem($contentItem);
   572         $gradeSynchronization->setInfo(
$lng->
txt(
'lti_con_grade_synchronization_info'));
   573         $gradeSynchronization->setValue(
'1');
   574         $gradeSynchronization->setChecked($this->provider->isGradeSynchronization());
   575         $lti13->addSubItem($gradeSynchronization);
   579         $Lti13Info->setValue(
   581             . 
"\nClient ID: \t\t\t\t\t" . $this->provider->getClientId()
   582             . 
"\nDeployment ID: \t\t\t\t" . (string) $this->provider->getId()
   587         $Lti13Info->setDisabled(
true);
   588         $lti13->addSubItem($Lti13Info);
   590         $versionInp->setValue($this->provider->getLtiVersion());
   594         $versionInp->addOption($lti11);
   597         $providerUrlInp->setValue($this->provider->getProviderUrl());
   598         $providerUrlInp->setRequired(
true);
   599         $lti11->addSubItem($providerUrlInp);
   602         $keyGlobal->setValue(
"1");
   603         if (!$this->provider->isProviderKeyCustomizable()) {
   604             $keyGlobal->setChecked(
true);
   606         $keyGlobal->setInfo(
$lng->
txt(
'lti_con_prov_provider_key_global_info'));
   609         $providerKeyInp->setValue($this->provider->getProviderKey());
   610         $providerKeyInp->setRequired(
true);
   611         $keyGlobal->addSubItem($providerKeyInp);
   614         $providerSecretInp->setValue($this->provider->getProviderSecret());
   615         $providerSecretInp->setRequired(
true);
   616         $keyGlobal->addSubItem($providerSecretInp);
   617         $lti11->addSubItem($keyGlobal);
   622         $sectionHeader->setTitle(
$lng->
txt(
'lti_con_prov_privacy_settings'));
   623         $this->
addItem($sectionHeader);
   627             $lng->
txt(
'clti_privacy_ident_il_uuid_user_id'),
   630         $op->
setInfo(
$lng->
txt(
'clti_privacy_ident_il_uuid_user_id_info'));
   631         $item->addOption($op);
   633             $lng->
txt(
'clti_privacy_ident_il_uuid_login'),
   637         $item->addOption($op);
   639             $lng->
txt(
'clti_privacy_ident_il_uuid_ext_account'),
   642         $op->
setInfo(
$lng->
txt(
'clti_privacy_ident_il_uuid_ext_account_info'));
   643         $item->addOption($op);
   645             $lng->
txt(
'clti_privacy_ident_il_uuid_sha256'),
   648         $op->
setInfo(
$lng->
txt(
'clti_privacy_ident_il_uuid_sha256_info'));
   649         $item->addOption($op);
   651             $lng->
txt(
'clti_privacy_ident_il_uuid_sha256url'),
   654         $op->
setInfo(
$lng->
txt(
'clti_privacy_ident_il_uuid_sha256url_info'));
   655         $item->addOption($op);
   658             $lng->
txt(
'clti_privacy_ident_il_uuid_random'),
   661         $op->
setInfo(
$lng->
txt(
'clti_privacy_ident_il_uuid_random_info'));
   662         $item->addOption($op);
   665             $lng->
txt(
'clti_privacy_ident_real_email'),
   669         $item->addOption($op);
   670         $item->setValue((
string) $this->provider->getPrivacyIdent());
   674         $item->setRequired(
false);
   678         $item->setValue(
"1");
   679         if ($this->provider->isInstructorSendEmail()) {
   680             $item->setChecked(
true);
   682         $item->setInfo(
$lng->
txt(
'lti_con_prov_instructor_email_info'));
   688         $item->addOption($op);
   690         $item->addOption($op);
   692         $item->addOption($op);
   694         $item->addOption($op);
   695         $item->setValue((
string) $this->provider->getPrivacyName());
   696         $item->setInfo(
$lng->
txt(
'clti_privacy_name_info'));
   697         $item->setRequired(
false);
   701         $item->setValue(
"1");
   702         if ($this->provider->isInstructorSendName()) {
   703             $item->setChecked(
true);
   705         $item->setInfo(
$lng->
txt(
'lti_con_prov_instructor_name_info'));
   709         $includeUserImage->setInfo(
$lng->
txt(
'lti_con_prov_inc_usr_pic_info'));
   710         $includeUserImage->setChecked($this->provider->getIncludeUserPicture());
   711         $this->
addItem($includeUserImage);
   714         $item->setValue(
"1");
   715         if ($this->provider->IsExternalProvider()) {
   716             $item->setChecked(
true);
   718         $item->setInfo(
$lng->
txt(
'lti_con_prov_external_provider_info'));
   723         $sectionHeader->setTitle(
$lng->
txt(
'lti_con_prov_learning_progress_options'));
   724         $this->
addItem($sectionHeader);
   726         $item->setValue(
"1");
   727         if ($this->provider->getHasOutcome()) {
   728             $item->setChecked(
true);
   730         $item->setInfo(
$lng->
txt(
'lti_con_prov_has_outcome_service_info'));
   732         $masteryScore->setInfo(
$lng->
txt(
'lti_con_prov_mastery_score_default_info'));
   733         $masteryScore->setSuffix(
'%');
   734         $masteryScore->allowDecimals(
true);
   735         $masteryScore->setDecimals(2);
   736         $masteryScore->setMinvalueShouldBeGreater(
false);
   737         $masteryScore->setMinValue(0);
   738         $masteryScore->setMaxvalueShouldBeLess(
false);
   739         $masteryScore->setMaxValue(100);
   740         $masteryScore->setSize(4);
   741         $masteryScore->setValue((
string) $this->provider->getMasteryScorePercent());
   742         $item->addSubItem($masteryScore);
   746         $sectionHeader->setTitle(
$lng->
txt(
'lti_con_prov_launch_options'));
   747         $this->
addItem($sectionHeader);
   750         $item->setValue(
"1");
   751         if ($this->provider->getUseProviderId()) {
   752             $item->setChecked(
true);
   754         $item->setInfo(
$lng->
txt(
'lti_con_prov_use_provider_id_info'));
   759         $item->setValue(
"1");
   760         if ($this->provider->getAlwaysLearner()) {
   761             $item->setChecked(
true);
   763         $item->setInfo(
$lng->
txt(
'lti_con_prov_always_learner_info'));
   767         $item->setValue(
"1");
   768         if ($this->provider->getUseXapi()) {
   769             $item->setChecked(
true);
   771         $item->setInfo(
$lng->
txt(
'lti_con_prov_use_xapi_info'));
   774         $subitem->setValue($this->provider->getXapiLaunchUrl());
   775         $subitem->setInfo(
$lng->
txt(
'lti_con_prov_xapi_launch_url_info'));
   776         $subitem->setRequired(
true);
   777         $subitem->setMaxLength(255);
   778         $item->addSubItem($subitem);
   781         $subitem->setValue($this->provider->getXapiLaunchKey());
   782         $subitem->setInfo(
$lng->
txt(
'lti_con_prov_xapi_launch_key_info'));
   783         $subitem->setRequired(
true);
   784         $subitem->setMaxLength(64);
   785         $item->addSubItem($subitem);
   788         $subitem->setValue($this->provider->getXapiLaunchSecret());
   789         $subitem->setInfo(
$lng->
txt(
'lti_con_prov_xapi_launch_secret_info'));
   790         $subitem->setRequired(
true);
   791         $subitem->setMaxLength(64);
   792         $item->addSubItem($subitem);
   795         $subitem->setValue($this->provider->getXapiActivityId());
   796         $subitem->setInfo(
$lng->
txt(
'lti_con_prov_xapi_activity_id_info'));
   797         $subitem->setMaxLength(128);
   798         $item->addSubItem($subitem);
   807             $item->setValue($this->provider->getCustomParams());
   811         $item->setInfo(
$lng->
txt(
'lti_con_prov_custom_params_info'));
   815         $sectionHeader->setTitle(
$lng->
txt(
'lti_con_prov_group_options'));
   816         $this->
addItem($sectionHeader);
   819         $item->setValue($this->provider->getKeywords());
   820         $item->setInfo(
$lng->
txt(
'lti_con_prov_keywords_info'));
   821         $item->setMaxLength(1000);
   826         $category->setValue($this->provider->getCategory());
   827         $category->setRequired(
true);
   834         $sectionHeader->setTitle(
$lng->
txt(
'lti_con_prov_hints'));
   835         $this->
addItem($sectionHeader);
   838         $remarksInp->
setValue($this->provider->getRemarks());
   839         $remarksInp->setRows(6);
   861             if (null !== $this->
getInput(
'provider_url')) {
   864             if ($this->
getInput(
'provider_key_global') == 1) {
   872             if (null !== $this->
getInput(
'provider_url13')) {
   876             if (preg_match_all(
'/\S+/sm', $this->
getInput(
'redirection_uris'), $redirect_uris_matches)) {
   927         $lng = $DIC->language();
   933         $regUrlInp->setInfo(
$lng->
txt(
'lti_con_prov_dyn_reg_url_info'));
   934         $regUrlInp->setRequired(
true);
   936         $regParamsInp = 
new ilTextInputGUI(
$lng->
txt(
'lti_con_prov_dyn_reg_params'), 
'lti_dyn_reg_custom_params');
   937         $regParamsInp->setInfo(
$lng->
txt(
'lti_con_prov_dyn_reg_params_info'));
   938         $this->
addCommandButton(
"addDynReg", $DIC->language()->txt(
'lti_dyn_reg_add_tool'));
   945         $lng = $DIC->language();
   950         $src = $DIC->ctrl()->getLinkTargetByClass(ilObjLTIConsumerGUI::class, 
'contentSelectionRequest');
   951         $template = 
new ilTemplate(
'tpl.lti_content_selection.html', 
true, 
true, 
"Modules/LTIConsumer");
   952         $template->setVariable(
'LTI_CONTENT_SELECTION_IFRAME_SRC', $src);
   953         return $this->
getHTML() . $template->get();
   959         $lng = $DIC->language();
   961         $toolRegUrl = $this->
getInput(
'lti_dyn_reg_url');
   962         $customParams = $this->
getInput(
'lti_dyn_reg_custom_params');
   964         if (!empty($customParams)) {
   965             $regUrl .= 
"&custom_params=" . urlencode($customParams);
   967         $showToolConfigUrl = $DIC->ctrl()->getLinkTargetByClass([ilRepositoryGUI::class,ilObjLTIConsumerGUI::class], 
'showToolConfig');
   968         $regErrorUrl = $DIC->ctrl()->getLinkTargetByClass([ilRepositoryGUI::class,ilObjLTIConsumerGUI::class], 
'addDynReg');
   973         $template = 
new ilTemplate(
'tpl.lti_dyn_reg_request.html', 
true, 
true, 
"Modules/LTIConsumer");
   974         $template->setVariable(
'LTI_TOOL_REG_URL', $toolRegUrl);
   975         $template->setVariable(
'LTI_DYN_REG_URL', $regUrl);
   976         $template->setVariable(
'LTI_DYN_REG_URL_BY_POST', $toolRegUrl);
   978         $template->setVariable(
'LTI_SHOW_TOOL_CONFIG_URL', $showToolConfigUrl);
   979         $template->setVariable(
'LTI_REG_ERROR_URL', $regErrorUrl);
   981         return $template->get() . $this->
getHTML();
   987         $lng = $DIC->language();
 
static get(string $a_var)
 
setGradeSynchronization(bool $grade_synchronization)
 
isProviderKeyCustomizable()
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
setInitiateLogin(string $initiate_login)
 
setPublicKeyset(string $public_keyset)
 
const PRIVACY_IDENT_IL_UUID_USER_ID
 
setUseXapi(bool $use_xapi)
 
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...
 
setPublicKey(string $public_key)
 
setIsExternalProvider(bool $is_external_provider)
 
static getPublicKeysetUrl()
 
const PRIVACY_IDENT_IL_UUID_EXT_ACCOUNT
 
const AVAILABILITY_CREATE
 
setContentItemUrl(string $content_item_url)
 
setContentItem(bool $content_item)
 
const PRIVACY_NAME_LASTNAME
 
setRemarks(string $remarks)
 
setHasOutcome(bool $has_outcome)
 
setMasteryScorePercent(float $mastery_score_percent)
 
setXapiLaunchSecret(string $xapi_launch_secret)
 
setInstructorSendEmail(bool $instructor_send_email)
 
setValue(string $a_value)
 
setXapiLaunchUrl(string $xapi_launch_url)
 
setIncludeUserPicture(bool $include_user_picture)
 
setRedirectionUris(string $redirection_uris)
 
static isUserDynamicRegistrationTransaction(ilLTIConsumeProvider $provider)
 
const PRIVACY_NAME_FIRSTNAME
 
setUseProviderId(bool $use_provider_id)
 
static getCategoriesSelectOptions()
 
setPrivacyIdent(int $privacy_ident)
 
setCustomParams(string $custom_params)
 
static getAuthenticationRequestUrl()
 
setProviderIconUploadFileData(array $providerIconUploadFileData)
 
setProviderKey(string $provider_key)
 
setAlwaysLearner(bool $always_learner)
 
static getSupportedFileExtensions()
 
setXapiActivityId(string $xapi_activity_id)
 
setProviderKeyCustomizable(bool $provider_key_customizable)
 
setInstructorSendName(bool $instructor_send_name)
 
setProviderIconUploadInput(ilFormPropertyGUI $providerIconUploadInput)
 
setPrivacyName(int $privacy_name)
 
const PRIVACY_IDENT_IL_UUID_SHA256URL
 
static getAccessTokenUrl()
 
setKeyType(string $key_type)
 
static getRegistrationEndUrl()
 
setXapiLaunchKey(string $xapi_launch_key)
 
setLtiVersion(string $lti_version)
 
const PRIVACY_NAME_FULLNAME
 
static getRegistrationStartUrl()
 
isValidCategory(string $category)
 
setCategory(string $category)
 
setKeywords(string $keywords)
 
const PRIVACY_IDENT_REAL_EMAIL
 
setProviderSecret(string $provider_secret)
 
This class represents a text area property in a property form. 
 
const PRIVACY_IDENT_IL_UUID_SHA256
 
const AVAILABILITY_EXISTING
 
const PRIVACY_IDENT_IL_UUID_RANDOM
 
setDescription(string $description)
 
setProviderUrl(string $provider_url)
 
setAvailability(int $availability)
 
const PRIVACY_IDENT_IL_UUID_LOGIN