44 $this->tabs =
$DIC[
'ilTabs'];
45 $this->lng =
$DIC->language();
46 $this->lng->loadLanguageModule(
'mme');
47 $this->ctrl =
$DIC[
'ilCtrl'];
48 $this->rbacsystem =
$DIC[
'rbacsystem'];
49 $this->
help = $DIC->help();
58 public function initTabs(
string $tab,
string $subtab =
null,
bool $backtab =
false, $calling_class =
"")
60 $this->tabs->clearTargets();
63 $this->
help->setScreenIdComponent(
'mme');
64 $this->
help->setScreenId($tab);
65 $this->
help->setSubScreenId($subtab);
67 if ($this->rbacsystem->checkAccess(
'visible,read', $this->ref_id)) {
75 $this->tabs->addSubTab(
80 $this->tabs->addSubTab(
85 $this->tabs->activateSubTab($subtab);
88 if ($subtab ===
null) {
91 $this->tabs->activateSubTab($subtab);
93 if ($this->rbacsystem->checkAccess(
'edit_permission', $this->ref_id)) {
96 $this->lng->txt(
'perm_settings'),
97 $this->ctrl->getLinkTargetByClass(array(ilObjMainMenuGUI::class, ilPermissionGUI::class),
'perm')
101 $this->tabs->clearTargets();
102 if ($calling_class == ilMMSubItemGUI::class) {
103 $this->tabs->setBackTarget($this->lng->txt(
'tab_back'), $this->ctrl->getLinkTargetByClass(ilMMSubItemGUI::class, $subtab));
105 $this->tabs->setBackTarget($this->lng->txt(
'tab_back'), $this->ctrl->getLinkTargetByClass(ilObjMainMenuGUI::class, $subtab));
108 $this->tabs->activateTab($tab);
An exception for terminatinating execution or to throw for unit testing.
initTabs(string $tab, string $subtab=null, bool $backtab=false, $calling_class="")
__construct(int $ref_id)
ilMMTabHandling constructor.