ILIAS  release_10 Revision v10.1-43-ga1241a92c2f
ilObjLTIConsumerGUI Class Reference
+ Inheritance diagram for ilObjLTIConsumerGUI:
+ Collaboration diagram for ilObjLTIConsumerGUI:

Public Member Functions

 __construct (int $a_id=0, int $a_id_type=self::REPOSITORY_NODE_ID, int $a_parent_node_id=0)
 
 getType ()
 
 saveObject ()
 
 initDynRegForm (string $a_new_type)
 
 initShowToolConfig (string $a_new_type, int $a_provider_id)
 
 initCustomCreateForm (string $a_new_type)
 
 saveCustom ()
 
 addDynReg ()
 
 cancelDynReg ()
 
 showToolConfig ()
 
 saveDynReg ()
 
 contentSelection (string $providerId, string $newType, string $refId, ilLTIConsumeProvider $provider)
 
 contentSelectionRequest ()
 
 contentSelectionResponse ()
 
 cancelContentSelection ()
 
 saveContentSelection (ilLTIConsumeProvider $provider, string $token)
 
 initMetadata (\ilObject $object)
 
 isContentTabAvailable ()
 
- Public Member Functions inherited from ilObject2GUI
 __construct (int $id=0, int $id_type=self::REPOSITORY_NODE_ID, int $parent_node_id=0)
 
 executeCommand ()
 execute command More...
 
 getIdType ()
 
 delete ()
 Display delete confirmation form (repository/workspace switch) More...
 
 confirmedDelete ()
 Delete objects (repository/workspace switch) More...
 
 getHTML ()
 
 withReferences ()
 Final/Private declaration of unchanged parent methods. More...
 
 setCreationMode (bool $mode=true)
 
 getCreationMode ()
 
 prepareOutput (bool $show_sub_objects=true)
 
 isVisible (int $ref_id, string $type)
 
 setColumnSettings (ilColumnGUI $column_gui)
 
 view ()
 view object content (repository/workspace switch) More...
 
 getType ()
 Functions that must be overwritten. More...
 
 create ()
 CRUD. More...
 
 save ()
 
 edit ()
 
 update ()
 
 cancel ()
 
 putObjectInTree (ilObject $obj, int $parent_node_id=null)
 Add object to tree at given position. More...
 
