5require_once
"./Services/Container/classes/class.ilContainerGUI.php";
39 public function __construct($a_data, $a_id, $a_call_by_reference =
true, $a_prepare_output =
true)
43 $this->rbacsystem =
$DIC->rbac()->system();
44 $this->nav_history =
$DIC[
"ilNavigationHistory"];
45 $this->access =
$DIC->access();
46 $this->ctrl =
$DIC->ctrl();
47 $this->tabs =
$DIC->tabs();
48 $this->
help = $DIC[
"ilHelp"];
49 $this->lng =
$DIC->language();
50 $this->
user = $DIC->user();
51 $this->tree =
$DIC->repositoryTree();
52 $this->
error = $DIC[
"ilErr"];
54 $this->tpl =
$DIC[
"tpl"];
55 $this->toolbar =
$DIC->toolbar();
56 $this->rbacreview =
$DIC->rbac()->review();
57 $this->rbacadmin =
$DIC->rbac()->admin();
63 $GLOBALS[
'lng']->loadLanguageModule(
'cat');
64 $GLOBALS[
'lng']->loadLanguageModule(
'obj');
69 if (is_object($this->
object)) {
70 include_once(
"./Services/Container/classes/class.ilContainer.php");
71 include_once(
"./Services/Object/classes/class.ilObjectServiceSettingsGUI.php");
73 $this->object->getId(),
88 $next_class = $this->ctrl->getNextClass($this);
89 $cmd = $this->ctrl->getCmd();
91 $header_action =
true;
92 switch ($next_class) {
94 case strtolower(ilRepUtilGUI::class):
95 $ru = new \ilRepUtilGUI($this);
96 $this->ctrl->setReturn($this,
'trash');
97 $this->ctrl->forwardCommand($ru);
101 include_once(
'./Services/User/classes/class.ilObjUserGUI.php');
103 $this->tabs_gui->setTabActive(
'administrate_users');
104 if (!
$_GET[
'obj_id']) {
106 $this->gui_obj->setCreationMode($this->creation_mode);
107 $ret = &$this->ctrl->forwardCommand($this->gui_obj);
110 $this->gui_obj->setCreationMode($this->creation_mode);
111 $ret = &$this->ctrl->forwardCommand($this->gui_obj);
114 $ilTabs->clearTargets();
115 $ilTabs->setBackTarget($this->lng->txt(
'backto_lua'), $this->ctrl->getLinkTarget($this,
'listUsers'));
117 $ilHelp->setScreenIdComponent(
"cat");
118 $ilHelp->setScreenId(
"administrate_user");
119 $ilHelp->setSubScreenId($ilCtrl->getCmd());
122 case "ilobjuserfoldergui":
123 include_once(
'./Services/User/classes/class.ilObjUserFolderGUI.php');
126 $this->gui_obj->setUserOwnerId((
int)
$_GET[
'ref_id']);
127 $this->gui_obj->setCreationMode($this->creation_mode);
128 $ret = &$this->ctrl->forwardCommand($this->gui_obj);
130 $ilTabs->clearTargets();
131 $ilTabs->setBackTarget($this->lng->txt(
'backto_lua'), $this->ctrl->getLinkTarget($this,
'listUsers'));
133 $ilHelp->setScreenIdComponent(
"cat");
134 $ilHelp->setScreenId(
"administrate_user");
135 $ilHelp->setSubScreenId($ilCtrl->getCmd());
141 include_once(
"./Services/Style/Content/classes/class.ilObjStyleSheet.php");
142 $this->tpl->setVariable(
143 "LOCATION_CONTENT_STYLESHEET",
149 case 'ilpermissiongui':
151 $this->tabs_gui->setTabActive(
'perm_settings');
152 include_once(
"Services/AccessControl/classes/class.ilPermissionGUI.php");
154 $ret = &$this->ctrl->forwardCommand($perm_gui);
157 case 'ilinfoscreengui':
158 if ($this->info_screen_enabled) {
164 case 'ilcontainerlinklistgui':
165 include_once(
"Services/Container/classes/class.ilContainerLinkListGUI.php");
167 $ret = &$this->ctrl->forwardCommand($link_list_gui);
171 case "ilcontainerpagegui":
175 $this->tpl->setContent(
$ret);
177 $header_action =
false;
180 case 'ilobjectcopygui':
183 include_once
'./Services/Object/classes/class.ilObjectCopyGUI.php';
186 $this->ctrl->forwardCommand($cp);
189 case "ilobjstylesheetgui":
193 case 'ilusertablegui':
194 include_once
'./Services/User/classes/class.ilUserTableGUI.php';
196 $u_table->initFilter();
197 $this->ctrl->setReturn($this,
'listUsers');
198 $this->ctrl->forwardCommand($u_table);
201 case "ilcommonactiondispatchergui":
203 include_once(
"Services/Object/classes/class.ilCommonActionDispatcherGUI.php");
205 $this->ctrl->forwardCommand($gui);
208 case 'ildidactictemplategui':
209 $this->ctrl->setReturn($this,
'edit');
210 include_once
'./Services/DidacticTemplate/classes/class.ilDidacticTemplateGUI.php';
212 $this->ctrl->forwardCommand($did);
217 $this->tabs_gui->setTabActive(
'export');
218 include_once
'./Services/Export/classes/class.ilExportGUI.php';
220 $exp->addFormat(
'xml');
221 $this->ctrl->forwardCommand($exp);
224 case 'ilobjecttranslationgui':
229 include_once(
"./Services/Object/classes/class.ilObjectTranslationGUI.php");
231 $this->ctrl->forwardCommand($transgui);
234 case 'ilobjtaxonomygui':
238 include_once(
"./Services/Taxonomy/classes/class.ilObjTaxonomyGUI.php");
240 $tax->setAssignedObject($this->object->getId());
241 $tax->setMultiple(
true);
242 $tax->setListInfo($this->lng->txt(
"cntr_tax_list_info"));
243 $this->ctrl->forwardCommand($tax);
246 case 'ilobjectmetadatagui':
249 $this->tabs_gui->activateTab(
'meta_data');
253 case "ilcontainernewssettingsgui":
255 $this->tabs_gui->setTabActive(
'settings');
257 $this->tabs_gui->activateSubTab(
'obj_news_settings');
259 $news_set_gui->setHideByDate(
true);
260 $this->ctrl->forwardCommand($news_set_gui);
263 case 'ilcontainerfilteradmingui':
266 $this->
setEditTabs($active_tab =
"settings_filter");
267 $this->tabs_gui->activateTab(
'settings');
272 if ($cmd ==
"infoScreen") {
280 $ilAccess->checkAccess(
"read",
"",
$_GET[
"ref_id"])) {
281 include_once(
"./Services/Link/classes/class.ilLink.php");
282 $ilNavigationHistory->addItem(
290 include_once(
"./Services/Style/Content/classes/class.ilObjStyleSheet.php");
291 if (is_object($this->
object)) {
292 $this->tpl->setVariable(
293 "LOCATION_CONTENT_STYLESHEET",
302 $this->tabs_gui->activateTab(
"view_content");
308 if ($header_action) {
322 parent::addHeaderAction();
334 include_once
'Services/Object/classes/class.ilObjectMetaDataGUI.php';
336 include_once
"Services/Object/classes/class.ilObjectServiceSettingsGUI.php";
338 $this->object->getId(),
342 $md_gui->enableTaxonomyDefinition(
true);
343 $tax = $md_gui->getTaxonomyObjGUI();
344 $tax->setMultiple(
true);
345 $tax->setListInfo($this->lng->txt(
"cntr_tax_list_info"));
347 if (
sizeof($taxonomies)) {
348 $md_gui->setTaxonomySettings(
function ($form) {
351 $form->addItem($block);
355 foreach ($tax as $tax_id => $tax_item) {
362 if ($tax_item[
"source"] != $this->object->getRefId()) {
364 $loc->setTextOnly(
true);
365 $loc->addRepositoryItems($tax_item[
"source"]);
366 $option->setInfo($loc->getHTML());
369 $block->addOption($option);
371 if (in_array($tax_id, $current)) {
376 $block->setValue($value);
377 },
function ($form) {
379 if (
sizeof($taxonomies)) {
380 $sblock = $form->getInput(
"sblock");
385 $this->object->getId(),
390 if (is_array($sblock)) {
391 foreach ($sblock as $tax_id) {
393 $this->object->getId(),
417 if ($this->ctrl->getCmd() ==
"editPageContent") {
420 #$this->ctrl->setParameter($this,"ref_id",$this->ref_id);
422 $ilHelp->setScreenIdComponent(
"cat");
424 if (
$rbacsystem->checkAccess(
'read', $this->ref_id)) {
425 $force_active = (
$_GET[
"cmd"] ==
"" ||
$_GET[
"cmd"] ==
"render")
428 $this->tabs_gui->addTab(
430 $lng->txt(
"content"),
431 $this->ctrl->getLinkTarget($this,
"")
435 if ($this->info_screen_enabled) {
436 $force_active = ($this->ctrl->getNextClass() ==
"ilinfoscreengui"
437 || strtolower(
$_GET[
"cmdClass"]) ==
"ilnotegui")
440 $this->tabs_gui->addTarget(
442 $this->ctrl->getLinkTargetByClass(
443 array(
"ilobjcategorygui",
"ilinfoscreengui"),
446 array(
"showSummary",
"",
"infoScreen"),
455 if (
$rbacsystem->checkAccess(
'write', $this->ref_id)) {
456 $force_active = (
$_GET[
"cmd"] ==
"edit")
459 $this->tabs_gui->addTarget(
461 $this->ctrl->getLinkTarget($this,
"edit"),
471 include_once
"Services/Object/classes/class.ilObjectMetaDataGUI.php";
474 $this->object->getId(),
478 $mdgui->enableTaxonomyDefinition(
true);
480 $mdtab = $mdgui->getTab();
482 $this->tabs_gui->addTab(
484 $this->lng->txt(
"meta_data"),
490 include_once
'./Services/User/classes/class.ilUserAccountSettings.php';
493 $rbacsystem->checkAccess(
'cat_administrate_users', $this->ref_id)) {
494 $this->tabs_gui->addTarget(
495 "administrate_users",
496 $this->ctrl->getLinkTarget($this,
"listUsers"),
502 if ($ilAccess->checkAccess(
'write',
'', $this->object->getRefId())) {
503 $this->tabs_gui->addTarget(
505 $this->ctrl->getLinkTargetByClass(
'ilexportgui',
''),
522 $ilTabs->activateTab(
"view_content");
523 $ret = parent::renderObject();
526 $this->object->getType(),
527 $this->object->getRefId(),
528 $this->object->getId(),
537 if (strtolower(
$_GET[
"baseClass"]) ==
"iladministrationgui") {
538 parent::viewObject();
546 $forms = parent::initCreationForms($a_new_type);
556 include_once(
'Services/Container/classes/class.ilContainerSortingSettings.php');
562 $parent_ref_id =
$tree->getParentId($a_new_object->
getRefId());
564 include_once(
"./Services/Style/Content/classes/class.ilObjStyleSheet.php");
573 ilUtil::sendSuccess($this->lng->txt(
"cat_added"),
true);
574 $this->ctrl->setParameter($this,
"ref_id", $a_new_object->
getRefId());
585 $this->ctrl->setCmd(
"showSummary");
586 $this->ctrl->setCmdClass(
"ilinfoscreengui");
599 if (!$ilAccess->checkAccess(
"visible",
"", $this->ref_id)) {
600 $ilErr->raiseError($this->lng->txt(
"msg_no_perm_read"),
$ilErr->MESSAGE);
603 if (!$this->info_screen_enabled) {
608 $this->tabs_gui->setTabActive(
'info_short');
610 include_once(
"./Services/InfoScreen/classes/class.ilInfoScreenGUI.php");
613 $info->enablePrivateNotes();
615 if ($ilAccess->checkAccess(
"read",
"",
$_GET[
"ref_id"])) {
620 $info->enableNewsEditing(
false);
621 if ($ilAccess->checkAccess(
"write",
"",
$_GET[
"ref_id"])) {
623 $enable_internal_rss = $news_set->get(
"enable_rss_for_internal");
625 if ($enable_internal_rss) {
626 $info->setBlockProperty(
"news",
"settings",
true);
627 $info->setBlockProperty(
"news",
"public_notifications_option",
true);
631 include_once(
'Services/AdvancedMetaData/classes/class.ilAdvancedMDRecordGUI.php');
633 $record_gui->setInfoObject($info);
634 $record_gui->parse();
638 $info->addMetaDataSections($this->object->getId(), 0, $this->object->getType());
641 if ($ilCtrl->getNextClass() ==
"ilinfoscreengui") {
642 $ilCtrl->forwardCommand($info);
644 return $ilCtrl->getHTML($info);
657 $this->tabs_gui->activateTab(
'settings');
658 $this->tabs_gui->setSubTabActive(
'edit_cat_settings');
661 $this->tpl->setContent($this->form->getHTML());
677 $this->form->checkInput();
679 if ($this->record_gui->importEditFormPostValues()) {
680 $this->record_gui->writeEditForm();
682 ilUtil::sendSuccess($this->lng->txt(
"settings_saved"),
true);
683 $this->ctrl->redirect($this,
"editInfo");
697 if (is_object($this->form)) {
701 include_once(
'Services/Form/classes/class.ilPropertyFormGUI.php');
703 $this->form->setFormAction($this->ctrl->getFormAction($this));
704 $this->form->setTitle($this->lng->txt(
'ext_cat_settings'));
705 $this->form->addCommandButton(
'updateInfo', $this->lng->txt(
'save'));
706 $this->form->addCommandButton(
'editInfo', $this->lng->txt(
'cancel'));
708 include_once(
'Services/AdvancedMetaData/classes/class.ilAdvancedMDRecordGUI.php');
710 $this->record_gui->setPropertyForm($this->form);
711 $this->record_gui->parse();
721 $this->tabs_gui->addSubTab(
723 $this->lng->txt(
"settings"),
724 $this->ctrl->getLinkTarget($this,
"edit")
727 $this->tabs_gui->addSubTab(
729 $this->lng->txt(
"obj_multilinguality"),
730 $this->ctrl->getLinkTargetByClass(
"ilobjecttranslationgui",
"")
735 $this->object->getId(),
741 $this->tabs_gui->addSubTab(
743 $this->lng->txt(
"cont_news_settings"),
744 $this->ctrl->getLinkTargetByClass(
'ilcontainernewssettingsgui')
748 $this->tabs_gui->addSubTab(
750 $this->lng->txt(
"cont_filter"),
751 $this->ctrl->getLinkTargetByClass(
"ilcontainerfilteradmingui",
"")
754 $this->tabs_gui->activateTab(
"settings");
755 $this->tabs_gui->activateSubTab($active_tab);
762 $this->lng->loadLanguageModule($this->object->getType());
765 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
767 $form->setFormAction($this->ctrl->getFormAction($this));
768 $form->setTitle($this->lng->txt($this->object->getType() .
"_edit"));
771 $this->initFormTitleDescription($form);
778 $pres->setTitle($this->lng->txt(
'obj_presentation'));
779 $form->addItem($pres);
782 $form = $obj_service->commonSettings()->legacyForm($form, $this->
object)->addTitleIconVisibility();
785 $form = $obj_service->commonSettings()->legacyForm($form, $this->
object)->addTopActionsVisibility();
788 $form = $obj_service->commonSettings()->legacyForm($form, $this->
object)->addIcon();
791 $form = $obj_service->commonSettings()->legacyForm($form, $this->
object)->addTileImage();
807 $bl =
new ilNumberInputGUI($this->lng->txt(
"cont_block_limit"),
"block_limit");
808 $bl->setInfo($this->lng->txt(
"cont_block_limit_info"));
815 include_once
'Modules/Category/classes/class.ilECSCategorySettings.php';
817 $ecs->addSettingsToForm($form,
'cat');
821 $sh->setTitle($this->lng->txt(
'obj_features'));
824 include_once
'./Services/Object/classes/class.ilObjectServiceSettingsGUI.php';
826 $this->object->getId(),
838 $form->addCommandButton(
"update", $this->lng->txt(
"save"));
860 $ilErr->raiseError($this->lng->txt(
"msg_no_perm_write"),
$ilErr->MESSAGE);
863 if ($form->checkInput()) {
864 $title = $form->getInput(
"title");
865 $desc = $form->getInput(
"desc");
867 $this->
object->setTitle($title);
868 $this->
object->setDescription($desc);
869 $this->
object->update();
874 $obj_service->commonSettings()->legacyForm($form, $this->
object)->saveTitleIconVisibility();
877 $obj_service->commonSettings()->legacyForm($form, $this->
object)->saveTopActionsVisibility();
880 $obj_service->commonSettings()->legacyForm($form, $this->
object)->saveIcon();
883 $obj_service->commonSettings()->legacyForm($form, $this->
object)->saveTileImage();
889 require_once(
'Services/Tracking/classes/class.ilChangeEvent.php');
895 include_once
'./Services/Object/classes/class.ilObjectServiceSettingsGUI.php';
897 $this->object->getId(),
910 if ((
int) $form->getInput(
"block_limit") > 0) {
916 include_once
'Modules/Category/classes/class.ilECSCategorySettings.php';
918 if ($ecs->handleSettingsUpdate()) {
925 $form->setValuesByPost();
926 $this->tpl->setContent($form->getHTML());
947 $ilCtrl =
$DIC->ctrl();
949 $a_tpl->addBlockfile(
952 "tpl.cat_import_form.html",
956 $a_tpl->setVariable(
"FORMACTION", $ilCtrl->getFormActionByClass(
'ilObjCategoryGUI'));
958 $a_tpl->setVariable(
"TXT_IMPORT_CATEGORIES",
$lng->txt(
"import_categories"));
959 $a_tpl->setVariable(
"TXT_HIERARCHY_OPTION",
$lng->txt(
"import_cat_localrol"));
960 $a_tpl->setVariable(
"TXT_IMPORT_FILE",
$lng->txt(
"import_file"));
961 $a_tpl->setVariable(
"TXT_IMPORT_TABLE",
$lng->txt(
"import_cat_table"));
963 $a_tpl->setVariable(
"BTN_IMPORT",
$lng->txt(
"import"));
964 $a_tpl->setVariable(
"BTN_CANCEL",
$lng->txt(
"cancel"));
967 $parent_role_ids =
$rbacreview->getParentRoleIds($a_ref_id,
true);
970 ksort($parent_role_ids);
972 foreach ($parent_role_ids as $key => $par) {
976 $output[
"adopt"][$key][
"check_adopt"] = $check;
977 $output[
"adopt"][$key][
"role_id"] = $par[
"obj_id"];
978 $output[
"adopt"][$key][
"type"] = ($par[
"type"] ==
'role' ?
'Role' :
'Template');
979 $output[
"adopt"][$key][
"role_name"] = $par[
"title"];
986 foreach ($output[
"adopt"] as $key => $value) {
987 $a_tpl->setCurrentBlock(
"ADOPT_PERM_ROW");
988 $a_tpl->setVariable(
"CSS_ROW_ADOPT", $value[
"css_row_adopt"]);
989 $a_tpl->setVariable(
"CHECK_ADOPT", $value[
"check_adopt"]);
990 $a_tpl->setVariable(
"LABEL_ID", $value[
"role_id"]);
991 $a_tpl->setVariable(
"TYPE", $value[
"type"]);
992 $a_tpl->setVariable(
"ROLE_NAME", $value[
"role_name"]);
993 $a_tpl->parseCurrentBlock();
1005 $this->ctrl->redirect($this);
1046 $ilCtrl =
$DIC->ctrl();
1048 require_once(
"./Modules/Category/classes/class.ilCategoryImportParser.php");
1053 if (!@is_dir($import_dir)) {
1059 $file_name = $_FILES[
"importFile"][
"name"];
1062 if (!strcmp($file_name,
"")) {
1064 $ilCtrl->redirectByClass(
'ilObjCategoryGUI');
1067 $parts = pathinfo($file_name);
1068 $full_path = $import_dir .
"/" . $file_name;
1074 $subdir = basename($parts[
"basename"],
"." . $parts[
"extension"]);
1075 $xml_file = $import_dir .
"/" . $subdir .
"/" . $subdir .
".xml";
1079 $importParser->startParsing();
1081 ilUtil::sendSuccess(
$lng->txt(
"categories_imported"),
true);
1082 $ilCtrl->redirectByClass(
'ilObjCategoryGUI');
1091 include_once(
"./Services/User/classes/class.ilUserTableGUI.php");
1093 $utab->resetOffset();
1094 $utab->resetFilter();
1108 include_once(
"./Services/User/classes/class.ilUserTableGUI.php");
1110 $utab->resetOffset();
1111 $utab->writeFilterToSession();
1122 include_once
'./Services/User/classes/class.ilLocalUser.php';
1123 include_once
'./Services/User/classes/class.ilObjUserGUI.php';
1128 if (!
$rbacsystem->checkAccess(
"cat_administrate_users", $this->object->getRefId())) {
1129 $ilErr->raiseError($this->lng->txt(
"msg_no_perm_admin_users"),
$ilErr->MESSAGE);
1131 $this->tabs_gui->setTabActive(
'administrate_users');
1135 $this->tpl->addBlockfile(
1138 'tpl.cat_admin_users.html',
1143 $ilToolbar->addButton(
1144 $this->lng->txt(
'add_user'),
1145 $this->ctrl->getLinkTargetByClass(
'ilobjusergui',
'create')
1148 $ilToolbar->addButton(
1149 $this->lng->txt(
'import_users'),
1150 $this->ctrl->getLinkTargetByClass(
'ilobjuserfoldergui',
'importUserForm')
1157 $this->tpl->setCurrentBlock(
"confirm_delete");
1158 $this->tpl->setVariable(
"CONFIRM_FORMACTION", $this->ctrl->getFormAction($this));
1159 $this->tpl->setVariable(
"TXT_CANCEL", $this->lng->txt(
'cancel'));
1160 $this->tpl->setVariable(
"CONFIRM_CMD",
'performDeleteUsers');
1161 $this->tpl->setVariable(
"TXT_CONFIRM", $this->lng->txt(
'delete'));
1162 $this->tpl->parseCurrentBlock();
1165 $this->lng->loadLanguageModule(
'user');
1167 include_once(
"./Services/User/classes/class.ilUserTableGUI.php");
1169 $this->tpl->setVariable(
'USERS_TABLE', $utab->getHTML());
1179 include_once
'./Services/User/classes/class.ilUserAutoComplete.php';
1181 $auto->setSearchFields(array(
'login',
'firstname',
'lastname',
'email'));
1182 $auto->enableFieldSearchableCheck(
true);
1183 $auto->isMoreLinkAvailable(
true);
1185 if (($_REQUEST[
'fetchall'])) {
1189 echo $auto->getList($_REQUEST[
'term']);
1196 include_once
'./Services/User/classes/class.ilLocalUser.php';
1199 foreach (
$_POST[
'user_ids'] as $user_id) {
1201 die(
'user id not valid');
1208 ilUtil::sendSuccess($this->lng->txt(
'deleted_users'));
1217 if (!count(
$_POST[
'id'])) {
1224 include_once
'./Services/Utilities/classes/class.ilConfirmationGUI.php';
1226 $confirm->setFormAction($this->ctrl->getFormAction($this));
1227 $confirm->setHeaderText($this->lng->txt(
'sure_delete_selected_users'));
1228 $confirm->setConfirm($this->lng->txt(
'delete'),
'performDeleteUsers');
1229 $confirm->setCancel($this->lng->txt(
'cancel'),
'listUsers');
1237 $name[
'lastname'] .
', ' .
$name[
'firstname'] .
' [' .
$name[
'login'] .
']'
1240 $this->tpl->setContent($confirm->getHTML());
1250 include_once
'./Services/User/classes/class.ilLocalUser.php';
1252 if (!isset(
$_GET[
'obj_id'])) {
1259 $ilTabs->clearTargets();
1260 $ilTabs->setBackTarget($this->lng->txt(
'backto_lua'), $this->ctrl->getLinkTarget($this,
'listUsers'));
1262 $ilHelp->setScreenIdComponent(
"cat");
1263 $ilHelp->setScreenId(
"administrate_user");
1264 $ilHelp->setSubScreenId(
"assign_roles");
1269 if (!count($roles)) {
1270 #ilUtil::sendInfo($this->lng->txt('no_roles_user_can_be_assigned_to'));
1271 #$this->listUsersObject();
1279 $f_result = array();
1281 foreach ($roles as $role) {
1286 in_array($role[
'obj_id'], $ass_roles) ? 1 : 0,
1291 $f_result[$counter][
'title'] = $role_obj->getTitle() ? $role_obj->getTitle() :
"";
1292 $f_result[$counter][
'desc'] = $role_obj->getDescription() ? $role_obj->getDescription() :
"";
1293 $f_result[$counter][
'type'] = $role[
'role_type'] ==
'global' ?
1294 $this->lng->txt(
'global') :
1295 $this->lng->txt(
'local');
1301 include_once(
'./Modules/Category/classes/class.ilCategoryAssignRoleTableGUI.php');
1304 $title = $this->lng->txt(
'role_assignment') .
' (' . $tmp_obj->getFullname() .
')';
1305 $table->setTitle($title,
"icon_role.svg", $this->lng->txt(
"role_assignment"));
1306 $table->setData($f_result);
1307 $this->tpl->setContent($table->getHTML());
1316 include_once
'./Services/User/classes/class.ilLocalUser.php';
1334 $new_role_ids =
$_POST[
'role_ids'] ?
$_POST[
'role_ids'] : array();
1335 $assigned_roles =
$rbacreview->assignedRoles((
int) $_REQUEST[
'obj_id']);
1336 foreach ($roles as $role) {
1337 if (in_array($role[
'obj_id'], $new_role_ids) and !in_array($role[
'obj_id'], $assigned_roles)) {
1338 $rbacadmin->assignUser($role[
'obj_id'], (
int) $_REQUEST[
'obj_id']);
1340 if (in_array($role[
'obj_id'], $assigned_roles) and !in_array($role[
'obj_id'], $new_role_ids)) {
1341 $rbacadmin->deassignUser($role[
'obj_id'], (
int) $_REQUEST[
'obj_id']);
1344 ilUtil::sendSuccess($this->lng->txt(
'role_assignment_updated'));
1360 $global_roles =
$rbacreview->getGlobalRolesArray();
1361 } elseif ($tmp_obj->getTimeLimitOwner() == $this->object->getRefId()) {
1362 $global_roles =
$rbacreview->getGlobalAssignableRoles();
1364 $global_roles = array();
1366 return $roles = array_merge(
1368 $rbacreview->getAssignableChildRoles($this->object->getRefId())
1381 if ($tmp_obj->getTimeLimitOwner() != $this->object->getRefId() and
1387 $new_assigned = $new_assigned ? $new_assigned : array();
1396 $global_assignable = array();
1397 foreach ($ga as $role) {
1398 $global_assignable[] = $role[
'obj_id'];
1401 $new_visible_assigned_roles = array_intersect($new_assigned, $global_assignable);
1402 $all_assigned_roles = array_intersect($assigned,
$rbacreview->getGlobalRoles());
1403 $main_assigned_roles = array_diff($all_assigned_roles, $global_assignable);
1405 if (!count($new_visible_assigned_roles) and !count($main_assigned_roles)) {
1415 $ilAccess =
$DIC->access();
1419 if ($ilAccess->checkAccess(
"read",
"", $a_target)) {
1421 } elseif ($ilAccess->checkAccess(
"visible",
"", $a_target)) {
1425 $lng->txt(
"msg_no_perm_read_item"),
1440 $this->tabs_gui->setTabActive(
"obj_tool_setting_taxonomies");
1441 $this->tabs_gui->addSubTab(
1443 $this->lng->txt(
"cntr_taxonomy_sideblock_settings"),
1444 $this->ctrl->getLinkTarget($this,
"editTaxonomySettings")
1446 $this->tabs_gui->addSubTab(
1448 $this->lng->txt(
"cntr_taxonomy_definitions"),
1449 $this->ctrl->getLinkTargetByClass(
"ilobjtaxonomygui",
"")
1451 $this->tabs_gui->activateSubTab($a_active);
1458 include_once
"Services/Object/classes/class.ilObjectServiceSettingsGUI.php";
1459 include_once
"Services/Taxonomy/classes/class.ilObjTaxonomy.php";
1464 foreach (
$tree->getPathFull($this->object->getRefId()) as $node) {
1469 if (
sizeof($node_taxes)) {
1470 foreach ($node_taxes as $node_tax) {
1471 $res[$node_tax[
"tax_id"]] = array(
1472 "title" => $node_tax[
"title"]
1473 ,
"source" => $node[
"child"]
1492 if (substr($keyword, 0, strlen($prefix)) == $prefix && (
bool) $value) {
1493 $res[] = substr($keyword, strlen($prefix));
if(!defined('PATH_SEPARATOR')) $GLOBALS['_PEAR_default_error_mode']
An exception for terminatinating execution or to throw for unit testing.
error($a_errmsg)
set error message @access public
TableGUI class for role assignments.
static _recordReadEvent( $a_type, $a_ref_id, $obj_id, $usr_id, $isCatchupWriteEvents=true, $a_ext_rc=false, $a_ext_time=false)
Records a read event and catches up with write events.
static _catchupWriteEvents($obj_id, $usr_id, $timestamp=null)
Catches up with all write events which occured before the specified timestamp.
static _recordWriteEvent($obj_id, $usr_id, $action, $parent_obj_id=null)
Records a write event.
This class represents an option in a checkbox group.
static getInstanceFromAjaxCall()
(Re-)Build instance from ajax call
Confirmation screen class.
Filter administration for containers.
afterUpdate()
Post (successful) object update hook.
& forwardToPageObject()
forward command to page object
initSortingForm(ilPropertyFormGUI $form, array $a_sorting_settings)
Append sorting settings to property form.
prepareOutput($a_show_subobjects=true)
prepare output
saveListPresentation(ilPropertyFormGUI $form)
Save list presentation setting.
forwardToStyleSheet()
Forward to style object.
initListPresentationForm(ilPropertyFormGUI $form)
Add list presentation settings to form.
saveSortingSettings(ilPropertyFormGUI $form)
Save sorting settings.
Class ilContainerLinkListGUI.
News settings for containers.
static _lookupContainerSetting($a_id, $a_keyword, $a_default_value=null)
Lookup a container setting.
static _deleteContainerSettings($a_id, $a_keyword=null, $a_keyword_like=false)
static _getContainerSettings($a_id)
static _writeContainerSetting($a_id, $a_keyword, $a_value)
GUI class for didactic template settings inside repository objects.
Class ilECSCategorySettings.
Export User Interface Class.
static _getLink($a_ref_id, $a_type='', $a_params=array(), $append="")
static _getAllUserIds($a_filter=0)
initExtendedSettings()
build property form for extended category settings
initEditForm()
Init object edit form.
updateObject()
updates object entry in object_data
importCategoriesWithRolObject()
import categories with local rol
importCategoriesFormObject()
display form for category import
addUserAutoCompleteObject()
Show auto complete results.
getObjectMetadataGUI()
Get object metadata gui.
getEditFormValues()
Get values for edit form.
initTaxSubTabs($a_active="tax_list")
static _importCategories($a_ref_id, $withrol_tmp)
import categories (static, also called by RootFolderGUI)
editInfoObject()
Edit extended category settings.
infoScreenObject()
this one is called from the info button in the repository not very nice to set cmdClass/Cmd manually,...
infoScreen()
show information screen
__construct($a_data, $a_id, $a_call_by_reference=true, $a_prepare_output=true)
Constructor @access public.
listUsersObject($show_delete=false)
applyFilterObject()
Apply filter.
initCreationForms($a_new_type)
Init creation froms.
viewObject()
viewObject container presentation for "administration -> repository, trash, permissions"
executeCommand()
execute command note: this method is overwritten in all container objects
importCategoriesObject()
import categories
static _getImportDir()
get user import directory name
__checkGlobalRoles($new_assigned)
static _importCategoriesForm($a_ref_id, &$a_tpl)
display form for category import (static, also called by RootFolderGUI)
afterSave(ilObject $a_new_object)
Post (successful) object creation hook.
addHeaderAction()
@inheritDoc
setEditTabs($active_tab="settings_misc")
renderObject()
Render category.
const CONTAINER_SETTING_TAXBLOCK
performDeleteUsersObject()
resetFilterObject()
Reset filter (note: this function existed before data table filter has been introduced.
updateInfoObject()
Update info (extended meta data)
importCancelledObject()
import cancelled
static _lookupStandard($a_id)
Lookup standard flag.
static lookupObjectStyle($a_obj_id)
Lookup object style.
static getContentStylePath($a_style_id, $add_random=true, $add_token=true)
get content style path
static writeStyleUsage($a_obj_id, $a_style_id)
Write style usage.
static getUsageOfObject($a_obj_id, $a_include_titles=false)
Get usage of object.
Class ilObjUserFolderGUI.
static _lookupName($a_user_id)
lookup user name
GUI class for the workflow of copying objects.
static getInstanceByObjId($a_obj_id, $stop_on_error=true)
get an instance of an Ilias object by object id
checkPermission($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission and redirect on error.
static _gotoRepositoryNode($a_ref_id, $a_cmd="frameset")
Goto repository root.
static _gotoRepositoryRoot($a_raise_error=false)
Goto repository root.
getCreationMode()
get creation mode
checkPermissionBool($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission.
initDidacticTemplate(ilPropertyFormGUI $form)
Show didactic template types.
getObjectService()
Get object service.
redirectToRefId($a_ref_id, $a_cmd="")
redirects to (repository) view per ref id usually to a container and usually used at the end of a sav...
static initServiceSettingsForm($a_obj_id, ilPropertyFormGUI $form, $services)
Init service settings form.
static updateServiceSettingsForm($a_obj_id, ilPropertyFormGUI $form, $services)
Update service settings.
const INFO_TAB_VISIBILITY
GUI class for object translation handling.
Class ilObject Basic functions for all objects.
static _lookupObjId($a_id)
static _lookupTitle($a_id)
lookup object title
static _lookupDescription($a_id)
lookup object description
getRefId()
get reference id @access public
getId()
get object id @access public
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
static initPreview()
Initializes the preview and loads the needed javascripts and styles.
static getInstance()
Singelton get instance.
Auto completion class for user lists.
TableGUI class for user administration.
static getDataDir()
get data directory (outside webspace)
static moveUploadedFile($a_file, $a_name, $a_target, $a_raise_errors=true, $a_mode="move_uploaded")
move uploaded file
static formCheckbox($checked, $varname, $value, $disabled=false)
??? @access public
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static switchColor($a_num, $a_css1, $a_css2)
switches style sheets for each even $a_num (used for changing colors of different result rows)
static unzip(string $path_to_zip_file, bool $overwrite_existing=false, bool $unpack_flat=false)
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
static createDirectory($a_dir, $a_mod=0755)
create directory
__construct(Container $dic, ilPlugin $plugin)
@inheritDoc
foreach($_POST as $key=> $value) $res