30     protected \ILIAS\ItemGroup\InternalGUIService 
$gui;
    37         int $a_id_type = self::REPOSITORY_NODE_ID,
    38         int $a_parent_node_id = 0
    43         $this->
lng = $DIC->language();
    44         $this->
tabs = $DIC->tabs();
    45         $this->
access = $DIC->access();
    46         $this->tpl = $DIC[
"tpl"];
    47         $this->
ctrl = $DIC->ctrl();
    48         $this->
locator = $DIC[
"ilLocator"];
    49         $this->tree = $DIC->repositoryTree();
    50         $this->
help = $DIC[
"ilHelp"];
    51         $this->gui = $DIC->itemGroup()->internal()->gui();
    52         $this->ig_request = $this->gui
    61         $this->
ctrl->saveParameter($this, array(
"ref_id"));
    72         $next_class = $this->
ctrl->getNextClass($this);
    74         switch ($next_class) {
    75             case 'ilpermissiongui':
    77                 $ilTabs->activateTab(
"perm_settings");
    80                 $this->
ctrl->forwardCommand($perm_gui);
    83             case "ilcommonactiondispatchergui":
    85                 $this->
ctrl->forwardCommand($gui);
    88             case 'ilobjecttranslationgui':
    93                 $transgui->setEnableFallbackLanguage(
false);
    94                 $transgui->supportContentTranslation(
false);
    95                 $transgui->hideDescription(
true);
    96                 $this->
ctrl->forwardCommand($transgui);
    99             case 'ildidactictemplategui':
   102                 $this->
ctrl->setReturn($this, 
'edit');
   104                 $this->
ctrl->forwardCommand($did);
   108                 $cmd = $this->
ctrl->getCmd(
"listMaterials");
   121         if (is_object($this->
object) && $ilAccess->checkAccess(
"write", 
"", $this->object->getRefId())) {
   135         $pres->setTitle($this->
lng->txt(
'obj_presentation'));
   140         $cb->setInfo($this->
lng->txt(
"itgr_show_title_info"));
   146         $si->
setInfo($this->
lng->txt(
"itgr_behaviour_info"));
   147         $si->setOptions($options);
   148         $cb->addSubItem($si);
   154         $std_list->
setInfo($this->
lng->txt(
'itgr_list_default_info'));
   155         $lpres->addOption($std_list);
   158         $lpres->addOption($item_list);
   161         $lpres->addOption($tile_view);
   166         $this->
lng->loadLanguageModule(
"cont");
   167         foreach ($dummy_container->getTileSizes() as $key => 
$txt) {
   171         $tile_view->addSubItem($si);
   172         $si->setValue($this->
object->getTileSize());
   174         $lpres->setValue($this->
object->getListPresentation());
   181             $this->error->raiseError($this->
lng->txt(
"msg_no_perm_write"), $this->error->MESSAGE);
   184         $this->tabs_gui->activateTab(
"settings");
   189             $form->setValuesByArray($values, 
true);
   194         $this->tpl->setContent($form->getHTML());
   206         if ($new_tpl_id !== $current_tpl_id) {
   207             $this->
ctrl->setParameterByClass(ilDidacticTemplateGUI::class, 
"didactic_type", $new_tpl_id);
   208             $this->
ctrl->redirectByClass(ilDidacticTemplateGUI::class, 
"confirmTemplateSwitch");
   211         parent::afterUpdate();
   222         $ilTabs->activateTab(
"materials");
   226         $parent_gui_class = 
'ilObj' . $this->obj_definition->getClassName($parent_type) . 
'GUI';
   227         $this->
ctrl->setParameterByClass($parent_gui_class, 
'ref_id', $parent_ref_id);
   236         $this->
ctrl->clearParameterByClass($parent_gui_class, 
'ref_id');
   244         $parent_ref_id = $this->tree->getParentId($this->
object->getRefId());
   246         $parent_gui_class = 
'ilObj' . $this->obj_definition->getClassName($parent_type) . 
'GUI';
   247         $parent_gui = 
new $parent_gui_class(
'', $parent_ref_id, 
true, 
false);
   248         $types = $parent_gui->getCreatableObjectTypes();
   249         foreach (array_merge([
'itgr', 
'sess' ], $this->obj_definition->getSideBlockTypes()) as $type_to_remove) {
   250             unset($types[$type_to_remove]);
   262         $items = $this->ig_request->
getItems();
   263         $item_group_items->setItems($items);
   264         $item_group_items->update();
   266         $this->tpl->setOnScreenMessage(
'success', $this->
lng->txt(
'msg_obj_modified'), 
true);
   267         $ilCtrl->redirect($this, 
"listMaterials");
   272         $this->tpl->loadStandardTemplate();
   283         $ilHelp->setScreenIdComponent(
"itgr");
   289         $ilTabs->setBackTarget(
   290             $lng->
txt(
'obj_' . $parent_type),
   291             ilLink::_getLink($parent_ref_id),
   295         if ($ilAccess->checkAccess(
"write", 
"", $this->object->getRefId())) {
   299                 $this->
ctrl->getLinkTarget($this, 
'listMaterials')
   305                 $this->
ctrl->getLinkTarget($this, 
'edit')
   309         if ($ilAccess->checkAccess(
"edit_permission", 
"", $this->object->getRefId())) {
   313                 $this->
ctrl->getLinkTargetByClass(array(get_class($this),
'ilpermissiongui'), 
"perm")
   320         $this->tabs_gui->addSubTab(
   322             $this->
lng->txt(
"settings"),
   323             $this->
ctrl->getLinkTarget($this, 
"edit")
   326         $this->tabs_gui->addSubTab(
   328             $this->
lng->txt(
"obj_multilinguality"),
   329             $this->
ctrl->getLinkTargetByClass(
"ilobjecttranslationgui", 
"")
   331         $this->tabs_gui->activateTab(
"settings");
   332         $this->tabs_gui->activateSubTab($active_tab);
   335     public static function _goto(
string $a_target): void
   338         $main_tpl = $DIC->ui()->mainTemplate();
   340         $ilAccess = $DIC->access();
   341         $lng = $DIC->language();
   342         $tree = $DIC->repositoryTree();
   344         $targets = explode(
'_', $a_target);
   348         if ($ilAccess->checkAccess(
"read", 
"", $par_id)) {
   352             $main_tpl->setOnScreenMessage(
'failure', sprintf(
   353                 $lng->
txt(
"msg_no_perm_read_item"),
   367         $ref_id = $this->
object->getRefId();
   370         if ($ilAccess->checkAccess(
"read", 
"", $par_id)) {
   392         $a_values[
"show_title"] = !$this->
object->getHideTitle();
   393         $a_values[
"behaviour"] = $this->
object->getBehaviour();
   394         $a_values[
"list_presentation"] = $this->
object->getListPresentation();
   395         $a_values[
"tile_size"] = $this->
object->getTileSize();
   400         $this->
object->setHideTitle(!$form->
getInput(
"show_title"));
   401         $behaviour = ($form->
getInput(
"show_title"))
   404         $this->
object->setBehaviour($behaviour);
   405         $this->
object->setListPresentation($form->
getInput(
"list_presentation"));
   406         $this->
object->setTileSize($form->
getInput(
"tile_size"));
   415         $form_fields[
'title'] = $this->ui_factory->input()->field()->text($this->
lng->txt(
'title'))
   417             ->withRequired(
true);
   421         if ($didactic_templates !== null) {
   422             $form_fields[
'didactic_templates'] = $didactic_templates;
   425         return $this->ui_factory->input()->container()->form()->standard(
   426             $this->
ctrl->getFormAction($this, 
'save'),
   428         )->withSubmitLabel($this->
lng->txt($new_type . 
'_add'));
   435             $this->error->raiseError($this->
lng->txt(
"no_create_permission"), $this->error->MESSAGE);
   438         $this->
lng->loadLanguageModule($this->requested_new_type);
   439         $this->
ctrl->setParameter($this, 
"new_type", $this->requested_new_type);
   442         $data = $form->withRequest($this->request)->getData();
   443         if (
$data === null) {
   448         $this->
ctrl->setParameter($this, 
'new_type', 
'');
   451         $new_obj->setType($this->requested_new_type);
   452         $new_obj->processAutoRating();
   453         $new_obj->setTitle(
$data[
'title']);
   458         $dtpl = 
$data[
'didactic_templates'] ?? null;
   459         if ($dtpl !== null) {
   461             $new_obj->applyDidacticTemplate($dtpl_id);
   464         $this->
ctrl->setParameterByClass(self::class, 
'ref_id', $new_obj->getRefId());
   465         $this->tpl->setOnScreenMessage(
'success', $this->
lng->txt(
"object_added"), 
true);
   466         $this->
ctrl->redirectByClass(self::class, 
"listMaterials");
 
checkPermission(string $perm, string $cmd="", string $type="", int $ref_id=null)
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
ILIAS ItemGroup InternalGUIService $gui
 
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. 
 
getCreationFormsHTML(StandardForm|ilPropertyFormGUI|array $form)
 
getCreatableObjectTypes()
 
Interface Observer  Contains several chained tasks and infos about them. 
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
getDidacticTemplateVar(string $type)
Get didactic template setting from creation screen. 
 
initEditCustomForm(ilPropertyFormGUI $form)
 
setSettingsSubTabs(string $active_tab="general")
 
prepareOutput(bool $show_sub_objects=true)
 
loadLanguageModule(string $a_module)
Load language module. 
 
putObjectInTree(ilObject $obj, int $parent_node_id=null)
Add object to tree at given position. 
 
getEditFormCustomValues(array &$a_values)
Get edit form values (custom part) 
 
addExternalEditFormCustom(ilPropertyFormGUI $form)
 
static _lookupObjId(int $ref_id)
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
static lookupTemplateId(int $a_ref_id)
 
addItem(int $a_item_ref_id)
 
checkPermissionBool(string $perm, string $cmd="", string $type="", ?int $node_id=null)
 
static _lookupTitle(int $obj_id)
 
setContent(string $a_html)
Sets content for standard template. 
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
initDidacticTemplate(ilPropertyFormGUI $form)
 
ilGlobalTemplateInterface $tpl
 
static getAll()
Get all behaviours. 
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
initCreateForm(string $new_type)
 
getParentId(int $a_node_id)
get parent id of given node 
 
static redirect(string $a_script)
 
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
 
buildAddNewItemElements(array $subtypes, string $create_target_class=ilRepositoryGUI::class, ?int $redirect_target_ref_id=null,)
 
Render add new item selector. 
 
User Interface class for item groups. 
 
__construct(Container $dic, ilPlugin $plugin)
 
updateCustom(ilPropertyFormGUI $form)
 
__construct(int $a_id=0, int $a_id_type=self::REPOSITORY_NODE_ID, int $a_parent_node_id=0)
 
didacticTemplatesToForm()
 
static _lookupType(int $id, bool $reference=false)
 
static _goto(string $a_target)
 
parseDidacticTemplateVar(string $var, string $type)
 
addHeaderAction()
Add header action menu. 
 
afterSaveCallback(ilObject $a_obj)
Custom callback after object is created (in parent container) 
 
StandardGUIRequest $ig_request
 
static getInstanceFromAjaxCall()
(Re-)Build instance from ajax call 
 
GUI class for object translation handling. 
 
static _gotoRepositoryRoot(bool $raise_error=false)
Goto repository root.