55 $this->main_tpl = $DIC->ui()->mainTemplate();
56 $this->table =
new Table(
60 $this->
http = $DIC[
'http'];
61 $this->
ctrl = $DIC[
'ilCtrl'];
62 $this->
tabs = $DIC[
'ilTabs'];
63 $this->
lng = $DIC[
'lng'];
64 $this->
access = $DIC[
'ilAccess'];
70 $next_class = $this->
ctrl->getNextClass();
72 switch ($next_class) {
73 case strtolower(ilBiblTranslationGUI::class):
74 $this->
tabs->clearTargets();
75 $target = $this->
ctrl->getLinkTarget($this);
76 $this->
tabs->setBackTarget($this->
lng->txt(
'back'), $target);
79 if ($field ===
null) {
83 $this->
ctrl->forwardCommand($gui);
93 $cmd = $this->
ctrl->getCmd(self::CMD_STANDARD);
95 case self::CMD_STANDARD:
101 case self::CMD_UPDATE:
103 case self::CMD_SAVE_ORDERING:
104 case self::CMD_APPLY_FILTER:
105 case self::CMD_RESET_FILTER:
115 foreach ($this->table->getOrdering() as $position => $field_id) {
116 $field = $this->facade->fieldFactory()->findById($field_id);
117 $field->setPosition($position);
121 $this->main_tpl->setOnScreenMessage(
'success', $this->
lng->txt(
'changes_successfully_saved'));
122 $this->
ctrl->redirect($this, self::CMD_STANDARD);
127 $query_params = $this->
http->request()->getQueryParams();
128 $name = $this->table->getIdToken()->getName();
129 $field_ids = $query_params[$name] ?? [];
130 return (
int) (is_array($field_ids) ? end($field_ids) : $field_ids);
137 $this->
ctrl->setParameter($this, $this->table->getIdToken()->getName(), $field_id);
144 return $this->facade->fieldFactory()->findById($field_id);
152 $this->main_tpl->setContent($this->table->getHTML());
157 $this->
tabs->addSubTab(
159 $this->
lng->txt(
'ris'),
160 $this->
ctrl->getLinkTargetByClass(
162 ilObjBibliographicAdminGUI::class,
163 ilBiblAdminRisFieldGUI::class,
168 $this->
tabs->activateSubTab(self::SUBTAB_RIS);
170 $this->
tabs->addSubTab(
172 $this->
lng->txt(
'bibtex'),
173 $this->
ctrl->getLinkTargetByClass(
175 ilObjBibliographicAdminGUI::class,
176 ilBiblAdminBibtexFieldGUI::class,
181 switch ($this->facade->type()->getId()) {
183 $this->
tabs->activateSubTab(self::SUBTAB_BIBTEX);
186 $this->
tabs->activateSubTab(self::SUBTAB_RIS);
191 protected function save(): void
199 $ilBiblAdminFieldTableGUI =
new ilBiblAdminFieldTableGUI($this, $this->facade);
200 $ilBiblAdminFieldTableGUI->writeFilterToSession();
201 $this->
ctrl->redirect($this, self::CMD_STANDARD);
206 $ilBiblAdminFieldTableGUI =
new ilBiblAdminFieldTableGUI($this, $this->facade);
207 $ilBiblAdminFieldTableGUI->resetFilter();
208 $ilBiblAdminFieldTableGUI->resetOffset();
209 $this->
ctrl->redirect($this, self::CMD_STANDARD);
215 throw new \ilObjectException($this->
lng->txt(
"permission_denied"));
221 return (
bool) $this->
access->checkAccess($permission,
'', $this->
http->request()->getQueryParams()[
'ref_id']);
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...
__construct(protected \ilBiblAdminFactoryFacadeInterface $facade)
ilBiblAdminFieldGUI constructor.
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
static http()
Fetches the global http state from ILIAS.
checkPermissionBoolAndReturn(string $permission)
checkPermissionAndFail(string $permission)
ilGlobalTemplateInterface $main_tpl