/**
  * initialisation
  */
 function init()
 {
     $this->static_link_enabled = true;
     $this->delete_enabled = true;
     $this->cut_enabled = true;
     $this->info_screen_enabled = true;
     $this->copy_enabled = false;
     $this->subscribe_enabled = false;
     $this->link_enabled = false;
     $this->payment_enabled = false;
     $this->type = "orgu";
     $this->gui_class_name = "ilobjorgunitgui";
     // general commands array
     include_once './Modules/OrgUnit/classes/class.ilObjOrgUnitAccess.php';
     $this->commands = ilObjOrgUnitAccess::_getCommands();
 }
 public function getTabs(&$tabs_gui)
 {
     if ($this->ilAccess->checkAccess('read', '', $this->object->getRefId())) {
         $this->tabs_gui->addTab("view_content", $this->lng->txt("content"), $this->ctrl->getLinkTarget($this, ""));
         $this->tabs_gui->addTab("info_short", "Info", $this->ctrl->getLinkTargetByClass("ilinfoscreengui", "showSummary"));
     }
     //Tabs for OrgUnits exclusive root!
     if ($this->object->getRefId() != ilObjOrgUnit::getRootOrgRefId()) {
         if (ilObjOrgUnitAccess::_checkAccessStaff($this->object->getRefId())) {
             $this->tabs_gui->addTab("orgu_staff", $this->lng->txt("orgu_staff"), $this->ctrl->getLinkTargetByClass("ilOrgUnitStaffGUI", "showStaff"));
         }
         if ($this->ilAccess->checkAccess('write', '', $this->object->getRefId())) {
             $this->tabs_gui->addTab("settings", $this->lng->txt("settings"), $this->ctrl->getLinkTargetByClass("ilTranslationGUI", "editTranslations"));
         }
         if (ilObjOrgUnitAccess::_checkAccessAdministrateUsers($this->object->getRefId())) {
             $this->tabs_gui->addTab("administrate_users", $this->lng->txt("administrate_users"), $this->ctrl->getLinkTargetByClass("ilLocalUserGUI", "index"));
         }
     }
     if ($this->ilAccess->checkAccess('write', '', $this->object->getRefId())) {
         $this->tabs_gui->addTarget('export', $this->ctrl->getLinkTargetByClass('ilorgunitexportgui', ''), 'export', 'ilorgunitexportgui');
     }
     parent::getTabs($tabs_gui);
 }
 function __initUser($a_usr_id = 0)
 {
     global $ilUser, $rbacreview, $rbacsystem;
     if ($_POST['user_id']) {
         $a_usr_id = $_POST['user_id'];
         $this->ctrl->setParameter($this, 'user_id', $_POST['user_id']);
     }
     if ($a_usr_id) {
         $this->tracked_user = ilObjectFactory::getInstanceByObjId($a_usr_id);
     } else {
         $this->tracked_user = $ilUser;
     }
     // #8762: see ilObjUserGUI->getTabs()
     if ($this->mode == self::LP_CONTEXT_USER_FOLDER && $rbacsystem->checkAccess('read', $this->ref_id)) {
         return true;
     }
     if ($this->mode == self::LP_CONTEXT_ORG_UNIT && ilObjOrgUnitAccess::_checkAccessToUserLearningProgress($this->ref_id, $a_usr_id)) {
         return true;
     }
     // Check access
     if (!$rbacreview->isAssigned($ilUser->getId(), SYSTEM_ROLE_ID)) {
         $this->tracked_user = $ilUser;
     }
     return true;
 }
 public function showStaffRec()
 {
     if (!ilObjOrgUnitAccess::_checkAccessStaffRec($this->parent_object->getRefId())) {
         ilUtil::sendFailure($this->lng->txt("permission_denied"), true);
         $this->ctrl->redirect($this->parent_gui, "");
     }
     $this->ctrl->setParameter($this, "recursive", true);
     $this->tpl->setContent($this->getStaffTableHTML(true, "showStaffRec"));
 }