19 declare(strict_types=1);
60 public function __construct(
int $a_id = 0,
int $a_id_type = self::REPOSITORY_NODE_ID,
int $a_parent_node_id = 0)
66 $this->parent_node_id = $a_parent_node_id;
71 $DIC->language()->loadLanguageModule(
"lti");
72 $DIC->language()->loadLanguageModule(
"rep");
90 $forms[self::CFORM_DYNAMIC_REGISTRATION] = $this->
initDynRegForm($a_new_type);
109 $userProviderList->setAvailabilityFilter((
string) ilLTIConsumeProvider::AVAILABILITY_CREATE);
111 $userProviderList->setCreatorFilter($DIC->user()->getId());
113 if ($form->getFilter(
'title')) {
114 $globalProviderList->setTitleFilter($form->getFilter(
'title'));
115 $userProviderList->setTitleFilter($form->getFilter(
'title'));
118 if ($form->getFilter(
'category')) {
119 $globalProviderList->setCategoryFilter($form->getFilter(
'category'));
120 $userProviderList->setCategoryFilter($form->getFilter(
'category'));
123 if ($form->getFilter(
'keyword')) {
124 $globalProviderList->setKeywordFilter($form->getFilter(
'keyword'));
125 $userProviderList->setKeywordFilter($form->getFilter(
'keyword'));
128 if ($form->getFilter(
'outcome')) {
129 $globalProviderList->setHasOutcomeFilter(
true);
130 $userProviderList->setHasOutcomeFilter(
true);
133 if ($form->getFilter(
'internal')) {
134 $globalProviderList->setIsExternalFilter(
false);
135 $userProviderList->setIsExternalFilter(
false);
138 if ($form->getFilter(
'with_key')) {
139 $globalProviderList->setIsProviderKeyCustomizableFilter(
false);
140 $userProviderList->setIsProviderKeyCustomizableFilter(
false);
143 $globalProviderList->load();
144 $userProviderList->load();
146 $form->setData([...$globalProviderList->getTableData(), ...$userProviderList->getTableData()]);
157 $form->initDynRegForm($this->
ctrl->getFormAction($this,
"cancelDynReg"));
158 $form->setTitle($DIC->language()->txt($a_new_type .
'_dynamic_registration'));
171 $form->initToolConfigForm($this->
ctrl->getFormAction($this,
"cancelDynReg"),
'',
'');
173 $form->clearCommandButtons();
174 $form->addCommandButton(
"saveDynReg", $this->
lng->txt(
'save'));
175 $form->addCommandButton(
"cancelDynReg", $this->
lng->txt(
"cancel"));
177 $form->setTitle($DIC->language()->txt($a_new_type .
'_custom_new'));
191 $form->initForm($this->
ctrl->getFormAction($this,
"save"),
'',
'');
193 $form->clearCommandButtons();
194 $form->addCommandButton(
"saveCustom", $this->
lng->txt($a_new_type .
"_add_own_provider"));
195 $form->addCommandButton(
"cancel", $this->
lng->txt(
"cancel"));
197 $form->setTitle($DIC->language()->txt($a_new_type .
'_custom_new'));
208 'applyProviderFilter',
209 'resetProviderFilter' 216 $form->applyFilter();
223 $form->resetFilter();
229 $classname =
"ilObj" . $this->obj_definition->getClassName($newType);
231 $newObj =
new $classname();
232 $newObj->setType($newType);
233 $newObj->setTitle($title);
234 $newObj->setDescription($description);
251 $DIC->ctrl()->setParameter($this,
"new_type", $new_type);
253 $DIC->language()->loadLanguageModule($new_type);
257 if ($form->checkInput()) {
258 $DIC->ctrl()->setParameter($this,
"new_type",
"");
263 $form->getInput(
'title'),
264 $form->getInput(
'desc')
270 $newObj->applyDidacticTemplate($dtpl);
278 $form->setValuesByPost();
280 $DIC->ui()->mainTemplate()->setContent($form->getHtml());
291 $DIC->ctrl()->setParameter($this,
"new_type", $new_type);
293 $DIC->language()->loadLanguageModule($new_type);
296 $form->setValuesByPost();
298 $DIC->ctrl()->setParameter($this,
"new_type",
"");
299 $DIC->ui()->mainTemplate()->setOnScreenMessage(
'failure', base64_decode(
$error));
300 $DIC->ui()->mainTemplate()->setContent($form->getDynRegError());
303 if ($form->checkInput()) {
304 $DIC->ctrl()->setParameter($this,
"new_type",
"");
305 $DIC->ui()->mainTemplate()->setContent($form->getDynRegRequest());
308 $DIC->ui()->mainTemplate()->setContent($form->getHTML());
331 $DIC->ctrl()->setParameterByClass(ilRepositoryGUI::class,
'new_type', $new_type);
332 $DIC->ctrl()->redirectByClass(ilRepositoryGUI::class,
'create');
342 $DIC->ctrl()->setParameter($this,
"new_type", $new_type);
344 $DIC->ctrl()->setParameter($this,
"provider_id", $provider_id);
345 $DIC->language()->loadLanguageModule($new_type);
347 $DIC->ui()->mainTemplate()->setContent($form->getHTML());
357 $DIC->ctrl()->setParameter($this,
"new_type", $new_type);
359 $DIC->ctrl()->setParameter($this,
"provider_id", $provider_id);
360 $DIC->language()->loadLanguageModule($new_type);
364 $form->setValuesByPost();
365 if ($form->checkInput()) {
372 $DIC->ctrl()->redirectByClass([ilRepositoryGUI::class, ilObjLTIConsumerGUI::class],
"save");
375 $DIC->ui()->mainTemplate()->setContent($form->getHTML());
384 $DIC->ctrl()->setParameter($this,
"new_type", $newType);
385 $DIC->ctrl()->setParameter($this,
"provider_id", $providerId);
386 $DIC->ctrl()->setParameter($this,
"ref_id", $refId);
389 $formaction = $this->
ctrl->getFormAction($this,
"cancelContentSelection");
390 $DIC->ui()->mainTemplate()->setContent($form->getContentSelectionFrame($formaction));
400 $DIC->ctrl()->setParameter($this,
"new_type", $new_type);
402 $DIC->ctrl()->setParameter($this,
"provider_id", $provider_id);
404 $DIC->ctrl()->setParameter($this,
"ref_id",
$ref_id);
405 $DIC->language()->loadLanguageModule($new_type);
407 $redirectUrl = $DIC->ctrl()->getLinkTarget($this,
'contentSelectionRequest');
413 $tplLogin =
new ilTemplate(
"tpl.lti_initial_login.html",
true,
true,
"Modules/LTIConsumer");
414 $tplLogin->setVariable(
"LTI_INITIAL_LOGIN_ACTION",
$provider->getInitiateLogin());
416 $tplLogin->setVariable(
"TARGET_LINK_URL",
$provider->getProviderUrl());
417 $tplLogin->setVariable(
"LOGIN_HINT", $userIdLTI);
418 $tplLogin->setVariable(
"LTI_MESSAGE_HINT", $ltiMessageHint);
419 $tplLogin->setVariable(
"CLIENT_ID",
$provider->getClientId());
420 $tplLogin->setVariable(
"LTI_DEPLOYMENT_ID", (
string)
$provider->getId());
421 echo $tplLogin->get();
427 $tplContentSelection =
new ilTemplate(
"tpl.lti_jwt_autosubmit.html",
true,
true,
"Modules/LTIConsumer");
428 $tplContentSelection->setVariable(
"LTI_JWT_FORM_ACTION",
$provider->getContentItemUrl());
429 $tplContentSelection->setVariable(
"LTI_JWT_ID_TOKEN",
$data[
'id_token']);
430 $tplContentSelection->setVariable(
"LTI_JWT_STATE", $loginData[
'state']);
432 echo $tplContentSelection->get();
444 $DIC->ctrl()->setParameter($this,
"new_type", $new_type);
446 $DIC->ctrl()->setParameter($this,
"provider_id", $provider_id);
448 $DIC->ctrl()->setParameter($this,
"ref_id",
$ref_id);
449 $DIC->language()->loadLanguageModule($new_type);
451 if ($DIC->http()->wrapper()->post()->has(
'JWT')) {
452 $token = $DIC->http()->wrapper()->post()->retrieve(
'JWT', $DIC->refinery()->kindlyTo()->string());
454 if ($DIC->http()->wrapper()->post()->has(
'jwt')) {
455 $token = $DIC->http()->wrapper()->post()->retrieve(
'jwt', $DIC->refinery()->kindlyTo()->string());
474 $DIC->ctrl()->setParameterByClass(ilRepositoryGUI::class,
'new_type', $new_type);
475 $DIC->ctrl()->redirectByClass(ilRepositoryGUI::class,
'create');
486 $keyset = json_decode($jwks,
true);
493 foreach (
$data->{
'https://purl.imsglobal.org/spec/lti-dl/claim/content_items'} as $item) {
496 if (isset($item->description)) {
497 $description = $item->description;
499 $newObj = $gui->createNewObject(
'lti', $item->title, $description);
500 $dtpl = $gui->getDidacticTemplateVar(
"dtpl");
502 $newObj->applyDidacticTemplate($dtpl);
505 $newObj->setProviderId(
$provider->getId());
509 foreach ($item->{
'custom'} as
$key => $value) {
510 $customParams[] = $key .
"=" . $value;
512 if (count($customParams) > 0) {
513 $newObj->setCustomParams(implode(
";", $customParams));
519 $template =
new ilTemplate(
'tpl.lti_content_selection_finished.html',
true,
true,
'Modules/LTIConsumer');
521 $template->setVariable(
"CONTENT_SELECTION_REDIRECT", $redirect);
522 echo $template->get();
530 if ($DIC->http()->wrapper()->query()->has(
'provider_id')) {
531 $newObject->setProviderId((
int) $DIC->http()->wrapper()->query()->retrieve(
'provider_id', $DIC->refinery()->kindlyTo()->int()));
532 $newObject->initProvider();
536 $newObject->setMasteryScore($newObject->getProvider()->getMasteryScore());
541 $DIC->ctrl()->redirectByClass(ilLTIConsumerSettingsGUI::class);
550 if ($form->checkInput()) {
555 $provider->setCreator($DIC->user()->getId());
558 $newObject->setProviderId(
$provider->getId());
563 $newObject->setMasteryScore($newObject->getProvider()->getMasteryScore());
568 $DIC->ctrl()->redirectByClass(ilObjLTIConsumerGUI::class);
572 'form validation seems to not have worked in ilObjLTIConsumer::saveCustom()!' 582 if (!$generalMetadata) {
586 $generalMetadata->setTitle($object->
getTitle());
587 $generalMetadata->
save();
589 $id = $generalMetadata->addIdentifier();
590 $id->setCatalog(
'ILIAS');
594 $keywords = $object->getProvider()->getKeywordsArray();
597 $ulang = $this->
user->getLanguage();
598 $keywords = array($ulang => $keywords);
612 $return = parent::initHeaderAction($a_sub_type, $a_sub_id);
614 if ($this->creation_mode) {
619 if ($validator->isCertificateDownloadable($DIC->user()->getId(), $this->
object->getId())) {
620 $certLink = $DIC->ctrl()->getLinkTargetByClass(
621 [ilObjLTIConsumerGUI::class, ilLTIConsumerSettingsGUI::class],
625 $DIC->language()->loadLanguageModule(
'certificate');
627 $return->addCustomCommand($certLink,
'download_certificate');
629 $return->addHeaderIcon(
632 $DIC->language()->txt(
'download_certificate'),
642 public static function _goto(
string $a_target): void
645 $main_tpl = $DIC->ui()->mainTemplate();
647 $err = $DIC[
'ilErr'];
649 $ctrl = $DIC->ctrl();
652 $lng = $DIC->language();
654 $targetParameters = explode(
'_', $a_target);
655 $id = (
int) $targetParameters[0];
658 $err->raiseError(
$lng->
txt(
'msg_no_perm_read'), $err->FATAL);
668 $main_tpl->setOnScreenMessage(
671 $DIC->language()->txt(
'msg_no_perm_read_item'),
680 $err->raiseError($DIC->language()->txt(
"msg_no_perm_read_lm"), $err->FATAL);
698 if (!$this->creation_mode) {
701 $DIC->ui()->mainTemplate()->setTitleIcon(
702 $this->
object->getProvider()->getProviderIcon()->getAbsoluteFilePath(),
703 'Icon ' . $this->
object->getProvider()->getTitle()
707 $link = ilLink::_getLink($this->
object->getRefId(), $this->
object->getType());
708 $navigationHistory = $DIC[
'ilNavigationHistory'];
710 $navigationHistory->addItem($this->
object->getRefId(), $link, $this->
object->getType());
716 switch ($DIC->ctrl()->getNextClass()) {
717 case strtolower(ilObjectCopyGUI::class):
720 $gui->setType($this->
getType());
721 $DIC->ctrl()->forwardCommand($gui);
724 case strtolower(ilCommonActionDispatcherGUI::class):
727 $DIC->ctrl()->forwardCommand($gui);
730 case strtolower(ilLearningProgressGUI::class):
732 if (!$DIC->access()->checkAccess(
'read',
'', $this->
object->getRefId())) {
733 $ilErr->raiseError($DIC->language()->txt(
"msg_no_perm_read"),
$ilErr->WARNING);
735 $DIC->tabs()->activateTab(self::TAB_ID_LEARNING_PROGRESS);
742 $DIC->ctrl()->forwardCommand($gui);
747 case strtolower(ilObjectMetaDataGUI::class):
749 if (!$DIC->access()->checkAccess(
'write',
'', $this->
object->getRefId())) {
750 $ilErr->raiseError($DIC->language()->txt(
"msg_no_perm_write"),
$ilErr->WARNING);
753 $DIC->tabs()->activateTab(self::TAB_ID_METADATA);
756 $DIC->ctrl()->forwardCommand($gui);
760 case strtolower(ilPermissionGUI::class):
762 $DIC->tabs()->activateTab(self::TAB_ID_PERMISSIONS);
765 $DIC->ctrl()->forwardCommand($gui);
768 case strtolower(ilLTIConsumerSettingsGUI::class):
770 if (!$DIC->access()->checkAccess(
'write',
'', $this->
object->getRefId())) {
771 $ilErr->raiseError($DIC->language()->txt(
"msg_no_perm_write"),
$ilErr->WARNING);
773 $DIC->tabs()->activateTab(self::TAB_ID_SETTINGS);
776 $DIC->ctrl()->forwardCommand($gui);
780 case strtolower(ilLTIConsumerXapiStatementsGUI::class):
782 if (!$DIC->access()->checkAccess(
'read',
'', $this->
object->getRefId())) {
783 $ilErr->raiseError($DIC->language()->txt(
"msg_no_perm_read"),
$ilErr->WARNING);
786 $DIC->tabs()->activateTab(self::TAB_ID_STATEMENTS);
789 $DIC->ctrl()->forwardCommand($gui);
794 case strtolower(ilLTIConsumerScoringGUI::class):
796 if (!$DIC->access()->checkAccess(
'read',
'', $this->
object->getRefId())) {
797 $ilErr->raiseError($DIC->language()->txt(
"msg_no_perm_read"),
$ilErr->WARNING);
799 $DIC->tabs()->activateTab(self::TAB_ID_SCORING);
802 $DIC->ctrl()->forwardCommand($gui);
807 case strtolower(ilLTIConsumerGradeSynchronizationGUI::class):
809 if (!$DIC->access()->checkAccess(
'read',
'', $this->
object->getRefId())) {
810 $ilErr->raiseError($DIC->language()->txt(
"msg_no_perm_read"),
$ilErr->WARNING);
812 $DIC->tabs()->activateTab(self::TAB_ID_GRADE_SYNCHRONIZATION);
815 $DIC->ctrl()->forwardCommand($gui);
820 case strtolower(ilLTIConsumerContentGUI::class):
822 if (!$DIC->access()->checkAccess(
'read',
'', $this->
object->getRefId())) {
823 $ilErr->raiseError($DIC->language()->txt(
"msg_no_perm_read"),
$ilErr->WARNING);
825 $DIC->tabs()->activateTab(self::TAB_ID_CONTENT);
828 $DIC->ctrl()->forwardCommand($gui);
833 case strtolower(ilInfoScreenGUI::class):
835 $DIC->tabs()->activateTab(self::TAB_ID_INFO);
841 if ($DIC->ctrl()->getCmd() ===
'save') {
844 $command = $DIC->ctrl()->getCmd(self::DEFAULT_CMD);
859 if ($DIC->http()->wrapper()->post()->has(
'JWT')) {
881 $DIC->language()->loadLanguageModule(
'lti');
883 if (!$this->
object->getOfflineStatus() &&
886 $DIC->tabs()->addTab(
887 self::TAB_ID_CONTENT,
888 $DIC->language()->txt(self::TAB_ID_CONTENT),
889 $DIC->ctrl()->getLinkTargetByClass(ilLTIConsumerContentGUI::class)
893 $DIC->tabs()->addTab(
895 $DIC->language()->txt(self::TAB_ID_INFO),
896 $this->
ctrl->getLinkTargetByClass(ilInfoScreenGUI::class)
899 if ($this->ltiAccess->hasWriteAccess()) {
900 $DIC->tabs()->addTab(
901 self::TAB_ID_SETTINGS,
902 $DIC->language()->txt(self::TAB_ID_SETTINGS),
903 $DIC->ctrl()->getLinkTargetByClass(ilLTIConsumerSettingsGUI::class)
907 if ($this->ltiAccess->hasStatementsAccess()) {
908 $DIC->tabs()->addTab(
909 self::TAB_ID_STATEMENTS,
910 $DIC->language()->txt(self::TAB_ID_STATEMENTS),
911 $DIC->ctrl()->getLinkTargetByClass(ilLTIConsumerXapiStatementsGUI::class)
915 if ($this->ltiAccess->hasHighscoreAccess()) {
917 $DIC->tabs()->addTab(
918 self::TAB_ID_SCORING,
919 $DIC->language()->txt(self::TAB_ID_SCORING),
920 $DIC->ctrl()->getLinkTargetByClass(ilLTIConsumerScoringGUI::class)
924 if ($this->
object->getProvider()->isGradeSynchronization()) {
925 $DIC->tabs()->addTab(
926 self::TAB_ID_GRADE_SYNCHRONIZATION,
927 $DIC->language()->txt(self::TAB_ID_GRADE_SYNCHRONIZATION),
928 $DIC->ctrl()->getLinkTargetByClass(ilLTIConsumerGradeSynchronizationGUI::class)
932 if ($this->ltiAccess->hasLearningProgressAccess() && $this->
object->getProvider()->getHasOutcome()) {
933 $DIC->tabs()->addTab(
934 self::TAB_ID_LEARNING_PROGRESS,
935 $DIC->language()->txt(self::TAB_ID_LEARNING_PROGRESS),
936 $DIC->ctrl()->getLinkTargetByClass(ilLearningProgressGUI::class)
940 if ($this->ltiAccess->hasWriteAccess()) {
942 $link = $gui->getTab();
945 $DIC->tabs()->addTab(
946 self::TAB_ID_METADATA,
947 $DIC->language()->txt(
'meta_data'),
953 if ($this->ltiAccess->hasEditPermissionsAccess()) {
954 $DIC->tabs()->addTab(
955 self::TAB_ID_PERMISSIONS,
956 $DIC->language()->txt(self::TAB_ID_PERMISSIONS),
957 $DIC->ctrl()->getLinkTargetByClass(ilPermissionGUI::class,
'perm')
1025 $this->
object->getTitle(),
1026 $this->
ctrl->getLinkTarget($this, self::DEFAULT_CMD),
1028 $this->
object->getRefId()
1038 $this->
object->getType(),
1039 $this->
object->getRefId(),
1040 $this->
object->getId(),
1041 $DIC->user()->getId()
1047 protected function launch():
void 1051 $this->tabs_gui->activateTab(self::TAB_ID_CONTENT);
1053 $this->
ctrl->forwardCommand($gui);
1061 $DIC->tabs()->activateTab(self::TAB_ID_INFO);
1063 $DIC->ctrl()->setCmd(
"showSummary");
1064 $DIC->ctrl()->setCmdClass(
"ilinfoscreengui");
1076 $ilErr->raiseError($DIC->language()->txt(
"msg_no_perm_read"),
$ilErr->MESSAGE);
1083 $info->enablePrivateNotes();
1086 $info->enableNews();
1089 $info->enableNewsEditing(
false);
1093 $enable_internal_rss = $news_set->get(
"enable_rss_for_internal");
1095 if ($enable_internal_rss) {
1097 $info->setBlockProperty(
"news",
"settings",
"true");
1098 $info->setBlockProperty(
"news",
"public_notifications_option",
"true");
1103 $info->addMetaDataSections($this->
object->getId(), 0, $this->
object->getType());
1107 $info->addSection(
'DEVMODE Info');
1108 $info->addProperty(
'Local Object ID', (
string) $this->
object->getId());
1109 $info->addProperty(
'Current User ID', (
string) $DIC->user()->getId());
1112 $info->addSection($DIC->language()->txt(
"lti_info_learning_progress_section"));
1114 $DIC->language()->txt(
"mastery_score"),
1115 ($this->
object->getMasteryScorePercent()) .
' %' 1120 $info->addSection($DIC->language()->txt(
"lti_info_privacy_section"));
1123 $DIC->language()->txt(
"lti_con_prov_url"),
1124 $this->
object->getProvider()->getProviderUrl()
1128 $DIC->language()->txt(
"clti_privacy_name"),
1133 $DIC->language()->txt(
"clti_privacy_ident"),
1136 if ($this->
object->getProvider()->isExternalProvider()) {
1138 $DIC->language()->txt(
"lti_info_external_provider_label"),
1139 $DIC->language()->txt(
'lti_info_external_provider_info')
1143 if ($this->
object->getProvider()->getUseXapi()) {
1145 $DIC->language()->txt(
"lti_con_prov_xapi_launch_url"),
1146 $this->
object->getProvider()->getXapiLaunchUrl()
1151 $this->
ctrl->forwardCommand($info);
1158 if ($this->
object->getProvider()->getProviderUrl() ==
'') {
1159 $this->tpl->setOnScreenMessage(
'failure', $DIC->language()->txt(
'lti_provider_not_set_msg'));
1161 $this->tpl->setOnScreenMessage(
'failure', $DIC->language()->txt(
'lti_provider_not_avail_msg'));
1167 if ($this->request_wrapper->has($key)) {
1168 return $this->request_wrapper->retrieve($key, $this->
refinery->kindlyTo()->string());
static get(string $a_var)
ilLTIConsumerAccess $ltiAccess
redirectByClass( $a_class, string $a_cmd=null, string $a_anchor=null, bool $is_async=false)
executeCommand()
execute command
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...
static isEmbeddedLaunchRequest()
New implementation of ilObjectGUI.
GUI class for the workflow of copying objects.
createNewObject(string $newType, string $title, string $description)
Class ChatMainBarProvider .
contentSelectionRequest()
checkAccess(string $a_permission, string $a_cmd, int $a_ref_id, string $a_type="", ?int $a_obj_id=null, ?int $a_tree_id=null)
check access for an object (provide $a_type and $a_obj_id if available for better performance) ...
static getImagePath(string $img, string $module_path="", string $mode="output", bool $offline=false)
get image path (for images located in a template directory)
initHeaderAction(?string $a_sub_type=null, ?int $a_sub_id=null)
getDidacticTemplateVar(string $type)
Get didactic template setting from creation screen.
getRequestValue(string $key)
const AVAILABILITY_CREATE
static _gotoRepositoryNode(int $ref_id, string $cmd="")
contentSelectionResponse()
contentSelection(string $providerId, string $newType, string $refId, ilLTIConsumeProvider $provider)
setParameterByClass(string $a_class, string $a_parameter, $a_value)
prepareOutput(bool $show_sub_objects=true)
if(empty($clientId)) $providerId
createObject()
create new object form
static buildContentSelectionParameters(ilLTIConsumeProvider $provider, int $refId, string $returnUrl, string $nonce)
putObjectInTree(ilObject $obj, int $parent_node_id=null)
Add object to tree at given position.
saveContentSelection(ilLTIConsumeProvider $provider, string $token)
initMetadata(\ilObject $object)
static getIdent(int $userIdentMode, ilObjUser $user)
initShowToolConfig(string $a_new_type, int $a_provider_id)
static getProviderIdFromClientId(string $clientId)
static getTypeByRefId(int $ref_id, bool $stop_on_error=true)
get object type by reference id
static _lookupObjId(int $ref_id)
static updateKeywords(ilMDGeneral $a_md_section, array $a_keywords)
const TAB_ID_GRADE_SYNCHRONIZATION
checkPermissionBool(string $perm, string $cmd="", string $type="", ?int $node_id=null)
static _lookupTitle(int $obj_id)
static getIliasHttpPath()
static getPrivacyIdentString(int $ident)
const TAB_ID_LEARNING_PROGRESS
buildProviderSelectionForm(string $a_new_type)
static getPrivacyNameString(int $ident)
initCustomCreateForm(string $a_new_type)
ServerRequestInterface $request
static hasCustomProviderCreationAccess()
initCreationForms(string $a_new_type)
Validates if an active certificate is stored in the database and can be downloaded by the user...
static _recordReadEvent(string $a_type, int $a_ref_id, int $obj_id, int $usr_id, bool $isCatchupWriteEvents=true, $a_ext_rc=null, $a_ext_time=null)
afterSave(\ilObject $newObject)
static array static decode(string $jwt, $keyOrKeyArray, stdClass &$headers=null)
Decodes a JWT string into a PHP object.
const const static parseKeySet(array $jwks, string $defaultAlg=null)
Parse a set of JWK keys.
static _goto(string $a_target)
static _lookupDBMode(int $a_obj_id)
initDynRegForm(string $a_new_type)
const CFORM_DYNAMIC_REGISTRATION
const CMD_DELIVER_CERTIFICATE
setTargetScript(string $a_target_script)
const LP_CONTEXT_REPOSITORY
addItem(string $a_title, string $a_link, string $a_frame="", int $a_ref_id=0, ?string $type=null)
handleAvailablityMessage()
__construct(int $a_id=0, int $a_id_type=self::REPOSITORY_NODE_ID, int $a_parent_node_id=0)
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
addHeaderAction()
Add header action menu.
static clear(string $a_var)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static getInstanceFromAjaxCall()
(Re-)Build instance from ajax call
static _gotoRepositoryRoot(bool $raise_error=false)
Goto repository root.
static _updateStatus(int $a_obj_id, int $a_usr_id, ?object $a_obj=null, bool $a_percentage=false, bool $a_force_raise=false)
initCreateForm(string $a_new_type)