83 $ilToolbar =
$DIC[
'ilToolbar'];
89 parent::__construct(array(),
$_GET[
"ref_id"],
true,
false);
96 $this->toolbar = $ilToolbar;
101 $lng->loadLanguageModule(
"orgu");
102 $this->tpl->addCss(
'./Modules/OrgUnit/templates/default/orgu.css');
112 $cmd = $this->ctrl->getCmd();
113 $next_class = $this->ctrl->getNextClass($this);
114 parent::prepareOutput();
121 switch ($next_class) {
122 case 'ilorgunitglobalsettingsgui':
123 $this->tabs_gui->activateTab(self::TAB_GLOBAL_SETTINGS);
125 $this->ctrl->forwardCommand($global_settings);
127 case "illocalusergui":
130 $this->ctrl->redirect($this);
132 $this->tabs_gui->activateTab(
'administrate_users');
134 $this->ctrl->forwardCommand($ilLocalUserGUI);
136 case "ilorgunitsimpleimportgui":
137 $this->tabs_gui->activateTab(
"view");
139 $this->tabs_gui->setSubTabActive(
'import');
141 $this->ctrl->forwardCommand($ilOrgUnitSimpleImportGUI);
143 case "ilorgunitsimpleuserimportgui":
145 $this->ctrl->forwardCommand($ilOrgUnitSimpleUserImportGUI);
147 case "ilorgunitstaffgui":
148 case "ilrepositorysearchgui":
149 $this->tabs_gui->activateTab(self::TAB_STAFF);
151 $this->ctrl->forwardCommand($ilOrgUnitStaffGUI);
157 $ilObjUserGUI->setCreationMode(
true);
158 $this->ctrl->forwardCommand($ilObjUserGUI);
159 $this->tabs_gui->setBackTarget($this->lng->txt(
"back"), $this->ctrl->getLinkTargetByClass(
"illocalusergui",
'index'));
163 $ilObjUserGUI->setCreationMode(
true);
164 $this->ctrl->forwardCommand($ilObjUserGUI);
165 $this->tabs_gui->clearTargets();
166 $this->tabs_gui->setBackTarget($this->lng->txt(
"back"), $this->ctrl->getLinkTargetByClass(
"illocalusergui",
'index'));
171 $ilObjUserGUI->setCreationMode(
false);
172 $this->ctrl->forwardCommand($ilObjUserGUI);
173 $this->tabs_gui->clearTargets();
174 $this->tabs_gui->setBackTarget($this->lng->txt(
"back"), $this->ctrl->getLinkTargetByClass(
"illocalusergui",
'index'));
177 $this->ctrl->redirectByClass(
"illocalusergui",
"index");
181 case "ilobjuserfoldergui":
184 $this->ctrl->redirectByClass(
"illocalusergui",
"index");
188 $ilObjUserFolderGUI->setUserOwnerId((
int)
$_GET[
'ref_id']);
189 $ilObjUserFolderGUI->setCreationMode(
true);
190 $this->ctrl->forwardCommand($ilObjUserFolderGUI);
191 $this->tabs_gui->clearTargets();
192 $this->tabs_gui->setBackTarget($this->lng->txt(
"back"), $this->ctrl->getLinkTargetByClass(
"illocalusergui",
'index'));
196 case "ilinfoscreengui":
197 $this->tabs_gui->activateTab(
"info_short");
198 if (!$this->
ilAccess->
checkAccess(
"read",
"", $this->ref_id) and !$this->ilAccess->checkAccess(
"visible",
"", $this->ref_id)) {
199 $this->
ilias->raiseError($this->lng->txt(
"msg_no_perm_read"), $this->ilias->error_obj->MESSAGE);
203 $amd_gui->setInfoObject(
$info);
205 $this->ctrl->forwardCommand(
$info);
207 case 'ilpermissiongui':
208 $this->tabs_gui->activateTab(
'perm_settings');
210 $this->ctrl->forwardCommand($ilPermissionGUI);
212 case "ilcommonactiondispatchergui":
214 $this->ctrl->forwardCommand($gui);
216 case 'illearningprogressgui':
217 case 'illplistofprogressgui':
218 $this->tabs_gui->clearTargets();
222 $this->ctrl->redirectByClass(
"ilOrgUnitStaffGUI",
"showStaff");
224 $this->ctrl->saveParameterByClass(
"illearningprogressgui",
"obj_id");
225 $this->ctrl->saveParameterByClass(
"illearningprogressgui",
"recursive");
227 $this->ctrl->forwardCommand($new_gui);
229 case 'ilorgunitexportgui':
232 $this->ctrl->redirect($this);
234 $this->tabs_gui->activateTab(self::TAB_EXPORT);;
236 $ilOrgUnitExportGUI->addFormat(
'xml');
237 $this->ctrl->forwardCommand($ilOrgUnitExportGUI);
239 case strtolower(ilTranslationGUI::class):
240 $this->tabs_gui->activateTab(self::TAB_SETTINGS);
243 $this->ctrl->forwardCommand($ilTranslationGui);
245 case strtolower(ilOrgUnitTypeGUI::class):
246 $this->tabs_gui->activateTab(self::TAB_ORGU_TYPES);
248 $this->ctrl->forwardCommand($types_gui);
250 case strtolower(ilOrgUnitPositionGUI::class):
251 $this->tabs_gui->activateTab(self::TAB_POSITIONS);
253 $this->ctrl->forwardCommand($types_gui);
255 case strtolower(ilOrgUnitUserAssignmentGUI::class):
256 $this->tabs_gui->activateTab(self::TAB_STAFF);
258 $this->ctrl->forwardCommand($ilOrgUnitUserAssignmentGUI);
273 case 'performPasteIntoMultipleObjects':
276 case 'keepObjectsInClipboard':
280 parent::createObject();
283 parent::saveObject();
286 $this->tabs_gui->clearTargets();
287 $this->tabs_gui->setBackTarget($this->lng->txt(
"back"), $this->ctrl->getLinkTarget($this));
290 case 'confirmedDelete':
294 $this->tabs_gui->clearTargets();
295 $this->tabs_gui->setBackTarget($this->lng->txt(
"back"), $this->ctrl->getLinkTarget($this));
299 parent::clearObject();
301 case 'enableAdministrationPanel':
302 parent::enableAdministrationPanelObject();
304 case 'disableAdministrationPanel':
305 parent::disableAdministrationPanelObject();
307 case 'getAsynchItemList':
308 parent::getAsynchItemListObject();
311 $this->tabs_gui->activateTab(self::TAB_SETTINGS);
315 case 'updateSettings':
316 $this->tabs_gui->activateTab(self::TAB_SETTINGS);
320 case 'editAdvancedSettings':
321 $this->tabs_gui->activateTab(self::TAB_SETTINGS);
325 case 'updateAdvancedSettings':
326 $this->tabs_gui->activateTab(self::TAB_SETTINGS);
333 case 'cancelMoveLink':
347 ilUtil::sendSuccess($this->lng->txt(
"object_added"),
true);
348 $this->ctrl->setParameter($this,
"ref_id", $a_new_object->
getRefId());
355 if (!$this->rbacsystem->checkAccess(
"read",
$_GET[
"ref_id"])) {
356 if ($this->rbacsystem->checkAccess(
"visible",
$_GET[
"ref_id"])) {
358 $this->ctrl->redirectByClass(
'ilinfoscreengui',
'');
361 $this->
ilias->raiseError($this->lng->txt(
"msg_no_perm_read"), $this->ilias->error_obj->WARNING);
364 parent::renderObject();
365 $this->tabs_gui->activateTab(
"view_content");
366 $this->tabs_gui->removeSubTab(
"page_editor");
367 $this->tabs_gui->removeSubTab(
"ordering");
396 $gui->setCreationUrl(
"ilias.php?ref_id=" .
$_GET[
"ref_id"] .
"&admin_mode=settings&cmd=create&baseClass=ilAdministrationGUI");
407 if (!
$tree->handleCommand()) {
408 $this->tpl->setLeftNavContent(
$tree->getHTML());
410 $this->ctrl->setParameterByClass(
"ilObjOrgUnitGUI",
"ref_id",
$_GET[
"ref_id"]);
416 $whiteList = array(
"orgu" );
417 $pls = ilOrgUnitExtension::getActivePluginIdsForTree();
419 return array_merge($whiteList, $pls);
428 # all possible create permissions
429 parent::setTitleAndDescription();
430 if ($this->object->getTitle() ==
"__OrgUnitAdministration") {
431 $this->tpl->setTitle($this->lng->txt(
"objs_orgu"));
432 $this->tpl->setDescription($this->lng->txt(
"objs_orgu"));
436 if ($this->
ilias->getSetting(
'custom_icons')) {
437 $icons_cache = ilObjOrgUnit::getIconsCache();
438 $icon_file = (isset($icons_cache[$this->object->getId()])) ? $icons_cache[$this->object->getId()] :
'';
440 $this->tpl->setTitleIcon($icon_file, $this->lng->txt(
"obj_" . $this->object->getType()));
454 if (
$row[
"title"] ==
"__OrgUnitAdministration") {
455 $row[
"title"] = $this->lng->txt(
"objs_orgu");
457 $this->ctrl->setParameterByClass(
"ilobjorgunitgui",
"ref_id",
$row[
"child"]);
459 $this->ctrl->setParameterByClass(
"ilobjorgunitgui",
"ref_id",
$_GET[
"ref_id"]);
471 if ($obj_type !=
"orgu") {
472 parent::redirectToRefId($a_ref_id, $a_cmd);
474 $this->ctrl->setParameterByClass(
"ilObjOrgUnitGUI",
"ref_id", $a_ref_id);
475 $this->ctrl->redirectByClass(
"ilObjOrgUnitGUI", $a_cmd);
485 $read_access_ref_id = $this->rbacsystem->checkAccess(
'visible,read', $this->object->getRefId());
486 if ($read_access_ref_id) {
487 $this->tabs_gui->addTab(
"view_content", $this->lng->txt(
"content"), $this->ctrl->getLinkTarget($this,
""));
488 $this->tabs_gui->addTab(
"info_short",
"Info", $this->ctrl->getLinkTargetByClass(
"ilinfoscreengui",
"showSummary"));
495 $this->tabs_gui->addTab(self::TAB_STAFF, $this->lng->txt(self::TAB_STAFF), $this->ctrl->getLinkTargetByClass(ilOrgUnitUserAssignmentGUI::class,
ilOrgUnitUserAssignmentGUI::CMD_INDEX));
497 if ($read_access_ref_id) {
498 $this->tabs_gui->addTab(self::TAB_SETTINGS, $this->lng->txt(self::TAB_SETTINGS), $this->ctrl->getLinkTarget($this, self::CMD_EDIT_SETTINGS));
499 $this->tabs_gui->addTab(
"administrate_users", $this->lng->txt(
"administrate_users"), $this->ctrl->getLinkTargetByClass(
"ilLocalUserGUI",
"index"));
503 if ($read_access_ref_id) {
505 $this->tabs_gui->addTab(self::TAB_GLOBAL_SETTINGS, $this->lng->txt(
'settings'), $this->ctrl->getLinkTargetByClass(ilOrgUnitGlobalSettingsGUI::class));
507 $this->tabs_gui->addTab(self::TAB_EXPORT, $this->lng->txt(self::TAB_EXPORT), $this->ctrl->getLinkTargetByClass(ilOrgUnitExportGUI::class));
511 $this->tabs_gui->addTab(self::TAB_ORGU_TYPES, $this->lng->txt(self::TAB_ORGU_TYPES), $this->ctrl->getLinkTargetByClass(ilOrgUnitTypeGUI::class));
512 $this->tabs_gui->addTab(self::TAB_POSITIONS, $this->lng->txt(self::TAB_POSITIONS), $this->ctrl->getLinkTargetByClass(ilOrgUnitPositionGUI::class));
524 $next_class = $this->ctrl->getNextClass($this);
525 $cmd = $this->ctrl->getCmd();
526 $this->tabs_gui->addSubTab(
'edit_settings', $this->lng->txt(self::TAB_SETTINGS), $this->ctrl->getLinkTarget($this, self::CMD_EDIT_SETTINGS));
527 $this->tabs_gui->addSubTab(
"edit_translations", $this->lng->txt(
"obj_multilinguality"), $this->ctrl->getLinkTargetByClass(
"iltranslationgui",
"editTranslations"));
529 $ilOrgUnitType = $this->
object->getOrgUnitType();
531 if (count($ilOrgUnitType->getAssignedAdvancedMDRecords(
true))) {
532 $this->tabs_gui->addSubTab(
'edit_advanced_settings', $this->lng->txt(
'orgu_adv_settings'), $this->ctrl->getLinkTarget($this,
'editAdvancedSettings'));
536 $this->tabs_gui->setSubTabActive($active_tab_id);
537 switch ($next_class) {
538 case 'iltranslationgui':
539 $this->tabs_gui->setSubTabActive(
"edit_translations");
544 $this->tabs_gui->setSubTabActive(
'edit_settings');
546 case 'editAdvancedSettings':
547 case 'updateAdvancedSettings':
548 $this->tabs_gui->setSubTabActive(
'edit_advanced_settings');
566 $this->tabs_gui->addSubTab(
"import", $this->lng->txt(
"import"), $this->ctrl->getLinkTargetByClass(
"ilOrgUnitSimpleImportGUI",
"chooseImport"));
579 $form->setFormAction($this->ctrl->getFormAction($this));
580 $form->addCommandButton(
'updateAdvancedSettings', $this->lng->txt(
'save'));
581 $form->addCommandButton(self::CMD_EDIT_SETTINGS, $this->lng->txt(
'cancel'));
594 $this->ctrl->redirect($this);
598 $gui->setPropertyForm(
$form);
600 $this->tpl->setContent(
$form->getHTML());
611 $this->ctrl->redirect($this);
615 $gui->setPropertyForm(
$form);
618 if ($gui->importEditFormPostValues()) {
619 $gui->writeEditForm();
620 ilUtil::sendSuccess($this->lng->txt(
'settings_saved'),
true);
621 $this->ctrl->redirect($this,
'editAdvancedSettings');
623 $this->tpl->setContent(
$form->getHTML());
632 $this->ctrl->redirect($this);
635 $this->tpl->setContent(
$form->getHTML());
643 $this->ctrl->redirect($this);
646 if (
$form->saveObject()) {
647 ilUtil::sendSuccess($this->lng->txt(
'msg_obj_modified'),
true);
648 $this->ctrl->redirect($this, self::CMD_EDIT_SETTINGS);
650 $this->tpl->setContent(
$form->getHTML());
660 parent::showAdministrationPanel();
664 if (!
$toolbar =
$DIC->ui()->mainTemplate()->admin_panel_commands_toolbar) {
669 if ($item[
"cmd"] ==
"link" || $item[
"cmd"] ==
"copy"
670 || $item[
"cmd"] ==
"download") {
682 $ilCtrl->initBaseClass(
"ilAdministrationGUI");
683 $ilCtrl->setParameterByClass(
"ilObjOrgUnitGUI",
"ref_id",
$ref_id);
684 $ilCtrl->setParameterByClass(
"ilObjOrgUnitGUI",
"admin_mode", self::TAB_SETTINGS);
685 $ilCtrl->setParameterByClass(
"IlObjPluginDispatchGUI",
"admin_mode", self::TAB_SETTINGS);
686 $ilCtrl->redirectByClass(array(
"ilAdministrationGUI",
"ilObjOrgUnitGUI" ),
"view");
695 $explorer->setAjax(
false);
696 $explorer->setSelectMode(
'nodes[]',
false);
716 if (!in_array(
$_SESSION[
'clipboard'][
'cmd'], array(
'cut' ))) {
717 $message = __METHOD__ .
": cmd was not 'cut' ; may be a hack attempt!";
720 if (
$_SESSION[
'clipboard'][
'cmd'] ==
'cut') {
721 if (isset(
$_GET[
'ref_id']) && (
int)
$_GET[
'ref_id']) {
725 $this->ctrl->returnToParent($this);
745 return parent::__initTableGUI();
756 $ids = filter_input(INPUT_POST,
'id', FILTER_DEFAULT, FILTER_REQUIRE_ARRAY);
757 if (count($ids) > 0) {
759 ilUtil::sendSuccess(
$DIC->language()->txt(
"info_deleted"),
true);
761 $this->ctrl->returnToParent($this);
774 require_once(
"./Services/Repository/classes/class.ilRepUtilGUI.php");
779 if (is_array(
$_POST[
'id']) && count(
$_POST[
'id']) > 0) {
780 $arr_ref_ids =
$_POST[
'id'];
781 } elseif (
$_GET[
'item_ref_id'] > 0) {
782 $arr_ref_ids = [
$_GET[
'item_ref_id']];
785 if (!$ru->showDeleteConfirmation($arr_ref_ids,
false)) {
786 $ilCtrl->returnToParent($this);
797 return parent::__setTableGUIBasicData(
$tbl, $result_set, $a_from);
804 $parent_ref_id =
$_SESSION[
"clipboard"][
"parent"];
806 $DIC->ctrl()->setParameter($this,
'ref_id', $parent_ref_id);
807 $DIC->ctrl()->redirect($this);
An exception for terminatinating execution or to throw for unit testing.
checkAccess($a_permission, $a_cmd, $a_ref_id, $a_type="", $a_obj_id="", $a_tree_id="")
check access for an object (provide $a_type and $a_obj_id if available for better performance)
static getInstanceFromAjaxCall()
(Re-)Build instance from ajax call
performPasteIntoMultipleObjectsObject()
addStandardContainerSubTabs($a_include_view=true)
Add standar container subtabs for view, manage, oderdering and text/media editor link.
pasteObject()
paste object from clipboard to current place Depending on the chosen command the object(s) are linked...
keepObjectsInClipboardObject()
Keep objects in the clipboard.
showAdministrationPanel()
show administration panel
const LP_CONTEXT_ORG_UNIT
Class ilObjUserTrackingGUI.
static _checkAccessToUserLearningProgress($ref_id, $usr_id)
static _checkAccessExport($ref_id)
static _checkAccessStaff($ref_id)
static _checkAccessAdministrateUsers($ref_id)
Class ilObjOrgUnit GUI class.
confirmedDeleteObject()
confirmed deletion of org units -> org units are deleted immediately, without putting them to the tra...
__setTableGUIBasicData(&$tbl, &$result_set, $a_from="")
redirectToRefId($a_ref_id, $a_cmd="")
afterSave(ilObject $a_new_object)
@inheritDoc
updateAdvancedSettings()
Update Advanced Metadata.
setContentSubTabs()
Set content sub tabs.
setTitleAndDescription()
called by prepare output
doUserAutoCompleteObject()
??
editAdvancedSettings()
Edit Advanced Metadata.
cancelMoveLinkObject()
Cancel move|link empty clipboard and return to parent.
addAdminLocatorItems($a_do_not_add_object=false)
showPossibleSubObjects()
show possible sub objects selection list
const TAB_GLOBAL_SETTINGS
performPaste()
@description Prepare $_POST for the generic method performPasteIntoMultipleObjectsObject
setSubTabsSettings($active_tab_id)
deleteObject($a_error=false)
Display deletion confirmation screen for Org Units.
initCreationForms($a_new_type)
initCreationForms
initAdvancedSettingsForm()
Initialize the form for editing advanced meta data.
Class ilObjUserFolderGUI.
Render add new item selector.
const MODE_ADMINISTRATION
initImportForm($a_new_type)
Init object import form.
importFileObject($parent_id=null, $a_catch_errors=true)
Import.
initCreateForm($a_new_type)
Init object creation form.
getReturnLocation($a_cmd, $a_location="")
get return location for command (command is method name without "Object", e.g.
Class ilObject Basic functions for all objects.
getRefId()
get reference id @access public
static _lookupType($a_id, $a_reference=false)
lookup object type
Class ilOrgUnitExplorerGUI.
Class ilOrgUnitExportGUI.
Global orgunit settings GUI.
Class ilOrgUnitPositionGUI.
Class ilOrgUnitSimpleImportGUI.
Class ilOrgUnitSimpleUserImportGUI.
Class ilOrgUnitUserAssignmentGUI.
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
Repository GUI Utilities.
static removeObjectsFromSystem($a_ref_ids, $a_from_recovery_folder=false)
remove objects from trash bin and all entries therefore every object needs a specific deleteObject() ...
Tree class data representation in hierachical trees using the Nested Set Model with Gaps by Joe Celco...
static redirect($a_script)
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
catch(Exception $e) $message
redirection script todo: (a better solution should control the processing via a xml file)
if(isset($_POST['submit'])) $form