- Public Member Functions inherited from ilObjectGUI
 getRefId ()
 
 setAdminMode (string $mode)
 
 getAdminMode ()
 
 getObject ()
 
 executeCommand ()
 
 withReferences ()
 determines whether objects are referenced or not (got ref ids or not) More...
 
 setCreationMode (bool $mode=true)
 If true, a creation screen is displayed the current [ref_id] does belong to the parent class The mode is determined in ilRepositoryGUI. More...
 
 getCreationMode ()
 
 prepareOutput (bool $show_sub_objects=true)
 
 getAdminTabs ()
 administration tabs show only permissions and trash folder More...
 
 getHTML ()
 
 confirmedDeleteObject ()
 confirmed deletion of object -> objects are moved to trash or deleted immediately, if trash is disabled More...
 
 cancelObject ()
 cancel action and go back to previous page More...
 
 createObject ()
 create new object form More...
 
 editAvailabilityPeriodObject ()
 
 saveAvailabilityPeriodObject ()
 
 cancelCreation ()
 cancel create action and go back to repository parent More...
 
 saveObject ()
 
 getDidacticTemplateVar (string $type)
 Get didactic template setting from creation screen. More...
 
 putObjectInTree (ilObject $obj, int $parent_node_id=null)
 Add object to tree at given position. More...
 
 editObject ()
 
 addExternalEditFormCustom (ilPropertyFormGUI $form)
 
 updateObject ()
 updates object entry in object_data More...
 
 getFormAction (string $cmd, string $default_form_action="")
 Get form action for command (command is method name without "Object", e.g. More...
 
 isVisible (int $ref_id, string $type)
 
 viewObject ()
 viewObject container presentation for "administration -> repository, trash, permissions" More...
 
 deleteObject (bool $error=false)
 Display deletion confirmation screen. More...
 
 setColumnSettings (ilColumnGUI $column_gui)
 
 addToDeskObject ()
 
 removeFromDeskObject ()
 
- Public Member Functions inherited from ILIAS\Object\ImplementsCreationCallback
 callCreationCallback (\ilObject $object, \ilObjectDefinition $obj_definition, int $requested_crtcb)
 

Static Public Member Functions

static _goto (string $a_target)
 
- Static Public Member Functions inherited from ilObject2GUI
static handleAfterSaveCallback (ilObject $obj, ?int $callback_ref_id)
 After creation callback. More...
 
- Static Public Member Functions inherited from ilObjectGUI
static _gotoRepositoryRoot (bool $raise_error=false)
 Goto repository root. More...
 
static _gotoRepositoryNode (int $ref_id, string $cmd="")
 
static _gotoSharedWorkspaceNode (int $wsp_id)
 

Data Fields

const CFORM_CUSTOM_NEW = 99
 
const CFORM_DYNAMIC_REGISTRATION = 98
 
const TAB_ID_INFO = 'tab_info'
 
const TAB_ID_CONTENT = 'tab_content'
 
const TAB_ID_SETTINGS = 'tab_settings'
 
const TAB_ID_STATEMENTS = 'tab_statements'
 
const TAB_ID_SCORING = 'tab_scoring'
 
const TAB_ID_GRADE_SYNCHRONIZATION = 'tab_grade_synchronization'
 
const TAB_ID_METADATA = 'tab_metadata'
 
const TAB_ID_LEARNING_PROGRESS = 'learning_progress'
 
const TAB_ID_PERMISSIONS = 'perm_settings'
 
const DEFAULT_CMD = 'launch'
 
ilObject $object = null
 
int $parent_node_id = 0
 
- Data Fields inherited from ilObject2GUI
const OBJECT_ID = 0
 
const REPOSITORY_NODE_ID = 1
 
const WORKSPACE_NODE_ID = 2
 
const REPOSITORY_OBJECT_ID = 3
 
const WORKSPACE_OBJECT_ID = 4
 
const PORTFOLIO_OBJECT_ID = 5
 
- Data Fields inherited from ilObjectGUI
const ADMIN_MODE_NONE = ""
 
const ADMIN_MODE_SETTINGS = "settings"
 
const ADMIN_MODE_REPOSITORY = "repository"
 
const UPLOAD_TYPE_LOCAL = 1
 
const UPLOAD_TYPE_UPLOAD_DIRECTORY = 2
 
const CFORM_NEW = 1
 
const CFORM_IMPORT = 2
 
const CFORM_CLONE = 3
 
const SUPPORTED_IMPORT_MIME_TYPES = [MimeType::APPLICATION__ZIP, MimeType::APPLICATION__X_ZIP_COMPRESSED]
 

Protected Member Functions

 initCreateForm (string $a_new_type)
 
 getCreationFormsHTML (StandardForm|ilPropertyFormGUI|array $forms)
 
 initNewForm (string $a_new_type)
 
 buildProviderSelectionForm (string $a_new_type)
 
 applyProviderFilter ()
 
 resetProviderFilter ()
 
 createNewObject (string $newType, string $title, string $description)
 
 afterSave (\ilObject $newObject)
 
 initHeaderAction (?string $a_sub_type=null, ?int $a_sub_id=null)
 
 checkContentSelection ()
 
 setTabs ()
 
 addLocatorItems ()
 
 trackObjectReadEvent ()
 
 infoScreen ()
 
 configureInfoScreen (ilInfoScreenGUI $info)
 
 handleAvailablityMessage ()
 
 getRequestValue (string $key)
 
- Protected Member Functions inherited from ilObject2GUI
 afterConstructor ()
 Do anything that should be done after constructor in here. More...
 
 assignObject ()
 create object instance as internal property (repository/workspace switch) More...
 
 getAccessHandler ()
 
 setLocator ()
 set Locator More...
 
 deleteConfirmedObjects ()
 Delete objects (workspace specific) This should probably be moved elsewhere as done with RepUtil. More...
 
 setTitleAndDescription ()
 
 omitLocator (bool $omit=true)
 
 getTargetFrame (string $cmd, string $target_frame="")
 
 setTargetFrame (string $cmd, string $target_frame)
 
 getCenterColumnHTML ()
 
 getRightColumnHTML ()
 
 checkPermission (string $perm, string $cmd="", string $type="", int $ref_id=null)
 
 showPossibleSubObjects ()
 
 redirectToRefId (int $ref_id, string $cmd="")
 
 addAdminLocatorItems (bool $do_not_add_object=false)
 
 setTabs ()
 create tabs (repository/workspace switch) More...
 
 getReturnLocation (string $cmd, string $location="")
 Deprecated functions. More...
 
 setReturnLocation (string $cmd, string $location)
 
 showActions ()
 
 getTabs ()
 
 addLocatorItems ()
 Functions to be overwritten. More...
 
 checkPermissionBool (string $perm, string $cmd="", string $type="", ?int $node_id=null)
 
 initHeaderAction (?string $sub_type=null, ?int $sub_id=null)
 Add header action menu. More...
 
 redrawHeaderAction ()
 Updating icons after ajax call. More...
 
- Protected Member Functions inherited from ilObjectGUI
 getObjectService ()
 
 assignObject ()
 
 setTitleAndDescription ()
 
 createActionDispatcherGUI ()
 
 initHeaderAction (?string $sub_type=null, ?int $sub_id=null)
 Add header action menu. More...
 
 insertHeaderAction (?ilObjectListGUI $list_gui=null)
 Insert header action into main template. More...
 
 addHeaderAction ()
 Add header action menu. More...
 
 redrawHeaderActionObject ()
 Ajax call: redraw action header only. More...
 
 setTabs ()
 set admin tabs More...
 
 setAdminTabs ()
 set admin tabs More...
 
 setLocator ()
 
 addLocatorItems ()
 should be overwritten to add object specific items (repository items are preloaded) More...
 
 omitLocator (bool $omit=true)
 
 addAdminLocatorItems (bool $do_not_add_object=false)
 should be overwritten to add object specific items (repository items are preloaded) More...
 
 getCreationFormsHTML (StandardForm|ilPropertyFormGUI|array $form)
 
 getTitleForCreationFormPage ()
 
 getCreationFormTitle ()
 
 initCreateForm (string $new_type)
 
 didacticTemplatesToForm ()
 
 initDidacticTemplate (ilPropertyFormGUI $form)
 
 retrieveAdditionalDidacticTemplateOptions ()
 
 addAdoptContentLinkToToolbar ()
 
 addImportButtonToToolbar ()
 
 addAvailabilityPeriodButtonToToolbar (ilToolbarGUI $toolbar)
 
 parseDidacticTemplateVar (string $var, string $type)
 
 afterSave (ilObject $new_object)
 Post (successful) object creation hook. More...
 
 initEditForm ()
 
 initEditCustomForm (ilPropertyFormGUI $a_form)
 Add custom fields to update form. More...
 
 getEditFormValues ()
 
 getEditFormCustomValues (array &$a_values)
 Add values to custom edit fields. More...
 
 validateCustom (ilPropertyFormGUI $form)
 Validate custom values (if not possible with checkInput()) More...
 
 updateCustom (ilPropertyFormGUI $form)
 Insert custom update form values into object. More...
 
 afterUpdate ()
 Post (successful) object update hook. More...
 
 routeImportCmdObject ()
 
 importFile (string $file_to_import, string $path_to_uploaded_file_in_temp_dir)
 
 deleteUploadedImportFile (string $path_to_uploaded_file_in_temp_dir)
 
 afterImport (ilObject $new_object)
 Post (successful) object import hook. More...
 
 setFormAction (string $cmd, string $form_action)
 
 getReturnLocation (string $cmd, string $default_location="")
 Get return location for command (command is method name without "Object", e.g. More...
 
 setReturnLocation (string $cmd, string $location)
 set specific return location for command More...
 
 getTargetFrame (string $cmd, string $default_target_frame="")
 get target frame for command (command is method name without "Object", e.g. More...
 
 setTargetFrame (string $cmd, string $target_frame)
 Set specific target frame for command. More...
 
 showPossibleSubObjects ()
 show possible sub objects (pull down menu) More...
 
 getTabs ()
 overwrite in derived GUI class of your object type More...
 
 redirectToRefId (int $ref_id, string $cmd="")
 redirects to (repository) view per ref id usually to a container and usually used at the end of a save/import method where the object gui type (of the new object) doesn't match with the type of the current ["ref_id"] value of the request More...
 
 getCenterColumnHTML ()
 Get center column. More...
 
 getRightColumnHTML ()
 Display right column. More...
 
 checkPermission (string $perm, string $cmd="", string $type="", ?int $ref_id=null)
 
 checkPermissionBool (string $perm, string $cmd="", string $type="", ?int $ref_id=null)
 
 enableDragDropFileUpload ()
 Enables the file upload into this object by dropping files. More...
 
 getCreatableObjectTypes ()
 
 buildAddNewItemElements (array $subtypes, string $create_target_class=ilRepositoryGUI::class, ?int $redirect_target_ref_id=null,)
 
 buildGroup (string $create_target_class, array $obj_types_in_group, string $title, array $subtypes)
 

Protected Attributes

ilLTIConsumerAccess $ltiAccess
 
LOMServices $lom_services
 
- Protected Attributes inherited from ilObject2GUI
ilObjectDefinition $obj_definition
 
ilGlobalTemplateInterface $tpl
 
ilCtrl $ctrl
 
ilLanguage $lng
 
ilTabsGUI $tabs_gui
 
ilFavouritesManager $favourites
 
ilErrorHandling $error
 
ilLocatorGUI $locator
 
ilObjUser $user
 
ilAccessHandler $access
 
ilToolbarGUI $toolbar
 
ArrayBasedRequestWrapper $post_wrapper
 
RequestWrapper $request_wrapper
 
Factory $refinery
 
ilRbacAdmin $rbac_admin
 
ilRbacSystem $rbac_system
 
ilRbacReview $rbac_review
 
int $request_ref_id
 
int $id_type
 
int $parent_id
 
string $type
 
string $html
 
int $object_id
 
int $node_id = null
 
array $creation_forms = []
 
 $access_handler
 
- Protected Attributes inherited from ilObjectGUI
ILIAS Notes Service $notes_service
 
ServerRequestInterface $request
 
ilLocatorGUI $locator
 
ilObjUser $user
 
ilAccessHandler $access
 
ilSetting $settings
 
ilToolbarGUI $toolbar
 
ilRbacAdmin $rbac_admin
 
ilRbacSystem $rbac_system
 
ilRbacReview $rbac_review
 
ilObjectService $object_service
 
ilObjectDefinition $obj_definition
 
ilGlobalTemplateInterface $tpl
 
ilTree $tree
 
ilCtrl $ctrl
 
ilErrorHandling $error
 
ilLanguage $lng
 
ilTabsGUI $tabs_gui
 
ILIAS $ilias
 
ArrayBasedRequestWrapper $post_wrapper
 
RequestWrapper $request_wrapper
 
Refinery $refinery
 
ilFavouritesManager $favourites
 
ilObjectCustomIconFactory $custom_icon_factory
 
UIFactory $ui_factory
 
UIRenderer $ui_renderer
 
Filesystem $temp_file_system
 
ilObject $object = null
 
bool $creation_mode = false
 
 $data
 
int $id
 
bool $call_by_reference = false
 
bool $prepare_output
 
int $ref_id
 
int $obj_id
 
int $maxcount
 
array $form_action = []
 
array $return_location = []
 
array $target_frame = []
 
string $tmp_import_dir
 
string $sub_objects = ""
 
bool $omit_locator = false
 
string $type = ""
 
string $admin_mode = self::ADMIN_MODE_NONE
 
int $requested_ref_id = 0
 
int $requested_crtptrefid = 0
 
int $requested_crtcb = 0
 
string $requested_new_type = ""
 
string $link_params
 
string $html = ""
 

Detailed Description

Definition at line 41 of file class.ilObjLTIConsumerGUI.php.

Constructor & Destructor Documentation

◆ __construct()

ilObjLTIConsumerGUI::__construct ( int  $a_id = 0,
int  $a_id_type = self::REPOSITORY_NODE_ID,
int  $a_parent_node_id = 0 
)

Definition at line 64 of file class.ilObjLTIConsumerGUI.php.

References $DIC, and ILIAS\GlobalScreen\Provider\__construct().

65  {
66  global $DIC;
67  /* @var \ILIAS\DI\Container $DIC */
68 
69  parent::__construct($a_id, $a_id_type, $a_parent_node_id);
70  $this->parent_node_id = $a_parent_node_id;
71  if ($this->object instanceof ilObjLTIConsumer) {
72  $this->ltiAccess = new ilLTIConsumerAccess($this->object);
73  }
74  $this->lom_services = $DIC->learningObjectMetadata();
75 
76  $DIC->language()->loadLanguageModule("lti");
77  $DIC->language()->loadLanguageModule("rep");
78  }
global $DIC
Definition: shib_login.php:25
__construct(Container $dic, ilPlugin $plugin)
+ Here is the call graph for this function:

Member Function Documentation

◆ _goto()

static ilObjLTIConsumerGUI::_goto ( string  $a_target)
static

Definition at line 705 of file class.ilObjLTIConsumerGUI.php.

References ilObject2GUI\$access, ilObject2GUI\$ctrl, $DIC, ilObjectGUI\$id, ilObject2GUI\$lng, $object, ilObjectGUI\$request, ilObjectGUI\_gotoRepositoryNode(), ilObjectGUI\_gotoRepositoryRoot(), ilObject\_lookupObjId(), ilObject\_lookupTitle(), ilObjectGUI\addHeaderAction(), ilRBACAccessHandler\checkAccess(), checkContentSelection(), configureInfoScreen(), ILIAS\Repository\ctrl(), ilObject2GUI\executeCommand(), ilCommonActionDispatcherGUI\getInstanceFromAjaxCall(), getType(), ILIAS\Repository\int(), isContentTabAvailable(), ilLTIConsumerContentGUI\isEmbeddedLaunchRequest(), ilLearningProgressBaseGUI\LP_CONTEXT_REPOSITORY, ILIAS\Repository\object(), ilObject2GUI\prepareOutput(), ilCtrl\redirectByClass(), ROOT_FOLDER_ID, ilCtrl\setParameterByClass(), ilCtrl\setTargetScript(), trackObjectReadEvent(), and ilLanguage\txt().

705  : void
706  {
707  global $DIC;
708  $main_tpl = $DIC->ui()->mainTemplate();
709  /* @var \ILIAS\DI\Container $DIC */
710  $err = $DIC['ilErr'];
711  /* @var ilErrorHandling $err */
712  $ctrl = $DIC->ctrl();
713  $request = $DIC->http()->request();
714  $access = $DIC->access();
715  $lng = $DIC->language();
716 
717  $targetParameters = explode('_', $a_target);
718  $id = (int) $targetParameters[0];
719 
720  if ($id <= 0) {
721  $err->raiseError($lng->txt('msg_no_perm_read'), $err->FATAL);
722  }
723 
724  if ($access->checkAccess('read', '', $id)) {
725  $ctrl->setTargetScript('ilias.php');
726  $ctrl->setParameterByClass(ilObjLTIConsumerGUI::class, 'ref_id', $id);
727  $ctrl->redirectByClass([ilRepositoryGUI::class, ilObjLTIConsumerGUI::class]);
728  } elseif ($access->checkAccess('visible', '', $id)) {
729  ilObjectGUI::_gotoRepositoryNode($id, 'infoScreen');
730  } elseif ($access->checkAccess('read', '', ROOT_FOLDER_ID)) {
731  $main_tpl->setOnScreenMessage(
732  'info',
733  sprintf(
734  $DIC->language()->txt('msg_no_perm_read_item'),
736  ),
737  true
738  );
739 
741  }
742 
743  $err->raiseError($DIC->language()->txt("msg_no_perm_read_lm"), $err->FATAL);
744  }
redirectByClass( $a_class, string $a_cmd=null, string $a_anchor=null, bool $is_async=false)
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...
const ROOT_FOLDER_ID
Definition: constants.php:32
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 _gotoRepositoryNode(int $ref_id, string $cmd="")
setParameterByClass(string $a_class, string $a_parameter, $a_value)
static _lookupObjId(int $ref_id)
static _lookupTitle(int $obj_id)
ServerRequestInterface $request
global $DIC
Definition: shib_login.php:25
setTargetScript(string $a_target_script)
static _gotoRepositoryRoot(bool $raise_error=false)
Goto repository root.
ilAccessHandler $access
+ Here is the call graph for this function:

◆ addDynReg()

ilObjLTIConsumerGUI::addDynReg ( )

Definition at line 349 of file class.ilObjLTIConsumerGUI.php.

References $DIC, ilObject2GUI\$error, getRequestValue(), ilLTIConsumerAccess\hasCustomProviderCreationAccess(), and initDynRegForm().

349  : void
350  {
351  global $DIC;
353  throw new ilLtiConsumerException('permission denied!');
354  }
355  $new_type = $this->getRequestValue("new_type");
356 
357  $DIC->ctrl()->setParameter($this, "new_type", $new_type);
358 
359  $DIC->language()->loadLanguageModule($new_type);
360  $form = $this->initDynRegForm($new_type);
361  $error = ($this->getRequestValue('error') != null) ? $this->getRequestValue('error') : "";
362  $form->setValuesByPost();
363  if (!empty($error)) {
364  $DIC->ctrl()->setParameter($this, "new_type", "");
365  $DIC->ui()->mainTemplate()->setOnScreenMessage('failure', base64_decode($error));
366  $DIC->ui()->mainTemplate()->setContent($form->getDynRegError());
367  return;
368  }
369  if ($form->checkInput()) {
370  $DIC->ctrl()->setParameter($this, "new_type", "");
371  $DIC->ui()->mainTemplate()->setContent($form->getDynRegRequest());
372  return;
373  }
374  $DIC->ui()->mainTemplate()->setContent($form->getHTML());
375  }
ilErrorHandling $error
global $DIC
Definition: shib_login.php:25
initDynRegForm(string $a_new_type)
+ Here is the call graph for this function:

◆ addLocatorItems()

ilObjLTIConsumerGUI::addLocatorItems ( )
protected

Definition at line 1059 of file class.ilObjLTIConsumerGUI.php.

References $DIC, ilObject2GUI\$locator, ILIAS\Repository\ctrl(), and ILIAS\Repository\object().

1059  : void
1060  {
1061  global $DIC;
1062  /* @var \ILIAS\DI\Container $DIC */
1063 
1064  $locator = $DIC['ilLocator'];
1065  /* @var ilLocatorGUI $locator */
1066  $locator->addItem(
1067  $this->object->getTitle(),
1068  $this->ctrl->getLinkTarget($this, self::DEFAULT_CMD),
1069  "",
1070  $this->object->getRefId()
1071  );
1072  }
global $DIC
Definition: shib_login.php:25
ilLocatorGUI $locator
+ Here is the call graph for this function:

◆ afterSave()

ilObjLTIConsumerGUI::afterSave ( \ilObject  $newObject)
protected
Exceptions

Definition at line 599 of file class.ilObjLTIConsumerGUI.php.

References $DIC, $provider, ilLTIConsumeProvider\AVAILABILITY_CREATE, ilObject\getTitle(), ilObject\getType(), ilLTIConsumerAccess\hasCustomProviderCreationAccess(), initCustomCreateForm(), initMetadata(), ilObject\setTitle(), and ilObject\update().

Referenced by saveCustom(), and saveObject().

599  : void
600  {
601  global $DIC; //check
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();
605  $newObject->save();
606 
607  $newObject->setTitle($newObject->getProvider()->getTitle());
608  $newObject->setMasteryScore($newObject->getProvider()->getMasteryScore());
609  $newObject->update();
610 
611  $this->initMetadata($newObject);
612  $DIC->ctrl()->redirectByClass(ilLTIConsumerSettingsGUI::class);
613  }
614 
616  throw new ilLtiConsumerException('permission denied!');
617  }
618 
619  $form = $this->initCustomCreateForm($newObject->getType());
620 
621  if ($form->checkInput()) {
623  $form->initProvider($provider);
625  $provider->setIsGlobal(false);
626  $provider->setCreator($DIC->user()->getId());
627  $provider->save();
628 
629  $newObject->setProviderId($provider->getId());
630  $newObject->setProvider($provider);
631  $newObject->save();
632 
633  $newObject->setTitle($provider->getTitle());
634  $newObject->setMasteryScore($newObject->getProvider()->getMasteryScore());
635  $newObject->update();
636 
637  $this->initMetadata($newObject);
638  $DIC->ctrl()->redirectByClass([ilLTIConsumerSettingsGUI::class, ilLTIConsumeProviderSettingsGUI::class]);
639  }
640  throw new ilLtiConsumerException(
641  'form validation seems to not have worked in ilObjLTIConsumer::saveCustom()!'
642  );
643  }
$provider
Definition: ltitoken.php:80
initCustomCreateForm(string $a_new_type)
global $DIC
Definition: shib_login.php:25
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ applyProviderFilter()

