19 declare(strict_types=1);
64 public function __construct(
int $a_id = 0,
int $a_id_type = self::REPOSITORY_NODE_ID,
int $a_parent_node_id = 0)
70 $this->parent_node_id = $a_parent_node_id;
74 $this->lom_services = $DIC->learningObjectMetadata();
76 $DIC->language()->loadLanguageModule(
"lti");
77 $DIC->language()->loadLanguageModule(
"rep");
95 $forms[self::CFORM_DYNAMIC_REGISTRATION] = $this->
initDynRegForm($a_new_type);
106 $this->error->raiseError($this->
lng->txt(
"no_create_permission"), $this->error->MESSAGE);
109 $this->
lng->loadLanguageModule($this->requested_new_type);
110 $this->
ctrl->setParameter($this,
"new_type", $this->requested_new_type);
114 foreach ($forms as $form) {
115 if ($form->checkInput()) {
116 $this->
ctrl->setParameter($this,
"new_type",
"");
118 $class_name =
"ilObj" . $this->obj_definition->getClassName($this->requested_new_type);
119 $newObj =
new $class_name();
120 $newObj->setType($this->requested_new_type);
121 $newObj->setTitle($form->getInput(
"title"));
122 $newObj->setDescription($form->getInput(
"desc"));
123 $newObj->processAutoRating();
130 $newObj->applyDidacticTemplate($dtpl);
136 $form->setValuesByPost();
137 $this->tpl->setContent($form->getHTML());
144 if (!is_array($forms)) {
145 throw new Exception(
'We only deal with arrays here.');
160 return $acc->getHTML();
175 $userProviderList->setAvailabilityFilter((
string) ilLTIConsumeProvider::AVAILABILITY_CREATE);
177 $userProviderList->setCreatorFilter($DIC->user()->getId());
179 if ($form->getFilter(
'title')) {
180 $globalProviderList->setTitleFilter($form->getFilter(
'title'));
181 $userProviderList->setTitleFilter($form->getFilter(
'title'));
184 if ($form->getFilter(
'category')) {
185 $globalProviderList->setCategoryFilter($form->getFilter(
'category'));
186 $userProviderList->setCategoryFilter($form->getFilter(
'category'));
189 if ($form->getFilter(
'keyword')) {
190 $globalProviderList->setKeywordFilter($form->getFilter(
'keyword'));
191 $userProviderList->setKeywordFilter($form->getFilter(
'keyword'));
194 if ($form->getFilter(
'outcome')) {
195 $globalProviderList->setHasOutcomeFilter(
true);
196 $userProviderList->setHasOutcomeFilter(
true);
199 if ($form->getFilter(
'internal')) {
200 $globalProviderList->setIsExternalFilter(
false);
201 $userProviderList->setIsExternalFilter(
false);
204 if ($form->getFilter(
'with_key')) {
205 $globalProviderList->setIsProviderKeyCustomizableFilter(
false);
206 $userProviderList->setIsProviderKeyCustomizableFilter(
false);
209 $globalProviderList->load();
210 $userProviderList->load();
212 $form->setData([...$globalProviderList->getTableData(), ...$userProviderList->getTableData()]);
223 $form->initDynRegForm($this->
ctrl->getFormAction($this,
"cancelDynReg"));
224 $form->setTitle($DIC->language()->txt($a_new_type .
'_dynamic_registration'));
237 $form->initToolConfigForm($this->
ctrl->getFormAction($this,
"cancelDynReg"),
'',
'');
239 $form->clearCommandButtons();
240 $form->addCommandButton(
"saveDynReg", $this->
lng->txt(
'save'));
241 $form->addCommandButton(
"cancelDynReg", $this->
lng->txt(
"cancel"));
243 $form->setTitle($DIC->language()->txt($a_new_type .
'_custom_new'));
257 $form->initForm($this->
ctrl->getFormAction($this,
"save"),
'',
'');
259 $form->clearCommandButtons();
260 $form->addCommandButton(
"saveCustom", $this->
lng->txt($a_new_type .
"_add_own_provider"));
261 $form->addCommandButton(
"cancel", $this->
lng->txt(
"cancel"));
263 $form->setTitle($DIC->language()->txt($a_new_type .
'_custom_new'));
274 'applyProviderFilter',
275 'resetProviderFilter' 282 $form->applyFilter();
289 $form->resetFilter();
295 $classname =
"ilObj" . $this->obj_definition->getClassName($newType);
297 $newObj =
new $classname();
298 $newObj->setType($newType);
299 $newObj->setTitle($title);
300 $newObj->setDescription($description);
317 $DIC->ctrl()->setParameter($this,
"new_type", $new_type);
319 $DIC->language()->loadLanguageModule($new_type);
323 if ($form->checkInput()) {
324 $DIC->ctrl()->setParameter($this,
"new_type",
"");
329 $form->getInput(
'title'),
330 $form->getInput(
'desc')
336 $newObj->applyDidacticTemplate($dtpl);
344 $form->setValuesByPost();
346 $DIC->ui()->mainTemplate()->setContent($form->getHtml());
357 $DIC->ctrl()->setParameter($this,
"new_type", $new_type);
359 $DIC->language()->loadLanguageModule($new_type);
362 $form->setValuesByPost();
364 $DIC->ctrl()->setParameter($this,
"new_type",
"");
365 $DIC->ui()->mainTemplate()->setOnScreenMessage(
'failure', base64_decode(
$error));
366 $DIC->ui()->mainTemplate()->setContent($form->getDynRegError());
369 if ($form->checkInput()) {
370 $DIC->ctrl()->setParameter($this,
"new_type",
"");
371 $DIC->ui()->mainTemplate()->setContent($form->getDynRegRequest());
374 $DIC->ui()->mainTemplate()->setContent($form->getHTML());
397 $DIC->ctrl()->setParameterByClass(ilRepositoryGUI::class,
'new_type', $new_type);
398 $DIC->ctrl()->redirectByClass(ilRepositoryGUI::class,
'create');
408 $DIC->ctrl()->setParameter($this,
"new_type", $new_type);
410 $DIC->ctrl()->setParameter($this,
"provider_id", $provider_id);
411 $DIC->language()->loadLanguageModule($new_type);
413 $DIC->ui()->mainTemplate()->setContent($form->getHTML());
423 $DIC->ctrl()->setParameter($this,
"new_type", $new_type);
425 $DIC->ctrl()->setParameter($this,
"provider_id", $provider_id);
426 $DIC->language()->loadLanguageModule($new_type);
430 $form->setValuesByPost();
431 if ($form->checkInput()) {
438 $DIC->ctrl()->redirectByClass([ilRepositoryGUI::class, ilObjLTIConsumerGUI::class],
"save");
441 $DIC->ui()->mainTemplate()->setContent($form->getHTML());
450 $DIC->ctrl()->setParameter($this,
"new_type", $newType);
451 $DIC->ctrl()->setParameter($this,
"provider_id", $providerId);
452 $DIC->ctrl()->setParameter($this,
"ref_id", $refId);
455 $formaction = $this->
ctrl->getFormAction($this,
"cancelContentSelection");
456 $DIC->ui()->mainTemplate()->setContent($form->getContentSelectionFrame($formaction));
466 $DIC->ctrl()->setParameter($this,
"new_type", $new_type);
468 $DIC->ctrl()->setParameter($this,
"provider_id", $provider_id);
470 $DIC->ctrl()->setParameter($this,
"ref_id",
$ref_id);
471 $DIC->language()->loadLanguageModule($new_type);
473 $redirectUrl = $DIC->ctrl()->getLinkTarget($this,
'contentSelectionRequest');
479 $tplLogin =
new ilTemplate(
"tpl.lti_initial_login.html",
true,
true,
"components/ILIAS/LTIConsumer");
480 $tplLogin->setVariable(
"LTI_INITIAL_LOGIN_ACTION",
$provider->getInitiateLogin());
482 $tplLogin->setVariable(
"TARGET_LINK_URL",
$provider->getProviderUrl());
483 $tplLogin->setVariable(
"LOGIN_HINT", $userIdLTI);
484 $tplLogin->setVariable(
"LTI_MESSAGE_HINT", $ltiMessageHint);
485 $tplLogin->setVariable(
"CLIENT_ID",
$provider->getClientId());
486 $tplLogin->setVariable(
"LTI_DEPLOYMENT_ID", (
string)
$provider->getId());
487 echo $tplLogin->get();
493 $tplContentSelection =
new ilTemplate(
"tpl.lti_jwt_autosubmit.html",
true,
true,
"components/ILIAS/LTIConsumer");
494 $tplContentSelection->setVariable(
"LTI_JWT_FORM_ACTION",
$provider->getContentItemUrl());
495 $tplContentSelection->setVariable(
"LTI_JWT_ID_TOKEN",
$data[
'id_token']);
496 $tplContentSelection->setVariable(
"LTI_JWT_STATE", $loginData[
'state']);
498 echo $tplContentSelection->get();
510 $DIC->ctrl()->setParameter($this,
"new_type", $new_type);
512 $DIC->ctrl()->setParameter($this,
"provider_id", $provider_id);
514 $DIC->ctrl()->setParameter($this,
"ref_id",
$ref_id);
515 $DIC->language()->loadLanguageModule($new_type);
517 if ($DIC->http()->wrapper()->post()->has(
'JWT')) {
518 $token = $DIC->http()->wrapper()->post()->retrieve(
'JWT', $DIC->refinery()->kindlyTo()->string());
520 if ($DIC->http()->wrapper()->post()->has(
'jwt')) {
521 $token = $DIC->http()->wrapper()->post()->retrieve(
'jwt', $DIC->refinery()->kindlyTo()->string());
540 $DIC->ctrl()->setParameterByClass(ilRepositoryGUI::class,
'new_type', $new_type);
541 $DIC->ctrl()->redirectByClass(ilRepositoryGUI::class,
'create');
548 $keys =
new Firebase\JWT\Key($key,
"RS256");
552 $keyset = json_decode($jwks,
true);
553 $keys = Firebase\JWT\JWK::parseKeySet($keyset);
555 $data = Firebase\JWT\JWT::decode($token, $keys);
559 foreach (
$data->{
'https://purl.imsglobal.org/spec/lti-dl/claim/content_items'} as $item) {
562 if (isset($item->description)) {
563 $description = $item->description;
565 $newObj = $gui->createNewObject(
'lti', $item->title, $description);
566 $dtpl = $gui->getDidacticTemplateVar(
"dtpl");
568 $newObj->applyDidacticTemplate($dtpl);
571 $newObj->setProviderId(
$provider->getId());
575 foreach ($item->{
'custom'} as $key => $value) {
576 $customParams[] = $key .
"=" . $value;
578 if (count($customParams) > 0) {
579 $newObj->setCustomParams(implode(
";", $customParams));
585 $template =
new ilTemplate(
'tpl.lti_content_selection_finished.html',
true,
true,
'components/ILIAS/LTIConsumer');
587 $template->setVariable(
"CONTENT_SELECTION_REDIRECT", $redirect);
588 echo $template->get();
602 if ($DIC->http()->wrapper()->query()->has(
'provider_id')) {
603 $newObject->setProviderId((
int) $DIC->http()->wrapper()->query()->retrieve(
'provider_id', $DIC->refinery()->kindlyTo()->int()));
604 $newObject->initProvider();
608 $newObject->setMasteryScore($newObject->getProvider()->getMasteryScore());
612 $DIC->ctrl()->redirectByClass(ilLTIConsumerSettingsGUI::class);
621 if ($form->checkInput()) {
626 $provider->setCreator($DIC->user()->getId());
629 $newObject->setProviderId(
$provider->getId());
634 $newObject->setMasteryScore($newObject->getProvider()->getMasteryScore());
638 $DIC->ctrl()->redirectByClass([ilLTIConsumerSettingsGUI::class, ilLTIConsumeProviderSettingsGUI::class]);
641 'form validation seems to not have worked in ilObjLTIConsumer::saveCustom()!' 648 $this->lom_services->derive()
649 ->fromBasicProperties($object->
getTitle())
654 foreach ($object->getProvider()->getKeywordsArray() as $keyword) {
655 if ($keyword !==
'') {
656 $keywords[] = $keyword;
659 $this->lom_services->manipulate($object->
getId(), $object->
getId(), $object->
getType())
660 ->prepareCreateOrUpdate(
661 $this->lom_services->paths()->keywords(),
675 $return = parent::initHeaderAction($a_sub_type, $a_sub_id);
677 if ($this->creation_mode) {
682 if ($validator->isCertificateDownloadable($DIC->user()->getId(), $this->
object->getId())) {
683 $certLink = $DIC->ctrl()->getLinkTargetByClass(
684 [ilObjLTIConsumerGUI::class, ilLTIConsumerSettingsGUI::class],
688 $DIC->language()->loadLanguageModule(
'certificate');
690 $return->addCustomCommand($certLink,
'download_certificate');
692 $return->addHeaderIcon(
695 $DIC->language()->txt(
'download_certificate'),
705 public static function _goto(
string $a_target): void
708 $main_tpl = $DIC->ui()->mainTemplate();
710 $err = $DIC[
'ilErr'];
712 $ctrl = $DIC->ctrl();
715 $lng = $DIC->language();
717 $targetParameters = explode(
'_', $a_target);
718 $id = (
int) $targetParameters[0];
721 $err->raiseError(
$lng->
txt(
'msg_no_perm_read'), $err->FATAL);
731 $main_tpl->setOnScreenMessage(
734 $DIC->language()->txt(
'msg_no_perm_read_item'),
743 $err->raiseError($DIC->language()->txt(
"msg_no_perm_read_lm"), $err->FATAL);
761 if (!$this->creation_mode) {
764 if ($this->
object->getProvider()->hasProviderIcon()) {
765 $DIC->ui()->mainTemplate()->setTitleIcon(
766 $this->
object->getProvider()->getProviderIcon()->getAbsoluteFilePath(),
767 'Icon ' . $this->
object->getProvider()->getTitle()
771 $link = ilLink::_getLink($this->
object->getRefId(), $this->
object->getType());
772 $navigationHistory = $DIC[
'ilNavigationHistory'];
774 $navigationHistory->addItem($this->
object->getRefId(), $link, $this->
object->getType());
780 switch ($DIC->ctrl()->getNextClass()) {
781 case strtolower(ilObjectCopyGUI::class):
784 $gui->setType($this->
getType());
785 $DIC->ctrl()->forwardCommand($gui);
788 case strtolower(ilCommonActionDispatcherGUI::class):
791 $DIC->ctrl()->forwardCommand($gui);
794 case strtolower(ilLearningProgressGUI::class):
796 $DIC->tabs()->activateTab(self::TAB_ID_LEARNING_PROGRESS);
803 $DIC->ctrl()->forwardCommand($gui);
807 case strtolower(ilObjectMetaDataGUI::class):
809 $DIC->tabs()->activateTab(self::TAB_ID_METADATA);
812 $DIC->ctrl()->forwardCommand($gui);
815 case strtolower(ilPermissionGUI::class):
817 $DIC->tabs()->activateTab(self::TAB_ID_PERMISSIONS);
820 $DIC->ctrl()->forwardCommand($gui);
823 case strtolower(ilLTIConsumerSettingsGUI::class):
825 $DIC->tabs()->activateTab(self::TAB_ID_SETTINGS);
828 $DIC->ctrl()->forwardCommand($gui);
831 case strtolower(ilLTIConsumerXapiStatementsGUI::class):
833 $DIC->tabs()->activateTab(self::TAB_ID_STATEMENTS);
836 $DIC->ctrl()->forwardCommand($gui);
840 case strtolower(ilLTIConsumerScoringGUI::class):
842 $DIC->tabs()->activateTab(self::TAB_ID_SCORING);
845 $DIC->ctrl()->forwardCommand($gui);
849 case strtolower(ilLTIConsumerGradeSynchronizationGUI::class):
851 $DIC->tabs()->activateTab(self::TAB_ID_GRADE_SYNCHRONIZATION);
854 $DIC->ctrl()->forwardCommand($gui);
858 case strtolower(ilLTIConsumerContentGUI::class):
860 $DIC->tabs()->activateTab(self::TAB_ID_CONTENT);
863 $DIC->ctrl()->forwardCommand($gui);
867 case strtolower(ilInfoScreenGUI::class):
869 $DIC->tabs()->activateTab(self::TAB_ID_INFO);
872 $this->
ctrl->forwardCommand($info);
876 if ($DIC->ctrl()->getCmd() ===
'save') {
880 $DIC->ctrl()->redirectToURL($this->
ctrl->getLinkTargetByClass(ilInfoScreenGUI::class));
882 $command = $DIC->ctrl()->getCmd(self::DEFAULT_CMD);
897 if ($DIC->http()->wrapper()->post()->has(
'JWT')) {
913 if (!$this->
object->getOfflineStatus() &&
925 $DIC->language()->loadLanguageModule(
'lti');
928 $DIC->tabs()->addTab(
929 self::TAB_ID_CONTENT,
930 $DIC->language()->txt(self::TAB_ID_CONTENT),
931 $DIC->ctrl()->getLinkTargetByClass(ilLTIConsumerContentGUI::class)
935 $DIC->tabs()->addTab(
937 $DIC->language()->txt(self::TAB_ID_INFO),
938 $this->
ctrl->getLinkTargetByClass(ilInfoScreenGUI::class)
941 if ($this->ltiAccess->hasWriteAccess()) {
942 $DIC->tabs()->addTab(
943 self::TAB_ID_SETTINGS,
944 $DIC->language()->txt(self::TAB_ID_SETTINGS),
945 $DIC->ctrl()->getLinkTargetByClass(ilLTIConsumerSettingsGUI::class)
949 if ($this->ltiAccess->hasStatementsAccess()) {
950 $DIC->tabs()->addTab(
951 self::TAB_ID_STATEMENTS,
952 $DIC->language()->txt(self::TAB_ID_STATEMENTS),
953 $DIC->ctrl()->getLinkTargetByClass(ilLTIConsumerXapiStatementsGUI::class)
957 if ($this->ltiAccess->hasHighscoreAccess()) {
959 $DIC->tabs()->addTab(
960 self::TAB_ID_SCORING,
961 $DIC->language()->txt(self::TAB_ID_SCORING),
962 $DIC->ctrl()->getLinkTargetByClass(ilLTIConsumerScoringGUI::class)
966 if ($this->
object->getProvider()->isGradeSynchronization()) {
967 $DIC->tabs()->addTab(
968 self::TAB_ID_GRADE_SYNCHRONIZATION,
969 $DIC->language()->txt(self::TAB_ID_GRADE_SYNCHRONIZATION),
970 $DIC->ctrl()->getLinkTargetByClass(ilLTIConsumerGradeSynchronizationGUI::class)
974 if ($this->ltiAccess->hasLearningProgressAccess() && $this->
object->getProvider()->getHasOutcome()) {
975 $DIC->tabs()->addTab(
976 self::TAB_ID_LEARNING_PROGRESS,
977 $DIC->language()->txt(self::TAB_ID_LEARNING_PROGRESS),
978 $DIC->ctrl()->getLinkTargetByClass(ilLearningProgressGUI::class)
982 if ($this->ltiAccess->hasWriteAccess()) {
984 $link = $gui->getTab();
987 $DIC->tabs()->addTab(
988 self::TAB_ID_METADATA,
989 $DIC->language()->txt(
'meta_data'),
995 if ($this->ltiAccess->hasEditPermissionsAccess()) {
996 $DIC->tabs()->addTab(
997 self::TAB_ID_PERMISSIONS,
998 $DIC->language()->txt(self::TAB_ID_PERMISSIONS),
999 $DIC->ctrl()->getLinkTargetByClass(ilPermissionGUI::class,
'perm')
1067 $this->
object->getTitle(),
1068 $this->
ctrl->getLinkTarget($this, self::DEFAULT_CMD),
1070 $this->
object->getRefId()
1080 $this->
object->getType(),
1081 $this->
object->getRefId(),
1082 $this->
object->getId(),
1083 $DIC->user()->getId()
1089 protected function launch():
void 1093 $this->tabs_gui->activateTab(self::TAB_ID_CONTENT);
1095 $this->
ctrl->forwardCommand($gui);
1100 $this->
ctrl->redirectByClass(ilInfoScreenGUI::class,
"showSummary");
1111 $ilErr->raiseError($DIC->language()->txt(
"msg_no_perm_read"),
$ilErr->MESSAGE);
1127 $enable_internal_rss = $news_set->get(
"enable_rss_for_internal");
1129 if ($enable_internal_rss) {
1143 $info->
addProperty(
'Current User ID', (
string) $DIC->user()->getId());
1146 $info->
addSection($DIC->language()->txt(
"lti_info_learning_progress_section"));
1148 $DIC->language()->txt(
"mastery_score"),
1149 ($this->
object->getMasteryScorePercent()) .
' %' 1154 $info->
addSection($DIC->language()->txt(
"lti_info_privacy_section"));
1157 $DIC->language()->txt(
"lti_con_prov_url"),
1158 $this->
object->getProvider()->getProviderUrl()
1162 $DIC->language()->txt(
"conf_privacy_name"),
1167 $DIC->language()->txt(
"conf_privacy_ident"),
1170 if ($this->
object->getProvider()->isExternalProvider()) {
1172 $DIC->language()->txt(
"lti_info_external_provider_label"),
1173 $DIC->language()->txt(
'lti_info_external_provider_info')
1177 if ($this->
object->getProvider()->getUseXapi()) {
1179 $DIC->language()->txt(
"lti_con_prov_xapi_launch_url"),
1180 $this->
object->getProvider()->getXapiLaunchUrl()
1190 if ($this->
object->getProvider()->getProviderUrl() ==
'') {
1191 $this->tpl->setOnScreenMessage(
'failure', $DIC->language()->txt(
'lti_provider_not_set_msg'));
1193 $this->tpl->setOnScreenMessage(
'failure', $DIC->language()->txt(
'lti_provider_not_avail_msg'));
1199 if ($this->request_wrapper->has($key)) {
1200 return $this->request_wrapper->retrieve($key, $this->
refinery->kindlyTo()->string());
static getIdentAsId(int $userIdentMode, ilObjUser $user)
static get(string $a_var)
ilLTIConsumerAccess $ltiAccess
addMetaDataSections(int $a_rep_obj_id, int $a_obj_id, string $a_type)
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()
enableNews(bool $a_enable=true)
New implementation of ilObjectGUI.
GUI class for the workflow of copying objects.
createNewObject(string $newType, string $title, string $description)
Interface Observer Contains several chained tasks and infos about them.
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) ...
addProperty(string $a_name, string $a_value, string $a_link="")
add a property to current section
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
enableNewsEditing(bool $a_enable=true)
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)
initShowToolConfig(string $a_new_type, int $a_provider_id)
configureInfoScreen(ilInfoScreenGUI $info)
initNewForm(string $a_new_type)
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)
getCreationFormsHTML(StandardForm|ilPropertyFormGUI|array $forms)
LOMServices $lom_services
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
setBlockProperty(string $a_block_type, string $a_property, string $a_value)
This function is supposed to be used for block type specific properties, that should be passed to ilB...
static hasCustomProviderCreationAccess()
launch()
description: > Example for rendering a Launch Glyph.
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 getImagePath(string $image_name, string $module_path="", string $mode="output", bool $offline=false)
get image path (for images located in a template directory)
addSection(string $a_title)
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)
__construct(Container $dic, ilPlugin $plugin)
const LP_CONTEXT_REPOSITORY
handleAvailablityMessage()
__construct(int $a_id=0, int $a_id_type=self::REPOSITORY_NODE_ID, int $a_parent_node_id=0)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
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)
enablePrivateNotes(bool $a_enable=true)