5require_once 
"./Services/Container/classes/class.ilContainerGUI.php";
 
   31        function __construct($a_data, $a_id, $a_call_by_reference = 
true, $a_prepare_output = 
true)
 
   38                $GLOBALS[
'lng']->loadLanguageModule(
'cat');
 
   41                parent::__construct($a_data,(
int) $a_id,$a_call_by_reference,
false);
 
   43                if (is_object($this->
object))
 
   45                        include_once(
"./Services/Container/classes/class.ilContainer.php");
 
   46                        include_once(
"./Services/Object/classes/class.ilObjectServiceSettingsGUI.php");
 
   48                                        $this->object->getId(),
 
   56                global $rbacsystem, $ilNavigationHistory, $ilAccess, 
$ilCtrl,$ilTabs;
 
   58                $next_class = $this->ctrl->getNextClass($this);
 
   59                $cmd = $this->ctrl->getCmd();
 
   67                                include_once(
'./Services/User/classes/class.ilObjUserGUI.php');
 
   69                                $this->tabs_gui->setTabActive(
'administrate_users');
 
   73                                        $this->gui_obj->setCreationMode($this->creation_mode);
 
   74                                        $ret =& $this->ctrl->forwardCommand($this->gui_obj);
 
   79                                        $this->gui_obj->setCreationMode($this->creation_mode);
 
   80                                        $ret =& $this->ctrl->forwardCommand($this->gui_obj);
 
   83                                $ilTabs->clearTargets();
 
   84                                $ilTabs->setBackTarget($this->lng->txt(
'backto_lua'), $this->ctrl->getLinkTarget($this,
'listUsers'));
 
   86                                $ilHelp->setScreenIdComponent(
"cat");
 
   87                                $ilHelp->setScreenId(
"administrate_user");
 
   88                                $ilHelp->setSubScreenId(
$ilCtrl->getCmd());
 
   91                        case "ilobjuserfoldergui":
 
   92                                include_once(
'./Services/User/classes/class.ilObjUserFolderGUI.php');
 
   95                                $this->gui_obj->setUserOwnerId((
int) 
$_GET[
'ref_id']);
 
   96                                $this->gui_obj->setCreationMode($this->creation_mode);
 
   97                                $ret =& $this->ctrl->forwardCommand($this->gui_obj);
 
   99                                $ilTabs->clearTargets();
 
  100                                $ilTabs->setBackTarget($this->lng->txt(
'backto_lua'), $this->ctrl->getLinkTarget($this,
'listUsers'));
 
  102                                $ilHelp->setScreenIdComponent(
"cat");
 
  103                                $ilHelp->setScreenId(
"administrate_user");
 
  104                                $ilHelp->setSubScreenId(
$ilCtrl->getCmd());
 
  110                                include_once(
"./Services/Style/Content/classes/class.ilObjStyleSheet.php");
 
  111                                $this->tpl->setVariable(
"LOCATION_CONTENT_STYLESHEET",
 
  116                        case 'ilpermissiongui':
 
  118                                $this->tabs_gui->setTabActive(
'perm_settings');
 
  119                                include_once(
"Services/AccessControl/classes/class.ilPermissionGUI.php");
 
  121                                $ret =& $this->ctrl->forwardCommand($perm_gui);
 
  124                        case 'ilinfoscreengui':
 
  125                                if ($this->info_screen_enabled)
 
  132                        case 'ilcontainerlinklistgui':
 
  133                                include_once(
"Services/Container/classes/class.ilContainerLinkListGUI.php");
 
  135                                $ret =& $this->ctrl->forwardCommand($link_list_gui);
 
  139                        case "ilcontainerpagegui":
 
  144                                        $this->tpl->setContent(
$ret);
 
  148                        case 'ilobjectcopygui':
 
  151                                include_once 
'./Services/Object/classes/class.ilObjectCopyGUI.php';
 
  154                                $this->ctrl->forwardCommand($cp);
 
  157                        case "ilobjstylesheetgui":
 
  161                        case 'ilusertablegui':
 
  162                                include_once 
'./Services/User/classes/class.ilUserTableGUI.php';
 
  164                                $u_table->initFilter();
 
  165                                $this->ctrl->setReturn($this,
'listUsers');
 
  166                                $this->ctrl->forwardCommand($u_table);
 
  169                        case "ilcommonactiondispatchergui":
 
  171                                include_once(
"Services/Object/classes/class.ilCommonActionDispatcherGUI.php");
 
  173                                $this->ctrl->forwardCommand($gui);
 
  176                        case 'ildidactictemplategui':
 
  177                                $this->ctrl->setReturn($this,
'edit');
 
  178                                include_once 
'./Services/DidacticTemplate/classes/class.ilDidacticTemplateGUI.php';
 
  180                                $this->ctrl->forwardCommand($did);
 
  185                                $this->tabs_gui->setTabActive(
'export');
 
  186                                include_once 
'./Services/Export/classes/class.ilExportGUI.php';
 
  188                                $exp->addFormat(
'xml');
 
  189                                $this->ctrl->forwardCommand($exp);
 
  192                        case 'ilobjecttranslationgui':
 
  197                                include_once(
"./Services/Object/classes/class.ilObjectTranslationGUI.php");
 
  199                                $this->ctrl->forwardCommand($transgui);
 
  202                        case 'ilobjtaxonomygui':
 
  206                                include_once(
"./Services/Taxonomy/classes/class.ilObjTaxonomyGUI.php");
 
  208                                $tax->setAssignedObject($this->object->getId());
 
  209                                $tax->setMultiple(
true);
 
  210                                $tax->setListInfo($this->lng->txt(
"cntr_tax_list_info"));
 
  211                                $this->ctrl->forwardCommand($tax);                              
 
  214                        case 'ilobjectmetadatagui';
 
  217                                $this->tabs_gui->activateTab(
'meta_data');
 
  218                                include_once 
'Services/Object/classes/class.ilObjectMetaDataGUI.php';
 
  220                                $this->ctrl->forwardCommand($md_gui);
 
  224                                if (
$cmd == 
"infoScreen")
 
  235                                        $ilAccess->checkAccess(
"read", 
"", 
$_GET[
"ref_id"]))
 
  237                                        include_once(
"./Services/Link/classes/class.ilLink.php");
 
  238                                        $ilNavigationHistory->addItem(
$_GET[
"ref_id"],
 
  243                                include_once(
"./Services/Style/Content/classes/class.ilObjStyleSheet.php");
 
  244                                if (is_object($this->
object))
 
  246                                        $this->tpl->setVariable(
"LOCATION_CONTENT_STYLESHEET",
 
  255                                $this->tabs_gui->activateTab(
"view_content");   
 
  271                global $rbacsystem, 
$lng, $ilHelp, $ilAccess;
 
  273                if ($this->ctrl->getCmd() == 
"editPageContent")
 
  277                #$this->ctrl->setParameter($this,"ref_id",$this->ref_id);
 
  279                $ilHelp->setScreenIdComponent(
"cat");
 
  281                if ($rbacsystem->checkAccess(
'read',$this->ref_id))
 
  283                        $force_active = (
$_GET[
"cmd"] == 
"" || 
$_GET[
"cmd"] == 
"render")
 
  286                        $this->tabs_gui->addTab(
"view_content", 
$lng->txt(
"content"),
 
  287                                $this->ctrl->getLinkTarget($this, 
""));
 
  290                        if ($this->info_screen_enabled)
 
  292                                $force_active = ($this->ctrl->getNextClass() == 
"ilinfoscreengui" 
  293                                        || strtolower(
$_GET[
"cmdClass"]) == 
"ilnotegui")
 
  296                                $this->tabs_gui->addTarget(
"info_short",
 
  297                                         $this->ctrl->getLinkTargetByClass(
 
  298                                         array(
"ilobjcategorygui", 
"ilinfoscreengui"), 
"showSummary"),
 
  299                                         array(
"showSummary",
"", 
"infoScreen"),
 
  300                                         "", 
"", $force_active);
 
  305                if ($rbacsystem->checkAccess(
'write',$this->ref_id))
 
  307                        $force_active = (
$_GET[
"cmd"] == 
"edit")
 
  310                        $this->tabs_gui->addTarget(
"settings",
 
  311                                $this->ctrl->getLinkTarget($this, 
"edit"), 
"edit", get_class($this)
 
  312                                , 
"", $force_active);
 
  315                        include_once 
"Services/Object/classes/class.ilObjectMetaDataGUI.php";
 
  317                        $mdtab = $mdgui->getTab();
 
  320                                $this->tabs_gui->addTab(
"meta_data",
 
  321                                        $this->lng->txt(
"meta_data"),
 
  325                        include_once 
"Services/Object/classes/class.ilObjectServiceSettingsGUI.php";
 
  327                                                $this->object->getId(),
 
  332                                $this->tabs_gui->addTarget(
"obj_tool_setting_taxonomies",
 
  333                                        $this->ctrl->getLinkTarget($this, 
"editTaxonomySettings"), 
"editTaxonomySettings", get_class($this));
 
  337                include_once 
'./Services/User/classes/class.ilUserAccountSettings.php';
 
  340                        $rbacsystem->checkAccess(
'cat_administrate_users',$this->ref_id))
 
  342                        $this->tabs_gui->addTarget(
"administrate_users",
 
  343                                $this->ctrl->getLinkTarget($this, 
"listUsers"), 
"listUsers", get_class($this));
 
  346                if($ilAccess->checkAccess(
'write',
'',$this->object->getRefId()))
 
  348                        $this->tabs_gui->addTarget(
 
  350                                $this->ctrl->getLinkTargetByClass(
'ilexportgui',
''),
 
  368                $ilTabs->activateTab(
"view_content");
 
  369                $ret =  parent::renderObject();
 
  376                if (strtolower(
$_GET[
"baseClass"]) == 
"iladministrationgui")
 
  378                        parent::viewObject();
 
  386                $forms = parent::initCreationForms($a_new_type);
 
  396                $a_new_object->addTranslation($a_new_object->
getTitle(),
 
  400                include_once(
'Services/Container/classes/class.ilContainerSortingSettings.php');
 
  406                $parent_ref_id = 
$tree->getParentId($a_new_object->
getRefId());
 
  408                include_once(
"./Services/Style/Content/classes/class.ilObjStyleSheet.php");
 
  420                $this->ctrl->setParameter($this, 
"ref_id", $a_new_object->
getRefId());
 
  431                $this->ctrl->setCmd(
"showSummary");
 
  432                $this->ctrl->setCmdClass(
"ilinfoscreengui");
 
  443                if (!$ilAccess->checkAccess(
"visible", 
"", $this->ref_id))
 
  445                        $this->
ilias->raiseError($this->lng->txt(
"msg_no_perm_read"),$this->ilias->error_obj->MESSAGE);
 
  448                if (!$this->info_screen_enabled)
 
  454                $this->tabs_gui->setTabActive(
'info_short');
 
  456                include_once(
"./Services/InfoScreen/classes/class.ilInfoScreenGUI.php");
 
  459                $info->enablePrivateNotes();
 
  461                if ($ilAccess->checkAccess(
"read", 
"", 
$_GET[
"ref_id"]))
 
  467                $info->enableNewsEditing(
false);
 
  468                if ($ilAccess->checkAccess(
"write", 
"", 
$_GET[
"ref_id"]))
 
  471                        $enable_internal_rss = $news_set->get(
"enable_rss_for_internal");
 
  473                        if ($enable_internal_rss)
 
  475                                $info->setBlockProperty(
"news", 
"settings", 
true);
 
  476                                $info->setBlockProperty(
"news", 
"public_notifications_option", 
true);
 
  480                include_once(
'Services/AdvancedMetaData/classes/class.ilAdvancedMDRecordGUI.php');
 
  482                $record_gui->setInfoObject(
$info);
 
  483                $record_gui->parse();
 
  487                $info->addMetaDataSections($this->object->getId(),0, $this->object->getType());
 
  490                if (
$ilCtrl->getNextClass() == 
"ilinfoscreengui")
 
  509                $this->tabs_gui->activateTab(
'settings');
 
  510                $this->tabs_gui->setSubTabActive(
'edit_cat_settings');
 
  513                $this->tpl->setContent($this->form->getHTML());
 
  529                $this->form->checkInput();              
 
  531                if($this->record_gui->importEditFormPostValues())
 
  533                        $this->record_gui->writeEditForm();
 
  536                        $this->ctrl->redirect($this, 
"editInfo");                       
 
  550                if(is_object($this->form))
 
  555                include_once(
'Services/Form/classes/class.ilPropertyFormGUI.php');
 
  557                $this->form->setFormAction($this->ctrl->getFormAction($this));
 
  558                $this->form->setTitle($this->lng->txt(
'ext_cat_settings'));
 
  559                $this->form->addCommandButton(
'updateInfo',$this->lng->txt(
'save'));
 
  560                $this->form->addCommandButton(
'editInfo',$this->lng->txt(
'cancel'));
 
  562                include_once(
'Services/AdvancedMetaData/classes/class.ilAdvancedMDRecordGUI.php');
 
  564                $this->record_gui->setPropertyForm($this->form);
 
  565                $this->record_gui->parse();
 
  574                $this->tabs_gui->addSubTab(
"settings_misc",
 
  575                        $this->lng->txt(
"settings"),
 
  576                        $this->ctrl->getLinkTarget($this, 
"edit"));
 
  582                $this->tabs_gui->addSubTab(
"settings_trans",
 
  583                        $this->lng->txt(
"obj_multilinguality"),
 
  584                        $this->ctrl->getLinkTargetByClass(
"ilobjecttranslationgui", 
""));
 
  589                        $this->tabs_gui->addSubTab(
"icons",
 
  590                                $this->lng->txt(
"icon_settings"),
 
  591                                $this->ctrl->getLinkTarget($this,
'editIcons'));
 
  594                $this->tabs_gui->activateTab(
"settings");
 
  595                $this->tabs_gui->activateSubTab($active_tab);
 
  600                $this->lng->loadLanguageModule($this->object->getType());
 
  603                include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
 
  605                $form->setFormAction($this->ctrl->getFormAction($this));
 
  606                $form->setTitle($this->lng->txt($this->object->getType().
"_edit"));
 
  610                $trans = $this->
object->getTranslations();
 
  611                $def = $trans[
"Fobject"][0]; 
 
  614                $title->setRequired(
true);
 
  617                $title->setValue($def[
"title"]);
 
  620                if(
sizeof($trans[
"Fobject"]) > 1)
 
  622                        include_once(
'Services/MetaData/classes/class.ilMDLanguageItem.php');
 
  626                                ' <a href="'.$this->ctrl->getLinkTarget($this, 
"editTranslations").
 
  627                                '">» '.$this->lng->txt(
"cat_more_translations").
'</a>');
 
  635                $desc->setValue($def[
"desc"]);
 
  636                $form->addItem($desc);
 
  643                $pres->setTitle($this->lng->txt(
'obj_presentation'));
 
  644                $form->addItem($pres);
 
  660                include_once 
'Modules/Category/classes/class.ilECSCategorySettings.php';
 
  662                $ecs->addSettingsToForm($form, 
'cat');
 
  666                $sh->setTitle($this->lng->txt(
'obj_features'));
 
  669                include_once 
'./Services/Object/classes/class.ilObjectServiceSettingsGUI.php';
 
  671                                $this->object->getId(),
 
  681                $form->addCommandButton(
"update", $this->lng->txt(
"save"));
 
  701                        $this->
ilias->raiseError($this->lng->txt(
"msg_no_perm_write"),$this->ilias->error_obj->MESSAGE);
 
  706                        if($form->checkInput())
 
  708                                $title = $form->getInput(
"title");
 
  709                                $desc = $form->getInput(
"desc");
 
  710                                $lang = $this->
object->getTranslations();
 
  712                                $this->
object->deleteTranslation(
$lang);
 
  713                                $this->
object->addTranslation(
$title, $desc, 
$lang, 
true);      
 
  714                                $this->
object->setTitle(
$title);
 
  715                                $this->
object->setDescription($desc);
 
  716                                $this->
object->update();
 
  743                                require_once(
'Services/Tracking/classes/class.ilChangeEvent.php');
 
  749                                include_once 
'./Services/Object/classes/class.ilObjectServiceSettingsGUI.php';
 
  751                                        $this->object->getId(),
 
  762                                include_once 
'Modules/Category/classes/class.ilECSCategorySettings.php';        
 
  764                                if($ecs->handleSettingsUpdate())
 
  772                        $form->setValuesByPost();
 
  773                        $this->tpl->setContent($form->getHTML());
 
  784        $this->ctrl->redirectByClass(
"ilobjecttranslationgui", 
"");
 
  787                $this->lng->loadLanguageModule($this->object->getType());
 
  790                include_once(
"./Services/Object/classes/class.ilObjectTranslationTableGUI.php");
 
  793                if ($a_get_post_values)
 
  796                        foreach(
$_POST[
"title"] as $k => $v)
 
  798                                $vals[] = array(
"title" => $v,
 
  799                                        "desc" => 
$_POST[
"desc"][$k],
 
  800                                        "lang" => 
$_POST[
"lang"][$k],
 
  801                                        "default" => (
$_POST[
"default"] == $k));
 
  803                        $table->setData($vals);
 
  807                        $data = $this->
object->getTranslations();
 
  808                        foreach(
$data[
"Fobject"] as $k => $v)
 
  810                                $data[
"Fobject"][$k][
"default"] = ($k == 
$data[
"default_language"]);
 
  814                                $data[
"Fobject"][++$k][
"title"] = 
"";
 
  816                        $table->setData(
$data[
"Fobject"]);
 
  818                $tpl->setContent($table->getHTML());
 
  828                        $this->
ilias->raiseError($this->lng->txt(
"permission_denied"),$this->ilias->error_obj->MESSAGE);
 
  832                if (!isset(
$_POST[
"default"]))
 
  839                if (array_key_exists(
"",
$_POST[
"lang"]))
 
  846                if (count(array_unique(
$_POST[
"lang"])) < count(
$_POST[
"lang"]))
 
  853                $this->
object->removeTranslations();
 
  854                foreach(
$_POST[
"title"] as $k => $v)
 
  857                        $is_default = (
$_POST[
"default"] == $k);
 
  862                                $this->
object->update();
 
  865                        $this->
object->addTranslation(
 
  873                $this->ctrl->redirect($this, 
"editTranslations");
 
  883                        $k = max(array_keys(
$_POST[
"title"]));
 
  899                foreach(
$_POST[
"title"] as $k => $v)
 
  904                                if($k != 
$_POST[
"default"])
 
  906                                        unset(
$_POST[
"title"][$k]);
 
  907                                        unset(
$_POST[
"desc"][$k]);
 
  908                                        unset(
$_POST[
"lang"][$k]);
 
  935                $a_tpl->addBlockfile(
"ADM_CONTENT", 
"adm_content", 
"tpl.cat_import_form.html",
 
  938                $a_tpl->setVariable(
"FORMACTION", 
$ilCtrl->getFormActionByClass(
'ilObjCategoryGUI'));
 
  940                $a_tpl->setVariable(
"TXT_IMPORT_CATEGORIES", 
$lng->txt(
"import_categories"));
 
  941                $a_tpl->setVariable(
"TXT_HIERARCHY_OPTION", 
$lng->txt(
"import_cat_localrol"));
 
  942                $a_tpl->setVariable(
"TXT_IMPORT_FILE", 
$lng->txt(
"import_file"));
 
  943                $a_tpl->setVariable(
"TXT_IMPORT_TABLE", 
$lng->txt(
"import_cat_table"));
 
  945                $a_tpl->setVariable(
"BTN_IMPORT", 
$lng->txt(
"import"));
 
  946                $a_tpl->setVariable(
"BTN_CANCEL", 
$lng->txt(
"cancel"));
 
  949                $parent_role_ids = $rbacreview->getParentRoleIds($a_ref_id,
true);
 
  952                ksort($parent_role_ids);
 
  954                foreach ($parent_role_ids as $key => $par)
 
  956                    if ($par[
"obj_id"] != SYSTEM_ROLE_ID)
 
  960                        $output[
"adopt"][$key][
"check_adopt"] = $check;
 
  961                        $output[
"adopt"][$key][
"role_id"] = $par[
"obj_id"];
 
  962                        $output[
"adopt"][$key][
"type"] = ($par[
"type"] == 
'role' ? 
'Role' : 
'Template');
 
  963                        $output[
"adopt"][$key][
"role_name"] = $par[
"title"];
 
  970                foreach (
$output[
"adopt"] as $key => $value)
 
  972                    $a_tpl->setCurrentBlock(
"ADOPT_PERM_ROW");
 
  973                    $a_tpl->setVariable(
"CSS_ROW_ADOPT",$value[
"css_row_adopt"]);
 
  974                    $a_tpl->setVariable(
"CHECK_ADOPT",$value[
"check_adopt"]);
 
  975                    $a_tpl->setVariable(
"LABEL_ID",$value[
"role_id"]);
 
  976                    $a_tpl->setVariable(
"TYPE",$value[
"type"]);
 
  977                    $a_tpl->setVariable(
"ROLE_NAME",$value[
"role_name"]);
 
  978                    $a_tpl->parseCurrentBlock();
 
  990                $this->ctrl->redirect($this);
 
 1030                require_once(
"./Modules/Category/classes/class.ilCategoryImportParser.php");
 
 1035                if (!@is_dir($import_dir))
 
 1042                $file_name = $_FILES[
"importFile"][
"name"];
 
 1045                if (!strcmp($file_name,
"")) {
 
 1047                  $ilCtrl->redirectByClass(
'ilObjCategoryGUI');
 
 1050                $parts = pathinfo($file_name);
 
 1051                $full_path = $import_dir.
"/".$file_name;
 
 1057                $subdir = basename($parts[
"basename"],
".".$parts[
"extension"]);
 
 1058                $xml_file = $import_dir.
"/".$subdir.
"/".$subdir.
".xml";
 
 1062                $importParser->startParsing();
 
 1065                $ilCtrl->redirectByClass(
'ilObjCategoryGUI');
 
 1074                include_once(
"./Services/User/classes/class.ilUserTableGUI.php");
 
 1076                $utab->resetOffset();
 
 1077                $utab->resetFilter();
 
 1091                include_once(
"./Services/User/classes/class.ilUserTableGUI.php");
 
 1093                $utab->resetOffset();
 
 1094                $utab->writeFilterToSession();
 
 1101                global 
$ilUser,$rbacreview, $ilToolbar;
 
 1103                include_once 
'./Services/User/classes/class.ilLocalUser.php';
 
 1104                include_once 
'./Services/User/classes/class.ilObjUserGUI.php';
 
 1106                global $rbacsystem,$rbacreview;
 
 1108                if(!$rbacsystem->checkAccess(
"cat_administrate_users",$this->object->getRefId()))
 
 1110                        $this->
ilias->raiseError($this->lng->txt(
"msg_no_perm_admin_users"),$this->ilias->error_obj->MESSAGE);
 
 1112                $this->tabs_gui->setTabActive(
'administrate_users');
 
 1116                $this->tpl->addBlockfile(
'ADM_CONTENT',
'adm_content',
'tpl.cat_admin_users.html',
 
 1117                        "Modules/Category");
 
 1119                if(count($rbacreview->getGlobalAssignableRoles()) or in_array(SYSTEM_ROLE_ID,$rbacreview->assignedRoles(
$ilUser->getId())))
 
 1121                        $ilToolbar->addButton(
 
 1122                                $this->lng->txt(
'add_user'),
 
 1123                                $this->ctrl->getLinkTargetByClass(
'ilobjusergui',
'create')
 
 1126                        $ilToolbar->addButton(
 
 1127                                $this->lng->txt(
'import_users'),
 
 1128                                $this->ctrl->getLinkTargetByClass(
'ilobjuserfoldergui',
'importUserForm')
 
 1138                        $this->tpl->setCurrentBlock(
"confirm_delete");
 
 1139                        $this->tpl->setVariable(
"CONFIRM_FORMACTION",$this->ctrl->getFormAction($this));
 
 1140                        $this->tpl->setVariable(
"TXT_CANCEL",$this->lng->txt(
'cancel'));
 
 1141                        $this->tpl->setVariable(
"CONFIRM_CMD",
'performDeleteUsers');
 
 1142                        $this->tpl->setVariable(
"TXT_CONFIRM",$this->lng->txt(
'delete'));
 
 1143                        $this->tpl->parseCurrentBlock();
 
 1146                $this->lng->loadLanguageModule(
'user');
 
 1148                include_once(
"./Services/User/classes/class.ilUserTableGUI.php");
 
 1150                $this->tpl->setVariable(
'USERS_TABLE',$utab->getHTML());
 
 1160                include_once 
'./Services/User/classes/class.ilUserAutoComplete.php';
 
 1162                $auto->setSearchFields(array(
'login',
'firstname',
'lastname',
'email'));
 
 1163                $auto->enableFieldSearchableCheck(
true);
 
 1164                $auto->isMoreLinkAvailable(
true);
 
 1166                if(($_REQUEST[
'fetchall']))
 
 1171                echo $auto->getList($_REQUEST[
'term']);
 
 1178                include_once 
'./Services/User/classes/class.ilLocalUser.php';
 
 1181                foreach(
$_POST[
'user_ids'] as $user_id)
 
 1185                                die(
'user id not valid');
 
 1210                include_once 
'./Services/Utilities/classes/class.ilConfirmationGUI.php';
 
 1212                $confirm->setFormAction($this->ctrl->getFormAction($this));
 
 1213                $confirm->setHeaderText($this->lng->txt(
'sure_delete_selected_users'));
 
 1214                $confirm->setConfirm($this->lng->txt(
'delete'), 
'performDeleteUsers');
 
 1215                $confirm->setCancel($this->lng->txt(
'cancel'), 
'listUsers');
 
 1217                foreach(
$_POST[
'id'] as $user)
 
 1224                                $name[
'lastname'].
', '.$name[
'firstname'].
' ['.$name[
'login'].
']' 
 1227                $this->tpl->setContent($confirm->getHTML());
 
 1232                global $rbacreview,$ilTabs;
 
 1236                include_once 
'./Services/User/classes/class.ilLocalUser.php';
 
 1238                if(!isset(
$_GET[
'obj_id']))
 
 1246                $ilTabs->clearTargets();
 
 1247                $ilTabs->setBackTarget($this->lng->txt(
'backto_lua'), $this->ctrl->getLinkTarget($this,
'listUsers'));
 
 1249                $ilHelp->setScreenIdComponent(
"cat");
 
 1250                $ilHelp->setScreenId(
"administrate_user");
 
 1251                $ilHelp->setSubScreenId(
"assign_roles");
 
 1258                        #ilUtil::sendInfo($this->lng->txt('no_roles_user_can_be_assigned_to')); 
 1259                        #$this->listUsersObject(); 
 1264                $ass_roles = $rbacreview->assignedRoles(
$_GET[
'obj_id']);
 
 1267                $f_result = array();
 
 1269                foreach($roles as $role)
 
 1278                        $f_result[
$counter][
'title'] = $role_obj->getTitle() ? $role_obj->getTitle() : 
"";
 
 1279                        $f_result[
$counter][
'desc'] = $role_obj->getDescription() ? $role_obj->getDescription() : 
"";
 
 1280                        $f_result[
$counter][
'type'] = $role[
'role_type'] == 
'global' ?
 
 1281                                $this->lng->txt(
'global') :
 
 1282                                $this->lng->txt(
'local');
 
 1288                include_once (
'./Modules/Category/classes/class.ilCategoryAssignRoleTableGUI.php');
 
 1291                $title = $this->lng->txt(
'role_assignment').
' ('.$tmp_obj->getFullname().
')';
 
 1292                $table->setTitle(
$title,
"icon_role.svg",$this->lng->txt(
"role_assignment"));
 
 1293                $table->setData($f_result);
 
 1294                $this->tpl->setContent($table->getHTML());
 
 1299                global $rbacreview,$rbacadmin;
 
 1302                include_once 
'./Services/User/classes/class.ilLocalUser.php';
 
 1322                $new_role_ids = 
$_POST[
'role_ids'] ? 
$_POST[
'role_ids'] : array();
 
 1323                $assigned_roles = $rbacreview->assignedRoles((
int) $_REQUEST[
'obj_id']);
 
 1324                foreach($roles as $role)
 
 1326                        if(in_array($role[
'obj_id'],$new_role_ids) and !in_array($role[
'obj_id'],$assigned_roles))
 
 1328                                $rbacadmin->assignUser($role[
'obj_id'],(
int) $_REQUEST[
'obj_id']);
 
 1330                        if(in_array($role[
'obj_id'],$assigned_roles) and !in_array($role[
'obj_id'],$new_role_ids))
 
 1332                                $rbacadmin->deassignUser($role[
'obj_id'],(
int) $_REQUEST[
'obj_id']);
 
 1349                if(in_array(SYSTEM_ROLE_ID,$rbacreview->assignedRoles(
$ilUser->getId())))
 
 1351                        $global_roles = $rbacreview->getGlobalRolesArray();
 
 1353                elseif($tmp_obj->getTimeLimitOwner() == $this->object->getRefId())
 
 1355                        $global_roles = $rbacreview->getGlobalAssignableRoles();
 
 1359                        $global_roles = array();
 
 1361                return $roles = array_merge($global_roles,
 
 1362                                                                        $rbacreview->getAssignableChildRoles($this->object->getRefId()));
 
 1373                if($tmp_obj->getTimeLimitOwner() != $this->object->getRefId() and
 
 1374                   !in_array(SYSTEM_ROLE_ID,$rbacreview->assignedRoles(
$ilUser->getId())))
 
 1380                $new_assigned = $new_assigned ? $new_assigned : array();
 
 1381                $assigned = $rbacreview->assignedRoles((
int) 
$_GET[
'obj_id']);
 
 1384                if(!in_array(SYSTEM_ROLE_ID,$rbacreview->assignedRoles(
$ilUser->getId())))
 
 1386                        $ga = $rbacreview->getGlobalAssignableRoles();
 
 1390                        $ga = $rbacreview->getGlobalRolesArray();
 
 1392                $global_assignable = array();
 
 1393                foreach($ga as $role)
 
 1395                        $global_assignable[] = $role[
'obj_id'];
 
 1398                $new_visible_assigned_roles = array_intersect($new_assigned,$global_assignable);
 
 1399                $all_assigned_roles = array_intersect($assigned,$rbacreview->getGlobalRoles());
 
 1400                $main_assigned_roles = array_diff($all_assigned_roles,$global_assignable);
 
 1402                if(!count($new_visible_assigned_roles) and !count($main_assigned_roles))
 
 1413                if ($ilAccess->checkAccess(
"read", 
"", $a_target))
 
 1417                else if ($ilAccess->checkAccess(
"read", 
"", ROOT_FOLDER_ID))
 
 1442                $this->tabs_gui->setTabActive(
'settings');
 
 1449                $tpl->setContent($a_form->getHTML());
 
 1456                include_once 
"Services/Form/classes/class.ilPropertyFormGUI.php";
 
 1458                $form->setFormAction($this->ctrl->getFormAction($this));        
 
 1463                $form->addCommandButton(
'updateIcons', $this->lng->txt(
'save'));                                        
 
 1478                if($form->checkInput())
 
 1483                                if(
$_POST[
"cont_icon_delete"])
 
 1485                                        $this->
object->removeCustomIcon();
 
 1487                                $this->
object->saveIcons($_FILES[
"cont_icon"][
'tmp_name']);
 
 1489                        if ($_FILES[
"cont_icon"][
'tmp_name'] || 
$_POST[
"cont_icon_delete"])
 
 1493                        $this->ctrl->redirect($this,
"editIcons");
 
 1496                $form->setValuesByPost();
 
 1507                $this->tabs_gui->setTabActive(
"obj_tool_setting_taxonomies");                   
 
 1508                $this->tabs_gui->addSubTab(
"tax_settings", $this->lng->txt(
"cntr_taxonomy_sideblock_settings"), 
 
 1509                                $this->ctrl->getLinkTarget($this, 
"editTaxonomySettings"));
 
 1510                $this->tabs_gui->addSubTab(
"tax_list", $this->lng->txt(
"cntr_taxonomy_definitions"), 
 
 1511                                $this->ctrl->getLinkTargetByClass(
"ilobjtaxonomygui", 
""));             
 
 1512                $this->tabs_gui->activateSubTab($a_active);
 
 1519                include_once 
"Services/Object/classes/class.ilObjectServiceSettingsGUI.php";
 
 1520                include_once 
"Services/Taxonomy/classes/class.ilObjTaxonomy.php";
 
 1525                foreach(
$tree->getPathFull($this->object->getRefId()) as $node)
 
 1529                        if(
sizeof($node_taxes))
 
 1531                                foreach($node_taxes as $node_tax)
 
 1533                                        $res[$node_tax[
"tax_id"]] = array(
 
 1534                                                "title" => $node_tax[
"title"]
 
 1535                                                ,
"source" => $node[
"child"]
 
 1547                include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
 
 1549                $form->setFormAction($this->ctrl->getFormAction($this), 
"editTaxonomySettings");
 
 1550                $form->setTitle($this->lng->txt(
"cntr_taxonomy_sideblock_settings"));
 
 1553                $form->addItem($block);
 
 1557                foreach($tax as $tax_id => $tax_item)
 
 1562                        if($tax_item[
"source"] != $this->object->getRefId())
 
 1565                                $loc->setTextOnly(
true);
 
 1566                                $loc->addRepositoryItems($tax_item[
"source"]);                          
 
 1567                                $option->setInfo($loc->getHTML());
 
 1570                        $block->addOption($option);
 
 1572                        if(in_array($tax_id, $current))
 
 1578                $block->setValue($value);
 
 1580                $form->addCommandButton(
"updateTaxonomySettings", $this->lng->txt(
"save"));
 
 1590                if(!
sizeof($taxonomies))
 
 1597                $this->tpl->setContent($form->getHTML());
 
 1608                        if(substr($keyword, 0, strlen($prefix)) == $prefix && (
bool)$value)
 
 1610                                $res[] = substr($keyword, strlen($prefix));
 
 1620                if(
sizeof($taxonomies))
 
 1623                        if($form->checkInput())
 
 1625                                $sblock = $form->getInput(
"sblock");
 
 1632                                if(is_array($sblock))
 
 1634                                        foreach($sblock as $tax_id)
 
 1637                                                        $prefix.$tax_id, 1);                                                                                    
 
 1644                $this->ctrl->redirect($this, 
"editTaxonomySettings");
 
sprintf('%.4f', $callTime)
An exception for terminatinating execution or to throw for unit testing.
TableGUI class for role assignments.
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.
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
forwardToStyleSheet()
Forward to style object.
showCustomIconsEditing($a_input_colspan=1, ilPropertyFormGUI $a_form=null, $a_as_section=true)
show edit section of custom icons for container
saveSortingSettings(ilPropertyFormGUI $form)
Save sorting settings.
Class ilContainerLinkListGUI.
static _deleteContainerSettings($a_id, $a_keyword=null, $a_keyword_like=false)
static _getContainerSettings($a_id)
static _lookupContainerSetting($a_id, $a_keyword, $a_default_value=NULL)
Lookup a container setting.
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)
editTaxonomySettingsObject()
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.
getEditFormValues()
Get values for edit form.
initTaxSubTabs($a_active="tax_list")
deleteTranslationsObject()
Remove translation.
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
addTranslationObject()
Add a translation.
__construct($a_data, $a_id, $a_call_by_reference=true, $a_prepare_output=true)
Constructor @access public.
listUsersObject($show_delete=false)
editIconsObject($a_form=null)
Edit folder icons.
applyFilterObject()
Apply filter.
initCreationForms($a_new_type)
Init creation froms.
updateIconsObject()
update container icons
viewObject()
list childs of current object
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)
updateTaxonomySettingsObject()
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.
setEditTabs($active_tab="settings_misc")
renderObject()
Render category.
const CONTAINER_SETTING_TAXBLOCK
saveTranslationsObject()
Save title and translations.
performDeleteUsersObject()
resetFilterObject()
Reset filter (note: this function existed before data table filter has been introduced.
initTaxonomyForm(array $tax)
editTranslationsObject($a_get_post_values=false, $a_add=false)
Edit title and translations.
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)
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.
addHeaderAction()
Add header action menu.
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.
TableGUI class for title/description translations.
Class ilObject Basic functions for all objects.
static _lookupObjId($a_id)
const TITLE_LENGTH
max length of object title
static _lookupTitle($a_id)
lookup object title
static _lookupDescription($a_id)
lookup object description
getRefId()
get reference id @access public
getDescription()
get object description
getId()
get object id @access public
getTitle()
get object title @access public
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
This class represents a text area property in a property form.
This class represents a text property in a property form.
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 sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
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($a_file, $overwrite=false, $a_flat=false)
unzip file
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
static createDirectory($a_dir, $a_mod=0755)
create directory
if(!is_dir( $entity_dir)) exit("Fatal Error ([A-Za-z0-9]+)\s+" &#(? foreach( $entity_files as $file) $output
$GLOBALS['loaded']
Global hash that tracks already loaded includes.
for($i=1; $i<=count($kw_cases_sel); $i+=1) $lang
redirection script todo: (a better solution should control the processing via a xml file)