ilObjLTIConsumerGUI::applyProviderFilter ( )
protected

Definition at line 279 of file class.ilObjLTIConsumerGUI.php.

References buildProviderSelectionForm(), and ilObjectGUI\createObject().

279  : void
280  {
281  $form = $this->buildProviderSelectionForm('');
282  $form->applyFilter();
283  $this->createObject();
284  }
createObject()
create new object form
buildProviderSelectionForm(string $a_new_type)
+ Here is the call graph for this function:

◆ buildProviderSelectionForm()

ilObjLTIConsumerGUI::buildProviderSelectionForm ( string  $a_new_type)
protected

Definition at line 268 of file class.ilObjLTIConsumerGUI.php.

Referenced by applyProviderFilter(), initNewForm(), and resetProviderFilter().

269  {
271  $a_new_type,
272  $this,
273  'create',
274  'applyProviderFilter',
275  'resetProviderFilter'
276  );
277  }
+ Here is the caller graph for this function:

◆ cancelContentSelection()

ilObjLTIConsumerGUI::cancelContentSelection ( )

Definition at line 533 of file class.ilObjLTIConsumerGUI.php.

References $DIC, getRequestValue(), and ilLTIConsumerAccess\hasCustomProviderCreationAccess().

533  : void
534  {
535  global $DIC;
537  throw new ilLtiConsumerException('permission denied!');
538  }
539  $new_type = $this->getRequestValue("new_type");
540  $DIC->ctrl()->setParameterByClass(ilRepositoryGUI::class, 'new_type', $new_type);
541  $DIC->ctrl()->redirectByClass(ilRepositoryGUI::class, 'create');
542  }
global $DIC
Definition: shib_login.php:25
+ Here is the call graph for this function:

