Public Member Functions | |
ilObjCategoryGUI ($a_data, $a_id, $a_call_by_reference=true, $a_prepare_output=true) | |
Constructor public. | |
& | executeCommand () |
execute command note: this method is overwritten in all container objects | |
getTabs (&$tabs_gui) | |
common tabs for all container objects (should be called at the end of child getTabs() method | |
createObject () | |
create new category form | |
saveObject () | |
save category public | |
editObject () | |
edit category | |
updateObject () | |
updates object entry in object_data | |
addTranslationObject () | |
adds a translation form & save post vars to session | |
removeTranslationObject () | |
removes a translation form & save post vars to session | |
removeBigIconObject () | |
remove big icon | |
removeSmallIconObject () | |
remove small icon | |
importCategoriesFormObject () | |
display form for category import | |
_importCategoriesForm ($a_ref_id, &$a_tpl) | |
display form for category import (static, also called by RootFolderGUI) | |
importCancelledObject () | |
import cancelled | |
_getImportDir () | |
get user import directory name | |
importCategoriesObject () | |
import categories | |
importCategoriesWithRolObject () | |
import categories with local rol | |
_importCategories ($a_ref_id, $withrol_tmp) | |
import categories (static, also called by RootFolderGUI) | |
applyFilterObject () | |
listUsersObject ($show_delete=false) | |
performDeleteUsersObject () | |
deleteUserObject () | |
assignRolesObject () | |
assignSaveObject () | |
__getAssignableRoles () | |
__checkGlobalRoles ($new_assigned) | |
__showRolesTable ($a_result_set, $a_from="") | |
__showUsersTable ($a_result_set, $a_from="", $a_footer=true) | |
__setTableGUIBasicData (&$tbl, &$result_set, $a_from="", $a_footer=true) | |
& | __initTableGUI () |
__buildFilterSelect ($a_parent_ids) | |
_goto ($a_target) | |
Data Fields | |
$ctrl |
Definition at line 40 of file class.ilObjCategoryGUI.php.
ilObjCategoryGUI::__buildFilterSelect | ( | $ | a_parent_ids | ) |
Definition at line 1400 of file class.ilObjCategoryGUI.php.
References $_SESSION, ilLocalUser::_getUserFolderId(), ilObject::_lookupObjId(), ilObject::_lookupTitle(), and formSelect().
Referenced by listUsersObject().
{ $action[0] = $this->lng->txt('all_users'); $action[$this->object->getRefId()] = $this->lng->txt('users'). ' ('.ilObject::_lookupTitle(ilObject::_lookupObjId($this->object->getRefId())).')'; foreach($a_parent_ids as $parent) { if($parent == $this->object->getRefId()) { continue; } switch($parent) { case ilLocalUser::_getUserFolderId(): $action[ilLocalUser::_getUserFolderId()] = $this->lng->txt('global_user'); break; default: $action[$parent] = $this->lng->txt('users').' ('.ilObject::_lookupTitle(ilObject::_lookupObjId($parent)).')'; break; } } return ilUtil::formSelect($_SESSION['filtered_users'][$this->object->getRefId()],"filter",$action,false,true); }
ilObjCategoryGUI::__checkGlobalRoles | ( | $ | new_assigned | ) |
Definition at line 1171 of file class.ilObjCategoryGUI.php.
References $_GET, $_REQUEST, $_SESSION, $rbacreview, and ilObjectFactory::getInstanceByObjId().
Referenced by assignSaveObject().
{ global $rbacreview; // return true if it's not a local user $tmp_obj =& ilObjectFactory::getInstanceByObjId($_REQUEST['obj_id']); if($tmp_obj->getTimeLimitOwner() != $this->object->getRefId() and !in_array(SYSTEM_ROLE_ID,$_SESSION['RoleId'])) { return true; } // new assignment by form $new_assigned = $new_assigned ? $new_assigned : array(); $assigned = $rbacreview->assignedRoles((int) $_GET['obj_id']); // all assignable globals if(!in_array(SYSTEM_ROLE_ID,$_SESSION["RoleId"])) { $ga = $rbacreview->getGlobalAssignableRoles(); } else { $ga = $rbacreview->getGlobalRolesArray(); } $global_assignable = array(); foreach($ga as $role) { $global_assignable[] = $role['obj_id']; } $new_visible_assigned_roles = array_intersect($new_assigned,$global_assignable); $all_assigned_roles = array_intersect($assigned,$rbacreview->getGlobalRoles()); $main_assigned_roles = array_diff($all_assigned_roles,$global_assignable); if(!count($new_visible_assigned_roles) and !count($main_assigned_roles)) { return false; } return true; }
ilObjCategoryGUI::__getAssignableRoles | ( | ) |
Definition at line 1148 of file class.ilObjCategoryGUI.php.
References $_REQUEST, $_SESSION, $rbacreview, and ilObjectFactory::getInstanceByObjId().
Referenced by assignRolesObject(), and assignSaveObject().
{ global $rbacreview; // check local user $tmp_obj =& ilObjectFactory::getInstanceByObjId($_REQUEST['obj_id']); // Admin => all roles if(in_array(SYSTEM_ROLE_ID,$_SESSION['RoleId'])) { $global_roles = $rbacreview->getGlobalRolesArray(); } elseif($tmp_obj->getTimeLimitOwner() == $this->object->getRefId()) { $global_roles = $rbacreview->getGlobalAssignableRoles(); } else { $global_roles = array(); } return $roles = array_merge($global_roles, $rbacreview->getAssignableChildRoles($this->object->getRefId())); }
& ilObjCategoryGUI::__initTableGUI | ( | ) |
Reimplemented from ilObjectGUI.
Definition at line 1393 of file class.ilObjCategoryGUI.php.
Referenced by __showRolesTable(), and __showUsersTable().
{ include_once "./classes/class.ilTableGUI.php"; return new ilTableGUI(0,false); }
ilObjCategoryGUI::__setTableGUIBasicData | ( | &$ | tbl, | |
&$ | result_set, | |||
$ | a_from = "" , |
|||
$ | a_footer = true | |||
) |
Definition at line 1325 of file class.ilObjCategoryGUI.php.
Referenced by __showRolesTable(), and __showUsersTable().
{ global $ilUser; switch ($a_from) { case "listUsersObject": $tbl->setOrderColumn($_GET["sort_by"]); $tbl->setOrderDirection($_GET["sort_order"]); $tbl->setOffset($_GET["offset"]); $tbl->setMaxCount($this->all_users_count); $tbl->setLimit($ilUser->getPref('hits_per_page')); $tbl->setFooter("tblfooter",$this->lng->txt("previous"),$this->lng->txt("next")); $tbl->setData($result_set); $tbl->disable('auto_sort'); return true; case "assignRolesObject": $offset = $_GET["offset"]; // init sort_by (unfortunatly sort_by is preset with 'title' if ($_GET["sort_by"] == "title" or empty($_GET["sort_by"])) { $_GET["sort_by"] = "login"; } $order = $_GET["sort_by"]; $direction = $_GET["sort_order"]; break; case "clipboardObject": $offset = $_GET["offset"]; $order = $_GET["sort_by"]; $direction = $_GET["sort_order"]; $tbl->disable("footer"); break; default: $offset = $_GET["offset"]; $order = $_GET["sort_by"]; $direction = $_GET["sort_order"]; break; } $tbl->setOrderColumn($order); $tbl->setOrderDirection($direction); $tbl->setOffset($offset); if($this->set_unlimited) { $tbl->setLimit($_GET["limit"]*100); } else { $tbl->setLimit($_GET['limit']); } $tbl->setMaxCount(count($result_set)); if($a_footer) { $tbl->setFooter("tblfooter",$this->lng->txt("previous"),$this->lng->txt("next")); } else { $tbl->disable('footer'); } $tbl->setData($result_set); }
ilObjCategoryGUI::__showRolesTable | ( | $ | a_result_set, | |
$ | a_from = "" | |||
) |
Definition at line 1214 of file class.ilObjCategoryGUI.php.
References $_GET, $tbl, $title, ilObjectGUI::$tpl, __initTableGUI(), __setTableGUIBasicData(), ilUtil::getImagePath(), and ilObjectFactory::getInstanceByObjId().
Referenced by assignRolesObject().
{ $tbl =& $this->__initTableGUI(); $tpl =& $tbl->getTemplateObject(); // SET FORMAACTION $tpl->setCurrentBlock("tbl_form_header"); $this->ctrl->setParameter($this,'obj_id',$_GET['obj_id']); $tpl->setVariable("FORMACTION",$this->ctrl->getFormAction($this)); $tpl->parseCurrentBlock(); // SET FOOTER BUTTONS $tpl->setVariable("COLUMN_COUNTS",4); $tpl->setVariable("IMG_ARROW", ilUtil::getImagePath("arrow_downright.gif")); $tpl->setCurrentBlock("tbl_action_button"); $tpl->setVariable("BTN_NAME","assignSave"); $tpl->setVariable("BTN_VALUE",$this->lng->txt("change_assignment")); $tpl->parseCurrentBlock(); $tpl->setCurrentBlock("tbl_action_row"); $tpl->setVariable("TPLPATH",$this->tpl->tplPath); $tpl->parseCurrentBlock(); $tmp_obj =& ilObjectFactory::getInstanceByObjId($_GET['obj_id']); $title = $this->lng->txt('role_assignment').' ('.$tmp_obj->getFullname().')'; $tbl->setTitle($title,"icon_role.gif",$this->lng->txt("role_assignment")); $tbl->setHeaderNames(array('', $this->lng->txt("title"), $this->lng->txt('description'), $this->lng->txt("type"))); $tbl->setHeaderVars(array("", "title", "description", "type"), array("ref_id" => $this->object->getRefId(), "cmd" => "assignRoles", "obj_id" => $_GET['obj_id'], "cmdClass" => "ilobjcategorygui", "cmdNode" => $_GET["cmdNode"])); $tbl->setColumnWidth(array("4%","35%","45%","16%")); $this->set_unlimited = true; $this->__setTableGUIBasicData($tbl,$a_result_set,$a_from,true); $tbl->render(); $this->tpl->setVariable("ROLES_TABLE",$tbl->tpl->get()); return true; }
ilObjCategoryGUI::__showUsersTable | ( | $ | a_result_set, | |
$ | a_from = "" , |
|||
$ | a_footer = true | |||
) |
Definition at line 1267 of file class.ilObjCategoryGUI.php.
References $_GET, $tbl, ilObjectGUI::$tpl, __initTableGUI(), __setTableGUIBasicData(), and ilUtil::getImagePath().
Referenced by listUsersObject().
{ $tbl =& $this->__initTableGUI(); $tpl =& $tbl->getTemplateObject(); // SET FORMAACTION $tpl->setCurrentBlock("tbl_form_header"); $this->ctrl->setParameter($this,'sort_by',$_GET['sort_by']); $this->ctrl->setParameter($this,'sort_order',$_GET['sort_order']); $this->ctrl->setParameter($this,'offset',$_GET['offset']); $tpl->setVariable("FORMACTION",$this->ctrl->getFormAction($this)); $tpl->parseCurrentBlock(); if($a_footer) { // SET FOOTER BUTTONS $tpl->setVariable("COLUMN_COUNTS",6); $tpl->setVariable("IMG_ARROW", ilUtil::getImagePath("arrow_downright.gif")); $tpl->setCurrentBlock("tbl_action_button"); $tpl->setVariable("BTN_NAME","deleteUser"); $tpl->setVariable("BTN_VALUE",$this->lng->txt("delete")); $tpl->parseCurrentBlock(); $tpl->setCurrentBlock("tbl_action_row"); $tpl->setVariable("TPLPATH",$this->tpl->tplPath); $tpl->parseCurrentBlock(); } $tbl->setTitle($this->lng->txt("users"),"icon_usr_b.gif",$this->lng->txt("users")); $tbl->setHeaderNames(array('', $this->lng->txt("username"), $this->lng->txt("firstname"), $this->lng->txt("lastname"), $this->lng->txt('context'), $this->lng->txt('role_assignment'))); $tbl->setHeaderVars(array("", "login", "firstname", "lastname", "context", "role_assignment"), array("ref_id" => $this->object->getRefId(), "cmd" => "listUsers", "cmdClass" => "ilobjcategorygui", "cmdNode" => $_GET["cmdNode"])); $tbl->setColumnWidth(array("4%","20%","20%","20%","20%","20%")); $this->__setTableGUIBasicData($tbl,$a_result_set,$a_from,true); $tbl->render(); $this->tpl->setVariable("USERS_TABLE",$tbl->tpl->get()); return true; }
ilObjCategoryGUI::_getImportDir | ( | ) |
get user import directory name
Definition at line 793 of file class.ilObjCategoryGUI.php.
References ilUtil::getDataDir().
Referenced by _importCategories().
{ return ilUtil::getDataDir()."/cat_import"; }
ilObjCategoryGUI::_goto | ( | $ | a_target | ) |
Definition at line 1428 of file class.ilObjCategoryGUI.php.
References $_GET, $ilErr, ilObjectGUI::$lng, ilObject::_lookupObjId(), ilObject::_lookupTitle(), exit, and sendInfo().
{ global $ilAccess, $ilErr, $lng; if ($ilAccess->checkAccess("read", "", $a_target)) { $_GET["cmd"] = "frameset"; $_GET["ref_id"] = $a_target; include("repository.php"); exit; } else if ($ilAccess->checkAccess("read", "", ROOT_FOLDER_ID)) { $_GET["cmd"] = "frameset"; $_GET["target"] = ""; $_GET["ref_id"] = ROOT_FOLDER_ID; sendInfo(sprintf($lng->txt("msg_no_perm_read_item"), ilObject::_lookupTitle(ilObject::_lookupObjId($a_target))), true); include("repository.php"); exit; } $ilErr->raiseError($lng->txt("msg_no_perm_read"), $ilErr->FATAL); }
ilObjCategoryGUI::_importCategories | ( | $ | a_ref_id, | |
$ | withrol_tmp | |||
) |
import categories (static, also called by RootFolderGUI)
Definition at line 823 of file class.ilObjCategoryGUI.php.
References $file_name, ilObjectGUI::$lng, _getImportDir(), ilUtil::createDirectory(), ilUtil::moveUploadedFile(), sendInfo(), and ilUtil::unzip().
Referenced by ilObjRootFolderGUI::importCategoriesObject(), importCategoriesObject(), ilObjRootFolderGUI::importCategoriesWithRolObject(), and importCategoriesWithRolObject().
{ global $lng; require_once("classes/class.ilCategoryImportParser.php"); $import_dir = ilObjCategoryGUI::_getImportDir(); // create user import directory if necessary if (!@is_dir($import_dir)) { ilUtil::createDirectory($import_dir); } // move uploaded file to user import directory $file_name = $_FILES["importFile"]["name"]; // added to prevent empty file names if (!strcmp($file_name,"")) { sendInfo($lng->txt("no_import_file_found"), true); $this->ctrl->redirect($this); } $parts = pathinfo($file_name); $full_path = $import_dir."/".$file_name; //move_uploaded_file($_FILES["importFile"]["tmp_name"], $full_path); ilUtil::moveUploadedFile($_FILES["importFile"]["tmp_name"], $file_name, $full_path); // unzip file ilUtil::unzip($full_path); $subdir = basename($parts["basename"],".".$parts["extension"]); $xml_file = $import_dir."/".$subdir."/".$subdir.".xml"; // CategoryImportParser //var_dump($_POST); $importParser = new ilCategoryImportParser($xml_file, $a_ref_id, $withrol_tmp); $importParser->startParsing(); sendInfo($lng->txt("categories_imported"), true); $this->ctrl->redirect($this); }
ilObjCategoryGUI::_importCategoriesForm | ( | $ | a_ref_id, | |
&$ | a_tpl | |||
) |
display form for category import (static, also called by RootFolderGUI)
Definition at line 728 of file class.ilObjCategoryGUI.php.
References $key, ilObjectGUI::$lng, $output, $rbacreview, ilUtil::formCheckbox(), and ilUtil::switchColor().
Referenced by ilObjRootFolderGUI::importCategoriesFormObject(), and importCategoriesFormObject().
{ global $lng, $rbacreview; $a_tpl->addBlockfile("ADM_CONTENT", "adm_content", "tpl.cat_import_form.html"); $a_tpl->setVariable("FORMACTION", $this->ctrl->getFormAction($this)); $a_tpl->setVariable("TXT_IMPORT_CATEGORIES", $lng->txt("import_categories")); $a_tpl->setVariable("TXT_HIERARCHY_OPTION", $lng->txt("import_cat_localrol")); $a_tpl->setVariable("TXT_IMPORT_FILE", $lng->txt("import_file")); $a_tpl->setVariable("TXT_IMPORT_TABLE", $lng->txt("import_cat_table")); $a_tpl->setVariable("BTN_IMPORT", $lng->txt("import")); $a_tpl->setVariable("BTN_CANCEL", $lng->txt("cancel")); // NEED TO FILL ADOPT_PERMISSIONS HTML FORM.... $parent_role_ids = $rbacreview->getParentRoleIds($a_ref_id,true); // sort output for correct color changing ksort($parent_role_ids); foreach ($parent_role_ids as $key => $par) { if ($par["obj_id"] != SYSTEM_ROLE_ID) { $check = ilUtil::formCheckbox(0,"adopt[]",$par["obj_id"],1); $output["adopt"][$key]["css_row_adopt"] = ilUtil::switchColor($key, "tblrow1", "tblrow2"); $output["adopt"][$key]["check_adopt"] = $check; $output["adopt"][$key]["role_id"] = $par["obj_id"]; $output["adopt"][$key]["type"] = ($par["type"] == 'role' ? 'Role' : 'Template'); $output["adopt"][$key]["role_name"] = $par["title"]; } } //var_dump($output); // BEGIN ADOPT PERMISSIONS foreach ($output["adopt"] as $key => $value) { $a_tpl->setCurrentBlock("ADOPT_PERM_ROW"); $a_tpl->setVariable("CSS_ROW_ADOPT",$value["css_row_adopt"]); $a_tpl->setVariable("CHECK_ADOPT",$value["check_adopt"]); $a_tpl->setVariable("LABEL_ID",$value["role_id"]); $a_tpl->setVariable("TYPE",$value["type"]); $a_tpl->setVariable("ROLE_NAME",$value["role_name"]); $a_tpl->parseCurrentBlock(); } }
ilObjCategoryGUI::addTranslationObject | ( | ) |
adds a translation form & save post vars to session
public
Definition at line 650 of file class.ilObjCategoryGUI.php.
References $_GET, $_POST, $_SESSION, and ilUtil::redirect().
{ if (!($_GET["mode"] != "create" or $_GET["mode"] != "edit")) { $message = get_class($this)."::addTranslationObject(): Missing or wrong parameter! mode: ".$_GET["mode"]; $this->ilias->raiseError($message,$this->ilias->error_obj->WARNING); } $_SESSION["translation_post"] = $_POST; $this->ctrl->setParameter($this, "entry", 0); $this->ctrl->setParameter($this, "mode", "session"); $this->ctrl->setParameter($this, "new_type", $_GET["new_type"]); ilUtil::redirect($this->ctrl->getLinkTarget($this, $_GET["mode"])); }
ilObjCategoryGUI::applyFilterObject | ( | ) |
Definition at line 866 of file class.ilObjCategoryGUI.php.
References $_GET, $_SESSION, and listUsersObject().
{ unset($_GET['offset']); unset($_SESSION['lua_offset'][$this->object->getRefId()]); $this->listUsersObject(); }
ilObjCategoryGUI::assignRolesObject | ( | ) |
Definition at line 1051 of file class.ilObjCategoryGUI.php.
References $_GET, $counter, $rbacreview, __getAssignableRoles(), ilObjectGUI::__showButton(), __showRolesTable(), ilUtil::formCheckbox(), ilObjectFactory::getInstanceByObjId(), listUsersObject(), and sendInfo().
Referenced by assignSaveObject().
{ global $rbacreview; include_once './classes/class.ilLocalUser.php'; if(!isset($_GET['obj_id'])) { sendInfo('no_user_selected'); $this->listUsersObject(); return true; } $this->tabs_gui->setTabActive('administrate_users'); $roles = $this->__getAssignableRoles(); if(!count($roles)) { #sendInfo($this->lng->txt('no_roles_user_can_be_assigned_to')); #$this->listUsersObject(); #return true; } $this->tpl->addBlockfile('ADM_CONTENT','adm_content','tpl.cat_role_assignment.html'); $this->__showButton('listUsers',$this->lng->txt('back')); $ass_roles = $rbacreview->assignedRoles($_GET['obj_id']); $counter = 0; foreach($roles as $role) { $role_obj =& ilObjectFactory::getInstanceByObjId($role['obj_id']); $disabled = false; $f_result[$counter][] = ilUtil::formCheckbox(in_array($role['obj_id'],$ass_roles) ? 1 : 0, 'role_ids[]', $role['obj_id'], $disabled); $f_result[$counter][] = $role_obj->getTitle(); $f_result[$counter][] = $role_obj->getDescription(); $f_result[$counter][] = $role['role_type'] == 'local' ? $this->lng->txt('local') : $this->lng->txt('global'); unset($role_obj); ++$counter; } $this->__showRolesTable($f_result,"assignRolesObject"); }
ilObjCategoryGUI::assignSaveObject | ( | ) |
Definition at line 1104 of file class.ilObjCategoryGUI.php.
References $_GET, $_POST, $_REQUEST, $rbacadmin, $rbacreview, __checkGlobalRoles(), __getAssignableRoles(), ilLocalUser::_getAllUserIds(), assignRolesObject(), listUsersObject(), and sendInfo().
{ global $rbacreview,$rbacadmin; include_once './classes/class.ilLocalUser.php'; // check hack if(!isset($_GET['obj_id']) or !in_array($_REQUEST['obj_id'],ilLocalUser::_getAllUserIds())) { sendInfo('no_user_selected'); $this->listUsersObject(); return true; } $roles = $this->__getAssignableRoles(); // check minimum one global role if(!$this->__checkGlobalRoles($_POST['role_ids'])) { sendInfo($this->lng->txt('no_global_role_left')); $this->assignRolesObject(); return false; } $new_role_ids = $_POST['role_ids'] ? $_POST['role_ids'] : array(); $assigned_roles = $rbacreview->assignedRoles((int) $_REQUEST['obj_id']); foreach($roles as $role) { if(in_array($role['obj_id'],$new_role_ids) and !in_array($role['obj_id'],$assigned_roles)) { $rbacadmin->assignUser($role['obj_id'],(int) $_REQUEST['obj_id']); } if(in_array($role['obj_id'],$assigned_roles) and !in_array($role['obj_id'],$new_role_ids)) { $rbacadmin->deassignUser($role['obj_id'],(int) $_REQUEST['obj_id']); } } sendInfo($this->lng->txt('role_assignment_updated')); $this->assignRolesObject(); return true; }
ilObjCategoryGUI::createObject | ( | ) |
create new category form
public
Reimplemented from ilObjectGUI.
Definition at line 189 of file class.ilObjCategoryGUI.php.
References $_GET, $_POST, $_SESSION, ilObjectGUI::$data, $key, $rbacsystem, ilUtil::getImagePath(), ilMetaData::getLanguages(), ilObjectGUI::getTemplateFile(), ilUtil::prepareFormOutput(), and ilUtil::stripSlashes().
{ global $rbacsystem; $new_type = $_POST["new_type"] ? $_POST["new_type"] : $_GET["new_type"]; if (!$rbacsystem->checkAccess("create", $_GET["ref_id"], $new_type)) { $this->ilias->raiseError($this->lng->txt("permission_denied"),$this->ilias->error_obj->MESSAGE); } else { // for lang selection include metadata class include_once "./classes/class.ilMetaData.php"; //add template for buttons $this->tpl->addBlockfile("BUTTONS", "buttons", "tpl.buttons.html"); // only in administration // to do: make this in repository work if (false) { $this->tpl->setCurrentBlock("btn_cell"); $this->tpl->setVariable("BTN_LINK", $this->ctrl->getLinkTarget($this, "importCategoriesForm")); $this->tpl->setVariable("BTN_TXT", $this->lng->txt("import_categories")); $this->tpl->parseCurrentBlock(); } $this->getTemplateFile("edit",$new_type); $array_push = true; if ($_SESSION["error_post_vars"]) { $_SESSION["translation_post"] = $_SESSION["error_post_vars"]; $array_push = false; } // clear session data if a fresh category should be created if (($_GET["mode"] != "session")) { unset($_SESSION["translation_post"]); } // remove a translation from session elseif ($_GET["entry"] != 0) { array_splice($_SESSION["translation_post"]["Fobject"],$_GET["entry"],1,array()); if ($_GET["entry"] == $_SESSION["translation_post"]["default_language"]) { $_SESSION["translation_post"]["default_language"] = ""; } } // stripslashes in form output? $strip = isset($_SESSION["translation_post"]) ? true : false; $data = $_SESSION["translation_post"]; if (!is_array($data["Fobject"])) { $data["Fobject"] = array(); } // add additional translation form if (!$_GET["entry"] and $array_push) { $count = array_push($data["Fobject"],array("title" => "","desc" => "")); } else { $count = count($data["Fobject"]); } foreach ($data["Fobject"] as $key => $val) { // add translation button if ($key == $count -1) { $this->tpl->setCurrentBlock("addTranslation"); $this->tpl->setVariable("TXT_ADD_TRANSLATION",$this->lng->txt("add_translation")." >>"); $this->tpl->parseCurrentBlock(); } // remove translation button if ($key != 0) { $this->tpl->setCurrentBlock("removeTranslation"); $this->tpl->setVariable("TXT_REMOVE_TRANSLATION",$this->lng->txt("remove_translation")); $this->ctrl->setParameter($this, "entry", $key); $this->ctrl->setParameter($this, "new_type", $new_type); $this->ctrl->setParameter($this, "mode", "create"); $this->tpl->setVariable("LINK_REMOVE_TRANSLATION", $this->ctrl->getLinkTarget($this, "removeTranslation")); $this->tpl->parseCurrentBlock(); } // lang selection $this->tpl->addBlockFile("SEL_LANGUAGE", "sel_language", "tpl.lang_selection.html", false); $this->tpl->setVariable("SEL_NAME", "Fobject[".$key."][lang]"); $languages = ilMetaData::getLanguages(); foreach($languages as $code => $language) { $this->tpl->setCurrentBlock("lg_option"); $this->tpl->setVariable("VAL_LG", $code); $this->tpl->setVariable("TXT_LG", $language); if ($count == 1 AND $code == $this->ilias->account->getPref("language") AND !isset($_SESSION["translation_post"])) { $this->tpl->setVariable("SELECTED", "selected=\"selected\""); } elseif ($code == $val["lang"]) { $this->tpl->setVariable("SELECTED", "selected=\"selected\""); } $this->tpl->parseCurrentBlock(); } if ($key == 0) { $this->tpl->setCurrentBlock("type_image"); $this->tpl->setVariable("TYPE_IMG", ilUtil::getImagePath("icon_cat.gif")); $this->tpl->parseCurrentBlock(); } // object data $this->tpl->setCurrentBlock("obj_form"); if ($key == 0) { $this->tpl->setVariable("TXT_HEADER", $this->lng->txt($new_type."_new")); } else { $this->tpl->setVariable("TXT_HEADER", $this->lng->txt("translation")." ".$key); } if ($key == $data["default_language"]) { $this->tpl->setVariable("CHECKED", "checked=\"checked\""); } $this->tpl->setVariable("TXT_TITLE", $this->lng->txt("title")); $this->tpl->setVariable("TXT_DESC", $this->lng->txt("desc")); $this->tpl->setVariable("TXT_DEFAULT", $this->lng->txt("default")); $this->tpl->setVariable("TXT_LANGUAGE", $this->lng->txt("language")); $this->tpl->setVariable("TITLE", ilUtil::prepareFormOutput($val["title"],$strip)); $this->tpl->setVariable("DESC", ilUtil::stripSlashes($val["desc"])); $this->tpl->setVariable("NUM", $key); $this->tpl->parseCurrentBlock(); } // global $this->ctrl->setParameter($this, "mode", "create"); $this->ctrl->setParameter($this, "new_type", $new_type); $this->tpl->setVariable("FORMACTION", $this->ctrl->getFormAction($this)); $this->tpl->setVariable("TXT_CANCEL", $this->lng->txt("cancel")); $this->tpl->setVariable("TXT_SUBMIT", $this->lng->txt($new_type."_add")); $this->tpl->setVariable("CMD_SUBMIT", "save"); $this->tpl->setVariable("TXT_REQUIRED_FLD", $this->lng->txt("required_field")); } }
ilObjCategoryGUI::deleteUserObject | ( | ) |
Definition at line 1035 of file class.ilObjCategoryGUI.php.
References $_POST, $_SESSION, listUsersObject(), and sendInfo().
{ if(!count($_POST['user_ids'])) { sendInfo($this->lng->txt('no_users_selected')); $this->listUsersObject(); return true; } $_SESSION['delete_users'] = $_POST['user_ids']; sendInfo($this->lng->txt('sure_delete_selected_users')); $this->listUsersObject(true); return true; }
ilObjCategoryGUI::editObject | ( | ) |
edit category
public
Reimplemented from ilObjectGUI.
Definition at line 427 of file class.ilObjCategoryGUI.php.
References $_GET, $_SESSION, ilObjectGUI::$data, $key, $rbacsystem, ilMetaData::getLanguages(), ilObjectGUI::getTargetFrame(), ilObjectGUI::getTemplateFile(), ilUtil::prepareFormOutput(), ilContainerGUI::showCustomIconsEditing(), and ilUtil::stripSlashes().
{ global $rbacsystem; if (!$rbacsystem->checkAccess("write", $this->ref_id)) { $this->ilias->raiseError($this->lng->txt("msg_no_perm_write"),$this->ilias->error_obj->MESSAGE); } $this->ctrl->setParameter($this,"mode","edit"); // for lang selection include metadata class include_once "./classes/class.ilMetaData.php"; $this->getTemplateFile("edit",$new_type); $array_push = true; if ($_SESSION["error_post_vars"]) { $_SESSION["translation_post"] = $_SESSION["error_post_vars"]; $_GET["mode"] = "session"; $array_push = false; } // load from db if edit category is called the first time if (($_GET["mode"] != "session")) { $data = $this->object->getTranslations(); $_SESSION["translation_post"] = $data; $array_push = false; } // remove a translation from session elseif ($_GET["entry"] != 0) { array_splice($_SESSION["translation_post"]["Fobject"],$_GET["entry"],1,array()); if ($_GET["entry"] == $_SESSION["translation_post"]["default_language"]) { $_SESSION["translation_post"]["default_language"] = ""; } } $data = $_SESSION["translation_post"]; // add additional translation form if (!$_GET["entry"] and $array_push) { $count = array_push($data["Fobject"],array("title" => "","desc" => "")); } else { $count = count($data["Fobject"]); } // stripslashes in form? $strip = isset($_SESSION["translation_post"]) ? true : false; foreach ($data["Fobject"] as $key => $val) { // add translation button if ($key == $count -1) { $this->tpl->setCurrentBlock("addTranslation"); $this->tpl->setVariable("TXT_ADD_TRANSLATION",$this->lng->txt("add_translation")." >>"); $this->tpl->parseCurrentBlock(); } // remove translation button if ($key != 0) { $this->tpl->setCurrentBlock("removeTranslation"); $this->tpl->setVariable("TXT_REMOVE_TRANSLATION",$this->lng->txt("remove_translation")); $this->ctrl->setParameter($this, "entry", $key); $this->ctrl->setParameter($this, "mode", "edit"); $this->tpl->setVariable("LINK_REMOVE_TRANSLATION", $this->ctrl->getLinkTarget($this, "removeTranslation")); $this->tpl->parseCurrentBlock(); } // lang selection $this->tpl->addBlockFile("SEL_LANGUAGE", "sel_language", "tpl.lang_selection.html", false); $this->tpl->setVariable("SEL_NAME", "Fobject[".$key."][lang]"); $languages = ilMetaData::getLanguages(); foreach ($languages as $code => $language) { $this->tpl->setCurrentBlock("lg_option"); $this->tpl->setVariable("VAL_LG", $code); $this->tpl->setVariable("TXT_LG", $language); if ($code == $val["lang"]) { $this->tpl->setVariable("SELECTED", "selected=\"selected\""); } $this->tpl->parseCurrentBlock(); } // object data $this->tpl->setCurrentBlock("obj_form"); if ($key == 0) { $this->tpl->setVariable("TXT_HEADER", $this->lng->txt($this->object->getType()."_edit")); } else { $this->tpl->setVariable("TXT_HEADER", $this->lng->txt("translation")." ".$key); } if ($key == $data["default_language"]) { $this->tpl->setVariable("CHECKED", "checked=\"checked\""); } $this->tpl->setVariable("TXT_TITLE", $this->lng->txt("title")); $this->tpl->setVariable("TXT_DESC", $this->lng->txt("desc")); $this->tpl->setVariable("TXT_DEFAULT", $this->lng->txt("default")); $this->tpl->setVariable("TXT_LANGUAGE", $this->lng->txt("language")); $this->tpl->setVariable("TITLE", ilUtil::prepareFormOutput($val["title"],$strip)); $this->tpl->setVariable("DESC", ilUtil::stripSlashes($val["desc"])); $this->tpl->setVariable("NUM", $key); $this->tpl->parseCurrentBlock(); } $this->showCustomIconsEditing(); // global $this->tpl->setCurrentBlock("adm_content"); $this->tpl->setVariable("FORMACTION", $this->ctrl->getFormAction($this)); $this->tpl->setVariable("TARGET", $this->getTargetFrame("update")); $this->tpl->setVariable("TXT_CANCEL", $this->lng->txt("cancel")); $this->tpl->setVariable("TXT_SUBMIT", $this->lng->txt("save")); $this->tpl->setVariable("CMD_SUBMIT", "update"); $this->tpl->setVariable("TXT_REQUIRED_FLD", $this->lng->txt("required_field")); }
& ilObjCategoryGUI::executeCommand | ( | ) |
execute command note: this method is overwritten in all container objects
Reimplemented from ilContainerGUI.
Definition at line 60 of file class.ilObjCategoryGUI.php.
References $_GET, $cmd, $rbacsystem, ilContainerGUI::forwardToPageObject(), ilObjStyleSheet::getContentStylePath(), infoPanel(), ilObjectGUI::prepareOutput(), sendInfo(), ilObjectGUI::setLocator(), ilContainerGUI::setPageEditorTabs(), and ilContainerGUI::setTitleAndDescription().
{ global $rbacsystem; $next_class = $this->ctrl->getNextClass($this); $cmd = $this->ctrl->getCmd(); switch($next_class) { case "ilobjusergui": include_once("./classes/class.ilObjUserGUI.php"); $this->tabs_gui->setTabActive('administrate_users'); if(!$_GET['obj_id']) { $this->gui_obj = new ilObjUserGUI("",$_GET['ref_id'],true, false); $this->gui_obj->setCreationMode($this->creation_mode); $ret =& $this->ctrl->forwardCommand($this->gui_obj); } else { $this->gui_obj = new ilObjUserGUI("", $_GET['obj_id'],false, false); $this->gui_obj->setCreationMode($this->creation_mode); $ret =& $this->ctrl->forwardCommand($this->gui_obj); } break; case "ilobjuserfoldergui": include_once("./classes/class.ilObjUserFolderGUI.php"); $this->tabs_gui->setTabActive('administrate_users'); $this->gui_obj = new ilObjUserFolderGUI("",(int) $_GET['ref_id'],true, false); $this->gui_obj->setUserOwnerId((int) $_GET['ref_id']); $this->gui_obj->setCreationMode($this->creation_mode); $ret =& $this->ctrl->forwardCommand($this->gui_obj); break; case 'ilpermissiongui': $this->prepareOutput(); include_once("./classes/class.ilPermissionGUI.php"); $perm_gui =& new ilPermissionGUI($this); $ret =& $this->ctrl->forwardCommand($perm_gui); break; case 'ilcontainerlinklistgui': include_once("./classes/class.ilContainerLinkListGUI.php"); $link_list_gui =& new ilContainerLinkListGUI(); $ret =& $this->ctrl->forwardCommand($link_list_gui); break; // container page editing case "ilpageobjectgui": $this->tpl->getStandardTemplate(); $this->setLocator(); sendInfo(); infoPanel(); //$this->prepareOutput(false); $ret = $this->forwardToPageObject(); $this->setTitleAndDescription(); $this->setPageEditorTabs(); return $ret; break; default: $this->prepareOutput(); include_once("classes/class.ilObjStyleSheet.php"); $this->tpl->setVariable("LOCATION_CONTENT_STYLESHEET", ilObjStyleSheet::getContentStylePath(0)); if(!$cmd) { $cmd = "render"; } $cmd .= "Object"; $this->$cmd(); break; } return true; }
ilObjCategoryGUI::getTabs | ( | &$ | tabs_gui | ) |
common tabs for all container objects (should be called at the end of child getTabs() method
Reimplemented from ilContainerGUI.
Definition at line 143 of file class.ilObjCategoryGUI.php.
References $_GET, and $rbacsystem.
{ global $rbacsystem; if ($this->ctrl->getCmd() == "editPageContent") { return; } #$this->ctrl->setParameter($this,"ref_id",$this->ref_id); if ($rbacsystem->checkAccess('read',$this->ref_id)) { $force_active = ($_GET["cmd"] == "" || $_GET["cmd"] == "render") ? true : false; $tabs_gui->addTarget("view_content", $this->ctrl->getLinkTarget($this, ""), array("view", ""), "", "", $force_active); } if ($rbacsystem->checkAccess('write',$this->ref_id)) { $force_active = ($_GET["cmd"] == "edit") ? true : false; $tabs_gui->addTarget("edit_properties", $this->ctrl->getLinkTarget($this, "edit"), "edit", get_class($this) , "", $force_active); } if($rbacsystem->checkAccess('cat_administrate_users',$this->ref_id)) { $tabs_gui->addTarget("administrate_users", $this->ctrl->getLinkTarget($this, "listUsers"), "listUsers", get_class($this)); } // parent tabs (all container: edit_permission, clipboard, trash parent::getTabs($tabs_gui); }
ilObjCategoryGUI::ilObjCategoryGUI | ( | $ | a_data, | |
$ | a_id, | |||
$ | a_call_by_reference = true , |
|||
$ | a_prepare_output = true | |||
) |
Constructor public.
Definition at line 48 of file class.ilObjCategoryGUI.php.
References ilContainerGUI::ilContainerGUI().
{ //global $ilCtrl; // CONTROL OPTIONS //$this->ctrl =& $ilCtrl; //$this->ctrl->saveParameter($this,array("ref_id","cmdClass")); $this->type = "cat"; $this->ilContainerGUI($a_data, $a_id, $a_call_by_reference, $a_prepare_output); }
ilObjCategoryGUI::importCancelledObject | ( | ) |
import cancelled
private
Definition at line 784 of file class.ilObjCategoryGUI.php.
References sendInfo().
{ sendInfo($this->lng->txt("action_aborted"),true); $this->ctrl->redirect($this); }
ilObjCategoryGUI::importCategoriesFormObject | ( | ) |
display form for category import
Definition at line 720 of file class.ilObjCategoryGUI.php.
References _importCategoriesForm().
{ ilObjCategoryGUI::_importCategoriesForm($this->ref_id, $this->tpl); }
ilObjCategoryGUI::importCategoriesObject | ( | ) |
import categories
Definition at line 801 of file class.ilObjCategoryGUI.php.
References $_GET, and _importCategories().
{ ilObjCategoryGUI::_importCategories($_GET["ref_id"]); // call to importCategories with $withrol = 0 ilObjCategoryGUI::_importCategories($_GET["ref_id"], 0); }
ilObjCategoryGUI::importCategoriesWithRolObject | ( | ) |
import categories with local rol
Definition at line 811 of file class.ilObjCategoryGUI.php.
References $_GET, and _importCategories().
{ //echo "entra aqui"; // call to importCategories with $withrol = 1 ilObjCategoryGUI::_importCategories($_GET["ref_id"], 1); }
ilObjCategoryGUI::listUsersObject | ( | $ | show_delete = false |
) |
Definition at line 874 of file class.ilObjCategoryGUI.php.
References $_GET, $_POST, $_SESSION, $counter, $rbacreview, $rbacsystem, $title, $users, __buildFilterSelect(), __showUsersTable(), ilLocalUser::_getAllUserIds(), ilLocalUser::_getFolderIds(), ilLocalUser::_getUserData(), ilObject::_lookupObjId(), ilObject::_lookupTitle(), ilUtil::formCheckbox(), sendInfo(), and ilUtil::sortArray().
Referenced by applyFilterObject(), assignRolesObject(), assignSaveObject(), deleteUserObject(), and performDeleteUsersObject().
{ global $ilUser; include_once './classes/class.ilLocalUser.php'; include_once './classes/class.ilObjUserGUI.php'; global $rbacsystem,$rbacreview; if(!$rbacsystem->checkAccess("cat_administrate_users",$this->object->getRefId())) { $this->ilias->raiseError($this->lng->txt("msg_no_perm_admin_users"),$this->ilias->error_obj->MESSAGE); } $this->tabs_gui->setTabActive('administrate_users'); $_GET['sort_by'] = ($_SESSION['lua_sort_by'][$this->object->getRefId()] = ($_GET['sort_by'] ? $_GET['sort_by'] : $_SESSION['lua_sort_by'][$this->object->getRefId()])); $_GET['sort_order'] = $_SESSION['lua_sort_order'][$this->object->getRefId()] = ($_GET['sort_order'] ? $_GET['sort_order'] : $_SESSION['lua_sort_order'][$this->object->getRefId()]); $_GET['offset'] = $_SESSION['lua_offset'][$this->object->getRefId()] = (isset($_GET['offset']) ? $_GET['offset'] : $_SESSION['lua_offset'][$this->object->getRefId()]); // default to local users view if(!isset($_SESSION['filtered_users'][$this->object->getRefId()])) { $_SESSION['filtered_users'][$this->object->getRefId()] = $this->object->getRefId(); } $_SESSION['delete_users'] = $show_delete ? $_SESSION['delete_users'] : array(); $_SESSION['filtered_users'][$this->object->getRefId()] = isset($_POST['filter']) ? $_POST['filter'] : $_SESSION['filtered_users'][$this->object->getRefId()]; $this->tpl->addBlockfile('ADM_CONTENT','adm_content','tpl.cat_admin_users.html'); $parent = ilLocalUser::_getFolderIds(); if(count($parent) > 1) { $this->tpl->setCurrentBlock("filter"); $this->tpl->setVariable("FILTER_TXT_FILTER",$this->lng->txt('filter')); $this->tpl->setVariable("SELECT_FILTER",$this->__buildFilterSelect($parent)); $this->tpl->setVariable("FILTER_ACTION",$this->ctrl->getFormAction($this)); $this->tpl->setVariable("FILTER_NAME",'applyFilter'); $this->tpl->setVariable("FILTER_VALUE",$this->lng->txt('apply_filter')); $this->tpl->parseCurrentBlock(); } $this->tpl->addBlockfile("BUTTONS", "buttons", "tpl.buttons.html"); if(count($rbacreview->getGlobalAssignableRoles()) or in_array(SYSTEM_ROLE_ID,$_SESSION["RoleId"])) { // add user button $this->tpl->setCurrentBlock("btn_cell"); $this->tpl->setVariable("BTN_LINK",$this->ctrl->getLinkTargetByClass('ilobjusergui','create')); $this->tpl->setVariable("BTN_TXT",$this->lng->txt('add_user')); $this->tpl->parseCurrentBlock(); // import user button $this->tpl->setCurrentBlock("btn_cell"); $this->tpl->setVariable("BTN_LINK",$this->ctrl->getLinkTargetByClass('ilobjuserfoldergui','importUserForm')); $this->tpl->setVariable("BTN_TXT",$this->lng->txt('import_users')); $this->tpl->parseCurrentBlock(); } else { sendInfo($this->lng->txt('no_roles_user_can_be_assigned_to')); } if(!count($users = ilLocalUser::_getAllUserIds($_SESSION['filtered_users'][$this->object->getRefId()]))) { sendInfo($this->lng->txt('no_local_users')); } if($show_delete) { $this->tpl->setCurrentBlock("confirm_delete"); $this->tpl->setVariable("CONFIRM_FORMACTION",$this->ctrl->getFormAction($this)); $this->tpl->setVariable("TXT_CANCEL",$this->lng->txt('cancel')); $this->tpl->setVariable("CONFIRM_CMD",'performDeleteUsers'); $this->tpl->setVariable("TXT_CONFIRM",$this->lng->txt('delete')); $this->tpl->parseCurrentBlock(); } $counter = 0; $editable = false; // pre sort $users = ilLocalUser::_getUserData($_SESSION['filtered_users'][$this->object->getRefId()]); $this->all_users_count = count($users); $users = ilUtil::sortArray($users,$_GET["sort_by"] ? $_GET['sort_by'] : 'login',$_GET["sort_order"]); $users = array_slice($users,$_GET["offset"],$ilUser->getPref('hits_per_page')); foreach($users as $user_data) { if($user_data['time_limit_owner'] == $this->object->getRefId()) { $editable = true; $f_result[$counter][] = ilUtil::formCheckbox(in_array($user_data['usr_id'],$_SESSION['delete_users']) ? 1 : 0, "user_ids[]",$user_data['usr_id']); $this->ctrl->setParameterByClass('ilobjusergui','obj_id',$user_data['usr_id']); $f_result[$counter][] = '<a href="'.$this->ctrl->getLinkTargetByClass('ilobjusergui','edit').'">'. $user_data['login'].'</a>'; } else { $f_result[$counter][] = ' '; $f_result[$counter][] = $user_data['login']; } $f_result[$counter][] = $user_data['firstname']; $f_result[$counter][] = $user_data['lastname']; switch($usr_data['time_limit_owner']) { case 7: $f_result[$counter][] = $this->lng->txt('global'); break; default: $f_result[$counter][] = ($title = ilObject::_lookupTitle(ilObject::_lookupObjId($user_data['time_limit_owner']))) ? $title : ''; } // role assignment $this->ctrl->setParameter($this,'obj_id',$user_data['usr_id']); $f_result[$counter][] = '<a class="il_ContainerItemCommand" href="'.$this->ctrl->getLinkTarget($this,'assignRoles').'">'. $this->lng->txt('edit').'</a>'; unset($tmp_obj); ++$counter; } $this->__showUsersTable($f_result,"listUsersObject",$editable); return true; }
ilObjCategoryGUI::performDeleteUsersObject | ( | ) |
Definition at line 1013 of file class.ilObjCategoryGUI.php.
References $_SESSION, $user_id, ilLocalUser::_getAllUserIds(), ilObjectFactory::getInstanceByObjId(), listUsersObject(), and sendInfo().
{ include_once './classes/class.ilLocalUser.php'; foreach($_SESSION['delete_users'] as $user_id) { if(!in_array($user_id,ilLocalUser::_getAllUserIds($this->object->getRefId()))) { die('user id not valid'); } if(!$tmp_obj =& ilObjectFactory::getInstanceByObjId($user_id,false)) { continue; } $tmp_obj->delete(); } sendInfo($this->lng->txt('deleted_users')); $this->listUsersObject(); return true; }
ilObjCategoryGUI::removeBigIconObject | ( | ) |
remove big icon
public
Definition at line 690 of file class.ilObjCategoryGUI.php.
References $_GET, $_POST, $_SESSION, and ilUtil::redirect().
{ $_SESSION["translation_post"] = $_POST; $this->object->removeBigIcon(); //$this->ctrl->setParameter($this, "entry", 0); //$this->ctrl->setParameter($this, "mode", "session"); //$this->ctrl->setParameter($this, "new_type", $_GET["new_type"]); ilUtil::redirect($this->ctrl->getLinkTarget($this, $_GET["mode"])); }
ilObjCategoryGUI::removeSmallIconObject | ( | ) |
remove small icon
public
Definition at line 706 of file class.ilObjCategoryGUI.php.
References $_GET, $_POST, $_SESSION, and ilUtil::redirect().
{ $_SESSION["translation_post"] = $_POST; $this->object->removeSmallIcon(); //$this->ctrl->setParameter($this, "entry", 0); //$this->ctrl->setParameter($this, "mode", "session"); //$this->ctrl->setParameter($this, "new_type", $_GET["new_type"]); ilUtil::redirect($this->ctrl->getLinkTarget($this, $_GET["mode"])); }
ilObjCategoryGUI::removeTranslationObject | ( | ) |
removes a translation form & save post vars to session
public
Definition at line 670 of file class.ilObjCategoryGUI.php.
References $_GET, and ilUtil::redirect().
{ if (!($_GET["mode"] != "create" or $_GET["mode"] != "edit")) { $message = get_class($this)."::removeTranslationObject(): Missing or wrong parameter! mode: ".$_GET["mode"]; $this->ilias->raiseError($message,$this->ilias->error_obj->WARNING); } $this->ctrl->setParameter($this, "entry", $_GET["entry"]); $this->ctrl->setParameter($this, "mode", "session"); $this->ctrl->setParameter($this, "new_type", $_GET["new_type"]); ilUtil::redirect($this->ctrl->getLinkTarget($this, $_GET["mode"])); }
ilObjCategoryGUI::saveObject | ( | ) |
save category public
Reimplemented from ilObjectGUI.
Definition at line 360 of file class.ilObjCategoryGUI.php.
References $_GET, $_POST, ilObjectGUI::$data, $key, ilObjectGUI::redirectToRefId(), sendInfo(), and ilUtil::stripSlashes().
{ $data = $_POST; // default language set? if (!isset($data["default_language"])) { $this->ilias->raiseError($this->lng->txt("msg_no_default_language"),$this->ilias->error_obj->MESSAGE); } // prepare array fro further checks foreach ($data["Fobject"] as $key => $val) { $langs[$key] = $val["lang"]; } $langs = array_count_values($langs); // all languages set? if (array_key_exists("",$langs)) { $this->ilias->raiseError($this->lng->txt("msg_no_language_selected"),$this->ilias->error_obj->MESSAGE); } // no single language is selected more than once? if (array_sum($langs) > count($langs)) { $this->ilias->raiseError($this->lng->txt("msg_multi_language_selected"),$this->ilias->error_obj->MESSAGE); } // copy default translation to variable for object data entry $_POST["Fobject"]["title"] = $_POST["Fobject"][$_POST["default_language"]]["title"]; $_POST["Fobject"]["desc"] = $_POST["Fobject"][$_POST["default_language"]]["desc"]; // always call parent method first to create an object_data entry & a reference $newObj = parent::saveObject(); // setup rolefolder & default local roles if needed (see ilObjForum & ilObjForumGUI for an example) //$roles = $newObj->initDefaultRoles(); // write translations to object_translation foreach ($data["Fobject"] as $key => $val) { if ($key == $data["default_language"]) { $default = 1; } else { $default = 0; } $newObj->addTranslation(ilUtil::stripSlashes($val["title"]),ilUtil::stripSlashes($val["desc"]),$val["lang"],$default); } // always send a message sendInfo($this->lng->txt("cat_added"),true); //$this->ctrl->setParameter($this, "ref_id", $newObj->getRefId()); $this->redirectToRefId($_GET["ref_id"]); }
ilObjCategoryGUI::updateObject | ( | ) |
updates object entry in object_data
public
Reimplemented from ilObjectGUI.
Definition at line 568 of file class.ilObjCategoryGUI.php.
References $_POST, ilObjectGUI::$data, $key, $rbacsystem, ilObjectGUI::getReturnLocation(), ilUtil::redirect(), sendInfo(), and ilUtil::stripSlashes().
{ global $rbacsystem; if (!$rbacsystem->checkAccess("write", $this->object->getRefId())) { $this->ilias->raiseError($this->lng->txt("msg_no_perm_write"),$this->ilias->error_obj->MESSAGE); } else { $data = $_POST; // default language set? if (!isset($data["default_language"])) { $this->ilias->raiseError($this->lng->txt("msg_no_default_language"),$this->ilias->error_obj->MESSAGE); } // prepare array fro further checks foreach ($data["Fobject"] as $key => $val) { $langs[$key] = $val["lang"]; } $langs = array_count_values($langs); // all languages set? if (array_key_exists("",$langs)) { $this->ilias->raiseError($this->lng->txt("msg_no_language_selected"),$this->ilias->error_obj->MESSAGE); } // no single language is selected more than once? if (array_sum($langs) > count($langs)) { $this->ilias->raiseError($this->lng->txt("msg_multi_language_selected"),$this->ilias->error_obj->MESSAGE); } // copy default translation to variable for object data entry $_POST["Fobject"]["title"] = $_POST["Fobject"][$_POST["default_language"]]["title"]; $_POST["Fobject"]["desc"] = $_POST["Fobject"][$_POST["default_language"]]["desc"]; // first delete all translation entries... $this->object->removeTranslations(); // ...and write new translations to object_translation foreach ($data["Fobject"] as $key => $val) { if ($key == $data["default_language"]) { $default = 1; } else { $default = 0; } $this->object->addTranslation(ilUtil::stripSlashes($val["title"]),ilUtil::stripSlashes($val["desc"]),$val["lang"],$default); } // update object data entry with default translation $this->object->setTitle(ilUtil::stripSlashes($_POST["Fobject"]["title"])); $this->object->setDescription(ilUtil::stripSlashes($_POST["Fobject"]["desc"])); //save custom icons if ($this->ilias->getSetting("custom_icons")) { $this->object->saveIcons($_FILES["cont_big_icon"], $_FILES["cont_small_icon"]); } $this->update = $this->object->update(); } sendInfo($this->lng->txt("msg_obj_modified"),true); ilUtil::redirect($this->getReturnLocation("update",$this->ctrl->getTargetScript()."?".$this->link_params)); }
ilObjCategoryGUI::$ctrl |
Definition at line 42 of file class.ilObjCategoryGUI.php.