3 declare(strict_types=1);
41 bool $a_call_by_reference =
true,
42 bool $a_prepare_output =
false 46 $this->tree = $DIC->repositoryTree();
47 $this->
tabs = $DIC->tabs();
48 $this->
user = $DIC->user();
49 $this->
ctrl = $DIC->ctrl();
50 $this->
lng = $DIC->language();
51 $this->
access = $DIC->access();
52 $this->rbacsystem = $DIC->rbac()->system();
53 $this->
help = $DIC[
"ilHelp"];
54 $this->error = $DIC[
"ilErr"];
55 $this->tpl = $DIC[
"tpl"];
59 $this->
lng->loadLanguageModule(
"obj");
60 $this->folder_request = $DIC
71 if (strtolower($this->folder_request->getBaseClass()) ===
"iladministrationgui") {
80 $this->
object->getRefId(),
85 $this->tabs_gui->setTabActive(
'view_content');
94 $ilTabs->activateTab(
"view_content");
95 parent::renderObject();
101 $next_class = $this->
ctrl->getNextClass($this);
102 $cmd = $this->
ctrl->getCmd();
104 $header_action =
true;
105 switch ($next_class) {
106 case strtolower(ilRepositoryTrashGUI::class):
108 $this->
ctrl->setReturn($this,
'trash');
109 $this->
ctrl->forwardCommand($ru);
112 case 'ilpermissiongui':
114 $this->tabs_gui->activateTab(
'perm_settings');
116 $ret = $this->
ctrl->forwardCommand($perm_gui);
120 case 'ilcoursecontentgui':
123 $this->
ctrl->forwardCommand($course_content_obj);
126 case "illearningprogressgui":
131 $this->
object->getRefId(),
132 $this->folder_request->getUserId() ?: $ilUser->getId()
134 $this->
ctrl->forwardCommand($new_gui);
135 $this->tabs_gui->setTabActive(
'learning_progress');
139 case "ilcontainerpagegui":
143 $this->tpl->setContent($ret);
145 $header_action =
false;
148 case 'ilinfoscreengui':
153 case 'ilobjectcopygui':
157 $cp->setType(
'fold');
158 $this->
ctrl->forwardCommand($cp);
161 case "ilobjectcontentstylesettingsgui":
165 $settings_gui = $this->content_style_gui
166 ->objectSettingsGUIForRefId(
170 $this->
ctrl->forwardCommand($settings_gui);
176 $this->tabs_gui->setTabActive(
'export');
178 $exp->addFormat(
'xml');
179 $this->
ctrl->forwardCommand($exp);
182 case "ilcommonactiondispatchergui":
188 case 'ildidactictemplategui':
189 $this->
ctrl->setReturn($this,
'edit');
191 $this->
ctrl->forwardCommand($did);
194 $this->tabs_gui->setTabActive(
'none');
199 case 'ilobjecttranslationgui':
204 $this->
ctrl->forwardCommand($transgui);
222 if ($header_action) {
229 $this->folder_tree = $a_tree;
247 $ti->setRequired(
true);
260 $pres->setTitle($this->
lng->txt(
'fold_presentation'));
264 $form = $obj_service->commonSettings()->legacyForm(
$form, $this->
object)->addTitleIconVisibility();
267 $form = $obj_service->commonSettings()->legacyForm(
$form, $this->
object)->addTopActionsVisibility();
270 $form = $obj_service->commonSettings()->legacyForm(
$form, $this->
object)->addIcon();
273 $form = $obj_service->commonSettings()->legacyForm(
$form, $this->
object)->addTileImage();
307 $obj_service->commonSettings()->legacyForm($form, $this->
object)->saveTitleIconVisibility();
310 $obj_service->commonSettings()->legacyForm($form, $this->
object)->saveTopActionsVisibility();
313 $obj_service->commonSettings()->legacyForm($form, $this->
object)->saveIcon();
316 $obj_service->commonSettings()->legacyForm($form, $this->
object)->saveTileImage();
331 $this->
ctrl->redirectByClass(ilInfoScreenGUI::class,
"showSummary");
341 $this->tpl->setOnScreenMessage(
'success', $this->
lng->txt(
"fold_added"),
true);
342 $this->
ctrl->setParameter($this,
"ref_id", $new_object->
getRefId());
353 $this->
ctrl->redirectByClass(ilInfoScreenGUI::class,
"showSummary");
363 if (!$ilAccess->checkAccess(
"visible",
"", $this->ref_id)) {
369 $GLOBALS[
'ilTabs']->activateTab(
'info_short');
371 $info->enablePrivateNotes();
373 if ($ilAccess->checkAccess(
"read",
"", $this->requested_ref_id)) {
378 $info->enableNewsEditing(
false);
379 if ($ilAccess->checkAccess(
"write",
"", $this->requested_ref_id)) {
381 $enable_internal_rss = $news_set->get(
"enable_rss_for_internal");
383 if ($enable_internal_rss) {
384 $info->setBlockProperty(
"news",
"settings",
'1');
385 $info->setBlockProperty(
"news",
"public_notifications_option",
'1');
391 $info->addMetaDataSections($this->
object->getId(), 0, $this->
object->getType());
394 $this->
ctrl->forwardCommand($info);
405 $this->
ctrl->setParameter($this,
"ref_id", $this->ref_id);
407 $ilHelp->setScreenIdComponent(
"fold");
409 $this->tabs_gui->setTabActive(
"");
410 if ($ilAccess->checkAccess(
'read',
'', $this->ref_id)) {
411 $this->tabs_gui->addTab(
414 $this->
ctrl->getLinkTarget($this,
"")
418 $force_active = $this->
ctrl->getNextClass() ===
"ilinfoscreengui" 419 || strtolower($this->
ctrl->getCmdClass()) ===
"ilnotegui";
420 $this->tabs_gui->addTarget(
422 $this->
ctrl->getLinkTargetByClass(
423 [
"ilobjfoldergui",
"ilinfoscreengui"],
426 [
"showSummary",
"",
"infoScreen"],
435 $this->tabs_gui->addTarget(
437 $this->
ctrl->getLinkTarget($this,
"edit"),
441 ($ilCtrl->getCmd() ===
"edit")
447 $this->tabs_gui->addTarget(
449 $this->
ctrl->getLinkTargetByClass([
'ilobjfoldergui',
'illearningprogressgui'],
''),
451 [
'illplistofobjectsgui',
'illplistofsettingsgui',
'illearningprogressgui',
'illplistofprogressgui']
455 if ($ilAccess->checkAccess(
'write',
'', $this->object->getRefId())) {
456 $this->tabs_gui->addTarget(
458 $this->
ctrl->getLinkTargetByClass(
'ilexportgui',
''),
466 $this->tabs_gui->addTarget(
468 $this->
ctrl->getLinkTargetByClass([get_class($this),
'ilpermissiongui'],
"perm"),
469 [
"perm",
"info",
"owner"],
478 public static function _goto($a_target): void
482 $ilAccess = $DIC->access();
484 $lng = $DIC->language();
486 $a_target = (
int) $a_target;
488 if ($ilAccess->checkAccess(
"read",
"", $a_target)) {
491 if ($ilAccess->checkAccess(
"visible",
"", $a_target)) {
506 'ilcoursecontentgui',
543 $this->
ctrl->redirectByClass(ilCourseContentGUI::class,
'editUserTimings');
556 $ilTabs->activateTab(
"settings");
559 $ilErr->raiseError($this->
lng->txt(
"msg_no_perm_write"),
$ilErr->MESSAGE);
578 $this->
ctrl->getLinkTarget($this,
'edit')
581 $this->tabs_gui->addSubTab(
583 $this->
lng->txt(
"obj_multilinguality"),
584 $this->
ctrl->getLinkTargetByClass(
"ilobjecttranslationgui",
"")
587 $ilTabs->activateSubTab($a_tab);
588 $ilTabs->activateTab(
"settings");
593 $this->tabs_gui->activateTab(
'view_content');
594 parent::deleteObject(
$error);
static get(string $a_var)
StandardGUIRequest $folder_request
afterSave(ilObject $new_object)
showPossibleSubObjects()
show possible sub objects selection list
saveSortingSettings(ilPropertyFormGUI $form)
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...
GUI class for the workflow of copying objects.
prepareOutput(bool $show_sub_objects=true)
setFolderTree(ilTree $a_tree)
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 sav...
showSummaryObject()
this one is called from the info button in the repository not very nice to set cmdClass/Cmd manually...
static _gotoRepositoryNode(int $ref_id, string $cmd="")
loadLanguageModule(string $a_module)
Load language module.
static checkAccess(int $a_ref_id, bool $a_allow_only_read=true)
check access to learning progress
static _lookupViewMode(int $a_id)
static _lookupObjId(int $ref_id)
static _tracProgress(int $a_user_id, int $a_obj_id, int $a_ref_id, string $a_obj_type='')
setSubTabs(string $a_tab)
checkAccess(string $a_operations, int $a_ref_id, string $a_type="")
checkAccess represents the main method of the RBAC-system in ILIAS3 developers want to use With this ...
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...
checkForParentType(int $a_ref_id, string $a_type, bool $a_exclude_source_check=false)
Check for parent type e.g check if a folder (ref_id 3) is in a parent course obj => checkForParentTyp...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
modifyItemGUI(ilObjectListGUI $a_item_list_gui, array $a_item_data)
initDidacticTemplate(ilPropertyFormGUI $form)
Repository GUI Utilities.
static _modifyItemGUI(ilObjectListGUI $a_item_list_gui, string $a_cmd_class, array $a_item_data, bool $a_abo_status, int $a_course_ref_id, int $a_course_obj_id, int $a_parent_ref_id=0)
saveListPresentation(ilPropertyFormGUI $form)
checkPermissionBool(string $perm, string $cmd="", string $type="", ?int $ref_id=null)
buildAddNewItemElements(array $subtypes, string $create_target_class=ilRepositoryGUI::class, ?int $redirect_target_ref_id=null,)
updateCustom(ilPropertyFormGUI $form)
Render add new item selector.
infoScreenObject()
this one is called from the info button in the repository not very nice to set cmdClass/Cmd manually...
initListPresentationForm(ilPropertyFormGUI $form)
Add list presentation settings to form.
initSortingForm(ilPropertyFormGUI $form, array $a_sorting_settings)
Append sorting settings to property form.
__construct(Container $dic, ilPlugin $plugin)
const LP_CONTEXT_REPOSITORY
This class represents a text area property in a property form.
Class ilCourseContentGUI.
getEditFormCustomValues(array &$a_values)
__construct( $a_data, int $a_id=0, bool $a_call_by_reference=true, bool $a_prepare_output=false)
ILIAS Container InternalGUIService $gui
Class ilContainerGUI This is a base GUI class for all container objects in ILIAS: root folder...
getCreatableObjectTypes()
static _lookupAboStatus(int $a_id)
static _goto($a_target)
goto target group
addHeaderAction()
Add header action menu.
deleteObject(bool $error=false)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
checkPermission(string $perm, string $cmd="", string $type="", ?int $ref_id=null)
static set(string $a_var, $a_val)
Set a value.
static getInstanceFromAjaxCall()
(Re-)Build instance from ajax call
GUI class for object translation handling.