◆ cancelDynReg()

ilObjLTIConsumerGUI::cancelDynReg ( )

Definition at line 377 of file class.ilObjLTIConsumerGUI.php.

References $DIC, Vendor\Package\$e, $provider, $providerId, ilSession\get(), ilLTIConsumeProvider\getProviderIdFromClientId(), getRequestValue(), ilSession\has(), and ilLTIConsumerAccess\hasCustomProviderCreationAccess().

377  : void
378  {
379  global $DIC;
381  throw new ilLtiConsumerException('permission denied!');
382  }
383  $new_type = $this->getRequestValue("new_type");
384  //$provider_id = $this->getRequestValue("provider_id");
385  if (ilSession::has('lti_dynamic_registration_client_id')) {
386  $providerId = ilLTIConsumeProvider::getProviderIdFromClientId(ilSession::get('lti_dynamic_registration_client_id'));
387  if ($providerId > 0) {
388  try {
390  //ToDo: check if provider is in use? should never happen...
391  $provider->delete();
392  } catch (\ILIAS\Filesystem\Exception\IOException $e) {
393  //ToDo: error handling
394  }
395  }
396  }
397  $DIC->ctrl()->setParameterByClass(ilRepositoryGUI::class, 'new_type', $new_type);
398  $DIC->ctrl()->redirectByClass(ilRepositoryGUI::class, 'create');
399  }
static get(string $a_var)
Interface Observer Contains several chained tasks and infos about them.
if(empty($clientId)) $providerId
Definition: ltitoken.php:79
static getProviderIdFromClientId(string $clientId)
$provider
Definition: ltitoken.php:80
global $DIC
Definition: shib_login.php:25
static has($a_var)
+ Here is the call graph for this function:

◆ checkContentSelection()

ilObjLTIConsumerGUI::checkContentSelection ( )
protected

Definition at line 888 of file class.ilObjLTIConsumerGUI.php.

References $DIC, $provider, $providerId, $refId, contentSelection(), getRequestValue(), and saveObject().

Referenced by _goto().

888  : void
889  {
890  global $DIC;
891  $providerId = $this->getRequestValue('provider_id');
892  $newType = $this->getRequestValue('new_type');
893  $refId = $this->getRequestValue('ref_id');
894  if ($providerId !== null && $newType == 'lti' && $refId != null) {
896  // check if post variables from contentSelectionResponse
897  if ($DIC->http()->wrapper()->post()->has('JWT')) {
898  // ToDo:
899  } else {
900  if ($provider->isContentItem() && !empty($provider->getContentItemUrl())) {
901  $this->contentSelection($providerId, $newType, $refId, $provider);
902  } else {
903  $this->saveObject();
904  }
905  }
906  } else {
907  $this->saveObject();
908  }
909  }
contentSelection(string $providerId, string $newType, string $refId, ilLTIConsumeProvider $provider)
$refId
Definition: xapitoken.php:56
if(empty($clientId)) $providerId
Definition: ltitoken.php:79
$provider
Definition: ltitoken.php:80
global $DIC
Definition: shib_login.php:25
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ configureInfoScreen()

ilObjLTIConsumerGUI::configureInfoScreen ( ilInfoScreenGUI  $info)
protected

Definition at line 1103 of file class.ilObjLTIConsumerGUI.php.

References $DIC, $ilErr, ilLPObjSettings\_lookupDBMode(), ilInfoScreenGUI\addMetaDataSections(), ilInfoScreenGUI\addProperty(), ilInfoScreenGUI\addSection(), ilObject2GUI\checkPermissionBool(), ilInfoScreenGUI\enableNews(), ilInfoScreenGUI\enableNewsEditing(), ilInfoScreenGUI\enablePrivateNotes(), ilObjCmiXapiGUI\getPrivacyIdentString(), ilObjCmiXapiGUI\getPrivacyNameString(), handleAvailablityMessage(), ILIAS\Repository\object(), and ilInfoScreenGUI\setBlockProperty().

Referenced by _goto().

1103  : void
1104  {
1105  global $DIC;
1106  /* @var \ILIAS\DI\Container $DIC */
1107  $ilErr = $DIC['ilErr'];
1108  /* @var ilErrorHandling $ilErr */
1109 
1110  if (!$this->checkPermissionBool("visible") && !$this->checkPermissionBool("read")) {
1111  $ilErr->raiseError($DIC->language()->txt("msg_no_perm_read"), $ilErr->MESSAGE);
1112  }
1113 
1114  $this->handleAvailablityMessage();
1115 
1116 
1117  $info->enablePrivateNotes();
1118 
1119  if ($this->checkPermissionBool("read")) {
1120  $info->enableNews();
1121  }
1122 
1123  $info->enableNewsEditing(false);
1124 
1125  if ($this->checkPermissionBool("write")) {
1126  $news_set = new ilSetting("news");
1127  $enable_internal_rss = $news_set->get("enable_rss_for_internal");
1128 
1129  if ($enable_internal_rss) {
1130  //todo check
1131  $info->setBlockProperty("news", "settings", "true");
1132  $info->setBlockProperty("news", "public_notifications_option", "true");
1133  }
1134  }
1135 
1136  // standard meta data
1137  $info->addMetaDataSections($this->object->getId(), 0, $this->object->getType());
1138 
1139  if (DEVMODE) {
1140  // Development Info
1141  $info->addSection('DEVMODE Info');
1142  $info->addProperty('Local Object ID', (string) $this->object->getId());
1143  $info->addProperty('Current User ID', (string) $DIC->user()->getId());
1144  }
1145  if ($this->object->getProvider()->getHasOutcome() && ilLPObjSettings::_lookupDBMode($this->object->getId()) != 0) {
1146  $info->addSection($DIC->language()->txt("lti_info_learning_progress_section"));
1147  $info->addProperty(
1148  $DIC->language()->txt("mastery_score"),
1149  ($this->object->getMasteryScorePercent()) . ' %'
1150  );
1151  }
1152 
1153  // LTI Ressource Info about privacy
1154  $info->addSection($DIC->language()->txt("lti_info_privacy_section"));
1155 
1156  $info->addProperty(
1157  $DIC->language()->txt("lti_con_prov_url"),
1158  $this->object->getProvider()->getProviderUrl()
1159  );
1160 
1161  $info->addProperty(
1162  $DIC->language()->txt("conf_privacy_name"),
1163  $DIC->language()->txt('conf_privacy_name_' . ilObjCmiXapiGUI::getPrivacyNameString($this->object->getProvider()->getPrivacyName()))
1164  );
1165 
1166  $info->addProperty(
1167  $DIC->language()->txt("conf_privacy_ident"),
1168  $DIC->language()->txt('conf_privacy_ident_' . ilObjCmiXapiGUI::getPrivacyIdentString($this->object->getProvider()->getPrivacyIdent()))
1169  );
1170  if ($this->object->getProvider()->isExternalProvider()) {
1171  $info->addProperty(
1172  $DIC->language()->txt("lti_info_external_provider_label"),
1173  $DIC->language()->txt('lti_info_external_provider_info')
1174  );
1175  }
1176 
1177  if ($this->object->getProvider()->getUseXapi()) {
1178  $info->addProperty(
1179  $DIC->language()->txt("lti_con_prov_xapi_launch_url"),
1180  $this->object->getProvider()->getXapiLaunchUrl()
1181  );
1182  }
1183 
1184  }
addMetaDataSections(int $a_rep_obj_id, int $a_obj_id, string $a_type)
enableNews(bool $a_enable=true)
addProperty(string $a_name, string $a_value, string $a_link="")
add a property to current section
enableNewsEditing(bool $a_enable=true)
$ilErr
Definition: raiseError.php:17
checkPermissionBool(string $perm, string $cmd="", string $type="", ?int $node_id=null)
static getPrivacyIdentString(int $ident)
static getPrivacyNameString(int $ident)
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...
global $DIC
Definition: shib_login.php:25
addSection(string $a_title)
static _lookupDBMode(int $a_obj_id)
enablePrivateNotes(bool $a_enable=true)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ contentSelection()

ilObjLTIConsumerGUI::contentSelection ( string  $providerId,
string  $newType,
string  $refId,
ilLTIConsumeProvider  $provider 
)

Definition at line 444 of file class.ilObjLTIConsumerGUI.php.

References $DIC, ILIAS\Repository\ctrl(), and ilLTIConsumerAccess\hasCustomProviderCreationAccess().

Referenced by checkContentSelection().

444  : void
445  {
446  global $DIC;
448  throw new ilLtiConsumerException('permission denied!');
449  }
450  $DIC->ctrl()->setParameter($this, "new_type", $newType);
451  $DIC->ctrl()->setParameter($this, "provider_id", $providerId);
452  $DIC->ctrl()->setParameter($this, "ref_id", $refId);
453 
454  $form = new ilLTIConsumeProviderFormGUI($provider);
455  $formaction = $this->ctrl->getFormAction($this, "cancelContentSelection");
456  $DIC->ui()->mainTemplate()->setContent($form->getContentSelectionFrame($formaction));
457  }
$refId
Definition: xapitoken.php:56
if(empty($clientId)) $providerId
Definition: ltitoken.php:79
global $DIC
Definition: shib_login.php:25
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ contentSelectionRequest()

