19 declare(strict_types=1);
45 bool $a_call_by_reference =
true,
46 bool $a_prepare_output =
false 50 $this->tree = $DIC->repositoryTree();
51 $this->
tabs = $DIC->tabs();
52 $this->
user = $DIC->user();
53 $this->
ctrl = $DIC->ctrl();
54 $this->
lng = $DIC->language();
55 $this->
access = $DIC->access();
56 $this->rbacsystem = $DIC->rbac()->system();
57 $this->
help = $DIC[
"ilHelp"];
58 $this->error = $DIC[
"ilErr"];
59 $this->tpl = $DIC[
"tpl"];
63 $this->
lng->loadLanguageModule(
"obj");
64 $this->folder_request = $DIC
75 if (strtolower($this->folder_request->getBaseClass()) ===
"iladministrationgui") {
84 $this->
object->getRefId(),
89 $this->tabs_gui->setTabActive(
'view_content');
98 $ilTabs->activateTab(
"view_content");
99 parent::renderObject();
105 $next_class = $this->
ctrl->getNextClass($this);
106 $cmd = $this->
ctrl->getCmd();
108 $header_action =
true;
109 switch ($next_class) {
110 case strtolower(ilRepositoryTrashGUI::class):
112 $this->
ctrl->setReturn($this,
'trash');
113 $this->
ctrl->forwardCommand($ru);
116 case 'ilpermissiongui':
118 $this->tabs_gui->activateTab(
'perm_settings');
120 $ret = $this->
ctrl->forwardCommand($perm_gui);
124 case 'ilcoursecontentgui':
127 $this->
ctrl->forwardCommand($course_content_obj);
130 case "illearningprogressgui":
135 $this->
object->getRefId(),
136 $this->folder_request->getUserId() ?: $ilUser->getId()
138 $this->
ctrl->forwardCommand($new_gui);
139 $this->tabs_gui->setTabActive(
'learning_progress');
143 case "ilcontainerpagegui":
147 $this->tpl->setContent($ret);
149 $header_action =
false;
152 case 'ilinfoscreengui':
157 case 'ilobjectcopygui':
161 $cp->setType(
'fold');
162 $this->
ctrl->forwardCommand($cp);
165 case "ilobjectcontentstylesettingsgui":
169 $settings_gui = $this->content_style_gui
170 ->objectSettingsGUIForRefId(
174 $this->
ctrl->forwardCommand($settings_gui);
180 $this->tabs_gui->setTabActive(
'export');
182 $exp->addFormat(
'xml');
183 $this->
ctrl->forwardCommand($exp);
186 case "ilcommonactiondispatchergui":
192 case 'ildidactictemplategui':
193 $this->
ctrl->setReturn($this,
'edit');
195 $this->
ctrl->forwardCommand($did);
198 $this->tabs_gui->setTabActive(
'none');
203 case strtolower(TranslationGUI::class):
220 $this->
ctrl->forwardCommand($transgui);
238 if ($header_action) {
245 $this->folder_tree = $a_tree;
263 $ti->setRequired(
true);
276 $pres->setTitle($this->
lng->txt(
'fold_presentation'));
280 $form = $obj_service->commonSettings()->legacyForm(
$form, $this->
object)->addTitleIconVisibility();
283 $form = $obj_service->commonSettings()->legacyForm(
$form, $this->
object)->addTopActionsVisibility();
286 $form = $obj_service->commonSettings()->legacyForm(
$form, $this->
object)->addIcon();
289 $form = $obj_service->commonSettings()->legacyForm(
$form, $this->
object)->addTileImage();
323 $obj_service->commonSettings()->legacyForm($form, $this->
object)->saveTitleIconVisibility();
326 $obj_service->commonSettings()->legacyForm($form, $this->
object)->saveTopActionsVisibility();
329 $obj_service->commonSettings()->legacyForm($form, $this->
object)->saveIcon();
332 $obj_service->commonSettings()->legacyForm($form, $this->
object)->saveTileImage();
347 $this->
ctrl->redirectByClass(ilInfoScreenGUI::class,
"showSummary");
357 $this->tpl->setOnScreenMessage(
'success', $this->
lng->txt(
"fold_added"),
true);
358 $this->
ctrl->setParameter($this,
"ref_id", $new_object->
getRefId());
369 $this->
ctrl->redirectByClass(ilInfoScreenGUI::class,
"showSummary");
379 if (!$ilAccess->checkAccess(
"visible",
"", $this->ref_id)) {
385 $GLOBALS[
'ilTabs']->activateTab(
'info_short');
387 $info->enablePrivateNotes();
389 if ($ilAccess->checkAccess(
"read",
"", $this->requested_ref_id)) {
394 $info->enableNewsEditing(
false);
395 if ($ilAccess->checkAccess(
"write",
"", $this->requested_ref_id)) {
397 $enable_internal_rss = $news_set->get(
"enable_rss_for_internal");
399 if ($enable_internal_rss) {
400 $info->setBlockProperty(
"news",
"settings",
'1');
401 $info->setBlockProperty(
"news",
"public_notifications_option",
'1');
407 $info->addMetaDataSections($this->
object->getId(), 0, $this->
object->getType());
410 $this->
ctrl->forwardCommand($info);
421 $this->
ctrl->setParameter($this,
"ref_id", $this->ref_id);
423 $ilHelp->setScreenIdComponent(
"fold");
425 $this->tabs_gui->setTabActive(
"");
426 if ($ilAccess->checkAccess(
'read',
'', $this->ref_id)) {
427 $this->tabs_gui->addTab(
430 $this->
ctrl->getLinkTarget($this,
"")
434 $force_active = $this->
ctrl->getNextClass() ===
"ilinfoscreengui" 435 || strtolower($this->
ctrl->getCmdClass()) ===
"ilnotegui";
436 $this->tabs_gui->addTarget(
438 $this->
ctrl->getLinkTargetByClass(
439 [
"ilobjfoldergui",
"ilinfoscreengui"],
442 [
"showSummary",
"",
"infoScreen"],
451 $this->tabs_gui->addTarget(
453 $this->
ctrl->getLinkTarget($this,
"edit"),
457 ($ilCtrl->getCmd() ===
"edit")
463 $this->tabs_gui->addTarget(
465 $this->
ctrl->getLinkTargetByClass([
'ilobjfoldergui',
'illearningprogressgui'],
''),
467 [
'illplistofobjectsgui',
'illplistofsettingsgui',
'illearningprogressgui',
'illplistofprogressgui']
471 if ($ilAccess->checkAccess(
'write',
'', $this->object->getRefId())) {
472 $this->tabs_gui->addTarget(
474 $this->
ctrl->getLinkTargetByClass(
'ilexportgui',
''),
482 $this->tabs_gui->addTarget(
484 $this->
ctrl->getLinkTargetByClass([get_class($this),
'ilpermissiongui'],
"perm"),
485 [
"perm",
"info",
"owner"],
494 public static function _goto($a_target): void
498 $ilAccess = $DIC->access();
500 $lng = $DIC->language();
502 $a_target = (
int) $a_target;
504 if ($ilAccess->checkAccess(
"read",
"", $a_target)) {
507 if ($ilAccess->checkAccess(
"visible",
"", $a_target)) {
522 'ilcoursecontentgui',
559 $this->
ctrl->redirectByClass(ilCourseContentGUI::class,
'editUserTimings');
572 $ilTabs->activateTab(
"settings");
575 $ilErr->raiseError($this->
lng->txt(
"msg_no_perm_write"),
$ilErr->MESSAGE);
594 $this->
ctrl->getLinkTarget($this,
'edit')
597 $this->tabs_gui->addSubTab(
599 $this->
lng->txt(
"obj_multilinguality"),
600 $this->
ctrl->getLinkTargetByClass(TranslationGUI::class,
"")
603 $ilTabs->activateSubTab($a_tab);
604 $ilTabs->activateTab(
"settings");
609 $this->tabs_gui->activateTab(
'view_content');
610 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)
GUI class for object translation handling.
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='')
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
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...
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...
static http()
Fetches the global http state from ILIAS.
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
getCreatableObjectTypes()
static _lookupAboStatus(int $a_id)
static _goto($a_target)
goto target group
addHeaderAction()
Add header action menu.
deleteObject(bool $error=false)
Class ilObjUserTrackingGUI.
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