19declare(strict_types=1);
38 public function __construct($a_data, $a_id, $a_call_by_reference, $a_prepare_output =
true)
42 $this->
ui = $DIC->ui();
43 $this->src_logger =
$DIC->logger()->src();
44 $this->
user = $DIC->user();
45 $this->file_delivery =
$DIC->fileDelivery();
49 $this->
lng->loadLanguageModule(
'search');
54 $next_class = $this->
ctrl->getNextClass($this);
55 $cmd = $this->
ctrl->getCmd();
58 switch ($next_class) {
59 case strtolower(ilPermissionGUI::class):
60 $this->tabs_gui->activateTab(
'perm_settings');
62 $this->
ctrl->forwardCommand($perm_gui);
65 case strtolower(ilObjSearchSettingsFormGUI::class):
66 $this->tabs_gui->activateTab(
'settings');
76 new ServerReadmeHelper(
82 $this->
ctrl->forwardCommand($settings_gui);
85 case strtolower(ilObjSearchLuceneSettingsFormGUI::class):
86 $this->tabs_gui->activateTab(
'lucene_settings_tab');
98 new ServerReadmeHelper(
104 $this->
ctrl->forwardCommand($luc_settings_gui);
107 case strtolower(ilObjSearchSettingsReadmeGUI::class):
112 $this->
ctrl->forwardCommand($readme_gui);
123 case 'luceneSettings':
135 if (!$this->rbac_system->checkAccess(
'visible,read', $this->object->getRefId())) {
136 $this->
error->raiseError($this->
lng->txt(
'permission_denied'), $this->error->MESSAGE);
139 $this->tabs_gui->setTabActive(
'settings');
141 if (!$this->rbac_system->checkAccess(
'write', $this->object->getRefId())) {
142 $this->
ctrl->redirectByClass(
143 [get_class($this),
'ilobjsearchsettingsformgui'],
148 $this->
ctrl->redirectByClass(
149 [get_class($this),
'ilobjsearchsettingsformgui'],
156 if (!$this->rbac_system->checkAccess(
'visible,read', $this->object->getRefId())) {
157 $this->
error->raiseError($this->
lng->txt(
'permission_denied'), $this->error->MESSAGE);
160 $this->tabs_gui->setTabActive(
'lucene_settings_tab');
162 if (!$this->rbac_system->checkAccess(
'write', $this->object->getRefId())) {
163 $this->
ctrl->redirectByClass(
164 [get_class($this),
'ilobjsearchlucenesettingsformgui'],
169 $this->
ctrl->redirectByClass(
170 [get_class($this),
'ilobjsearchlucenesettingsformgui'],
182 if ($this->rbac_system->checkAccess(
"visible,read", $this->object->getRefId())) {
183 $this->tabs_gui->addTab(
185 $this->
lng->txt(
'settings'),
186 $this->ctrl->getLinkTarget($this,
'settings')
190 if ($this->rbac_system->checkAccess(
'read', $this->object->getRefId())) {
191 $this->tabs_gui->addTab(
192 'lucene_settings_tab',
193 $this->
lng->txt(
'lucene_settings_tab'),
194 $this->ctrl->getLinkTarget($this,
'luceneSettings')
198 if ($this->rbac_system->checkAccess(
'edit_permission', $this->object->getRefId())) {
199 $this->tabs_gui->addTab(
201 $this->
lng->txt(
'perm_settings'),
202 $this->ctrl->getLinkTargetByClass(
203 [get_class($this),
'ilpermissiongui'],
Provides fluid interface to RBAC services.
Component logger with individual log levels by component id.
redirectToLuceneSettings()
__construct($a_data, $a_id, $a_call_by_reference, $a_prepare_output=true)
getAdminTabs()
administration tabs show only permissions and trash folder
FileDelivery $file_delivery
getTabs()
@abstract overwrite in derived GUI class of your object type
Class ilObjectGUI Basic methods of all Output classes.
prepareOutput(bool $show_sub_objects=true)
static http()
Fetches the global http state from ILIAS.
__construct(Container $dic, ilPlugin $plugin)
@inheritDoc