ilObjLTIConsumerGUI::contentSelectionRequest ( )

Definition at line 459 of file class.ilObjLTIConsumerGUI.php.

References ilObjectGUI\$data, $DIC, $ltiMessageHint, $provider, ilObjectGUI\$ref_id, ilObjLTIConsumer\buildContentSelectionParameters(), ilSession\clear(), CLIENT_ID, exit, ilSession\get(), ilCmiXapiUser\getIdentAsId(), ilObjLTIConsumer\getIliasHttpPath(), getRequestValue(), ilSession\has(), and ilLTIConsumerAccess\hasCustomProviderCreationAccess().

459  : void
460  {
461  global $DIC;
463  throw new ilLtiConsumerException('permission denied!');
464  }
465  $new_type = $this->getRequestValue("new_type");
466  $DIC->ctrl()->setParameter($this, "new_type", $new_type);
467  $provider_id = $this->getRequestValue("provider_id");
468  $DIC->ctrl()->setParameter($this, "provider_id", $provider_id);
469  $ref_id = $this->getRequestValue("ref_id");
470  $DIC->ctrl()->setParameter($this, "ref_id", $ref_id);
471  $DIC->language()->loadLanguageModule($new_type);
472  $provider = new ilLTIConsumeProvider((int) $provider_id);
473  $redirectUrl = $DIC->ctrl()->getLinkTarget($this, 'contentSelectionRequest');
474 
475  if (!ilSession::has('lti13_login_data')) {
476  $userIdLTI = ilCmiXapiUser::getIdentAsId($provider->getPrivacyIdent(), $DIC->user());
477  //$emailPrimary = ilCmiXapiUser::getIdent($provider->getPrivacyIdent(), $DIC->user());
478  $ltiMessageHint = (string) $ref_id . ":" . CLIENT_ID . ":" . base64_encode($redirectUrl);
479  $tplLogin = new ilTemplate("tpl.lti_initial_login.html", true, true, "components/ILIAS/LTIConsumer");
480  $tplLogin->setVariable("LTI_INITIAL_LOGIN_ACTION", $provider->getInitiateLogin());
481  $tplLogin->setVariable("ISS", ilObjLTIConsumer::getIliasHttpPath());
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();
488  exit; //TODO: no exit
489  } else {
490  $loginData = ilSession::get('lti13_login_data');
491  // ToDo: correct Link!! replace ILIAS_HTTP_PATH
492  $data = ilObjLTIConsumer::buildContentSelectionParameters($provider, (int) $ref_id, ilObjLTIConsumer::getIliasHttpPath() . "/" . $DIC->ctrl()->getLinkTarget($this, 'contentSelectionResponse'), $loginData['nonce']);
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']);
497  ilSession::clear('lti13_login_data');
498  echo $tplContentSelection->get();
499  exit; //TODO: no exit
500  }
501  }
static getIdentAsId(int $userIdentMode, ilObjUser $user)
static get(string $a_var)
static buildContentSelectionParameters(ilLTIConsumeProvider $provider, int $refId, string $returnUrl, string $nonce)
$provider
Definition: ltitoken.php:80
const CLIENT_ID
Definition: constants.php:41
global $DIC
Definition: shib_login.php:25
static has($a_var)
$ltiMessageHint
Definition: ltiauth.php:50
static clear(string $a_var)
+ Here is the call graph for this function:

◆ contentSelectionResponse()

ilObjLTIConsumerGUI::contentSelectionResponse ( )

Definition at line 503 of file class.ilObjLTIConsumerGUI.php.

References $DIC, $provider, ilObjectGUI\$ref_id, $token, exit, getRequestValue(), ilLTIConsumerAccess\hasCustomProviderCreationAccess(), and saveContentSelection().

503  : void
504  {
505  global $DIC;
507  throw new ilLtiConsumerException('permission denied!');
508  }
509  $new_type = $this->getRequestValue("new_type");
510  $DIC->ctrl()->setParameter($this, "new_type", $new_type);
511  $provider_id = $this->getRequestValue("provider_id");
512  $DIC->ctrl()->setParameter($this, "provider_id", $provider_id);
513  $ref_id = $this->getRequestValue("ref_id");
514  $DIC->ctrl()->setParameter($this, "ref_id", $ref_id);
515  $DIC->language()->loadLanguageModule($new_type);
516  $token = '';
517  if ($DIC->http()->wrapper()->post()->has('JWT')) {
518  $token = $DIC->http()->wrapper()->post()->retrieve('JWT', $DIC->refinery()->kindlyTo()->string());
519  }
520  if ($DIC->http()->wrapper()->post()->has('jwt')) {
521  $token = $DIC->http()->wrapper()->post()->retrieve('jwt', $DIC->refinery()->kindlyTo()->string());
522  }
523  if (!empty($token)) {
524  $provider = new ilLTIConsumeProvider((int) $provider_id);
526  } else {
527  echo "no token";
528  exit;
529  //ToDo:
530  }
531  }
saveContentSelection(ilLTIConsumeProvider $provider, string $token)
$provider
Definition: ltitoken.php:80
$token
Definition: xapitoken.php:67
global $DIC
Definition: shib_login.php:25
+ Here is the call graph for this function:

◆ createNewObject()

ilObjLTIConsumerGUI::createNewObject ( string  $newType,
string  $title,
string  $description 
)
protected

Definition at line 293 of file class.ilObjLTIConsumerGUI.php.

References ilObject2GUI\putObjectInTree().

Referenced by saveCustom().

293  : ilObject
294  {
295  $classname = "ilObj" . $this->obj_definition->getClassName($newType);
296 
297  $newObj = new $classname();
298  $newObj->setType($newType);
299  $newObj->setTitle($title);
300  $newObj->setDescription($description);
301  $newObj->create();
302  $this->putObjectInTree($newObj);
303  return $newObj;
304  }
putObjectInTree(ilObject $obj, int $parent_node_id=null)
Add object to tree at given position.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getCreationFormsHTML()

ilObjLTIConsumerGUI::getCreationFormsHTML ( StandardForm|ilPropertyFormGUI|array  $forms)
protected

Definition at line 142 of file class.ilObjLTIConsumerGUI.php.

References ilAccordionGUI\FIRST_OPEN, ilPropertyFormGUI\getHTML(), and ilPropertyFormGUI\getTitle().

142  : string
143  {
144  if (!is_array($forms)) {
145  throw new Exception('We only deal with arrays here.');
146  }
147 
148  $acc = new ilAccordionGUI();
149  $acc->setBehaviour(ilAccordionGUI::FIRST_OPEN);
150  array_walk(
151  $forms,
152  function (ilPropertyFormGUI $v, string $k) use ($acc): void {
153  $acc->addItem(
154  $v->getTitle(),
155  $v->getHTML()
156  );
157  }
158  );
159 
160  return $acc->getHTML();
161  }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
+ Here is the call graph for this function:

◆ getRequestValue()

ilObjLTIConsumerGUI::getRequestValue ( string  $key)
protected

Definition at line 1197 of file class.ilObjLTIConsumerGUI.php.

References ILIAS\Repository\refinery().

Referenced by addDynReg(), cancelContentSelection(), cancelDynReg(), checkContentSelection(), contentSelectionRequest(), contentSelectionResponse(), saveContentSelection(), saveCustom(), saveDynReg(), and showToolConfig().

1197  : ?string
1198  {
1199  if ($this->request_wrapper->has($key)) {
1200  return $this->request_wrapper->retrieve($key, $this->refinery->kindlyTo()->string());
1201  }
1202  return null;
1203  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getType()

ilObjLTIConsumerGUI::getType ( )

Definition at line 80 of file class.ilObjLTIConsumerGUI.php.

Referenced by _goto().

80  : string
81  {
82  return 'lti';
83  }
+ Here is the caller graph for this function:

◆ handleAvailablityMessage()

ilObjLTIConsumerGUI::handleAvailablityMessage ( )
protected

Definition at line 1186 of file class.ilObjLTIConsumerGUI.php.

References $DIC, ilLTIConsumeProvider\AVAILABILITY_NONE, and ILIAS\Repository\object().

Referenced by configureInfoScreen().

1186  : void
1187  {
1188  global $DIC;
1189  /* @var \ILIAS\DI\Container $DIC */
1190  if ($this->object->getProvider()->getProviderUrl() == '') {
1191  $this->tpl->setOnScreenMessage('failure', $DIC->language()->txt('lti_provider_not_set_msg'));
1192  } elseif ($this->object->getProvider()->getAvailability() == ilLTIConsumeProvider::AVAILABILITY_NONE) {
1193  $this->tpl->setOnScreenMessage('failure', $DIC->language()->txt('lti_provider_not_avail_msg'));
1194  }
1195  }
global $DIC
Definition: shib_login.php:25
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ infoScreen()

ilObjLTIConsumerGUI::infoScreen ( )
protected

Definition at line 1098 of file class.ilObjLTIConsumerGUI.php.

References ILIAS\Repository\ctrl().

1098  : void
1099  {
1100  $this->ctrl->redirectByClass(ilInfoScreenGUI::class, "showSummary");
1101  }
+ Here is the call graph for this function:

◆ initCreateForm()

ilObjLTIConsumerGUI::initCreateForm ( string  $a_new_type)
protected
Returns
array<ilPropertyFormGUI>

Definition at line 88 of file class.ilObjLTIConsumerGUI.php.

References ilLTIConsumerAccess\hasCustomProviderCreationAccess(), initCustomCreateForm(), initDynRegForm(), and initNewForm().

Referenced by saveObject().

88  : array
89  {
90  $forms = array(
91  self::CFORM_NEW => $this->initNewForm($a_new_type)
92  );
93 
95  $forms[self::CFORM_DYNAMIC_REGISTRATION] = $this->initDynRegForm($a_new_type);
96  $forms[self::CFORM_CUSTOM_NEW] = $this->initCustomCreateForm($a_new_type);
97  }
98 
99  return $forms;
100  }
initNewForm(string $a_new_type)
initCustomCreateForm(string $a_new_type)
initDynRegForm(string $a_new_type)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initCustomCreateForm()

