ILIAS  release_8 Revision v8.23
class.ilADNTabHandling.php
Go to the documentation of this file.
1 <?php
2 
24 {
25  private int $ref_id;
26 
28 
29  private ilTabsGUI $tabs;
30 
31  private ilLanguage $lng;
32 
33  protected ilCtrl $ctrl;
34 
35  private ilHelpGUI $help;
36 
40  public function __construct(int $ref_id)
41  {
42  global $DIC;
43 
44  $this->ref_id = $ref_id;
45  $this->tabs = $DIC['ilTabs'];
46  $this->lng = $DIC->language();
47  $this->lng->loadLanguageModule('adn');
48  $this->ctrl = $DIC['ilCtrl'];
49  $this->rbacsystem = $DIC['rbacsystem'];
50  $this->help = $DIC->help();
51  }
52 
53  public function initTabs(string $tab, string $subtab = null, bool $backtab = false): void
54  {
55  $this->tabs->clearTargets(); // clears Help-ID
56 
57  // Help Screen-ID
58  $this->help->setScreenIdComponent('adn');
59  $this->help->setScreenId($tab);
60  if (null !== $subtab) {
61  $this->help->setSubScreenId($subtab);
62  }
63 
64  if ($this->rbacsystem->checkAccess('visible,read', $this->ref_id)) {
65  $this->tabs->addTab(
68  $this->ctrl->getLinkTargetByClass(ilObjAdministrativeNotificationGUI::class, ilObjAdministrativeNotificationGUI::TAB_MAIN)
69  );
70  /*
71  switch ($tab) {
72  case ilObjMainMenuGUI::TAB_MAIN:
73  $this->tabs->addSubTab(
74  ilMMTopItemGUI::CMD_VIEW_TOP_ITEMS,
75  $this->lng->txt(ilMMTopItemGUI::CMD_VIEW_TOP_ITEMS),
76  $this->ctrl->getLinkTargetByClass(ilMMTopItemGUI::class, ilMMTopItemGUI::CMD_VIEW_TOP_ITEMS)
77  );
78  $this->tabs->addSubTab(
79  ilMMSubItemGUI::CMD_VIEW_SUB_ITEMS,
80  $this->lng->txt(ilMMSubItemGUI::CMD_VIEW_SUB_ITEMS),
81  $this->ctrl->getLinkTargetByClass(ilMMSubItemGUI::class, ilMMSubItemGUI::CMD_VIEW_SUB_ITEMS)
82  );
83  $this->tabs->activateSubTab($subtab);
84  break;
85  }
86  if ($subtab === null) {
87  $subtab = ilMMTopItemGUI::CMD_VIEW_TOP_ITEMS;
88  }
89  $this->tabs->activateSubTab($subtab);*/
90  }
91  if ($this->rbacsystem->checkAccess('edit_permission', $this->ref_id)) {
92  $this->tabs->addTab(
93  'perm_settings',
94  $this->lng->txt('perm_settings'),
95  $this->ctrl->getLinkTargetByClass(array(ilObjAdministrativeNotificationGUI::class, ilPermissionGUI::class), 'perm')
96  );
97  }
98  if ($backtab) {
99  /* $this->tabs->clearTargets();
100  if ($calling_class == ilMMSubItemGUI::class) {
101  $this->tabs->setBackTarget($this->lng->txt('tab_back'), $this->ctrl->getLinkTargetByClass(ilMMSubItemGUI::class, $subtab));
102  } else {
103  $this->tabs->setBackTarget($this->lng->txt('tab_back'), $this->ctrl->getLinkTargetByClass(ilObjMainMenuGUI::class, $subtab));
104  }*/
105  }
106  $this->tabs->activateTab($tab);
107  }
108 }
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...
Help GUI class.
global $DIC
Definition: feed.php:28
__construct(int $ref_id)
ilMMTabHandling constructor.
initTabs(string $tab, string $subtab=null, bool $backtab=false)