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)