ilObjLTIConsumerGUI::initCustomCreateForm ( string  $a_new_type)

Definition at line 248 of file class.ilObjLTIConsumerGUI.php.

References $DIC, $provider, ILIAS\Repository\ctrl(), and ILIAS\Repository\lng().

Referenced by afterSave(), initCreateForm(), and saveCustom().

249  {
250  global $DIC;
251  /* @var \ILIAS\DI\Container $DIC */
252 
254 
256 
257  $form->initForm($this->ctrl->getFormAction($this, "save"), '', '');
258 
259  $form->clearCommandButtons();
260  $form->addCommandButton("saveCustom", $this->lng->txt($a_new_type . "_add_own_provider"));
261  $form->addCommandButton("cancel", $this->lng->txt("cancel"));
262 
263  $form->setTitle($DIC->language()->txt($a_new_type . '_custom_new'));
264 
265  return $form;
266  }
$provider
Definition: ltitoken.php:80
global $DIC
Definition: shib_login.php:25
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initDynRegForm()

ilObjLTIConsumerGUI::initDynRegForm ( string  $a_new_type)

Definition at line 217 of file class.ilObjLTIConsumerGUI.php.

References $DIC, $provider, and ILIAS\Repository\ctrl().

Referenced by addDynReg(), and initCreateForm().

218  {
219  global $DIC;
220  /* @var \ILIAS\DI\Container $DIC */
223  $form->initDynRegForm($this->ctrl->getFormAction($this, "cancelDynReg"));
224  $form->setTitle($DIC->language()->txt($a_new_type . '_dynamic_registration'));
225  return $form;
226  }
$provider
Definition: ltitoken.php:80
global $DIC
Definition: shib_login.php:25
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initHeaderAction()

ilObjLTIConsumerGUI::initHeaderAction ( ?string  $a_sub_type = null,
?int  $a_sub_id = null 
)
protected
Returns
ilObjectListGUI
Exceptions
ilCtrlException

Definition at line 670 of file class.ilObjLTIConsumerGUI.php.

References $DIC, ilLTIConsumerSettingsGUI\CMD_DELIVER_CERTIFICATE, and ilUtil\getImagePath().

671  {
672  global $DIC;
673  /* @var \ILIAS\DI\Container $DIC */
674 
675  $return = parent::initHeaderAction($a_sub_type, $a_sub_id);
676 
677  if ($this->creation_mode) {
678  return $return;
679  }
680 
681  $validator = new ilCertificateDownloadValidator();
682  if ($validator->isCertificateDownloadable($DIC->user()->getId(), $this->object->getId())) {
683  $certLink = $DIC->ctrl()->getLinkTargetByClass(
684  [ilObjLTIConsumerGUI::class, ilLTIConsumerSettingsGUI::class],
686  );
687 
688  $DIC->language()->loadLanguageModule('certificate');
689 
690  $return->addCustomCommand($certLink, 'download_certificate');
691 
692  $return->addHeaderIcon(
693  'cert_icon',
694  ilUtil::getImagePath('standard/icon_cert.svg'),
695  $DIC->language()->txt('download_certificate'),
696  null,
697  null,
698  $certLink
699  );
700  }
701 
702  return $return;
703  }
Validates if an active certificate is stored in the database and can be downloaded by the user...
global $DIC
Definition: shib_login.php:25
static getImagePath(string $image_name, string $module_path="", string $mode="output", bool $offline=false)
get image path (for images located in a template directory)
+ Here is the call graph for this function:

◆ initMetadata()

ilObjLTIConsumerGUI::initMetadata ( \ilObject  $object)

Definition at line 645 of file class.ilObjLTIConsumerGUI.php.

References ilObject\getId(), ilObject\getTitle(), and ilObject\getType().

Referenced by afterSave(), and saveContentSelection().

