36         int $a_id_type = self::REPOSITORY_NODE_ID,
    37         int $a_parent_node_id = 0
    42         $this->slot_request = $DIC->repository()
    48         $this->
ctrl = $DIC->ctrl();
    49         $this->tpl = $DIC[
"tpl"];
    50         $this->
access = $DIC->access();
    51         $this->
lng = $DIC->language();
    52         $this->nav_history = $DIC[
"ilNavigationHistory"];
    53         $this->
tabs = $DIC->tabs();
    54         $this->
locator = $DIC[
"ilLocator"];
    55         $this->
user = $DIC->user();
    56         $this->component_factory = $DIC[
"component.factory"];
    57         $this->component_repository = $DIC[
"component.repository"];
    80             if (strtolower($this->slot_request->getBaseClass()) !== 
"iladministrationgui") {
    89             if ($ilAccess->checkAccess(
'read', 
'', $this->object->getRefId())) {
    90                 $ilNavigationHistory->addItem(
    92                     ilLink::_getLink($this->
object->getRefId(), $this->
object->getType()),
   101                     $this->slot_request->getRefId()
   104                     $this->slot_request->getRefId(),
   111         $next_class = $this->
ctrl->getNextClass($this);
   112         $cmd = $this->
ctrl->getCmd();
   114         switch ($next_class) {
   115             case "ilinfoscreengui":
   120             case 'ilpermissiongui':
   122                 $ilTabs->setTabActive(
"perm_settings");
   123                 $ilCtrl->forwardCommand($perm_gui);
   126             case 'ilobjectcopygui':
   128                 $cp->setType($this->
getType());
   129                 $this->
ctrl->forwardCommand($cp);
   134                 $this->
tabs->setTabActive(
"export");
   136                 $exp->addFormat(
'xml');
   137                 $this->
ctrl->forwardCommand($exp);
   140             case 'illearningprogressgui':
   141                 $user_id = $this->
user->getId();
   142                 if ($this->slot_request->getUserId() > 0 && $this->
access->checkAccess(
   147                     $user_id = $this->slot_request->getUserId();
   149                 $ilTabs->setTabActive(
"learning_progress");
   152                     $this->
object->getRefId(),
   155                 $this->
ctrl->forwardCommand($new_gui);
   157             case 'ilcommonactiondispatchergui':
   159                 $this->
ctrl->forwardCommand($gui);
   169                 if ($cmd === 
"infoScreen") {
   170                     $ilCtrl->setCmd(
"showSummary");
   171                     $ilCtrl->setCmdClass(
"ilinfoscreengui");
   190                 $this->
object->getTitle(),
   193                 $this->slot_request->getRefId()
   204         if (!$this->plugin) {
   205             $this->plugin = $this->component_factory->getPlugin($this->
getType());
   210     final protected function txt(
string $a_var): string
   220         switch ($a_form_type) {
   221             case self::CFORM_NEW:
   224             case self::CFORM_IMPORT:
   225                 return $this->
lng->txt(
"import");
   227             case self::CFORM_CLONE:
   228                 return $this->
txt(
"objs_" . $this->
getType() . 
"_duplicate");
   263         $form->setTarget(
"_top");
   264         $form->setFormAction($this->
ctrl->getFormAction($this, 
"save"));
   265         $form->setTitle($this->
txt($new_type . 
"_new"));
   271         $ti->setRequired(
true);
   280         $form->addCommandButton(
"save", $this->
txt($new_type . 
"_add"));
   281         $form->addCommandButton(
"cancel", $this->
lng->txt(
"cancel"));
   295         $form->setTarget(
"_top");
   296         $form->setFormAction($ilCtrl->getFormAction($this, 
"update"));
   297         $form->setTitle(
$lng->
txt(
"edit"));
   303         $ti->setRequired(
true);
   312         $form->addCommandButton(
"update", 
$lng->
txt(
"save"));
   326         $form->setTarget(
"_top");
   327         $form->setFormAction($this->
ctrl->getFormAction($this, 
"importFile"));
   328         $form->setTitle($this->
lng->txt(
"import"));
   332         $fi->setRequired(
true);
   335         $form->addCommandButton(
"importFile", $this->
lng->txt(
"import"));
   336         $form->addCommandButton(
"cancel", $this->
lng->txt(
"cancel"));
   345         $this->tpl->setOnScreenMessage(
'success', $this->
lng->txt(
"object_added"), 
true);
   348         $ilCtrl->setParameterByClass(get_class($this), 
"ref_id", $new_object->
getRefId());
   349         $ilCtrl->redirectByClass([
"ilobjplugindispatchgui", get_class($this)], $this->
getAfterCreationCmd());
   367         if ($ilAccess->checkAccess(
'visible', 
"", $this->object->getRefId())) {
   370                 $this->
ctrl->getLinkTargetByClass(
   386         if ($ilAccess->checkAccess(
'edit_permission', 
"", $this->object->getRefId())) {
   389                 $ilCtrl->getLinkTargetByClass(
"ilpermissiongui", 
"perm"),
   390                 [
"perm", 
"info", 
"owner"],
   402         if ($ilAccess->checkAccess(
'visible', 
"", $this->object->getRefId())) {
   405                 $this->
ctrl->getLinkTargetByClass(
   417         if ($this->
access->checkAccess(
'write', 
"", $this->object->getRefId())) {
   418             $this->
tabs->addTarget(
   420                 $this->
ctrl->getLinkTargetByClass(
"ilexportgui", 
''),
   438         $info->enablePrivateNotes();
   446         $ilCtrl->forwardCommand($info);
   459     public static function _goto(array $a_target): void
   462         $main_tpl = $DIC->ui()->mainTemplate();
   464         $ilCtrl = $DIC->ctrl();
   465         $ilAccess = $DIC->access();
   466         $lng = $DIC->language();
   468         $t = explode(
"_", $a_target[0]);
   470         $class_name = $a_target[1];
   472         if ($ilAccess->checkAccess(
"read", 
"", 
$ref_id)) {
   473             $ilCtrl->setTargetScript(
'ilias.php');
   474             $ilCtrl->setParameterByClass($class_name, 
"ref_id", 
$ref_id);
   475             $ilCtrl->redirectByClass([
"ilobjplugindispatchgui", $class_name], 
"");
   476         } elseif ($ilAccess->checkAccess(
"visible", 
"", 
$ref_id)) {
   477             $ilCtrl->setTargetScript(
'ilias.php');
   478             $ilCtrl->setParameterByClass($class_name, 
"ref_id", 
$ref_id);
   479             $ilCtrl->redirectByClass([
"ilobjplugindispatchgui", $class_name], 
"infoScreen");
   481             $main_tpl->setOnScreenMessage(
'failure', sprintf(
   482                 $lng->
txt(
"msg_no_perm_read_item"),
   493         return $component_repository->
getPluginSlotById(
"robj")->getPluginByName($this->
getPlugin()->getPluginName())->supportsExport();
   499             $this->slot_request->getRefId()
 
printToStdout(string $part=self::DEFAULT_BLOCK, bool $has_tabs=true, bool $skip_main_menu=false)
 
checkPermission(string $perm, string $cmd="", string $type="", int $ref_id=null)
 
ilNavigationHistory $nav_history
 
Readable part of repository interface to ilComponentDataDB. 
 
setLocator()
Insert locator. 
 
static _getIcon(int $obj_id=0, string $size="big", string $type="", bool $offline=false)
Get icon for repository item. 
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
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...
 
New implementation of ilObjectGUI. 
 
GUI class for the workflow of copying objects. 
 
ilComponentRepository $component_repository
 
addTarget(string $a_text, string $a_link, $a_cmd="", $a_cmdClass="", string $a_frame="", bool $a_activate=false, bool $a_dir_text=false)
 
afterSave(ilObject $new_object)
 
performCommand(string $cmd)
 
initCreationForms(string $new_type)
Init creation forms this will create the default creation forms: new, import, clone. 
 
initCreateForm(string $new_type)
Init object creation form. 
 
getCreationFormTitle(int $a_form_type)
Use custom creation form titles. 
 
loadLanguageModule(string $a_module)
Load language module. 
 
lookupParentTitleInCreationMode()
 
setTitleIcon(string $a_icon_path, string $a_icon_desc="")
set title icon 
 
static _goto(array $a_target)
 
getPlugin()
Get plugin object. 
 
static _lookupObjId(int $ref_id)
 
Object GUI class for repository plugins. 
 
Export User Interface Class. 
 
getAfterCreationCmd()
Cmd that will be redirected to after creation of a new object. 
 
initImportForm(string $new_type)
Init object import form. 
 
ilComponentFactory $component_factory
 
static _lookupTitle(int $obj_id)
 
getType()
Functions that must be overwritten. 
 
getPluginSlotById(string $id)
Get pluginslot by id. 
 
__construct(int $id=0, int $id_type=self::REPOSITORY_NODE_ID, int $parent_node_id=0)
 
ilGlobalTemplateInterface $tpl
 
loadStandardTemplate()
This loads the standard template "tpl.adm_content.html" and "tpl.statusline.html" the CONTENT and STA...
 
setTitle(string $a_title, bool $hidden=false)
Sets title in standard template. 
 
Last visited history for repository items. 
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
setTabs()
create tabs (repository/workspace switch) 
 
addInilPluginAdminfoTab()
 
activateTab(string $a_id)
 
setTargetScript(string $a_target_script)
 
const LP_CONTEXT_REPOSITORY
 
This class represents a text area property in a property form. 
 
PluginSlotGUIRequest $slot_request
 
initEditForm()
Init object update form. 
 
addItem(string $a_title, string $a_link, string $a_frame="", int $a_ref_id=0, ?string $type=null)
 
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output. 
 
static _lookupType(int $id, bool $reference=false)
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
addAdminLocatorItems(bool $do_not_add_object=false)
 
static getInstanceFromAjaxCall()
(Re-)Build instance from ajax call 
 
addInfoItems(ilInfoScreenGUI $info)
Add items to info screen. 
 
setAdminTabs()
set admin tabs 
 
static _gotoRepositoryRoot(bool $raise_error=false)
Goto repository root.