ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
class.ilObjBibliographicAdminGUI.php
Go to the documentation of this file.
1<?php
2
32{
33 public const TAB_FIELDS = 'fields';
34 public const TAB_SETTINGS = 'settings';
35 public const CMD_DEFAULT = 'view';
36
37 protected string $type = 'bibs';
38 public ?ilObject $object = null;
39 protected \ilBiblAdminFactoryFacadeInterface $facade;
40
41
49 public function __construct($a_data, int $a_id, bool $a_call_by_reference = true, bool $a_prepare_output = true)
50 {
51 parent::__construct($a_data, $a_id, $a_call_by_reference, $a_prepare_output);
52 $this->lng->loadLanguageModule('bibl');
53 // Check Permissions globally for all SubGUIs. We check read-permission first
54 $this->checkPermission('read');
55 }
56
57
61 #[\Override]
62 public function executeCommand(): void
63 {
64 $next_class = $this->ctrl->getNextClass($this);
65 switch ($next_class) {
66 case 'ilpermissiongui':
67 $this->prepareOutput();
68 $this->tabs_gui->activateTab('perm_settings');
69 $perm_gui = new ilPermissionGUI($this);
70 $this->ctrl->forwardCommand($perm_gui);
71 break;
72 case strtolower(ilBiblLibraryGUI::class):
73 $this->prepareOutput();
74 $this->tabs_gui->activateTab(self::TAB_SETTINGS);
75 $f = new ilBiblAdminLibraryFacade($this->object);
76 $this->ctrl->forwardCommand(new ilBiblLibraryGUI($f));
77 break;
78 case strtolower(ilBiblAdminRisFieldGUI::class):
79 $this->prepareOutput();
80 $this->tabs_gui->activateTab(self::TAB_FIELDS);
82 break;
83 case strtolower(ilBiblAdminBibtexFieldGUI::class):
84 $this->prepareOutput();
85 $this->tabs_gui->activateTab(self::TAB_FIELDS);
87 break;
88 default:
89 $cmd = $this->ctrl->getCmd(self::CMD_DEFAULT);
90 $this->{$cmd}();
91 break;
92 }
93 }
94
95
96 protected function view(): void
97 {
98 $this->ctrl->redirectByClass(ilBiblAdminRisFieldGUI::class);
99 }
100
101
102 #[\Override]
103 public function getAdminTabs(): void
104 {
105 global $DIC;
106 $rbacsystem = $DIC['rbacsystem'];
110 if ($rbacsystem->checkAccess('write', $this->object->getRefId())) {
111 $this->tabs_gui->addTab('fields', $this->lng->txt('fields'), $this->ctrl->getLinkTargetByClass([
112 ilObjBibliographicAdminGUI::class,
113 ilBiblAdminRisFieldGUI::class,
115 }
116
117 if ($rbacsystem->checkAccess('visible,read', $this->object->getRefId())) {
118 $this->tabs_gui->addTab(self::TAB_SETTINGS, $this->lng->txt('settings'), $this->ctrl->getLinkTargetByClass([
119 ilObjBibliographicAdminGUI::class,
120 ilBiblLibraryGUI::class,
122 }
123 if ($rbacsystem->checkAccess('edit_permission', $this->object->getRefId())) {
124 $this->tabs_gui->addTarget('perm_settings', $this->ctrl->getLinkTargetByClass('ilpermissiongui', 'perm'), [], 'ilpermissiongui');
125 }
126 }
127
128
129 public function getTabsGui(): \ilTabsGUI
130 {
131 return $this->tabs_gui;
132 }
133
134
135 public function setTabsGui(\ilTabsGUI $tabs_gui): void
136 {
137 $this->tabs_gui = $tabs_gui;
138 }
139}
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...
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...
Class ilBiblLibraryGUI.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
ilBiblAdminFactoryFacadeInterface $facade
__construct($a_data, int $a_id, bool $a_call_by_reference=true, bool $a_prepare_output=true)
ilObjBibliographicAdminGUI constructor.
Class ilObjectGUI Basic methods of all Output classes.
checkPermission(string $perm, string $cmd="", string $type="", ?int $ref_id=null)
getAdminTabs()
administration tabs show only permissions and trash folder
ilTabsGUI $tabs_gui
prepareOutput(bool $show_sub_objects=true)
Class ilObject Basic functions for all objects.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
__construct(Container $dic, ilPlugin $plugin)
@inheritDoc
global $DIC
Definition: shib_login.php:26