645  : void
646  {
647  // create LOM set from scratch
648  $this->lom_services->derive()
649  ->fromBasicProperties($object->getTitle())
650  ->forObject($object->getId(), $object->getId(), $object->getType());
651 
652  // in a second step, set the keywords
653  $keywords = [];
654  foreach ($object->getProvider()->getKeywordsArray() as $keyword) {
655  if ($keyword !== '') {
656  $keywords[] = $keyword;
657  }
658  }
659  $this->lom_services->manipulate($object->getId(), $object->getId(), $object->getType())
660  ->prepareCreateOrUpdate(
661  $this->lom_services->paths()->keywords(),
662  ...$keywords
663  )->execute();
664  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initNewForm()

ilObjLTIConsumerGUI::initNewForm ( string  $a_new_type)
protected

Definition at line 163 of file class.ilObjLTIConsumerGUI.php.

References $DIC, ilLTIConsumeProvider\AVAILABILITY_CREATE, buildProviderSelectionForm(), ilLTIConsumeProviderList\SCOPE_GLOBAL, and ilLTIConsumeProviderList\SCOPE_USER.

Referenced by initCreateForm().

164  {
165  global $DIC;
166  /* @var \ILIAS\DI\Container $DIC */
167 
168  $form = $this->buildProviderSelectionForm($a_new_type);
169 
170  $globalProviderList = new ilLTIConsumeProviderList();
171  $globalProviderList->setAvailabilityFilter((string) ilLTIConsumeProvider::AVAILABILITY_CREATE);
172  $globalProviderList->setScopeFilter(ilLTIConsumeProviderList::SCOPE_GLOBAL);
173 
174  $userProviderList = new ilLTIConsumeProviderList();
175  $userProviderList->setAvailabilityFilter((string) ilLTIConsumeProvider::AVAILABILITY_CREATE);
176  $userProviderList->setScopeFilter(ilLTIConsumeProviderList::SCOPE_USER);
177  $userProviderList->setCreatorFilter($DIC->user()->getId());
178 
179  if ($form->getFilter('title')) {
180  $globalProviderList->setTitleFilter($form->getFilter('title'));
181  $userProviderList->setTitleFilter($form->getFilter('title'));
182  }
183 
184  if ($form->getFilter('category')) {
185  $globalProviderList->setCategoryFilter($form->getFilter('category'));
186  $userProviderList->setCategoryFilter($form->getFilter('category'));
187  }
188 
189  if ($form->getFilter('keyword')) {
190  $globalProviderList->setKeywordFilter($form->getFilter('keyword'));
191  $userProviderList->setKeywordFilter($form->getFilter('keyword'));
192  }
193 
194  if ($form->getFilter('outcome')) {
195  $globalProviderList->setHasOutcomeFilter(true);
196  $userProviderList->setHasOutcomeFilter(true);
197  }
198 
199  if ($form->getFilter('internal')) {
200  $globalProviderList->setIsExternalFilter(false);
201  $userProviderList->setIsExternalFilter(false);
202  }
203 
204  if ($form->getFilter('with_key')) {
205  $globalProviderList->setIsProviderKeyCustomizableFilter(false);
206  $userProviderList->setIsProviderKeyCustomizableFilter(false);
207  }
208 
209  $globalProviderList->load();
210  $userProviderList->load();
211 
212  $form->setData([...$globalProviderList->getTableData(), ...$userProviderList->getTableData()]);
213 
214  return $form;
215  }
buildProviderSelectionForm(string $a_new_type)
global $DIC
Definition: shib_login.php:25
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initShowToolConfig()

ilObjLTIConsumerGUI::initShowToolConfig ( string  $a_new_type,
int  $a_provider_id 
)

Definition at line 228 of file class.ilObjLTIConsumerGUI.php.

References $DIC, $provider, ILIAS\Repository\ctrl(), and ILIAS\Repository\lng().

Referenced by saveDynReg(), and showToolConfig().

229  {
230  global $DIC;
231 
232  //ToDo: Error Handling
233  $provider = new ilLTIConsumeProvider($a_provider_id);
234 
236 
237  $form->initToolConfigForm($this->ctrl->getFormAction($this, "cancelDynReg"), '', '');
238 
239  $form->clearCommandButtons();
240  $form->addCommandButton("saveDynReg", $this->lng->txt('save'));
241  $form->addCommandButton("cancelDynReg", $this->lng->txt("cancel"));
242 
243  $form->setTitle($DIC->language()->txt($a_new_type . '_custom_new'));
244 
245  return $form;
246  }
$provider
Definition: ltitoken.php:80
global $DIC
Definition: shib_login.php:25
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ isContentTabAvailable()

ilObjLTIConsumerGUI::isContentTabAvailable ( )

Definition at line 911 of file class.ilObjLTIConsumerGUI.php.

References ilLTIConsumeProvider\AVAILABILITY_NONE, and ILIAS\Repository\object().

Referenced by _goto(), and setTabs().

911  : bool
912  {
913  if (!$this->object->getOfflineStatus() &&
914  $this->object->getProvider()->getAvailability() != ilLTIConsumeProvider::AVAILABILITY_NONE) {
915  return true;
916  }
917  return false;
918  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ resetProviderFilter()

ilObjLTIConsumerGUI::resetProviderFilter ( )
protected

Definition at line 286 of file class.ilObjLTIConsumerGUI.php.

References buildProviderSelectionForm(), and ilObjectGUI\createObject().

286  : void
287  {
288  $form = $this->buildProviderSelectionForm('');
289  $form->resetFilter();
290  $this->createObject();
291  }
createObject()
create new object form
buildProviderSelectionForm(string $a_new_type)
+ Here is the call graph for this function:

◆ saveContentSelection()

ilObjLTIConsumerGUI::saveContentSelection ( ilLTIConsumeProvider  $provider,
string  $token 
)

Definition at line 544 of file class.ilObjLTIConsumerGUI.php.

References ilObjectGUI\$data, $provider, $refId, ilObject2GUI\$type, exit, ilObjLTIConsumer\getIliasHttpPath(), ilLTIConsumeProvider\getKeyType(), ilLTIConsumeProvider\getPublicKey(), ilLTIConsumeProvider\getPublicKeyset(), getRequestValue(), ilObjectFactory\getTypeByRefId(), and initMetadata().

Referenced by contentSelectionResponse().

544  : void
545  {
546  if ($provider->getKeyType() == 'RSA_KEY') {
547  $key = $provider->getPublicKey();
548  $keys = new Firebase\JWT\Key($key, "RS256");
549  } else {
550  $jwks = file_get_contents($provider->getPublicKeyset());
551  //ToDo: Errorhandling
552  $keyset = json_decode($jwks, true);
553  $keys = Firebase\JWT\JWK::parseKeySet($keyset);
554  }
555  $data = Firebase\JWT\JWT::decode($token, $keys);
556  //ilObjLTIConsumer::getLogger()->debug(var_export($data,TRUE));
557  $refId = $this->getRequestValue('ref_id');
558 
559  foreach ($data->{'https://purl.imsglobal.org/spec/lti-dl/claim/content_items'} as $item) {
560  $gui = new ilObjLTIConsumerGUI(0, self::REPOSITORY_NODE_ID, (int) $refId);
561  $description = "";
562  if (isset($item->description)) {
563  $description = $item->description;
564  }
565  $newObj = $gui->createNewObject('lti', $item->title, $description);
566  $dtpl = $gui->getDidacticTemplateVar("dtpl");
567  if ($dtpl) {
568  $newObj->applyDidacticTemplate($dtpl);
569  }
570 
571  $newObj->setProviderId($provider->getId());
572  $newObj->setProvider($provider);
573  // custom params
574  $customParams = [];
575  foreach ($item->{'custom'} as $key => $value) {
576  $customParams[] = $key . "=" . $value;
577  }
578  if (count($customParams) > 0) {
579  $newObj->setCustomParams(implode(";", $customParams));
580  }
581  $newObj->save();
582  $this->initMetadata($newObj);
583  }
585  $template = new ilTemplate('tpl.lti_content_selection_finished.html', true, true, 'components/ILIAS/LTIConsumer');
586  $redirect = ilObjLTIConsumer::getIliasHttpPath() . "/" . "goto.php?target=" . $type . "_" . $refId;
587  $template->setVariable("CONTENT_SELECTION_REDIRECT", $redirect);
588  echo $template->get();
589  exit;
590  }
$refId
Definition: xapitoken.php:56
static getTypeByRefId(int $ref_id, bool $stop_on_error=true)
get object type by reference id
$token
Definition: xapitoken.php:67
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ saveCustom()

ilObjLTIConsumerGUI::saveCustom ( )

Definition at line 306 of file class.ilObjLTIConsumerGUI.php.

References $DIC, afterSave(), createNewObject(), ilObjectGUI\getDidacticTemplateVar(), getRequestValue(), ilLTIConsumerAccess\hasCustomProviderCreationAccess(), and initCustomCreateForm().

306  : void
307  {
309  throw new ilLtiConsumerException('permission denied!');
310  }
311 
312  global $DIC;
313  /* @var \ILIAS\DI\Container $DIC */
314 
315  $new_type = $this->getRequestValue("new_type");
316 
317  $DIC->ctrl()->setParameter($this, "new_type", $new_type);
318 
319  $DIC->language()->loadLanguageModule($new_type);
320 
321  $form = $this->initCustomCreateForm($new_type);
322 
323  if ($form->checkInput()) {
324  $DIC->ctrl()->setParameter($this, "new_type", "");
325 
326  // create object
327  $newObj = $this->createNewObject(
328  $new_type,
329  $form->getInput('title'),
330  $form->getInput('desc')
331  );
332 
333  // apply didactic template?
334  $dtpl = $this->getDidacticTemplateVar("dtpl");
335  if ($dtpl) {
336  $newObj->applyDidacticTemplate($dtpl);
337  }
338 
339  $this->afterSave($newObj);
340 
341  return;
342  }
343 
344  $form->setValuesByPost();
345 
346  $DIC->ui()->mainTemplate()->setContent($form->getHtml());
347  }
createNewObject(string $newType, string $title, string $description)
getDidacticTemplateVar(string $type)
Get didactic template setting from creation screen.
initCustomCreateForm(string $a_new_type)
afterSave(\ilObject $newObject)
global $DIC
Definition: shib_login.php:25
+ Here is the call graph for this function:

◆ saveDynReg()

ilObjLTIConsumerGUI::saveDynReg ( )

Definition at line 416 of file class.ilObjLTIConsumerGUI.php.

References $DIC, $provider, ilSession\clear(), getRequestValue(), ilLTIConsumerAccess\hasCustomProviderCreationAccess(), and initShowToolConfig().

416  : void
417  {
418  global $DIC;
420  throw new ilLtiConsumerException('permission denied!');
421  }
422  $new_type = $this->getRequestValue("new_type");
423  $DIC->ctrl()->setParameter($this, "new_type", $new_type);
424  $provider_id = $this->getRequestValue("provider_id");
425  $DIC->ctrl()->setParameter($this, "provider_id", $provider_id);
426  $DIC->language()->loadLanguageModule($new_type);
427  ilSession::clear('lti_dynamic_registration_client_id');
428  ilSession::clear('lti_dynamic_registration_custom_params');
429  $form = $this->initShowToolConfig($new_type, (int) $provider_id);
430  $form->setValuesByPost();
431  if ($form->checkInput()) { // update only overridable fields
432  $provider = $form->getProvider();
433  $form->initProvider($provider);
434  $provider->update();
435  // jump to provider selection is one option:
436  // $DIC->ctrl()->redirectByClass([ilRepositoryGUI::class, ilObjLTIConsumerGUI::class],"create");
437  // direct redirection to save is onle less click (there is a switch for save | contentSelection in GUI class):
438  $DIC->ctrl()->redirectByClass([ilRepositoryGUI::class, ilObjLTIConsumerGUI::class], "save");
439  return;
440  }
441  $DIC->ui()->mainTemplate()->setContent($form->getHTML());
442  }
initShowToolConfig(string $a_new_type, int $a_provider_id)
$provider
Definition: ltitoken.php:80
global $DIC
Definition: shib_login.php:25
static clear(string $a_var)
+ Here is the call graph for this function:

◆ saveObject()

ilObjLTIConsumerGUI::saveObject ( )

Definition at line 102 of file class.ilObjLTIConsumerGUI.php.

References afterSave(), ilObject2GUI\checkPermissionBool(), ILIAS\Repository\ctrl(), ilObjectGUI\getDidacticTemplateVar(), initCreateForm(), ILIAS\Repository\lng(), and ilObject2GUI\putObjectInTree().

Referenced by checkContentSelection().

