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