102  : void
103  {
104  // create permission is already checked in createObject. This check here is done to prevent hacking attempts
105  if (!$this->checkPermissionBool("create", "", $this->requested_new_type)) {
106  $this->error->raiseError($this->lng->txt("no_create_permission"), $this->error->MESSAGE);
107  }
108 
109  $this->lng->loadLanguageModule($this->requested_new_type);
110  $this->ctrl->setParameter($this, "new_type", $this->requested_new_type);
111 
112  $forms = $this->initCreateForm($this->requested_new_type);
113 
114  foreach ($forms as $form) {
115  if ($form->checkInput()) {
116  $this->ctrl->setParameter($this, "new_type", "");
117 
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();
124  $newObj->create();
125 
126  $this->putObjectInTree($newObj);
127 
128  $dtpl = $this->getDidacticTemplateVar("dtpl");
129  if ($dtpl) {
130  $newObj->applyDidacticTemplate($dtpl);
131  }
132 
133  $this->afterSave($newObj);
134  }
135 
136  $form->setValuesByPost();
137  $this->tpl->setContent($form->getHTML());
138  }
139 
140  }
getDidacticTemplateVar(string $type)
Get didactic template setting from creation screen.
putObjectInTree(ilObject $obj, int $parent_node_id=null)
Add object to tree at given position.
checkPermissionBool(string $perm, string $cmd="", string $type="", ?int $node_id=null)
afterSave(\ilObject $newObject)
initCreateForm(string $a_new_type)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setTabs()

ilObjLTIConsumerGUI::setTabs ( )
protected

Definition at line 920 of file class.ilObjLTIConsumerGUI.php.

References $DIC, ILIAS\Repository\ctrl(), isContentTabAvailable(), and ILIAS\Repository\object().

920  : void
921  {
922  global $DIC;
923 
924  /* @var \ILIAS\DI\Container $DIC */
925  $DIC->language()->loadLanguageModule('lti');
926 
927  if (isset($this->object) && $this->isContentTabAvailable()) {
928  $DIC->tabs()->addTab(
929  self::TAB_ID_CONTENT,
930  $DIC->language()->txt(self::TAB_ID_CONTENT),
931  $DIC->ctrl()->getLinkTargetByClass(ilLTIConsumerContentGUI::class)
932  );
933  }
934 
935  $DIC->tabs()->addTab(
936  self::TAB_ID_INFO,
937  $DIC->language()->txt(self::TAB_ID_INFO),
938  $this->ctrl->getLinkTargetByClass(ilInfoScreenGUI::class)
939  );
940 
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)
946  );
947  }
948 
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)
954  );
955  }
956 
957  if ($this->ltiAccess->hasHighscoreAccess()) {
958  //$DIC->language()->loadLanguageModule('lti');
959  $DIC->tabs()->addTab(
960  self::TAB_ID_SCORING,
961  $DIC->language()->txt(self::TAB_ID_SCORING),
962  $DIC->ctrl()->getLinkTargetByClass(ilLTIConsumerScoringGUI::class)
963  );
964  }
965 
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)
971  );
972  }
973 
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)
979  );
980  }
981 
982  if ($this->ltiAccess->hasWriteAccess()) {
983  $gui = new ilObjectMetaDataGUI($this->object);
984  $link = $gui->getTab();
985 
986  if (strlen($link)) {
987  $DIC->tabs()->addTab(
988  self::TAB_ID_METADATA,
989  $DIC->language()->txt('meta_data'),
990  $link
991  );
992  }
993  }
994 
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')
1000  );
1001  }
1002 
1003  // if (defined('DEVMODE') && DEVMODE) {
1004  // $DIC->tabs()->addTab(
1005  // 'debug',
1006  // 'DEBUG',
1007  // $DIC->ctrl()->getLinkTarget($this, 'debug')
1008  // );
1009  // }
1010  }
Class ilObjectMetaDataGUI.
global $DIC
Definition: shib_login.php:25
+ Here is the call graph for this function:

◆ showToolConfig()

ilObjLTIConsumerGUI::showToolConfig ( )

Definition at line 401 of file class.ilObjLTIConsumerGUI.php.

References $DIC, getRequestValue(), ilLTIConsumerAccess\hasCustomProviderCreationAccess(), and initShowToolConfig().

401  : void
402  {
403  global $DIC;
405  throw new ilLtiConsumerException('permission denied!');
406  }
407  $new_type = $this->getRequestValue("new_type");
408  $DIC->ctrl()->setParameter($this, "new_type", $new_type);
409  $provider_id = $this->getRequestValue("provider_id");
410  $DIC->ctrl()->setParameter($this, "provider_id", $provider_id);
411  $DIC->language()->loadLanguageModule($new_type);
412  $form = $this->initShowToolConfig($new_type, (int) $provider_id);
413  $DIC->ui()->mainTemplate()->setContent($form->getHTML());
414  }
initShowToolConfig(string $a_new_type, int $a_provider_id)
global $DIC
Definition: shib_login.php:25
+ Here is the call graph for this function:

◆ trackObjectReadEvent()

ilObjLTIConsumerGUI::trackObjectReadEvent ( )
protected

Definition at line 1074 of file class.ilObjLTIConsumerGUI.php.

References $DIC, $object, ilChangeEvent\_recordReadEvent(), ilLPStatusWrapper\_updateStatus(), ILIAS\Repository\ctrl(), ILIAS\UI\examples\Symbol\Glyph\Launch\launch(), and ILIAS\Repository\object().

Referenced by _goto().

1074  : void
1075  {
1076  global $DIC;
1077  /* @var \ILIAS\DI\Container $DIC */
1078 
1080  $this->object->getType(),
1081  $this->object->getRefId(),
1082  $this->object->getId(),
1083  $DIC->user()->getId()
1084  );
1085 
1086  ilLPStatusWrapper::_updateStatus($this->object->getId(), $DIC->user()->getId());
1087  }
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)
global $DIC
Definition: shib_login.php:25
static _updateStatus(int $a_obj_id, int $a_usr_id, ?object $a_obj=null, bool $a_percentage=false, bool $a_force_raise=false)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Field Documentation

◆ $lom_services

LOMServices ilObjLTIConsumerGUI::$lom_services
protected

Definition at line 60 of file class.ilObjLTIConsumerGUI.php.

◆ $ltiAccess

ilLTIConsumerAccess ilObjLTIConsumerGUI::$ltiAccess
protected

Definition at line 59 of file class.ilObjLTIConsumerGUI.php.

◆ $object

ilObject ilObjLTIConsumerGUI::$object = null

Definition at line 58 of file class.ilObjLTIConsumerGUI.php.

Referenced by _goto(), and trackObjectReadEvent().

◆ $parent_node_id

int ilObjLTIConsumerGUI::$parent_node_id = 0

Definition at line 62 of file class.ilObjLTIConsumerGUI.php.

◆ CFORM_CUSTOM_NEW

const ilObjLTIConsumerGUI::CFORM_CUSTOM_NEW = 99

Definition at line 43 of file class.ilObjLTIConsumerGUI.php.

◆ CFORM_DYNAMIC_REGISTRATION

const ilObjLTIConsumerGUI::CFORM_DYNAMIC_REGISTRATION = 98

Definition at line 44 of file class.ilObjLTIConsumerGUI.php.

◆ DEFAULT_CMD

const ilObjLTIConsumerGUI::DEFAULT_CMD = 'launch'

◆ TAB_ID_CONTENT

const ilObjLTIConsumerGUI::TAB_ID_CONTENT = 'tab_content'

Definition at line 47 of file class.ilObjLTIConsumerGUI.php.

◆ TAB_ID_GRADE_SYNCHRONIZATION

const ilObjLTIConsumerGUI::TAB_ID_GRADE_SYNCHRONIZATION = 'tab_grade_synchronization'

Definition at line 51 of file class.ilObjLTIConsumerGUI.php.

◆ TAB_ID_INFO

const ilObjLTIConsumerGUI::TAB_ID_INFO = 'tab_info'

Definition at line 46 of file class.ilObjLTIConsumerGUI.php.

◆ TAB_ID_LEARNING_PROGRESS

const ilObjLTIConsumerGUI::TAB_ID_LEARNING_PROGRESS = 'learning_progress'

Definition at line 53 of file class.ilObjLTIConsumerGUI.php.

◆ TAB_ID_METADATA

const ilObjLTIConsumerGUI::TAB_ID_METADATA = 'tab_metadata'

Definition at line 52 of file class.ilObjLTIConsumerGUI.php.

◆ TAB_ID_PERMISSIONS

const ilObjLTIConsumerGUI::TAB_ID_PERMISSIONS = 'perm_settings'

Definition at line 54 of file class.ilObjLTIConsumerGUI.php.

◆ TAB_ID_SCORING

const ilObjLTIConsumerGUI::TAB_ID_SCORING = 'tab_scoring'

Definition at line 50 of file class.ilObjLTIConsumerGUI.php.

◆ TAB_ID_SETTINGS

const ilObjLTIConsumerGUI::TAB_ID_SETTINGS = 'tab_settings'

Definition at line 48 of file class.ilObjLTIConsumerGUI.php.

◆ TAB_ID_STATEMENTS

const ilObjLTIConsumerGUI::TAB_ID_STATEMENTS = 'tab_statements'

Definition at line 49 of file class.ilObjLTIConsumerGUI.php.


The documentation for this class was generated from the following file: