Public Member Functions | |
ilObjectGUI ($a_data, $a_id=0, $a_call_by_reference=true, $a_prepare_output=true) | |
Constructor public. | |
& | executeCommand () |
execute command | |
withReferences () | |
determines wether objects are referenced or not (got ref ids or not) | |
assignObject () | |
prepareOutput () | |
setAdminTabs ($a_new_type=0) | |
set admin tabs public | |
setTabTargetScript ($a_script="adm_object.php") | |
getTabTargetScript () | |
setActions ($a_actions="") | |
set possible actions for objects in list. | |
setSubObjects ($a_sub_objects="") | |
set possible subobjects for this object. | |
setLocator ($a_tree="", $a_id="", $scriptname="adm_object.php", $a_child_param="ref_id", $a_output_obj=true, $a_root_title="") | |
set Locator | |
copyObject () | |
copy object to clipboard | |
pasteObject () | |
paste object from clipboard to current place Depending on the chosen command the object(s) are linked, copied or moved | |
clearObject () | |
clear clipboard and go back to last object | |
cutObject () | |
cut object(s) out from a container and write the information to clipboard | |
linkObject () | |
create an new reference of an object in tree it's like a hard link of unix | |
cloneObject ($a_ref_ids) | |
clone Object subtree | |
cloneNodes ($a_source_id, $a_dest_id, &$mapping) | |
clone all nodes recursive function | |
undeleteObject () | |
get object back from trash | |
insertSavedNodes ($a_source_id, $a_dest_id, $a_tree_id) | |
recursive method to insert all saved nodes of the clipboard (maybe this function could be moved to a rbac class ?) | |
confirmedDeleteObject () | |
confirmed deletion if object -> objects are moved to trash | |
cancelDeleteObject () | |
cancel deletion of object | |
removeFromSystemObject () | |
remove objects from trash bin and all entries therefore every object needs a specific deleteObject() method | |
removeDeletedNodes ($a_node_id, $a_checked, $a_delete_objects=true) | |
remove already deleted objects within the objects in trash recursive function | |
createObject () | |
create new object form | |
cancelObject ($in_rep=false) | |
cancel action and go back to previous page public | |
saveObject () | |
save object | |
importObject () | |
import new object form | |
editObject () | |
edit object | |
displayEditForm ($fields) | |
display edit form (usually called by editObject) | |
updateObject () | |
updates object entry in object_data | |
permObject () | |
show permissions of current node | |
getFormAction ($a_cmd, $a_formaction="") | |
get form action for command (command is method name without "Object", e.g. | |
setFormAction ($a_cmd, $a_formaction) | |
set specific form action for command | |
getReturnLocation ($a_cmd, $a_location="") | |
get return location for command (command is method name without "Object", e.g. | |
setReturnLocation ($a_cmd, $a_location) | |
set specific return location for command | |
getTargetFrame ($a_cmd, $a_target_frame="") | |
get target frame for command (command is method name without "Object", e.g. | |
setTargetFrame ($a_cmd, $a_target_frame) | |
set specific target frame for command | |
permSaveObject () | |
save permissions | |
ownerObject () | |
display object owner | |
displayList () | |
display object list | |
viewObject () | |
list childs of current object | |
deleteObject ($a_error=false) | |
display deletion confirmation screen only for referenced objects. | |
trashObject () | |
show trash content of object | |
addRoleObject () | |
adds a local role This method is only called when choose the option 'you may add local roles'. | |
showActions ($with_subobjects=false) | |
show possible action (form buttons) | |
showPossibleSubObjects () | |
show possible subobjects (pulldown menu) | |
getTemplateFile ($a_cmd, $a_type="") | |
get a template blockfile format: tpl. | |
getTitlesByRefId ($a_ref_ids) | |
get Titles of objects this method is used for error messages in methods cut/copy/paste | |
getTabs (&$tabs_gui) | |
get tabs abstract method. | |
__showButton ($a_cmd, $a_text, $a_target= '') | |
hitsperpageObject () | |
clipboardObject () | |
display objects in clipboard (only repository clipboard!!!!) by using session variable 'il_rep_clipboard' | |
& | __initTableGUI () |
__setTableGUIBasicData (&$tbl, &$result_set, $a_from="") | |
standard implementation for tables use 'from' variable use different initial setting of table | |
__showClipboardTable ($a_result_set, $a_from="") | |
Data Fields | |
$ilias | |
$objDefinition | |
$tpl | |
$tree | |
$lng | |
$data | |
$object | |
$ref_id | |
$obj_id | |
$maxcount | |
$formaction | |
$return_location | |
$target_frame | |
$tab_target_script | |
$actions | |
$sub_objects |
Definition at line 34 of file class.ilObjectGUI.php.
& ilObjectGUI::__initTableGUI | ( | ) |
Reimplemented in ilObjCategoryGUI, ilObjGroupGUI, ilObjRoleFolderGUI, ilObjRoleGUI, ilObjUserFolderGUI, ilObjUserGUI, ilObjCourseGUI, and ilObjPaymentSettingsGUI.
Definition at line 3040 of file class.ilObjectGUI.php.
Referenced by __showClipboardTable().
{ include_once "./classes/class.ilTableGUI.php"; return new ilTableGUI(0,false); }
ilObjectGUI::__setTableGUIBasicData | ( | &$ | tbl, | |
&$ | result_set, | |||
$ | a_from = "" | |||
) |
standard implementation for tables use 'from' variable use different initial setting of table
Reimplemented in ilObjGroupGUI, ilObjRoleFolderGUI, ilObjRoleGUI, ilObjUserFolderGUI, ilObjUserGUI, ilObjCourseGUI, and ilObjPaymentSettingsGUI.
Definition at line 3052 of file class.ilObjectGUI.php.
Referenced by __showClipboardTable().
{ switch ($a_from) { 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); $tbl->setLimit($_GET["limit"]); $tbl->setFooter("tblfooter",$this->lng->txt("previous"),$this->lng->txt("next")); $tbl->setData($result_set); }
ilObjectGUI::__showButton | ( | $ | a_cmd, | |
$ | a_text, | |||
$ | a_target = '' | |||
) |
Reimplemented in ilObjPaymentSettingsGUI.
Definition at line 2973 of file class.ilObjectGUI.php.
Referenced by ilObjCourseGUI::archiveAdminObject(), ilObjCourseGUI::archiveObject(), ilObjCategoryGUI::assignRolesObject(), ilObjLinkResourceGUI::editItemsObject(), ilObjRoleGUI::listDesktopItemsObject(), ilObjRoleGUI::listUsersGroupObject(), ilObjGroupGUI::listUsersGroupObject(), ilObjCourseGUI::listUsersGroupObject(), ilObjRoleGUI::listUsersRoleObject(), ilObjGroupGUI::listUsersRoleObject(), ilObjCourseGUI::listUsersRoleObject(), ilObjCourseGUI::membersObject(), ilObjRoleGUI::searchObject(), ilObjGroupGUI::searchObject(), ilObjCourseGUI::searchObject(), and ilObjRoleGUI::selectDesktopItemObject().
{ $this->tpl->addBlockfile("BUTTONS", "buttons", "tpl.buttons.html"); // display button $this->tpl->setCurrentBlock("btn_cell"); $this->tpl->setVariable("BTN_LINK",$this->ctrl->getLinkTarget($this,$a_cmd)); $this->tpl->setVariable("BTN_TXT",$a_text); if($a_target) { $this->tpl->setVariable("BTN_TARGET",$a_target); } $this->tpl->parseCurrentBlock(); }
ilObjectGUI::__showClipboardTable | ( | $ | a_result_set, | |
$ | a_from = "" | |||
) |
Definition at line 3078 of file class.ilObjectGUI.php.
References $_GET, $tbl, $tpl, __initTableGUI(), __setTableGUIBasicData(), and ilUtil::getImagePath().
Referenced by clipboardObject().
{ $tbl =& $this->__initTableGUI(); $tpl =& $tbl->getTemplateObject(); $tpl->setCurrentBlock("tbl_form_header"); $tpl->setVariable("FORMACTION",$this->ctrl->getTargetScript()."?".$this->link_params."&cmd=post"); $tpl->parseCurrentBlock(); $tpl->setCurrentBlock("tbl_action_btn"); $tpl->setVariable("BTN_NAME","paste"); $tpl->setVariable("BTN_VALUE",$this->lng->txt("insert_object_here")); $tpl->parseCurrentBlock(); $tpl->setCurrentBlock("tbl_action_btn"); $tpl->setVariable("BTN_NAME","clear"); $tpl->setVariable("BTN_VALUE",$this->lng->txt("clear_clipboard")); $tpl->parseCurrentBlock(); $tpl->setCurrentBlock("tbl_action_row"); $tpl->setVariable("COLUMN_COUNTS",3); $tpl->setVariable("IMG_ARROW",ilUtil::getImagePath("spacer.gif")); $tpl->parseCurrentBlock(); $tbl->setTitle($this->lng->txt("clipboard"),"icon_typ_b.gif",$this->lng->txt("clipboard")); $tbl->setHeaderNames(array($this->lng->txt('obj_type'), $this->lng->txt('title'), $this->lng->txt('action'))); $tbl->setHeaderVars(array('type', 'title', 'act'), array('ref_id' => $this->object->getRefId(), 'cmd' => 'clipboard', 'cmdClass' => $_GET['cmdClass'], 'cmdNode' => $_GET['cmdNode'])); $tbl->setColumnWidth(array("","80%","19%")); $this->__setTableGUIBasicData($tbl,$a_result_set,$a_from); $tbl->render(); $this->tpl->setVariable("RESULT_TABLE",$tbl->tpl->get()); return true; }
ilObjectGUI::addRoleObject | ( | ) |
adds a local role This method is only called when choose the option 'you may add local roles'.
This option is displayed in the permission settings dialogue for an object TODO: this will be changed public
Definition at line 2688 of file class.ilObjectGUI.php.
References $_POST, $rbacadmin, $rbacreview, $rbacsystem, getReturnLocation(), ilUtil::redirect(), sendInfo(), and ilUtil::stripSlashes().
Referenced by ilObjSAHSLearningModuleGUI::addRole(), ilObjMediaPoolGUI::addRole(), ilObjGlossaryGUI::addRole(), ilObjFileBasedLMGUI::addRole(), and ilObjContentObjectGUI::addRole().
{ global $rbacadmin, $rbacreview, $rbacsystem; // first check if role title is unique if ($rbacreview->roleExists($_POST["Fobject"]["title"])) { $this->ilias->raiseError($this->lng->txt("msg_role_exists1")." '".ilUtil::stripSlashes($_POST["Fobject"]["title"])."' ". $this->lng->txt("msg_role_exists2"),$this->ilias->error_obj->MESSAGE); } // check if role title has il_ prefix if (substr($_POST["Fobject"]["title"],0,3) == "il_") { $this->ilias->raiseError($this->lng->txt("msg_role_reserved_prefix"),$this->ilias->error_obj->MESSAGE); } // if the current object is no role folder, create one if ($this->object->getType() != "rolf") { $rolf_data = $rbacreview->getRoleFolderOfObject($this->ref_id); // is there already a rolefolder? if (!($rolf_id = $rolf_data["child"])) { // can the current object contain a rolefolder? $subobjects = $this->objDefinition->getSubObjects($this->object->getType()); if (!isset($subobjects["rolf"])) { $this->ilias->raiseError($this->lng->txt("msg_no_rolf_allowed1")." '".$this->object->getTitle()."' ". $this->lng->txt("msg_no_rolf_allowed2"),$this->ilias->error_obj->WARNING); } // CHECK ACCESS 'create' rolefolder if (!$rbacsystem->checkAccess('create',$this->ref_id,'rolf')) { $this->ilias->raiseError($this->lng->txt("msg_no_perm_create_rolf"),$this->ilias->error_obj->WARNING); } // create a rolefolder $rolfObj = $this->object->createRoleFolder(); $rolf_id = $rolfObj->getRefId(); } } else { // Current object is already a rolefolder. To create the role we take its reference id $rolf_id = $this->object->getRefId(); } // CHECK ACCESS 'write' of role folder if (!$rbacsystem->checkAccess('write',$rolf_id)) { $this->ilias->raiseError($this->lng->txt("msg_no_perm_write"),$this->ilias->error_obj->WARNING); } else // create role { if ($this->object->getType() == "rolf") { $roleObj = $this->object->createRole($_POST["Fobject"]["title"],$_POST["Fobject"]["desc"]); } else { $rfoldObj = $this->ilias->obj_factory->getInstanceByRefId($rolf_id); $roleObj = $rfoldObj->createRole($_POST["Fobject"]["title"],$_POST["Fobject"]["desc"]); } } sendInfo($this->lng->txt("role_added"),true); if ($this->ctrl->getTargetScript() != "repository.php") { $this->ctrl->setParameter($this,"obj_id",$roleObj->getId()); $this->ctrl->setParameter($this,"ref_id",$rolf_id); ilUtil::redirect($this->getReturnLocation("addRole",$this->ctrl->getLinkTarget($this,"perm"))); } ilUtil::redirect($this->getReturnLocation("addRole",$this->ctrl->getLinkTarget($this,"perm"))); }
ilObjectGUI::assignObject | ( | ) |
Reimplemented in ilObjAICCLearningModuleGUI, ilObjDlBookGUI, ilObjGlossaryGUI, ilObjHACPLearningModuleGUI, ilObjLearningModuleGUI, ilObjSCORMLearningModuleGUI, and ilObjMediaObjectGUI.
Definition at line 223 of file class.ilObjectGUI.php.
Referenced by ilObjectGUI().
{ // TODO: it seems that we always have to pass only the ref_id //echo "assign:".get_class($this).":".$this->id.":<br>"; if ($this->id != 0) { if ($this->call_by_reference) { $this->object =& $this->ilias->obj_factory->getInstanceByRefId($this->id); } else { $this->object =& $this->ilias->obj_factory->getInstanceByObjId($this->id); } } }
ilObjectGUI::cancelDeleteObject | ( | ) |
cancel deletion of object
public
Reimplemented in ilObjStyleSheetGUI.
Definition at line 1411 of file class.ilObjectGUI.php.
References $_GET, getReturnLocation(), ilUtil::redirect(), and sendInfo().
{ session_unregister("saved_post"); sendInfo($this->lng->txt("msg_cancel"),true); ilUtil::redirect($this->getReturnLocation("cancelDelete","adm_object.php?ref_id=".$_GET["ref_id"])); }
ilObjectGUI::cancelObject | ( | $ | in_rep = false |
) |
cancel action and go back to previous page public
Definition at line 1590 of file class.ilObjectGUI.php.
References $_GET, $return_location, getReturnLocation(), ilUtil::redirect(), and sendInfo().
Referenced by ilObjMediaPoolGUI::cancel(), and ilObjFileBasedLMGUI::cancel().
{ session_unregister("saved_post"); sendInfo($this->lng->txt("msg_cancel"),true); //sendInfo($this->lng->txt("action_aborted"),true); $return_location = $_GET["cmd_return_location"]; //echo "-".$_GET["cmd_return_location"]."-".$this->ctrl->getLinkTarget($this,$return_location); //ilUtil::redirect($this->ctrl->getLinkTarget($this,$return_location)); if ($in_rep) { $this->ctrl->returnToParent($this); } else { ilUtil::redirect($this->getReturnLocation("cancel",$this->ctrl->getTargetScript()."?".$this->link_params)); } }
ilObjectGUI::clearObject | ( | ) |
clear clipboard and go back to last object
public
Definition at line 960 of file class.ilObjectGUI.php.
References $_POST, $_SESSION, getReturnLocation(), and ilUtil::redirect().
Referenced by cloneObject(), and pasteObject().
{ unset($_SESSION["clipboard"]); unset($_SESSION["il_rep_clipboard"]); //var_dump($this->getReturnLocation("clear",$this->ctrl->getLinkTarget($this)),get_class($this)); // only redirect if clipboard was cleared if (isset($_POST["cmd"]["clear"])) { sendinfo($this->lng->txt("msg_clear_clipboard"),true); //ilUtil::redirect($this->getReturnLocation("clear","adm_object.php?ref_id=".$_GET["ref_id"])); ilUtil::redirect($this->getReturnLocation("clear",$this->ctrl->getLinkTarget($this)),get_class($this)); } }
ilObjectGUI::clipboardObject | ( | ) |
display objects in clipboard (only repository clipboard!!!!) by using session variable 'il_rep_clipboard'
Definition at line 3000 of file class.ilObjectGUI.php.
References $_SESSION, $counter, $data, $ilErr, $ilLog, __showClipboardTable(), and ilObjectFactory::getInstanceByRefId().
{ global $ilErr,$ilLog; // function should not be called if clipboard is empty if (empty($_SESSION['il_rep_clipboard']) or !is_array($_SESSION['il_rep_clipboard'])) { $message = sprintf('%s::clipboardObject(): Illegal access. Clipboard variable is empty!', get_class($this)); $ilLog->write($message,$ilLog->FATAL); $ilErr->raiseError($this->lng->txt("permission_denied"),$ilErr->WARNING); } $this->tpl->addBlockFile("ADM_CONTENT", "adm_content", "tpl.rep_clipboard.html"); // FORMAT DATA $counter = 0; $f_result = array(); foreach($_SESSION['il_rep_clipboard'] as $data) { if(!$tmp_obj = ilObjectFactory::getInstanceByRefId($data['ref_id'],false)) { continue; } //$f_result[$counter][] = ilUtil::formCheckbox(0,"user[]",$user); $f_result[$counter][] = $this->lng->txt("obj_".$tmp_obj->getType()); $f_result[$counter][] = $tmp_obj->getTitle(); //$f_result[$counter][] = $tmp_obj->getDescription(); $f_result[$counter][] = ($data['act'] == 'cut') ? $this->lng->txt("move") :$this->lng->txt($data['act']); unset($tmp_obj); ++$counter; } $this->__showClipboardTable($f_result,"clipboardObject"); return true; }
ilObjectGUI::cloneNodes | ( | $ | a_source_id, | |
$ | a_dest_id, | |||
&$ | mapping | |||
) |
clone all nodes recursive function
private
integer | ref_id of source object | |
integer | ref_id of destination object | |
array | mapping new_ref_id => new_ref_id |
Definition at line 1137 of file class.ilObjectGUI.php.
Referenced by cloneObject().
{ if (!$mapping) { $mapping = array(); } // FIRST CLONE THE OBJECT (THEREFORE THE CLONE METHOD OF EACH OBJECT IS CALLED) $source_obj =& $this->ilias->obj_factory->getInstanceByRefId($a_source_id); $new_ref_id = $source_obj->ilClone($a_dest_id); unset($source_obj); $mapping[$new_ref_id] = $a_source_id; // GET ALL CHILDS OF SOURCE OBJECT AND CALL THIS METHOD FOR OF THEM foreach ($this->tree->getChilds($a_source_id) as $child) { // STOP IF CHILD OBJECT IS ROLE FOLDER SINCE IT DOESN'T MAKE SENSE TO CLONE LOCAL ROLES if ($child["type"] != 'rolf') { $this->cloneNodes($child["ref_id"],$new_ref_id,$mapping); } else { if (count($rolf = $this->tree->getChildsByType($new_ref_id,"rolf"))) { $mapping[$rolf[0]["ref_id"]] = $child["ref_id"]; } } } return true; }
ilObjectGUI::cloneObject | ( | $ | a_ref_ids | ) |
clone Object subtree
private
Definition at line 1101 of file class.ilObjectGUI.php.
References $_GET, $id, $rbacsystem, clearObject(), cloneNodes(), getReturnLocation(), and ilUtil::redirect().
Referenced by pasteObject().
{ global $rbacsystem; if(!is_array($a_ref_ids)) { $this->ilias->raiseError($this->lng->txt("msg_error_copy"),$this->ilias->error_obj->MESSAGE); } // NOW CLONE ALL OBJECTS // THEREFORE THE CLONE METHOD OF ALL OBJECTS IS CALLED foreach ($a_ref_ids as $id) { $this->cloneNodes($id,$this->ref_id,$mapping); } // inform other objects in hierarchy about copy operation //$this->object->notify("copy",$_SESSION["clipboard"]["parent"],$_SESSION["clipboard"]["parent_non_rbac_id"],$_GET["ref_id"],$mapping); $this->clearObject(); sendinfo($this->lng->txt("msg_cloned"),true); ilUtil::redirect($this->getReturnLocation("paste","adm_object.php?ref_id=".$_GET["ref_id"])); } // END CLONE
ilObjectGUI::confirmedDeleteObject | ( | ) |
confirmed deletion if object -> objects are moved to trash
However objects are only removed from tree!! That means that the objects itself stay in the database but are not linked in any context within the system. Trash Bin Feature: Objects can be refreshed in trash
public
Reimplemented in ilObjRoleFolderGUI, ilObjStyleSettingsGUI, ilObjStyleSheetFolderGUI, ilObjStyleSheetGUI, and ilObjUserFolderGUI.
Definition at line 1266 of file class.ilObjectGUI.php.
References $_GET, $_POST, $_SESSION, $id, $log, $obj, $rbacadmin, $rbacsystem, ilPaymentObject::_isBuyable(), deleteObject(), ilObjectFactory::getInstanceByRefId(), getReturnLocation(), ilUtil::redirect(), ilUtil::removeItemFromDesktops(), and sendInfo().
{ include_once './payment/classes/class.ilPaymentObject.php'; global $rbacsystem, $rbacadmin, $log; // TODO: move checkings to deleteObject // TODO: cannot distinguish between obj_id from ref_id with the posted IDs. // change the form field and use instead of 'id' 'ref_id' and 'obj_id'. Then switch with varname // AT LEAST ONE OBJECT HAS TO BE CHOSEN. if (!isset($_SESSION["saved_post"])) { $this->ilias->raiseError($this->lng->txt("no_checkbox"),$this->ilias->error_obj->MESSAGE); } // FOR ALL SELECTED OBJECTS foreach ($_SESSION["saved_post"] as $id) { // GET COMPLETE NODE_DATA OF ALL SUBTREE NODES $node_data = $this->tree->getNodeData($id); $subtree_nodes = $this->tree->getSubTree($node_data); $all_node_data[] = $node_data; $all_subtree_nodes[] = $subtree_nodes; // CHECK DELETE PERMISSION OF ALL OBJECTS foreach ($subtree_nodes as $node) { if($node['type'] == 'rolf') { continue; } if (!$rbacsystem->checkAccess('delete',$node["child"])) { $not_deletable[] = $node["child"]; $perform_delete = false; } else if(ilPaymentObject::_isBuyable($node['child'])) { $buyable[] = $node['child']; $perform_delete = false; } } } // IF THERE IS ANY OBJECT WITH NO PERMISSION TO DELETE if (count($not_deletable)) { $not_deletable = implode(',',$not_deletable); session_unregister("saved_post"); sendInfo($this->lng->txt("msg_no_perm_delete")." ".$not_deletable."<br/>".$this->lng->txt("msg_cancel"),true); ilUtil::redirect($this->getReturnLocation("confirmedDelete","adm_object.php?ref_id=".$_GET["ref_id"])); // $this->ilias->raiseError($this->lng->txt("msg_no_perm_delete")." ". // $not_deletable,$this->ilias->error_obj->MESSAGE); } if(count($buyable)) { foreach($buyable as $id) { $tmp_object =& ilObjectFactory::getInstanceByRefId($id); $titles[] = $tmp_object->getTitle(); } $title_str = implode(',',$titles); sendInfo($this->lng->txt('msg_obj_not_deletable_sold').' '.$title_str,true); $_POST['id'] = $_SESSION['saved_post']; $this->deleteObject(true); return false; } // DELETE THEM if (!$all_node_data[0]["type"]) { // OBJECTS ARE NO 'TREE OBJECTS' if ($rbacsystem->checkAccess('delete',$_GET["ref_id"])) { foreach($_SESSION["saved_post"] as $id) { $obj =& $this->ilias->obj_factory->getInstanceByObjId($id); $obj->delete(); // write log entry $log->write("ilObjectGUI::confirmedDeleteObject(), deleted obj_id ".$obj->getId(). ", type: ".$obj->getType().", title: ".$obj->getTitle()); } } else { unset($_SESSION["saved_post"]); sendInfo($this->lng->txt("no_perm_delete")."<br/>".$this->lng->txt("msg_cancel"),true); ilUtil::redirect($this->getReturnLocation("confirmedDelete","adm_object.php?ref_id=".$_GET["ref_id"])); } } else { // SAVE SUBTREE AND DELETE SUBTREE FROM TREE foreach ($_SESSION["saved_post"] as $id) { // DELETE OLD PERMISSION ENTRIES $subnodes = $this->tree->getSubtree($this->tree->getNodeData($id)); foreach ($subnodes as $subnode) { $rbacadmin->revokePermission($subnode["child"]); // remove item from all user desktops $affected_users = ilUtil::removeItemFromDesktops($subnode["child"]); // TODO: inform users by mail that object $id was deleted //$mail->sendMail($id,$msg,$affected_users); } $this->tree->saveSubTree($id); $this->tree->deleteTree($this->tree->getNodeData($id)); // write log entry $log->write("ilObjectGUI::confirmedDeleteObject(), moved ref_id ".$id. " to trash"); // remove item from all user desktops $affected_users = ilUtil::removeItemFromDesktops($id); // TODO: inform users by mail that object $id was deleted //$mail->sendMail($id,$msg,$affected_users); } // inform other objects in hierarchy about paste operation //$this->object->notify("confirmedDelete", $_GET["ref_id"],$_GET["parent_non_rbac_id"],$_GET["ref_id"],$_SESSION["saved_post"]); } // Feedback sendInfo($this->lng->txt("info_deleted"),true); ilUtil::redirect($this->getReturnLocation("confirmedDelete","adm_object.php?ref_id=".$_GET["ref_id"])); }
ilObjectGUI::copyObject | ( | ) |
copy object to clipboard
public
Reimplemented in ilObjSurveyQuestionPoolGUI.
Definition at line 567 of file class.ilObjectGUI.php.
References $_GET, $_POST, $_SESSION, $rbacsystem, $ref_id, getReturnLocation(), getTitlesByRefId(), and ilUtil::redirect().
{ global $rbacsystem; if (!isset($_POST["id"])) { $this->ilias->raiseError($this->lng->txt("no_checkbox"),$this->ilias->error_obj->MESSAGE); } // FOR ALL OBJECTS THAT SHOULD BE COPIED foreach ($_POST["id"] as $ref_id) { // GET COMPLETE NODE_DATA OF ALL SUBTREE NODES $node_data = $this->tree->getNodeData($ref_id); $subtree_nodes = $this->tree->getSubTree($node_data); $all_node_data[] = $node_data; $all_subtree_nodes[] = $subtree_nodes; // CHECK READ PERMISSION OF ALL OBJECTS IN ACTUAL SUBTREE foreach ($subtree_nodes as $node) { if (!$rbacsystem->checkAccess('read',$node["ref_id"])) { $no_copy[] = $node["ref_id"]; } } } // IF THERE IS ANY OBJECT WITH NO PERMISSION TO 'read' if (count($no_copy)) { $this->ilias->raiseError($this->lng->txt("msg_no_perm_copy")." ".implode(',',$this->getTitlesByRefId($no_copy)), $this->ilias->error_obj->MESSAGE); } $_SESSION["clipboard"]["parent"] = $_GET["ref_id"]; $_SESSION["clipboard"]["cmd"] = key($_POST["cmd"]); $_SESSION["clipboard"]["ref_ids"] = $_POST["id"]; sendinfo($this->lng->txt("msg_copy_clipboard"),true); ilUtil::redirect($this->getReturnLocation("copy","adm_object.php?ref_id=".$_GET["ref_id"])); }
ilObjectGUI::createObject | ( | ) |
create new object form
public
Reimplemented in ilObjQuestionPoolGUI, ilObjTestGUI, ilObjCategoryGUI, ilObjExerciseGUI, ilObjFileGUI, ilObjFolderGUI, ilObjForumGUI, ilObjGroupGUI, ilObjRoleFolderGUI, ilObjRoleGUI, ilObjRoleTemplateGUI, ilObjStyleSheetGUI, ilObjUserGUI, ilObjContentObjectGUI, ilObjGlossaryGUI, ilObjSAHSLearningModuleGUI, ilObjMediaObjectGUI, ilObjiLincClassroomGUI, ilObjiLincCourseGUI, ilObjSurveyGUI, and ilObjSurveyQuestionPoolGUI.
Definition at line 1543 of file class.ilObjectGUI.php.
References $_GET, $_POST, $_SESSION, $data, $rbacsystem, getFormAction(), getTargetFrame(), 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 { // fill in saved values in case of error $data = array(); $data["fields"] = array(); $data["fields"]["title"] = ilUtil::prepareFormOutput($_SESSION["error_post_vars"]["Fobject"]["title"],true); $data["fields"]["desc"] = ilUtil::stripSlashes($_SESSION["error_post_vars"]["Fobject"]["desc"]); $this->getTemplateFile("edit",$new_type); foreach ($data["fields"] as $key => $val) { $this->tpl->setVariable("TXT_".strtoupper($key), $this->lng->txt($key)); $this->tpl->setVariable(strtoupper($key), $val); if ($this->prepare_output) { $this->tpl->parseCurrentBlock(); } } $this->tpl->setVariable("FORMACTION", $this->getFormAction("save","adm_object.php?cmd=gateway&ref_id=". $_GET["ref_id"]."&new_type=".$new_type)); $this->tpl->setVariable("TXT_HEADER", $this->lng->txt($new_type."_new")); $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("TARGET", $this->getTargetFrame("save")); $this->tpl->setVariable("TXT_REQUIRED_FLD", $this->lng->txt("required_field")); } }
ilObjectGUI::cutObject | ( | ) |
cut object(s) out from a container and write the information to clipboard
public
Definition at line 981 of file class.ilObjectGUI.php.
References $_GET, $_POST, $_SESSION, $rbacsystem, $ref_id, getReturnLocation(), getTitlesByRefId(), and ilUtil::redirect().
{ global $rbacsystem; //echo $_SESSION["referer"]; if (!isset($_POST["id"])) { $this->ilias->raiseError($this->lng->txt("no_checkbox"),$this->ilias->error_obj->MESSAGE); } // FOR ALL OBJECTS THAT SHOULD BE COPIED foreach ($_POST["id"] as $ref_id) { // GET COMPLETE NODE_DATA OF ALL SUBTREE NODES $node_data = $this->tree->getNodeData($ref_id); $subtree_nodes = $this->tree->getSubTree($node_data); $all_node_data[] = $node_data; $all_subtree_nodes[] = $subtree_nodes; // CHECK DELETE PERMISSION OF ALL OBJECTS IN ACTUAL SUBTREE foreach ($subtree_nodes as $node) { if (!$rbacsystem->checkAccess('delete',$node["ref_id"])) { $no_cut[] = $node["ref_id"]; } } } // IF THERE IS ANY OBJECT WITH NO PERMISSION TO 'delete' if (count($no_cut)) { $this->ilias->raiseError($this->lng->txt("msg_no_perm_cut")." ".implode(',',$this->getTitlesByRefId($no_cut)), $this->ilias->error_obj->MESSAGE); } //echo "GET";var_dump($_GET);echo "POST";var_dump($_POST); $_SESSION["clipboard"]["parent"] = $_GET["ref_id"]; $_SESSION["clipboard"]["cmd"] = key($_POST["cmd"]); $_SESSION["clipboard"]["ref_ids"] = $_POST["id"]; sendinfo($this->lng->txt("msg_cut_clipboard"),true); ilUtil::redirect($this->getReturnLocation("cut","adm_object.php?ref_id=".$_GET["ref_id"])); } // END CUT
ilObjectGUI::deleteObject | ( | $ | a_error = false |
) |
display deletion confirmation screen only for referenced objects.
For user,role & rolt overwrite this function in the appropriate Object folders classes (ilObjUserFolderGUI,ilObjRoleFolderGUI)
public
Reimplemented in ilObjStyleSheetGUI.
Definition at line 2459 of file class.ilObjectGUI.php.
References $_GET, $_POST, $_SESSION, $counter, $id, getFormAction(), ilUtil::getImagePath(), ilUtil::getImageTagByType(), getTemplateFile(), sendInfo(), and ilUtil::switchColor().
Referenced by confirmedDeleteObject().
{ if (!isset($_POST["id"])) { $this->ilias->raiseError($this->lng->txt("no_checkbox"),$this->ilias->error_obj->MESSAGE); } // SAVE POST VALUES $_SESSION["saved_post"] = $_POST["id"]; unset($this->data); $this->data["cols"] = array("type", "title", "last_change"); foreach ($_POST["id"] as $id) { // TODO: cannot distinguish between obj_id from ref_id with the posted IDs. // change the form field and use instead of 'id' 'ref_id' and 'obj_id'. Then switch with varname //if ($this->call_by_reference) //{ $obj_data =& $this->ilias->obj_factory->getInstanceByRefId($id); //} //else //{ // $obj_data =& $this->ilias->obj_factory->getInstanceByObjId($id); //} $this->data["data"]["$id"] = array( "type" => $obj_data->getType(), "title" => $obj_data->getTitle()."#separator#".$obj_data->getDescription()." ", // workaround for empty desc "last_update" => $obj_data->getLastUpdateDate() ); } $this->data["buttons"] = array( "confirmedDelete" => $this->lng->txt("confirm"), "cancelDelete" => $this->lng->txt("cancel")); $this->getTemplateFile("confirm"); if(!$a_error) { sendInfo($this->lng->txt("info_delete_sure")); } $this->tpl->setVariable("FORMACTION", $this->getFormAction("delete", "adm_object.php?ref_id=".$_GET["ref_id"]."&cmd=gateway")); // BEGIN TABLE HEADER foreach ($this->data["cols"] as $key) { $this->tpl->setCurrentBlock("table_header"); $this->tpl->setVariable("TEXT",$this->lng->txt($key)); $this->tpl->parseCurrentBlock(); } // END TABLE HEADER // BEGIN TABLE DATA $counter = 0; foreach ($this->data["data"] as $key => $value) { // BEGIN TABLE CELL foreach ($value as $key => $cell_data) { $this->tpl->setCurrentBlock("table_cell"); // CREATE TEXT STRING if ($key == "type") { $this->tpl->setVariable("TEXT_CONTENT",ilUtil::getImageTagByType($cell_data,$this->tpl->tplPath)); } elseif ($key == "title") { $name_field = explode("#separator#",$cell_data); $this->tpl->setVariable("TEXT_CONTENT", "<b>".$name_field[0]."</b>"); $this->tpl->setCurrentBlock("subtitle"); $this->tpl->setVariable("DESC", $name_field[1]); $this->tpl->parseCurrentBlock(); $this->tpl->setCurrentBlock("table_cell"); } else { $this->tpl->setVariable("TEXT_CONTENT",$cell_data); } $this->tpl->parseCurrentBlock(); } $this->tpl->setCurrentBlock("table_row"); $this->tpl->setVariable("CSS_ROW",ilUtil::switchColor(++$counter,"tblrow1","tblrow2")); $this->tpl->parseCurrentBlock(); // END TABLE CELL } // END TABLE DATA // BEGIN OPERATION_BTN foreach ($this->data["buttons"] as $name => $value) { $this->tpl->setCurrentBlock("operation_btn"); $this->tpl->setVariable("IMG_ARROW",ilUtil::getImagePath("arrow_downright.gif")); $this->tpl->setVariable("BTN_NAME",$name); $this->tpl->setVariable("BTN_VALUE",$value); $this->tpl->parseCurrentBlock(); } }
ilObjectGUI::displayEditForm | ( | $ | fields | ) |
display edit form (usually called by editObject)
private
array | $fields key/value pairs of input fields |
Definition at line 1714 of file class.ilObjectGUI.php.
References $fields, getFormAction(), getTargetFrame(), and getTemplateFile().
Referenced by editObject().
{ $this->getTemplateFile("edit"); foreach ($fields as $key => $val) { $this->tpl->setVariable("TXT_".strtoupper($key), $this->lng->txt($key)); $this->tpl->setVariable(strtoupper($key), $val); $this->tpl->parseCurrentBlock(); } $obj_str = ($this->call_by_reference) ? "" : "&obj_id=".$this->obj_id; $this->tpl->setVariable("FORMACTION", $this->getFormAction("update",$this->ctrl->getFormAction($this).$obj_str)); //$this->tpl->setVariable("FORMACTION", $this->getFormAction("update","adm_object.php?cmd=gateway&ref_id=".$this->ref_id.$obj_str)); $this->tpl->setVariable("TXT_HEADER", $this->lng->txt($this->object->getType()."_edit")); $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")); }
ilObjectGUI::displayList | ( | ) |
display object list
public
Reimplemented in ilObjLanguageFolderGUI, ilObjObjectFolderGUI, ilObjSystemFolderGUI, ilObjTypeDefinitionGUI, and ilObjUserFolderGUI.
Definition at line 2191 of file class.ilObjectGUI.php.
References $_GET, $_SESSION, $data, $num, $tbl, ilUtil::getImageTagByType(), showActions(), and ilUtil::switchColor().
Referenced by viewObject().
{ include_once "./classes/class.ilTableGUI.php"; // load template for table $this->tpl->addBlockfile("ADM_CONTENT", "adm_content", "tpl.table.html"); // load template for table content data $this->tpl->addBlockfile("TBL_CONTENT", "tbl_content", "tpl.obj_tbl_rows.html"); $num = 0; $obj_str = ($this->call_by_reference) ? "" : "&obj_id=".$this->obj_id; $this->tpl->setVariable("FORMACTION", "adm_object.php?ref_id=".$this->ref_id."$obj_str&cmd=gateway"); // create table $tbl = new ilTableGUI(); // title & header columns $tbl->setTitle($this->object->getTitle(),"icon_".$this->object->getType().".gif", $this->lng->txt("obj_".$this->object->getType())); $tbl->setHelp("tbl_help.php","icon_help.gif",$this->lng->txt("help")); foreach ($this->data["cols"] as $val) { $header_names[] = $this->lng->txt($val); } $tbl->setHeaderNames($header_names); $header_params = array("ref_id" => $this->ref_id); $tbl->setHeaderVars($this->data["cols"],$header_params); $tbl->setColumnWidth(array("15","15","75%","25%")); // control $tbl->setOrderColumn($_GET["sort_by"]); $tbl->setOrderDirection($_GET["sort_order"]); $tbl->setLimit($_GET["limit"]); $tbl->setOffset($_GET["offset"]); $tbl->setMaxCount($this->maxcount); $this->tpl->setVariable("COLUMN_COUNTS",count($this->data["cols"])); // footer $tbl->setFooter("tblfooter",$this->lng->txt("previous"),$this->lng->txt("next")); if (!empty($this->data["data"][0])) { //table cell for ($i=0; $i < count($this->data["data"]); $i++) { $data = $this->data["data"][$i]; $ctrl = $this->data["ctrl"][$i]; // color changing $css_row = ilUtil::switchColor($i+1,"tblrow1","tblrow2"); // surpress checkbox for particular object types AND the system role if (!$this->objDefinition->hasCheckbox($ctrl["type"]) or $ctrl["obj_id"] == SYSTEM_ROLE_ID or $ctrl["obj_id"] == SYSTEM_USER_ID or $ctrl["obj_id"] == ANONYMOUS_ROLE_ID) { $this->tpl->touchBlock("empty_cell"); } else { // TODO: this object type depending 'if' could become really a problem!! if ($ctrl["type"] == "usr" or $ctrl["type"] == "role" or $ctrl["type"] == "rolt") { $link_id = $ctrl["obj_id"]; } else { $link_id = $ctrl["ref_id"]; } // dirty workaround to have ids for function showActions (checkbox toggle option) $this->ids[] = $link_id; $this->tpl->setCurrentBlock("checkbox"); $this->tpl->setVariable("CHECKBOX_ID", $link_id); $this->tpl->setVariable("CSS_ROW", $css_row); $this->tpl->parseCurrentBlock(); } $this->tpl->setCurrentBlock("table_cell"); $this->tpl->setVariable("CELLSTYLE", "tblrow1"); $this->tpl->parseCurrentBlock(); foreach ($data as $key => $val) { //build link $link = "adm_object.php?"; $n = 0; foreach ($ctrl as $key2 => $val2) { $link .= $key2."=".$val2; if ($n < count($ctrl)-1) { $link .= "&"; $n++; } } if ($key == "name" || $key == "title") { $name_field = explode("#separator#",$val); } if ($key == "title" || $key == "name" || $key == "type") { $this->tpl->setCurrentBlock("begin_link"); $this->tpl->setVariable("LINK_TARGET", $link); $this->tpl->parseCurrentBlock(); $this->tpl->touchBlock("end_link"); } // process clipboard information if (($key == "title" || $key == "name") and isset($_SESSION["clipboard"])) { // TODO: broken! fix me if (is_array($_SESSION["clipboard"]["ref_ids"])) { if (in_array($ctrl["ref_id"],$_SESSION["clipboard"]["ref_ids"])) { switch($_SESSION["clipboard"]["cmd"]) { case "cut": $name_field[0] = "<del>".$name_field[0]."</del>"; break; case "copy": $name_field[0] = "<font color=\"green\">+</font> ".$name_field[0]; break; case "link": $name_field[0] = "<font color=\"black\"><</font> ".$name_field[0]; break; } } } } $this->tpl->setCurrentBlock("text"); if ($key == "type") { $val = ilUtil::getImageTagByType($val,$this->tpl->tplPath); } if ($key == "name" || $key == "title") { $this->tpl->setVariable("TEXT_CONTENT", $name_field[0]); $this->tpl->setCurrentBlock("subtitle"); $this->tpl->setVariable("DESC", $name_field[1]); $this->tpl->parseCurrentBlock(); } else { $this->tpl->setVariable("TEXT_CONTENT", $val); } $this->tpl->parseCurrentBlock(); $this->tpl->setCurrentBlock("table_cell"); $this->tpl->parseCurrentBlock(); } //foreach $this->tpl->setCurrentBlock("tbl_content"); $this->tpl->setVariable("CSS_ROW", $css_row); $this->tpl->parseCurrentBlock(); } //for } //if is_array else { $tbl->disable("header"); $tbl->disable("footer"); $this->tpl->setCurrentBlock("text"); $this->tpl->setVariable("TEXT_CONTENT", $this->lng->txt("obj_not_found")); $this->tpl->parseCurrentBlock(); } $this->showActions(true); // render table $tbl->render(); }
ilObjectGUI::editObject | ( | ) |
edit object
public
Reimplemented in ilObjChatServerGUI, ilObjCategoryGUI, ilObjExerciseGUI, ilObjFileGUI, ilObjForumGUI, ilObjGroupGUI, ilObjRoleGUI, ilObjRoleTemplateGUI, ilObjStyleSheetGUI, ilObjTypeDefinitionGUI, ilObjUserGUI, ilObjFileBasedLMGUI, ilObjMediaPoolGUI, ilObjMediaObjectGUI, and ilObjCourseGUI.
Definition at line 1682 of file class.ilObjectGUI.php.
References $_SESSION, $fields, $rbacsystem, displayEditForm(), ilUtil::prepareFormOutput(), and ilUtil::stripSlashes().
Referenced by ilObjFolderGUI::chi_assignObject(), ilObjFolderGUI::chi_deleteObject(), and ilObjFolderGUI::chi_updateObject().
{ global $rbacsystem; if (!$rbacsystem->checkAccess("write", $this->ref_id)) { $this->ilias->raiseError($this->lng->txt("msg_no_perm_write"),$this->ilias->error_obj->MESSAGE); } $fields = array(); if ($_SESSION["error_post_vars"]) { // fill in saved values in case of error $fields["title"] = ilUtil::prepareFormOutput($_SESSION["error_post_vars"]["Fobject"]["title"],true); $fields["desc"] = ilUtil::stripSlashes($_SESSION["error_post_vars"]["Fobject"]["desc"]); } else { $fields["title"] = ilUtil::prepareFormOutput($this->object->getTitle()); $fields["desc"] = ilUtil::stripSlashes($this->object->getDescription()); } $this->displayEditForm($fields); }
& ilObjectGUI::executeCommand | ( | ) |
execute command
Reimplemented in ilObjQuestionPoolGUI, ilObjTestGUI, ilObjCategoryGUI, ilObjFileGUI, ilObjFolderGUI, ilObjForumGUI, ilObjGroupGUI, ilObjRoleFolderGUI, ilObjRoleGUI, ilObjStyleSheetGUI, ilObjUserFolderGUI, ilObjUserGUI, ilObjContentObjectGUI, ilObjFileBasedLMGUI, ilObjGlossaryGUI, ilObjMediaPoolGUI, ilObjSAHSLearningModuleGUI, ilObjMediaObjectGUI, ilObjCourseGUI, ilObjLinkResourceGUI, ilPaymentPurchaseGUI, ilPaymentPurchaseGUI, ilObjSurveyGUI, and ilObjSurveyQuestionPoolGUI.
Definition at line 193 of file class.ilObjectGUI.php.
References $cmd, and $rbacsystem.
ilObjectGUI::getFormAction | ( | $ | a_cmd, | |
$ | a_formaction = "" | |||
) |
get form action for command (command is method name without "Object", e.g.
"perm")
string | $a_cmd command | |
string | $a_formaction default formaction (is returned, if no special formaction was set) public |
Definition at line 1995 of file class.ilObjectGUI.php.
Referenced by ilObjExerciseGUI::__showMembersTable(), ilObjSystemFolderGUI::changeHeaderTitleObject(), ilObjSurveyQuestionPoolGUI::createObject(), ilObjSurveyGUI::createObject(), ilObjiLincCourseGUI::createObject(), ilObjiLincClassroomGUI::createObject(), ilObjGlossaryGUI::createObject(), ilObjContentObjectGUI::createObject(), ilObjRoleTemplateGUI::createObject(), ilObjRoleGUI::createObject(), ilObjGroupGUI::createObject(), ilObjForumGUI::createObject(), ilObjFolderGUI::createObject(), ilObjFileGUI::createObject(), createObject(), ilObjCategoryGUI::createObject(), ilObjTestGUI::createObject(), ilObjQuestionPoolGUI::createObject(), deleteObject(), ilObjStyleSheetFolderGUI::deleteStyleObject(), ilObjStyleSettingsGUI::deleteStyleObject(), ilObjExerciseGUI::deliverObject(), displayEditForm(), ilObjRoleTemplateGUI::editObject(), ilObjFileGUI::editObject(), ilObjExerciseGUI::editObject(), ilObjChatServerGUI::editObject(), ilObjGroupGUI::exportObject(), ilObjSAHSLearningModuleGUI::importObject(), ilObjExerciseGUI::membersObject(), ilObjExerciseGUI::newMembersObject(), permObject(), and ilObjExerciseGUI::viewObject().
{ if ($this->formaction[$a_cmd] != "") { return $this->formaction[$a_cmd]; } else { return $a_formaction; } }
ilObjectGUI::getReturnLocation | ( | $ | a_cmd, | |
$ | a_location = "" | |||
) |
get return location for command (command is method name without "Object", e.g.
"perm")
string | $a_cmd command | |
string | $a_location default return location (is returned, if no special return location was set) public |
Definition at line 2027 of file class.ilObjectGUI.php.
Referenced by ilObjExerciseGUI::__searchMembers(), ilObjChatServerGUI::activateObject(), ilObjSystemFolderGUI::addHeaderTitleTranslationObject(), addRoleObject(), ilObjCategoryGUI::addTranslationObject(), cancelDeleteObject(), cancelObject(), ilObjTestGUI::cancelPropertiesObject(), clearObject(), ilObjSurveyGUI::cloneAllObject(), ilObjTestGUI::cloneAllObject(), cloneObject(), ilObjSurveyGUI::codesObject(), ilObjStyleSheetFolderGUI::confirmedDeleteObject(), ilObjStyleSettingsGUI::confirmedDeleteObject(), confirmedDeleteObject(), copyObject(), cutObject(), ilObjExerciseGUI::downloadFileObject(), ilObjSurveyGUI::exportObject(), ilObjTestGUI::exportObject(), ilObjSurveyQuestionPoolGUI::importFileObject(), ilObjSurveyGUI::importFileObject(), ilObjGlossaryGUI::importFileObject(), ilObjContentObjectGUI::importFileObject(), ilObjTestGUI::importFileObject(), ilObjQuestionPoolGUI::importFileObject(), ilObjSurveyGUI::inviteObject(), linkObject(), ilObjSurveyGUI::maintenanceObject(), ilObjTestGUI::maintenanceObject(), ilObjTestGUI::marksObject(), ilObjExerciseGUI::newMembersObject(), pasteObject(), permSaveObject(), ilObjSurveyGUI::propertiesObject(), ilObjTestGUI::propertiesObject(), ilObjSurveyGUI::questionsObject(), ilObjTestGUI::questionsObject(), ilObjRecoveryFolderGUI::removeFromSystemObject(), removeFromSystemObject(), ilObjSurveyGUI::runObject(), ilObjTestGUI::runObject(), ilObjSurveyGUI::runShowIntroductionPage(), ilObjSystemFolderGUI::saveHeaderTitleObject(), ilObjAuthSettingsGUI::saveLDAPObject(), ilObjSurveyQuestionPoolGUI::saveObject(), ilObjSurveyGUI::saveObject(), ilObjLinkResourceGUI::saveObject(), ilObjiLincCourseGUI::saveObject(), ilObjiLincClassroomGUI::saveObject(), ilObjSAHSLearningModuleGUI::saveObject(), ilObjMediaPoolGUI::saveObject(), ilObjGlossaryGUI::saveObject(), ilObjFileBasedLMGUI::saveObject(), ilObjContentObjectGUI::saveObject(), GUI::saveObject(), ilObjUserGUI::saveObject(), ilObjSysUserTrackingGUI::saveObject(), ilObjStyleSheetFolderGUI::saveObject(), ilObjStyleSettingsGUI::saveObject(), ilObjRoleFolderGUI::saveObject(), ilObjRecoveryFolderGUI::saveObject(), ilObjGroupGUI::saveObject(), ilObjForumGUI::saveObject(), ilObjFolderGUI::saveObject(), ilObjFileGUI::saveObject(), ilObjExerciseGUI::saveObject(), ilObjCourseGUI::saveObject(), ilObjCategoryGUI::saveObject(), ilObjAuthSettingsGUI::saveObject(), ilObjAssessmentFolderGUI::saveObject(), ilObjChatGUI::saveObject(), ilObjTestGUI::saveObject(), ilObjQuestionPoolGUI::saveObject(), ilObjAuthSettingsGUI::saveScriptObject(), ilObjTestGUI::setAggregatedResultsTabs(), ilObjAuthSettingsGUI::setAuthModeObject(), undeleteObject(), ilObjExerciseGUI::updateMembersObject(), ilObjSurveyGUI::updateObject(), ilObjGroupGUI::updateObject(), ilObjFileGUI::updateObject(), updateObject(), ilObjCategoryGUI::updateObject(), ilObjChatServerGUI::updateObject(), ilObjExerciseGUI::uploadFileObject(), and ilObjSurveyGUI::uploadObject().
{ if ($this->return_location[$a_cmd] != "") { return $this->return_location[$a_cmd]; } else { return $a_location; } }
ilObjectGUI::getTabs | ( | &$ | tabs_gui | ) |
get tabs abstract method.
overwrite in derived GUI class of your object type public
object | instance of ilTabsGUI |
Reimplemented in ilObjAuthSettingsGUI, ilObjCategoryGUI, ilObjFileGUI, ilObjFolderGUI, ilObjForumGUI, ilObjGroupGUI, ilObjRoleGUI, ilObjStyleSettingsGUI, ilObjStyleSheetFolderGUI, ilObjStyleSheetGUI, ilObjSystemFolderGUI, GUI, ilObjContentObjectGUI, ilObjFileBasedLMGUI, ilObjGlossaryGUI, ilObjMediaPoolGUI, ilObjSAHSLearningModuleGUI, ilObjMediaObjectGUI, ilObjCourseGUI, ilObjiLincClassroomGUI, ilObjiLincCourseGUI, ilObjLinkResourceGUI, and ilObjPaymentSettingsGUI.
Definition at line 2967 of file class.ilObjectGUI.php.
Referenced by setAdminTabs().
{
// please define your tabs here
}
ilObjectGUI::getTabTargetScript | ( | ) |
Definition at line 398 of file class.ilObjectGUI.php.
Referenced by ilObjSurveyGUI::addMeta(), ilObjTestGUI::addMeta(), ilObjQuestionPoolGUI::addMeta(), ilObjSurveyGUI::addMetaObject(), ilObjTestGUI::addMetaObject(), ilObjQuestionPoolGUI::addMetaObject(), ilObjSurveyGUI::chooseMetaSection(), ilObjTestGUI::chooseMetaSection(), ilObjQuestionPoolGUI::chooseMetaSection(), ilObjSurveyGUI::chooseMetaSectionObject(), ilObjTestGUI::chooseMetaSectionObject(), ilObjQuestionPoolGUI::chooseMetaSectionObject(), ilObjSurveyGUI::deleteMeta(), ilObjTestGUI::deleteMeta(), ilObjQuestionPoolGUI::deleteMeta(), ilObjSurveyGUI::deleteMetaObject(), ilObjTestGUI::deleteMetaObject(), ilObjQuestionPoolGUI::deleteMetaObject(), ilObjSurveyGUI::editMetaObject(), ilObjTestGUI::editMetaObject(), ilObjQuestionPoolGUI::editMetaObject(), ilObjSurveyGUI::saveMetaObject(), ilObjTestGUI::saveMetaObject(), and ilObjQuestionPoolGUI::saveMetaObject().
{
return $this->tab_target_script;
}
ilObjectGUI::getTargetFrame | ( | $ | a_cmd, | |
$ | a_target_frame = "" | |||
) |
get target frame for command (command is method name without "Object", e.g.
"perm")
string | $a_cmd command | |
string | $a_target_frame default target frame (is returned, if no special target frame was set) public |
Definition at line 2058 of file class.ilObjectGUI.php.
Referenced by ilObjSystemFolderGUI::changeHeaderTitleObject(), ilObjSurveyQuestionPoolGUI::createObject(), ilObjSurveyGUI::createObject(), ilObjiLincCourseGUI::createObject(), ilObjiLincClassroomGUI::createObject(), ilObjGlossaryGUI::createObject(), ilObjContentObjectGUI::createObject(), ilObjUserGUI::createObject(), ilObjRoleTemplateGUI::createObject(), ilObjRoleGUI::createObject(), ilObjGroupGUI::createObject(), ilObjFolderGUI::createObject(), ilObjFileGUI::createObject(), createObject(), ilObjCategoryGUI::createObject(), ilObjTestGUI::createObject(), ilObjQuestionPoolGUI::createObject(), displayEditForm(), ilObjUserGUI::editObject(), ilObjRoleTemplateGUI::editObject(), ilObjRoleGUI::editObject(), ilObjFileGUI::editObject(), ilObjCategoryGUI::editObject(), and permObject().
{ if ($this->target_frame[$a_cmd] != "") { return $this->target_frame[$a_cmd]; } elseif (!empty($a_target_frame)) { return "target=\"".$a_target_frame."\""; } else { return; } }
ilObjectGUI::getTemplateFile | ( | $ | a_cmd, | |
$ | a_type = "" | |||
) |
get a template blockfile format: tpl.
<objtype>_<command>.html
string | command | |
string | object type definition public |
Definition at line 2922 of file class.ilObjectGUI.php.
Referenced by ilObjSystemFolderGUI::benchmarkObject(), ilObjSystemFolderGUI::checkObject(), ilObjGroupGUI::confirmationObject(), ilObjSurveyQuestionPoolGUI::createObject(), ilObjSurveyGUI::createObject(), ilObjGlossaryGUI::createObject(), ilObjContentObjectGUI::createObject(), ilObjUserGUI::createObject(), ilObjStyleSheetGUI::createObject(), ilObjRoleTemplateGUI::createObject(), ilObjRoleGUI::createObject(), ilObjGroupGUI::createObject(), ilObjFolderGUI::createObject(), ilObjFileGUI::createObject(), createObject(), ilObjCategoryGUI::createObject(), ilObjTestGUI::createObject(), ilObjQuestionPoolGUI::createObject(), ilObjUserFolderGUI::deleteObject(), ilObjRoleFolderGUI::deleteObject(), deleteObject(), ilObjExerciseGUI::deliverObject(), displayEditForm(), ilObjAuthSettingsGUI::editLDAPObject(), ilObjUserGUI::editObject(), ilObjStyleSheetGUI::editObject(), ilObjRoleTemplateGUI::editObject(), ilObjRoleGUI::editObject(), ilObjGroupGUI::editObject(), ilObjFileGUI::editObject(), ilObjExerciseGUI::editObject(), ilObjCategoryGUI::editObject(), ilObjAuthSettingsGUI::editScriptObject(), ilObjSurveyQuestionPoolGUI::importObject(), ilObjSurveyGUI::importObject(), ilObjMailGUI::importObject(), ilObjGroupGUI::importObject(), ilObjForumGUI::importObject(), ilObjTestGUI::importObject(), ilObjQuestionPoolGUI::importObject(), ilObjExerciseGUI::membersObject(), ilObjExerciseGUI::newMembersObject(), ownerObject(), permObject(), ilObjUserFolderGUI::settingsObject(), ilObjSystemFolderGUI::startValidator(), trashObject(), ilObjExerciseGUI::viewObject(), ilObjAuthSettingsGUI::viewObject(), and ilObjSystemFolderGUI::viewScanLog().
{ if (!$a_type) { $a_type = $this->type; } $template = "tpl.".$a_type."_".$a_cmd.".html"; if (!$this->tpl->fileExists($template)) { $template = "tpl.obj_".$a_cmd.".html"; } $this->tpl->addBlockFile("ADM_CONTENT", "adm_content", $template,$a_in_module); }
ilObjectGUI::getTitlesByRefId | ( | $ | a_ref_ids | ) |
get Titles of objects this method is used for error messages in methods cut/copy/paste
array | Array of ref_ids (integer) |
Definition at line 2947 of file class.ilObjectGUI.php.
References $id.
Referenced by copyObject(), and cutObject().
{ foreach ($a_ref_ids as $id) { // GET OBJECT TITLE $tmp_obj =& $this->ilias->obj_factory->getInstanceByRefId($id); $title[] = $tmp_obj->getTitle(); unset($tmp_obj); } return $title ? $title : array(); }
ilObjectGUI::hitsperpageObject | ( | ) |
Reimplemented in ilObjRoleFolderGUI, ilObjUserFolderGUI, and ilObjUserGUI.
Definition at line 2989 of file class.ilObjectGUI.php.
ilObjectGUI::ilObjectGUI | ( | $ | a_data, | |
$ | a_id = 0 , |
|||
$ | a_call_by_reference = true , |
|||
$ | a_prepare_output = true | |||
) |
Constructor public.
array | ?? | |
integer | object id | |
boolean | call be reference |
Definition at line 102 of file class.ilObjectGUI.php.
References $_GET, $ilCtrl, $ilErr, $ilias, $lng, $objDefinition, $params, $tpl, $tree, assignObject(), and prepareOutput().
Referenced by GUI::GUI(), ilObjAICCLearningModuleGUI::ilObjAICCLearningModuleGUI(), ilObjAssessmentFolderGUI::ilObjAssessmentFolderGUI(), ilObjAuthSettingsGUI::ilObjAuthSettingsGUI(), ilObjCategoryGUI::ilObjCategoryGUI(), ilObjChatGUI::ilObjChatGUI(), ilObjChatServerGUI::ilObjChatServerGUI(), ilObjContentObjectGUI::ilObjContentObjectGUI(), ilObjCourseGUI::ilObjCourseGUI(), ilObjExerciseGUI::ilObjExerciseGUI(), ilObjFileBasedLMGUI::ilObjFileBasedLMGUI(), ilObjFileGUI::ilObjFileGUI(), ilObjFolderGUI::ilObjFolderGUI(), ilObjForumGUI::ilObjForumGUI(), ilObjGlossaryGUI::ilObjGlossaryGUI(), ilObjGroupGUI::ilObjGroupGUI(), ilObjHACPLearningModuleGUI::ilObjHACPLearningModuleGUI(), ilObjiLincClassroomGUI::ilObjiLincClassroomGUI(), ilObjiLincCourseGUI::ilObjiLincCourseGUI(), ilObjLanguageFolderGUI::ilObjLanguageFolderGUI(), ilObjLanguageGUI::ilObjLanguageGUI(), ilObjLdapGUI::ilObjLdapGUI(), ilObjLibFolderGUI::ilObjLibFolderGUI(), ilObjLinkResourceGUI::ilObjLinkResourceGUI(), ilObjMailGUI::ilObjMailGUI(), ilObjMediaObjectGUI::ilObjMediaObjectGUI(), ilObjMediaPoolGUI::ilObjMediaPoolGUI(), ilObjObjectFolderGUI::ilObjObjectFolderGUI(), ilObjPaymentSettingsGUI::ilObjPaymentSettingsGUI(), ilObjQuestionPoolGUI::ilObjQuestionPoolGUI(), ilObjRecoveryFolderGUI::ilObjRecoveryFolderGUI(), ilObjRoleFolderGUI::ilObjRoleFolderGUI(), ilObjRoleGUI::ilObjRoleGUI(), ilObjRoleTemplateGUI::ilObjRoleTemplateGUI(), ilObjRootFolderGUI::ilObjRootFolderGUI(), ilObjSAHSLearningModuleGUI::ilObjSAHSLearningModuleGUI(), ilObjSCORMLearningModuleGUI::ilObjSCORMLearningModuleGUI(), ilObjStyleSettingsGUI::ilObjStyleSettingsGUI(), ilObjStyleSheetFolderGUI::ilObjStyleSheetFolderGUI(), ilObjStyleSheetGUI::ilObjStyleSheetGUI(), ilObjSurveyGUI::ilObjSurveyGUI(), ilObjSurveyQuestionPoolGUI::ilObjSurveyQuestionPoolGUI(), ilObjSystemFolderGUI::ilObjSystemFolderGUI(), ilObjSysUserTrackingGUI::ilObjSysUserTrackingGUI(), ilObjTestGUI::ilObjTestGUI(), ilObjTypeDefinitionGUI::ilObjTypeDefinitionGUI(), ilObjUserFolderGUI::ilObjUserFolderGUI(), and ilObjUserGUI::ilObjUserGUI().
{ global $ilias, $objDefinition, $tpl, $tree, $ilCtrl, $ilErr, $lng; if (!isset($ilErr)) { $ilErr = new ilErrorHandling(); $ilErr->setErrorHandling(PEAR_ERROR_CALLBACK,array($ilErr,'errorHandler')); } else { $this->ilErr =& $ilErr; } $this->ilias =& $ilias; $this->objDefinition =& $objDefinition; $this->tpl =& $tpl; $this->ctrl =& $ilCtrl; $params = array("ref_id"); if (!$a_call_by_reference) { $params = array("ref_id","obj_id"); } $this->ctrl->saveParameter($this, $params); $this->lng =& $lng; $this->tree =& $tree; $this->formaction = array(); $this->return_location = array(); $this->target_frame = array(); $this->tab_target_script = "adm_object.php"; $this->actions = ""; $this->sub_objects = ""; $this->data = $a_data; $this->id = $a_id; $this->call_by_reference = $a_call_by_reference; $this->prepare_output = $a_prepare_output; $this->ref_id = ($this->call_by_reference) ? $this->id : $_GET["ref_id"]; $this->obj_id = ($this->call_by_reference) ? $_GET["obj_id"] : $this->id; if ($this->id != 0) { $this->link_params = "ref_id=".$this->ref_id; } // get the object $this->assignObject(); // use global $lng instead, when creating new objects object is not available //$this->lng =& $this->object->lng; //prepare output if ($a_prepare_output) { $this->prepareOutput(); } // set default sort column if (empty($_GET["sort_by"])) { // TODO: init sort_by better in obj class? if ($this->object->getType() == "usrf" or $this->object->getType() == "rolf") { $_GET["sort_by"] = "name"; } elseif ($this->object->getType() == "typ") { $_GET["sort_by"] = "operation"; } elseif ($this->object->getType() == "lngf") { $_GET["sort_by"] = "language"; } else { $_GET["sort_by"] = "title"; } } }
ilObjectGUI::importObject | ( | ) |
import new object form
public
Reimplemented in ilObjQuestionPoolGUI, ilObjTestGUI, ilObjForumGUI, ilObjGroupGUI, ilObjMailGUI, ilObjContentObjectGUI, ilObjGlossaryGUI, ilObjSAHSLearningModuleGUI, ilObjSurveyGUI, and ilObjSurveyQuestionPoolGUI.
Definition at line 1654 of file class.ilObjectGUI.php.
References $_GET, $_POST, and $rbacsystem.
{ global $rbacsystem; // CHECK ACCESS 'write' of role folder // TODO: new_type will never be checked, if queried operation is not 'create' if (!$rbacsystem->checkAccess('write', $_GET["ref_id"], $_POST["new_type"])) { $this->ilias->raiseError($this->lng->txt("permission_denied"),$this->ilias->error_obj->WARNING); } $imp_obj =$this->objDefinition->getImportObjects($this->object->getType()); if (!in_array($_POST["new_type"], $imp_obj)) { $this->ilias->raiseError($this->lng->txt("no_import_available"). " ".$this->lng->txt("obj_".$_POST["new_type"]), $this->ilias->error_obj->MESSAGE); } // no general implementation of this feature, the specialized classes // must provide further processing }
ilObjectGUI::insertSavedNodes | ( | $ | a_source_id, | |
$ | a_dest_id, | |||
$ | a_tree_id | |||
) |
recursive method to insert all saved nodes of the clipboard (maybe this function could be moved to a rbac class ?)
private
integer | ||
integer | ||
integer |
Definition at line 1229 of file class.ilObjectGUI.php.
References $log, $obj, $ops, $rbacadmin, and $rbacreview.
Referenced by undeleteObject().
{ global $rbacadmin, $rbacreview, $log; $this->tree->insertNode($a_source_id,$a_dest_id); // write log entry $log->write("ilObjectGUI::insertSavedNodes(), restored ref_id $a_source_id from trash"); // SET PERMISSIONS $parentRoles = $rbacreview->getParentRoleIds($a_dest_id); $obj =& $this->ilias->obj_factory->getInstanceByRefId($a_source_id); foreach ($parentRoles as $parRol) { $ops = $rbacreview->getOperationsOfRole($parRol["obj_id"], $obj->getType(), $parRol["parent"]); $rbacadmin->grantPermission($parRol["obj_id"],$ops,$a_source_id); } $saved_tree = new ilTree($a_tree_id); $childs = $saved_tree->getChilds($a_source_id); foreach ($childs as $child) { $this->insertSavedNodes($child["child"],$a_source_id,$a_tree_id); } }
ilObjectGUI::linkObject | ( | ) |
create an new reference of an object in tree it's like a hard link of unix
public
Definition at line 1032 of file class.ilObjectGUI.php.
References $_GET, $_POST, $_SESSION, $object, $rbacadmin, $rbacsystem, $ref_id, $type, getReturnLocation(), and ilUtil::redirect().
{ global $clipboard, $rbacsystem, $rbacadmin; if (!isset($_POST["id"])) { $this->ilias->raiseError($this->lng->txt("no_checkbox"),$this->ilias->error_obj->MESSAGE); } // CHECK ACCESS foreach ($_POST["id"] as $ref_id) { if (!$rbacsystem->checkAccess('delete',$ref_id)) { $no_cut[] = $ref_id; } $object =& $this->ilias->obj_factory->getInstanceByRefId($ref_id); if (!$this->objDefinition->allowLink($object->getType())) { $no_link[] = $object->getType(); } } // NO ACCESS if (count($no_cut)) { $this->ilias->raiseError($this->lng->txt("msg_no_perm_link")." ". implode(',',$no_cut),$this->ilias->error_obj->MESSAGE); } if (count($no_link)) { $no_link = array_unique($no_link); foreach ($no_link as $type) { $txt_objs[] = $this->lng->txt("objs_".$type); } $this->ilias->raiseError(implode(', ',$txt_objs)." ".$this->lng->txt("msg_obj_no_link"),$this->ilias->error_obj->MESSAGE); //$this->ilias->raiseError($this->lng->txt("msg_not_possible_link")." ". // implode(',',$no_link),$this->ilias->error_obj->MESSAGE); } // WRITE TO CLIPBOARD $clipboard["parent"] = $_GET["ref_id"]; $clipboard["cmd"] = key($_POST["cmd"]); foreach ($_POST["id"] as $ref_id) { $clipboard["ref_ids"][] = $ref_id; } $_SESSION["clipboard"] = $clipboard; sendinfo($this->lng->txt("msg_link_clipboard"),true); ilUtil::redirect($this->getReturnLocation("link","adm_object.php?ref_id=".$_GET["ref_id"])); } // END LINK
ilObjectGUI::ownerObject | ( | ) |
display object owner
public
Definition at line 2177 of file class.ilObjectGUI.php.
References getTemplateFile().
Referenced by ilObjSAHSLearningModuleGUI::owner(), ilObjMediaPoolGUI::owner(), ilObjGlossaryGUI::owner(), ilObjFileBasedLMGUI::owner(), and ilObjContentObjectGUI::owner().
{ $this->getTemplateFile("owner"); $this->tpl->setVariable("OWNER_NAME", $this->object->getOwnerName()); $this->tpl->setVariable("TXT_OBJ_OWNER", $this->lng->txt("obj_owner")); $this->tpl->setVariable("CMD","update"); $this->tpl->parseCurrentBlock(); }
ilObjectGUI::pasteObject | ( | ) |
paste object from clipboard to current place Depending on the chosen command the object(s) are linked, copied or moved
public
Reimplemented in ilObjSurveyQuestionPoolGUI.
Definition at line 617 of file class.ilObjectGUI.php.
References $_GET, $_SESSION, $log, $rbacadmin, $rbacreview, $rbacsystem, $ref_id, clearObject(), cloneObject(), getReturnLocation(), ilUtil::redirect(), removeDeletedNodes(), ilUtil::removeItemFromDesktops(), and sendInfo().
{ global $rbacsystem, $rbacadmin, $rbacreview, $log; if ($this->ctrl->getTargetScript() == "repository.php") { $_SESSION["clipboard"] = ""; $_SESSION["clipboard"]["parent"] = $_GET["ref_id"]; $_SESSION["clipboard"]["cmd"] = $_SESSION["il_rep_clipboard"][0]["act"]; $_SESSION["clipboard"]["ref_ids"] = array($_SESSION["il_rep_clipboard"][0]["ref_id"]); //var_dump("rep",$_SESSION["clipboard"]);exit; } //var_dump("adm",$_SESSION["clipboard"]);exit; if (!in_array($_SESSION["clipboard"]["cmd"],array("cut","link","copy"))) { $message = get_class($this)."::pasteObject(): cmd was neither 'cut','link' or 'copy'; may be a hack attempt!"; $this->ilias->raiseError($message,$this->ilias->error_obj->WARNING); } // this loop does all checks foreach ($_SESSION["clipboard"]["ref_ids"] as $ref_id) { $obj_data =& $this->ilias->obj_factory->getInstanceByRefId($ref_id); // CHECK ACCESS if (!$rbacsystem->checkAccess('create', $_GET["ref_id"], $obj_data->getType())) { $no_paste[] = $ref_id; } // CHECK IF REFERENCE ALREADY EXISTS if ($_GET["ref_id"] == $this->tree->getParentId($obj_data->getRefId())) { $exists[] = $ref_id; break; } // CHECK IF PASTE OBJECT SHALL BE CHILD OF ITSELF if ($this->tree->isGrandChild($ref_id,$_GET["ref_id"])) { $is_child[] = $ref_id; } // CHECK IF OBJECT IS ALLOWED TO CONTAIN PASTED OBJECT AS SUBOBJECT $obj_type = $obj_data->getType(); if (!in_array($obj_type, array_keys($this->objDefinition->getSubObjects($this->object->getType())))) { $not_allowed_subobject[] = $obj_data->getType(); } } // process checking results if (count($exists)) { $this->ilias->raiseError($this->lng->txt("msg_obj_exists"),$this->ilias->error_obj->MESSAGE); } if (count($is_child)) { $this->ilias->raiseError($this->lng->txt("msg_not_in_itself")." ".implode(',',$is_child), $this->ilias->error_obj->MESSAGE); } if (count($not_allowed_subobject)) { $this->ilias->raiseError($this->lng->txt("msg_may_not_contain")." ".implode(',',$not_allowed_subobject), $this->ilias->error_obj->MESSAGE); } if (count($no_paste)) { $this->ilias->raiseError($this->lng->txt("msg_no_perm_paste")." ". implode(',',$no_paste),$this->ilias->error_obj->MESSAGE); } // log pasteObject call $log->write("ilObjectGUI::pasteObject(), cmd: ".$_SESSION["clipboard"]["cmd"]); // everything ok: now paste the objects to new location // to prevent multiple actions via back/reload button $ref_ids = $_SESSION["clipboard"]["ref_ids"]; unset($_SESSION["clipboard"]["ref_ids"]); // process COPY command if ($_SESSION["clipboard"]["cmd"] == "copy") { // CALL PRIVATE CLONE METHOD $this->cloneObject($ref_ids); } // process CUT command if ($_SESSION["clipboard"]["cmd"] == "cut") { // get subtrees foreach($ref_ids as $ref_id) { // get node data $top_node = $this->tree->getNodeData($ref_id); // get subnodes of top nodes $subnodes[$ref_id] = $this->tree->getSubtree($top_node); } // STEP 1: Move all subtrees to trash $log->write("ilObjectGUI::pasteObject(), (1/3) move subtrees to trash"); foreach($ref_ids as $ref_id) { $tnodes = $this->tree->getSubtree($this->tree->getNodeData($ref_id)); foreach ($tnodes as $tnode) { $rbacadmin->revokePermission($tnode["child"]); $affected_users = ilUtil::removeItemFromDesktops($tnode["child"]); } $this->tree->saveSubTree($ref_id); $this->tree->deleteTree($this->tree->getNodeData($ref_id)); } // STEP 2: Move all subtrees to new location $log->write("ilObjectGUI::pasteObject(), (2/3) move subtrees to new location"); // TODO: this whole put in place again stuff needs revision. Permission settings get lost. foreach ($subnodes as $key => $subnode) { // first paste top_node ... $rbacadmin->revokePermission($key); $obj_data =& $this->ilias->obj_factory->getInstanceByRefId($key); $obj_data->putInTree($_GET["ref_id"]); $obj_data->setPermissions($key); // log entry $log->write("ilObjectGUI::pasteObject(), inserted top node. ref_id: $key,". " rgt: ".$subnode[0]["rgt"].", lft: ".$subnode[0]["lft"].", parent: ".$subnode[0]["parent"].",". " obj_id: ".$obj_data->getId().", type: ".$obj_data->getType(). ", title: ".$obj_data->getTitle()); // ... remove top_node from list ... array_shift($subnode); // ... insert subtree of top_node if any subnodes exist if (count($subnode) > 0) { foreach ($subnode as $node) { $rbacadmin->revokePermission($node["child"]); $obj_data =& $this->ilias->obj_factory->getInstanceByRefId($node["child"]); $obj_data->putInTree($node["parent"]); $obj_data->setPermissions($node["parent"]); // log entry $log->write("ilObjectGUI::pasteObject(), inserted subnode. ref_id: ".$node["child"].",". " rgt: ".$node["rgt"].", lft: ".$node["lft"].", parent: ".$node["parent"].",". " obj_id: ".$obj_data->getId().", type: ".$obj_data->getType(). ", title: ".$obj_data->getTitle()); } } } // STEP 3: Remove trashed objects from system $log->write("ilObjectGUI::pasteObject(), (3/3) remove trashed subtrees from system"); foreach ($ref_ids as $ref_id) { // GET COMPLETE NODE_DATA OF ALL SUBTREE NODES $saved_tree = new ilTree(-(int)$ref_id); $node_data = $saved_tree->getNodeData($ref_id); $subtree_nodes = $saved_tree->getSubTree($node_data); // remember already checked deleted node_ids $checked[] = -(int) $ref_id; // dive in recursive manner in each already deleted subtrees and remove these objects too $this->removeDeletedNodes($ref_id, $checked, false); // delete save tree $this->tree->deleteTree($node_data); // write log entry $log->write("ilObjectGUI::pasteObject(), deleted tree, tree_id: ".$node_data["tree"]. ", child: ".$node_data["child"]); } $log->write("ilObjectGUI::pasteObject(), cut finished"); // inform other objects in hierarchy about paste operation //$this->object->notify("paste",$this->object->getRefId(),$_SESSION["clipboard"]["parent_non_rbac_id"],$this->object->getRefId(),$subnodes); // inform other objects in hierarchy about cut operation // the parent object where cut occured $tmp_object = $this->ilias->obj_factory->getInstanceByRefId($_SESSION["clipboard"]["parent"]); //$tmp_object->notify("cut", $tmp_object->getRefId(),$_SESSION["clipboard"]["parent_non_rbac_id"],$tmp_object->getRefId(),$ref_ids); unset($tmp_object); } // END CUT // process LINK command if ($_SESSION["clipboard"]["cmd"] == "link") { foreach ($ref_ids as $ref_id) { // get node data $top_node = $this->tree->getNodeData($ref_id); // get subnodes of top nodes $subnodes[$ref_id] = $this->tree->getSubtree($top_node); } // now move all subtrees to new location foreach ($subnodes as $key => $subnode) { // first paste top_node.... $obj_data =& $this->ilias->obj_factory->getInstanceByRefId($key); $new_ref_id = $obj_data->createReference(); $obj_data->putInTree($_GET["ref_id"]); $obj_data->setPermissions($_GET["ref_id"]); // ... remove top_node from list ... array_shift($subnode); // ... store mapping of old ref_id => new_ref_id in hash array ... $mapping[$new_ref_id] = $key; // save old ref_id & create rolefolder if applicable $old_ref_id = $obj_data->getRefId(); $obj_data->setRefId($new_ref_id); $obj_data->initDefaultRoles(); $rolf_data = $rbacreview->getRoleFolderOfObject($obj_data->getRefId()); if (isset($rolf_data["child"])) { // a role folder was created, so map it to old role folder $rolf_data_old = $rbacreview->getRoleFolderOfObject($old_ref_id); // ... use mapping array to find out the correct new parent node where to put in the node... //$new_parent = array_search($node["parent"],$mapping); // ... append node to mapping for further possible subnodes ... $mapping[$rolf_data["child"]] = (int) $rolf_data_old["child"]; // log creation of role folder $log->write("ilObjectGUI::pasteObject(), created role folder (ref_id): ".$rolf_data["child"]. ", for object ref_id:".$obj_data->getRefId().", obj_id: ".$obj_data->getId(). ", type: ".$obj_data->getType().", title: ".$obj_data->getTitle()); } // ... insert subtree of top_node if any subnodes exist ... if (count($subnode) > 0) { foreach ($subnode as $node) { if ($node["type"] != 'rolf') { $obj_data =& $this->ilias->obj_factory->getInstanceByRefId($node["child"]); $new_ref_id = $obj_data->createReference(); // ... use mapping array to find out the correct new parent node where to put in the node... $new_parent = array_search($node["parent"],$mapping); // ... append node to mapping for further possible subnodes ... $mapping[$new_ref_id] = (int) $node["child"]; $obj_data->putInTree($new_parent); $obj_data->setPermissions($new_parent); // save old ref_id & create rolefolder if applicable $old_ref_id = $obj_data->getRefId(); $obj_data->setRefId($new_ref_id); $obj_data->initDefaultRoles(); $rolf_data = $rbacreview->getRoleFolderOfObject($obj_data->getRefId()); if (isset($rolf_data["child"])) { // a role folder was created, so map it to old role folder $rolf_data_old = $rbacreview->getRoleFolderOfObject($old_ref_id); // ... use mapping array to find out the correct new parent node where to put in the node... //$new_parent = array_search($node["parent"],$mapping); // ... append node to mapping for further possible subnodes ... $mapping[$rolf_data["child"]] = (int) $rolf_data_old["child"]; // log creation of role folder $log->write("ilObjectGUI::pasteObject(), created role folder (ref_id): ".$rolf_data["child"]. ", for object ref_id:".$obj_data->getRefId().", obj_id: ".$obj_data->getId(). ", type: ".$obj_data->getType().", title: ".$obj_data->getTitle()); } } // re-map $subnodes foreach ($subnodes as $old_ref => $subnode) { $new_ref = array_search($old_ref,$mapping); foreach ($subnode as $node) { $node["child"] = array_search($node["child"],$mapping); $node["parent"] = array_search($node["parent"],$mapping); $new_subnodes[$ref_id][] = $node; } } } } } $log->write("ilObjectGUI::pasteObject(), link finished"); // inform other objects in hierarchy about link operation //$this->object->notify("link",$this->object->getRefId(),$_SESSION["clipboard"]["parent_non_rbac_id"],$this->object->getRefId(),$subnodes); } // END LINK // save cmd for correct message output after clearing the clipboard $last_cmd = $_SESSION["clipboard"]["cmd"]; // clear clipboard $this->clearObject(); if ($last_cmd == "cut") { sendInfo($this->lng->txt("msg_cut_copied"),true); } else { sendInfo($this->lng->txt("msg_linked"),true); } ilUtil::redirect($this->getReturnLocation("paste",$this->ctrl->getLinkTarget($this)),get_class($this)); //ilUtil::redirect($this->getReturnLocation("paste","adm_object.php?ref_id=".$_GET["ref_id"])); } // END PASTE
ilObjectGUI::permObject | ( | ) |
show permissions of current node
public
Reimplemented in ilObjRoleGUI, and ilObjRoleTemplateGUI.
Definition at line 1761 of file class.ilObjectGUI.php.
References $_GET, $_SESSION, $data, $num, $rbacreview, $rbacsystem, getFormAction(), getOperationList(), getTargetFrame(), getTemplateFile(), and ilUtil::switchColor().
Referenced by ilObjSAHSLearningModuleGUI::perm(), ilObjMediaPoolGUI::perm(), ilObjGlossaryGUI::perm(), ilObjFileBasedLMGUI::perm(), and ilObjContentObjectGUI::perm().
{ global $rbacsystem, $rbacreview; static $num = 0; if (!$rbacsystem->checkAccess("edit_permission", $this->object->getRefId())) { $this->ilias->raiseError($this->lng->txt("msg_no_perm_perm"),$this->ilias->error_obj->MESSAGE); } // only display superordinate roles; local roles with other scope are not displayed $parentRoles = $rbacreview->getParentRoleIds($this->object->getRefId()); $data = array(); // GET ALL LOCAL ROLE IDS $role_folder = $rbacreview->getRoleFolderOfObject($this->object->getRefId()); $local_roles = array(); if ($role_folder) { $local_roles = $rbacreview->getRolesOfRoleFolder($role_folder["ref_id"]); } foreach ($parentRoles as $key => $r) { if ($r["obj_id"] == SYSTEM_ROLE_ID) { unset($parentRoles[$key]); continue; } if (!in_array($r["obj_id"],$local_roles)) { $data["check_inherit"][] = ilUtil::formCheckBox(0,"stop_inherit[]",$r["obj_id"]); } else { $r["link"] = true; // don't display a checkbox for local roles AND system role if ($rbacreview->isAssignable($r["obj_id"],$role_folder["ref_id"])) { $data["check_inherit"][] = " "; } else { // linked local roles with stopped inheritance $data["check_inherit"][] = ilUtil::formCheckBox(1,"stop_inherit[]",$r["obj_id"]); } } $data["roles"][] = $r; } $ope_list = getOperationList($this->object->getType()); // BEGIN TABLE_DATA_OUTER foreach ($ope_list as $key => $operation) { $opdata = array(); $opdata["name"] = $operation["operation"]; $colspan = count($parentRoles) + 1; foreach ($parentRoles as $role) { $checked = $rbacsystem->checkPermission($this->object->getRefId(), $role["obj_id"],$operation["operation"],$_GET["parent"]); $disabled = false; // Es wird eine 2-dim Post Variable bergeben: perm[rol_id][ops_id] $box = ilUtil::formCheckBox($checked,"perm[".$role["obj_id"]."][]",$operation["ops_id"],$disabled); $opdata["values"][] = $box; } $data["permission"][] = $opdata; } // START DATA OUTPUT $this->getTemplateFile("perm"); $this->tpl->setCurrentBlock("tableheader"); $this->tpl->setVariable("TXT_TITLE", $this->lng->txt("permission_settings")); $this->tpl->setVariable("COLSPAN", $colspan); $this->tpl->setVariable("TXT_OPERATION", $this->lng->txt("operation")); $this->tpl->setVariable("TXT_ROLES", $this->lng->txt("roles")); $this->tpl->parseCurrentBlock(); $num = 0; foreach ($data["roles"] as $role) { $tmp_role_folder = $rbacreview->getRoleFolderOfObject($this->object->getRefId()); $tmp_local_roles = array(); if ($tmp_role_folder) { $tmp_local_roles = $rbacreview->getRolesOfRoleFolder($tmp_role_folder["ref_id"]); } // Is it a real or linked lokal role if(in_array($role['obj_id'],$tmp_local_roles)) { $role_folder_data = $rbacreview->getRoleFolderOfObject($_GET['ref_id']); $role_folder_id = $role_folder_data['ref_id']; $this->tpl->setCurrentBlock("ROLELINK_OPEN"); if($this->ctrl->getTargetScript() != 'adm_object.php') { $up_path = defined('ILIAS_MODULE') ? "../" : ""; $this->tpl->setVariable("LINK_ROLE_RULESET",$up_path.'role.php?cmd=perm&ref_id='. $role_folder_id.'&obj_id='.$role['obj_id']); #$this->ctrl->setParameterByClass('ilobjrolegui','obj_id',$role['obj_id']); #$this->tpl->setVariable("LINK_ROLE_RULESET", # $this->ctrl->getLinkTargetByClass('ilobjrolegui','perm')); } else { $this->tpl->setVariable("LINK_ROLE_RULESET",'adm_object.php?cmd=perm&ref_id='. $role_folder_id.'&obj_id='.$role['obj_id']); } $this->tpl->setVariable("TXT_ROLE_RULESET",$this->lng->txt("edit_perm_ruleset")); $this->tpl->parseCurrentBlock(); $this->tpl->touchBlock("ROLELINK_CLOSE"); } $this->tpl->setCurrentBlock("ROLENAMES"); $this->tpl->setVariable("ROLE_NAME",$role["title"]); $this->tpl->parseCurrentBlock(); // BLOCK CHECK INHERIT if ($this->objDefinition->stopInheritance($this->type)) { $this->tpl->setCurrentBLock("CHECK_INHERIT"); $this->tpl->setVariable("CHECK_INHERITANCE",$data["check_inherit"][$num]); $this->tpl->parseCurrentBlock(); } $num++; } // save num for required column span and the end of parsing $colspan = $num + 1; $num = 0; // offer option 'stop inheritance' only to those objects where this option is permitted if ($this->objDefinition->stopInheritance($this->type)) { $this->tpl->setCurrentBLock("STOP_INHERIT"); $this->tpl->setVariable("TXT_STOP_INHERITANCE", $this->lng->txt("stop_inheritance")); $this->tpl->parseCurrentBlock(); } foreach ($data["permission"] as $ar_perm) { foreach ($ar_perm["values"] as $box) { // BEGIN TABLE CHECK PERM $this->tpl->setCurrentBlock("CHECK_PERM"); $this->tpl->setVariable("CHECK_PERMISSION",$box); $this->tpl->parseCurrentBlock(); // END CHECK PERM } // BEGIN TABLE DATA OUTER $this->tpl->setCurrentBlock("TABLE_DATA_OUTER"); $css_row = ilUtil::switchColor($num++, "tblrow1", "tblrow2"); $this->tpl->setVariable("CSS_ROW",$css_row); $this->tpl->setVariable("PERMISSION", $this->lng->txt($this->object->getType()."_".$ar_perm["name"])); if (substr($ar_perm["name"], 0, 7) == "create_") { if ($this->objDefinition->getDevMode(substr($ar_perm["name"], 7, strlen($ar_perm["name"]) -7))) { $this->tpl->setVariable("TXT_NOT_IMPL", "(".$this->lng->txt("not_implemented_yet").")"); } } $this->tpl->parseCurrentBlock(); // END TABLE DATA OUTER } // ADD LOCAL ROLE // do not display this option for admin section and root node $object_types_exclude = array("adm","root","mail","usrf","objf","lngf","trac","taxf","auth", "assf"); if (!in_array($this->object->getType(),$object_types_exclude) and $this->object->getRefId() != ROLE_FOLDER_ID) //if ($this->object->getRefId() != ROLE_FOLDER_ID and $rbacsystem->checkAccess('create_role',$this->object->getRefId())) { $this->tpl->setCurrentBlock("LOCAL_ROLE"); // fill in saved values in case of error $data = array(); $data["fields"] = array(); $data["fields"]["title"] = $_SESSION["error_post_vars"]["Fobject"]["title"]; $data["fields"]["desc"] = $_SESSION["error_post_vars"]["Fobject"]["desc"]; foreach ($data["fields"] as $key => $val) { $this->tpl->setVariable("TXT_".strtoupper($key), $this->lng->txt($key)); $this->tpl->setVariable(strtoupper($key), $val); } $this->tpl->setVariable("FORMACTION_LR",$this->getFormAction("addRole", $this->ctrl->getLinkTarget($this, "addRole"))); // $this->tpl->setVariable("FORMACTION_LR",$this->getFormAction("addRole", "adm_object.php?ref_id=".$_GET["ref_id"]."&cmd=addRole")); $this->tpl->setVariable("TXT_HEADER", $this->lng->txt("you_may_add_local_roles")); $this->tpl->setVariable("TXT_ADD_ROLE", $this->lng->txt("role_add_local")); $this->tpl->setVariable("TARGET", $this->getTargetFrame("addRole")); $this->tpl->setVariable("TXT_REQUIRED_FLD", $this->lng->txt("required_field")); $this->tpl->parseCurrentBlock(); } //vd($this->link_params); // PARSE BLOCKFILE $this->tpl->setCurrentBlock("adm_content"); $this->tpl->setVariable("FORMACTION", $this->getFormAction("permSave",$this->ctrl->getLinkTarget($this,"permSave"))); // $this->tpl->setVariable("FORMACTION", // $this->getFormAction("permSave","adm_object.php?".$this->link_params."&cmd=permSave")); $this->tpl->setVariable("TXT_SAVE", $this->lng->txt("save")); $this->tpl->setVariable("COL_ANZ",$colspan); $this->tpl->parseCurrentBlock(); }
ilObjectGUI::permSaveObject | ( | ) |
save permissions
public
Reimplemented in ilObjRoleGUI, and ilObjRoleTemplateGUI.
Definition at line 2091 of file class.ilObjectGUI.php.
References $_POST, $rbacadmin, $rbacreview, $rbacsystem, getReturnLocation(), and ilUtil::redirect().
Referenced by ilObjSAHSLearningModuleGUI::permSave(), ilObjMediaPoolGUI::permSave(), ilObjGlossaryGUI::permSave(), ilObjFileBasedLMGUI::permSave(), and ilObjContentObjectGUI::permSave().
{ global $rbacsystem, $rbacreview, $rbacadmin; // first save the new permission settings for all roles $rbacadmin->revokePermission($this->ref_id); if (is_array($_POST["perm"])) { foreach ($_POST["perm"] as $key => $new_role_perms) { // $key enthaelt die aktuelle Role_Id $rbacadmin->grantPermission($key,$new_role_perms,$this->ref_id); } } // update object data entry (to update last modification date) $this->object->update(); // Wenn die Vererbung der Rollen Templates unterbrochen werden soll, // muss folgendes geschehen: // - existiert kein RoleFolder, wird er angelegt und die Rechte aus den Permission Templates ausgelesen // - existiert die Rolle im aktuellen RoleFolder werden die Permission Templates dieser Rolle angezeigt // - existiert die Rolle nicht im aktuellen RoleFolder wird sie dort angelegt // und das Permission Template an den Wert des nihst hher gelegenen Permission Templates angepasst // get rolefolder data if a rolefolder already exists $rolf_data = $rbacreview->getRoleFolderOfObject($this->ref_id); $rolf_id = $rolf_data["child"]; if ($_POST["stop_inherit"]) { // rolefolder does not exist, so create one if (empty($rolf_id)) { // create a local role folder $rfoldObj = $this->object->createRoleFolder(); // set rolf_id again from new rolefolder object $rolf_id = $rfoldObj->getRefId(); } // CHECK ACCESS 'write' of role folder if (!$rbacsystem->checkAccess('write',$rolf_id)) { $this->ilias->raiseError($this->lng->txt("msg_no_perm_write"),$this->ilias->error_obj->WARNING); } foreach ($_POST["stop_inherit"] as $stop_inherit) { $roles_of_folder = $rbacreview->getRolesOfRoleFolder($rolf_id); // create role entries for roles with stopped inheritance if (!in_array($stop_inherit,$roles_of_folder)) { $parentRoles = $rbacreview->getParentRoleIds($rolf_id); $rbacadmin->copyRolePermission($stop_inherit,$parentRoles[$stop_inherit]["parent"], $rolf_id,$stop_inherit); $rbacadmin->assignRoleToFolder($stop_inherit,$rolf_id,'n'); } }// END FOREACH }// END STOP INHERIT elseif (!empty($rolf_id)) { // TODO: this feature doesn't work at the moment // ok. if the rolefolder is not empty, delete the local roles //if (!empty($roles_of_folder = $rbacreview->getRolesOfRoleFolder($rolf_data["ref_id"]))); //{ //foreach ($roles_of_folder as $obj_id) //{ //$rolfObj =& $this->ilias->obj_factory->getInstanceByRefId($rolf_data["child"]); //$rolfObj->delete(); //unset($rolfObj); //} //} } sendinfo($this->lng->txt("saved_successfully"),true); ilUtil::redirect($this->getReturnLocation("permSave",$this->ctrl->getLinkTarget($this,"perm"))); }
ilObjectGUI::prepareOutput | ( | ) |
Reimplemented in ilObjQuestionPoolGUI, ilObjTestGUI, ilObjMediaPoolGUI, ilObjSurveyGUI, and ilObjSurveyQuestionPoolGUI.
Definition at line 240 of file class.ilObjectGUI.php.
References $_POST, sendInfo(), setAdminTabs(), and setLocator().
Referenced by ilObjFileBasedLMGUI::edit(), ilObjectGUI(), and ilObjGlossaryGUI::ilObjGlossaryGUI().
{ $this->tpl->addBlockFile("CONTENT", "content", "tpl.adm_content.html"); $this->tpl->addBlockFile("STATUSLINE", "statusline", "tpl.statusline.html"); $title = $this->object->getTitle(); // catch feedback message sendInfo(); if (!empty($title)) { $this->tpl->setVariable("HEADER", $title); } $this->setAdminTabs($_POST["new_type"]); $this->setLocator(); }
ilObjectGUI::removeDeletedNodes | ( | $ | a_node_id, | |
$ | a_checked, | |||
$ | a_delete_objects = true | |||
) |
remove already deleted objects within the objects in trash recursive function
public
integer | ref_id of source object | |
boolean |
Definition at line 1490 of file class.ilObjectGUI.php.
References $log, $q, and $row.
Referenced by pasteObject(), ilObjRecoveryFolderGUI::removeFromSystemObject(), and removeFromSystemObject().
{ global $log; $q = "SELECT tree FROM tree WHERE parent='".$a_node_id."' AND tree < 0"; $r = $this->ilias->db->query($q); while($row = $r->fetchRow(DB_FETCHMODE_OBJECT)) { // only continue recursion if fetched node wasn't touched already! if (!in_array($row->tree,$a_checked)) { $deleted_tree = new ilTree($row->tree); $a_checked[] = $row->tree; $row->tree = $row->tree * (-1); $del_node_data = $deleted_tree->getNodeData($row->tree); $del_subtree_nodes = $deleted_tree->getSubTree($del_node_data); $this->removeDeletedNodes($row->tree,$a_checked); if ($a_delete_objects) { foreach ($del_subtree_nodes as $node) { $node_obj =& $this->ilias->obj_factory->getInstanceByRefId($node["ref_id"]); // write log entry $log->write("ilObjectGUI::removeDeletedNodes(), delete obj_id: ".$node_obj->getId(). ", ref_id: ".$node_obj->getRefId().", type: ".$node_obj->getType().", ". "title: ".$node_obj->getTitle()); $node_obj->delete(); } } $this->tree->deleteTree($del_node_data); // write log entry $log->write("ilObjectGUI::removeDeletedNodes(), deleted tree, tree_id: ".$del_node_data["tree"]. ", child: ".$del_node_data["child"]); } } return true; }
ilObjectGUI::removeFromSystemObject | ( | ) |
remove objects from trash bin and all entries therefore every object needs a specific deleteObject() method
public
Reimplemented in ilObjRecoveryFolderGUI.
Definition at line 1426 of file class.ilObjectGUI.php.
References $_GET, $_POST, $id, $log, $rbacsystem, getReturnLocation(), ilUtil::redirect(), removeDeletedNodes(), and sendInfo().
{ global $rbacsystem, $log; // AT LEAST ONE OBJECT HAS TO BE CHOSEN. if (!isset($_POST["trash_id"])) { $this->ilias->raiseError($this->lng->txt("no_checkbox"),$this->ilias->error_obj->MESSAGE); } //$this->object->notify("removeFromSystem", $_GET["ref_id"],$_GET["parent_non_rbac_id"],$_GET["ref_id"],$_POST["trash_id"]); // DELETE THEM foreach ($_POST["trash_id"] as $id) { // GET COMPLETE NODE_DATA OF ALL SUBTREE NODES $saved_tree = new ilTree(-(int)$id); $node_data = $saved_tree->getNodeData($id); $subtree_nodes = $saved_tree->getSubTree($node_data); // remember already checked deleted node_ids $checked[] = -(int) $id; // dive in recursive manner in each already deleted subtrees and remove these objects too $this->removeDeletedNodes($id,$checked); foreach ($subtree_nodes as $node) { $node_obj =& $this->ilias->obj_factory->getInstanceByRefId($node["ref_id"]); // write log entry $log->write("ilObjectGUI::removeFromSystemObject(), delete obj_id: ".$node_obj->getId(). ", ref_id: ".$node_obj->getRefId().", type: ".$node_obj->getType().", ". "title: ".$node_obj->getTitle()); $node_obj->delete(); } // FIRST DELETE ALL ENTRIES IN RBAC TREE #$this->tree->deleteTree($node_data); // Use the saved tree object here (negative tree_id) $saved_tree->deleteTree($node_data); // write log entry $log->write("ilObjectGUI::removeFromSystemObject(), deleted tree, tree_id: ".$node_data["tree"]. ", child: ".$node_data["child"]); } sendInfo($this->lng->txt("msg_removed"),true); ilUtil::redirect($this->getReturnLocation("removeFromSystem","adm_object.php?ref_id=".$_GET["ref_id"])); }
ilObjectGUI::saveObject | ( | ) |
save object
public
Reimplemented in ilObjQuestionPoolGUI, ilObjTestGUI, ilObjChatGUI, ilObjAssessmentFolderGUI, ilObjAuthSettingsGUI, ilObjCategoryGUI, ilObjCourseGUI, ilObjExerciseGUI, ilObjFileGUI, ilObjForumGUI, ilObjGroupGUI, ilObjRecoveryFolderGUI, ilObjRoleFolderGUI, ilObjRoleGUI, ilObjRoleTemplateGUI, ilObjStyleSettingsGUI, ilObjStyleSheetFolderGUI, ilObjStyleSheetGUI, ilObjSysUserTrackingGUI, ilObjTypeDefinitionGUI, ilObjUserGUI, GUI, ilObjContentObjectGUI, ilObjFileBasedLMGUI, ilObjGlossaryGUI, ilObjMediaPoolGUI, ilObjSAHSLearningModuleGUI, ilObjMediaObjectGUI, ilObjCourseGUI, ilObjiLincClassroomGUI, ilObjiLincCourseGUI, ilObjLinkResourceGUI, ilObjSurveyGUI, and ilObjSurveyQuestionPoolGUI.
Definition at line 1615 of file class.ilObjectGUI.php.
References $_GET, $_POST, $class_name, $module, $module_dir, $objDefinition, $rbacsystem, and ilUtil::stripSlashes().
{ global $rbacsystem, $objDefinition; $new_type = $_POST["new_type"] ? $_POST["new_type"] : $_GET["new_type"]; // create permission is already checked in createObject. This check here is done to prevent hacking attempts if (!$rbacsystem->checkAccess("create", $_GET["ref_id"], $new_type)) { $this->ilias->raiseError($this->lng->txt("no_create_permission"), $this->ilias->error_obj->MESSAGE); } //echo ":".$_GET["new_type"].":".$_POST["new_type"].":"; $module = $objDefinition->getModule($_GET["new_type"]); $module_dir = ($module == "") ? "" : $module."/"; // create and insert object in objecttree $class_name = "ilObj".$objDefinition->getClassName($_GET["new_type"]); include_once($module_dir."classes/class.".$class_name.".php"); $newObj = new $class_name(); $newObj->setType($_GET["new_type"]); $newObj->setTitle(ilUtil::stripSlashes($_POST["Fobject"]["title"])); $newObj->setDescription(ilUtil::stripSlashes($_POST["Fobject"]["desc"])); $newObj->create(); $newObj->createReference(); $newObj->putInTree($_GET["ref_id"]); $newObj->setPermissions($_GET["ref_id"]); //$newObj->notify("new",$_GET["ref_id"],$_GET["parent_non_rbac_id"],$_GET["ref_id"],$newObj->getRefId()); return $newObj; }
ilObjectGUI::setActions | ( | $ | a_actions = "" |
) |
set possible actions for objects in list.
if actions are set via this method, the values of objects.xml are ignored.
array | $a_actions array with $command => $lang_var pairs |
Definition at line 409 of file class.ilObjectGUI.php.
References $lng.
Referenced by ilObjContentObjectGUI::chapters(), ilObjGlossaryGUI::listTerms(), and ilObjContentObjectGUI::pages().
{ if (is_array($a_actions)) { foreach ($a_actions as $name => $lng) { $this->actions[$name] = array("name" => $name, "lng" => $lng); } } else { $this->actions = ""; } }
ilObjectGUI::setAdminTabs | ( | $ | a_new_type = 0 |
) |
set admin tabs public
Definition at line 263 of file class.ilObjectGUI.php.
References $_GET, $d, $rbacsystem, $row, $tab, ilUtil::getImagePath(), and getTabs().
Referenced by ilObjSurveyQuestionPoolGUI::executeCommand(), ilObjSurveyGUI::executeCommand(), ilObjTestGUI::executeCommand(), ilObjQuestionPoolGUI::executeCommand(), ilObjSurveyQuestionPoolGUI::prepareOutput(), ilObjSurveyGUI::prepareOutput(), prepareOutput(), ilObjTestGUI::prepareOutput(), and ilObjQuestionPoolGUI::prepareOutput().
{ // temp. for groups and systemfolder // TODO: use this style for all objects if ($this->object->getType() == "grp" or $this->object->getType() == "adm" or $this->object->getType() == "sty") { include_once "./classes/class.ilTabsGUI.php"; $tabs_gui =& new ilTabsGUI(); $this->getTabs($tabs_gui); // output tabs $this->tpl->setVariable("TABS", $tabs_gui->getHTML()); } else { global $rbacsystem; $tabs = array(); $this->tpl->addBlockFile("TABS", "tabs", "tpl.tabs.html"); // for new objects display properties of parent object if ($a_new_type) { $d = $this->objDefinition->getProperties($this->object->getType()); } else { $d = $this->objDefinition->getProperties($this->type); } foreach ($d as $key => $row) { $tabs[] = array($row["lng"], $row["name"]); } // check for call_by_reference too to avoid hacking if (isset($_GET["obj_id"]) and $this->call_by_reference === false) { $object_link = "&obj_id=".$_GET["obj_id"]; } foreach ($tabs as $row) { $i++; if ($row[1] == $_GET["cmd"]) { $tabtype = "tabactive"; $tab = $tabtype; } else { $tabtype = "tabinactive"; $tab = "tab"; } $show = true; // only check permissions for tabs if object is a permission object // TODO: automize checks by using objects.xml definitions!! if (true) //if ($this->call_by_reference) { // only show tab when the corresponding permission is granted switch ($row[1]) { case 'view': if (!$rbacsystem->checkAccess('visible',$this->ref_id)) { $show = false; } break; case 'edit': if (!$rbacsystem->checkAccess('write',$this->ref_id)) { $show = false; } break; case 'perm': if (!$rbacsystem->checkAccess('edit_permission',$this->ref_id)) { $show = false; } break; case 'trash': if (!$this->tree->getSavedNodeData($this->ref_id)) { $show = false; } break; // user object only case 'roleassignment': if (!$rbacsystem->checkAccess('edit_roleassignment',$this->ref_id)) { $show = false; } break; // role object only case 'userassignment': if (!$rbacsystem->checkAccess('edit_userassignment',$this->ref_id)) { $show = false; } break; } //switch } if (!$show) { continue; } $this->tpl->setCurrentBlock("tab"); $this->tpl->setVariable("TAB_TYPE", $tabtype); $this->tpl->setVariable("TAB_TYPE2", $tab); $this->tpl->setVariable("IMG_LEFT", ilUtil::getImagePath("eck_l.gif")); $this->tpl->setVariable("IMG_RIGHT", ilUtil::getImagePath("eck_r.gif")); $this->tpl->setVariable("TAB_LINK", $this->tab_target_script."?ref_id=".$_GET["ref_id"].$object_link."&cmd=".$row[1]); $this->tpl->setVariable("TAB_TEXT", $this->lng->txt($row[0])); $this->tpl->parseCurrentBlock(); } } }
ilObjectGUI::setFormAction | ( | $ | a_cmd, | |
$ | a_formaction | |||
) |
set specific form action for command
string | $a_cmd command | |
string | $a_formaaction default formaction (is returned, if no special formaction was set) public |
Definition at line 2015 of file class.ilObjectGUI.php.
Referenced by ilObjMediaPoolGUI::edit(), ilObjFileBasedLMGUI::edit(), ilObjSAHSLearningModuleGUI::perm(), ilObjMediaPoolGUI::perm(), ilObjGlossaryGUI::perm(), ilObjFileBasedLMGUI::perm(), and ilObjContentObjectGUI::perm().
{ $this->formaction[$a_cmd] = $a_formaction; }
ilObjectGUI::setLocator | ( | $ | a_tree = "" , |
|
$ | a_id = "" , |
|||
$ | scriptname = "adm_object.php" , |
|||
$ | a_child_param = "ref_id" , |
|||
$ | a_output_obj = true , |
|||
$ | a_root_title = "" | |||
) |
set Locator
object | tree object | |
integer | reference id | |
scriptanme | that is used for linking; if not set adm_object.php is used public |
Definition at line 453 of file class.ilObjectGUI.php.
References $_GET, $ilias_locator, $path, $row, and ilUtil::appendUrlParameterString().
Referenced by prepareOutput().
{ global $ilias_locator; if (!is_object($a_tree)) { $a_tree =& $this->tree; } if (!($a_id)) { $a_id = $_GET["ref_id"]; } $this->tpl->addBlockFile("LOCATOR", "locator", "tpl.locator.html"); $path = $a_tree->getPathFull($a_id); //check if object isn't in tree, this is the case if parent_parent is set // TODO: parent_parent no longer exist. need another marker if ($a_parent_parent) { //$subObj = getObject($a_ref_id); $subObj =& $this->ilias->obj_factory->getInstanceByRefId($a_ref_id); $path[] = array( "id" => $a_ref_id, "title" => $this->lng->txt($subObj->getTitle()) ); } // this is a stupid workaround for a bug in PEAR:IT $modifier = 1; if (isset($_GET["obj_id"]) && $a_output_obj) { $modifier = 0; } // ### AA 03.11.10 added new locator GUI class ### $i = 1; foreach ($path as $key => $row) { if ($key < count($path)-$modifier) { $this->tpl->touchBlock("locator_separator"); } $this->tpl->setCurrentBlock("locator_item"); if ($a_root_title != "" && ($row["child"] == $a_tree->getRootId())) { $title = $a_root_title; } else { $title = $row["title"]; } $this->tpl->setVariable("ITEM", $title); $this->tpl->setVariable("LINK_ITEM", ilUtil::appendUrlParameterString($scriptname, $a_child_param."=".$row["child"])); $this->tpl->parseCurrentBlock(); // ### AA 03.11.10 added new locator GUI class ### // navigate locator $ilias_locator->navigate($i++,$title, ilUtil::appendUrlParameterString($scriptname, $a_child_param."=".$row["child"]),"bottom"); } if (($_GET["obj_id"] != "") && $a_output_obj) { $obj_data =& $this->ilias->obj_factory->getInstanceByObjId($_GET["obj_id"]); $this->tpl->setCurrentBlock("locator_item"); $this->tpl->setVariable("ITEM", $obj_data->getTitle()); $this->tpl->setVariable("LINK_ITEM", ilUtil::appendUrlParameterString($scriptname, "ref_id=".$_GET["ref_id"]."&obj_id=".$_GET["obj_id"])); $this->tpl->parseCurrentBlock(); // ### AA 03.11.10 added new locator GUI class ### // navigate locator $ilias_locator->navigate($i++,$obj_data->getTitle(), ilUtil::appendUrlParameterString($scriptname, "ref_id=".$_GET["ref_id"]."&obj_id=".$_GET["obj_id"]),"bottom"); } $this->tpl->setCurrentBlock("locator"); if (DEBUG) { $debug = "DEBUG: <font color=\"red\">".$this->type."::".$this->id."::".$_GET["cmd"]."</font><br/>"; } $prop_name = $this->objDefinition->getPropertyName($_GET["cmd"],$this->type); if ($_GET["cmd"] == "confirmDeleteAdm") { $prop_name = "delete_object"; } $this->tpl->setVariable("TXT_LOCATOR",$debug.$this->lng->txt("locator")); $this->tpl->parseCurrentBlock(); }
ilObjectGUI::setReturnLocation | ( | $ | a_cmd, | |
$ | a_location | |||
) |
set specific return location for command
string | $a_cmd command | |
string | $a_location default return location (is returned, if no special return location was set) public |
Definition at line 2046 of file class.ilObjectGUI.php.
Referenced by ilObjSAHSLearningModuleGUI::addRole(), ilObjMediaPoolGUI::addRole(), ilObjGlossaryGUI::addRole(), ilObjFileBasedLMGUI::addRole(), ilObjContentObjectGUI::addRole(), ilObjMediaPoolGUI::cancel(), ilObjFileBasedLMGUI::cancel(), ilObjSAHSLearningModuleGUI::permSave(), ilObjMediaPoolGUI::permSave(), ilObjGlossaryGUI::permSave(), ilObjFileBasedLMGUI::permSave(), ilObjContentObjectGUI::permSave(), ilObjMediaPoolGUI::update(), and ilObjFileBasedLMGUI::update().
{ $this->return_location[$a_cmd] = $a_location; }
ilObjectGUI::setSubObjects | ( | $ | a_sub_objects = "" |
) |
set possible subobjects for this object.
if subobjects are set via this method, the values of objects.xml are ignored.
array | $a_actions array with $command => $lang_var pairs |
Definition at line 430 of file class.ilObjectGUI.php.
{ if (is_array($a_sub_objects)) { foreach ($a_sub_objects as $name => $options) { $this->sub_objects[$name] = array("name" => $name, "max" => $options["max"]); } } else { $this->sub_objects = ""; } }
ilObjectGUI::setTabTargetScript | ( | $ | a_script = "adm_object.php" |
) |
Definition at line 393 of file class.ilObjectGUI.php.
Referenced by ilObjFileBasedLMGUI::ilObjFileBasedLMGUI(), ilObjGlossaryGUI::ilObjGlossaryGUI(), ilObjMediaPoolGUI::ilObjMediaPoolGUI(), ilObjQuestionPoolGUI::ilObjQuestionPoolGUI(), ilObjSurveyGUI::ilObjSurveyGUI(), ilObjSurveyQuestionPoolGUI::ilObjSurveyQuestionPoolGUI(), and ilObjTestGUI::ilObjTestGUI().
{ $this->tab_target_script = $a_script; }
ilObjectGUI::setTargetFrame | ( | $ | a_cmd, | |
$ | a_target_frame | |||
) |
set specific target frame for command
string | $a_cmd command | |
string | $a_target_frame default target frame (is returned, if no special target frame was set) public |
Definition at line 2081 of file class.ilObjectGUI.php.
{ $this->target_frame[$a_cmd] = "target=\"".$a_target_frame."\""; }
ilObjectGUI::showActions | ( | $ | with_subobjects = false |
) |
show possible action (form buttons)
boolean | public |
Reimplemented in ilObjStyleSettingsGUI, ilObjStyleSheetFolderGUI, and ilObjUserFolderGUI.
Definition at line 2775 of file class.ilObjectGUI.php.
References $_GET, $_SESSION, $d, $row, ilUtil::array_php2js(), ilUtil::getImagePath(), and showPossibleSubObjects().
Referenced by ilObjLanguageFolderGUI::displayList(), displayList(), and ilObjGlossaryGUI::listTerms().
{ $notoperations = array(); // NO PASTE AND CLEAR IF CLIPBOARD IS EMPTY if (empty($_SESSION["clipboard"])) { $notoperations[] = "copy"; // disable copy operation! $notoperations[] = "paste"; $notoperations[] = "clear"; } // CUT COPY PASTE LINK DELETE IS NOT POSSIBLE IF CLIPBOARD IS FILLED if ($_SESSION["clipboard"]) { $notoperations[] = "cut"; $notoperations[] = "copy"; $notoperations[] = "link"; } $operations = array(); if ($this->actions == "") { $d = $this->objDefinition->getActions($_GET["type"]); } else { $d = $this->actions; } foreach ($d as $row) { if (!in_array($row["name"], $notoperations)) { $operations[] = $row; } } if (count($operations) > 0) { foreach ($operations as $val) { $this->tpl->setCurrentBlock("tbl_action_btn"); $this->tpl->setVariable("BTN_NAME", $val["name"]); $this->tpl->setVariable("BTN_VALUE", $this->lng->txt($val["lng"])); $this->tpl->parseCurrentBlock(); } } if ($with_subobjects === true) { $this->showPossibleSubObjects(); } if (!empty($this->ids)) { // set checkbox toggles $this->tpl->setCurrentBlock("tbl_action_toggle_checkboxes"); $this->tpl->setVariable("JS_VARNAME","id"); $this->tpl->setVariable("JS_ONCLICK",ilUtil::array_php2js($this->ids)); $this->tpl->setVariable("TXT_CHECKALL", $this->lng->txt("check_all")); $this->tpl->setVariable("TXT_UNCHECKALL", $this->lng->txt("uncheck_all")); $this->tpl->parseCurrentBlock(); } $this->tpl->setCurrentBlock("tbl_action_row"); $this->tpl->setVariable("IMG_ARROW", ilUtil::getImagePath("arrow_downright.gif")); $this->tpl->parseCurrentBlock(); }
ilObjectGUI::showPossibleSubObjects | ( | ) |
show possible subobjects (pulldown menu)
public
Reimplemented in ilObjRecoveryFolderGUI, and ilObjUserFolderGUI.
Definition at line 2849 of file class.ilObjectGUI.php.
References $_GET, $count, $d, $row, and formSelect().
Referenced by ilObjRoleFolderGUI::__showRolesTable(), ilObjStyleSheetFolderGUI::showActions(), ilObjStyleSettingsGUI::showActions(), and showActions().
{ if ($this->sub_objects == "") { $d = $this->objDefinition->getCreatableSubObjects($_GET["type"]); } else { $d = $this->sub_objects; } $import = false; if (count($d) > 0) { foreach ($d as $row) { $count = 0; if ($row["max"] > 0) { //how many elements are present? for ($i=0; $i<count($this->data["ctrl"]); $i++) { if ($this->data["ctrl"][$i]["type"] == $row["name"]) { $count++; } } } if ($row["max"] == "" || $count < $row["max"]) { $subobj[] = $row["name"]; if ($row["import"] == "1") // import allowed? { $import = true; } } } } if (is_array($subobj)) { // show import button if at least one // object type can be imported if ($import) { $this->tpl->setCurrentBlock("import_object"); $this->tpl->setVariable("BTN_IMP", "import"); $this->tpl->setVariable("TXT_IMP", $this->lng->txt("import")); $this->tpl->parseCurrentBlock(); } //build form $opts = ilUtil::formSelect(12,"new_type",$subobj); $this->tpl->setCurrentBlock("add_object"); $this->tpl->setVariable("SELECT_OBJTYPE", $opts); $this->tpl->setVariable("BTN_NAME", "create"); $this->tpl->setVariable("TXT_ADD", $this->lng->txt("add")); $this->tpl->parseCurrentBlock(); } }
ilObjectGUI::trashObject | ( | ) |
show trash content of object
public
Definition at line 2571 of file class.ilObjectGUI.php.
References $_GET, $counter, ilUtil::getImageTagByType(), getTemplateFile(), sendInfo(), and ilUtil::switchColor().
{ $objects = $this->tree->getSavedNodeData($_GET["ref_id"]); if (count($objects) == 0) { sendInfo($this->lng->txt("msg_trash_empty")); $this->data["empty"] = true; } else { $this->data["empty"] = false; $this->data["cols"] = array("","type", "title", "last_change"); foreach ($objects as $obj_data) { $this->data["data"]["$obj_data[child]"] = array( "checkbox" => "", "type" => $obj_data["type"], "title" => $obj_data["title"]."#separator#".$obj_data["desc"], "last_update" => $obj_data["last_update"] ); } $this->data["buttons"] = array( "undelete" => $this->lng->txt("btn_undelete"), "removeFromSystem" => $this->lng->txt("btn_remove_system")); } $this->getTemplateFile("confirm"); if ($this->data["empty"] == true) { return; } /* TODO: fix message display in conjunction with sendInfo & raiseError functionality $this->tpl->addBlockfile("MESSAGE", "adm_trash", "tpl.message.html"); $this->tpl->setCurrentBlock("adm_trash"); $this->tpl->setVariable("MSG",$this->lng->txt("info_trash")); $this->tpl->parseCurrentBlock(); */ //sendInfo($this->lng->txt("info_trash")); $this->tpl->setVariable("FORMACTION", "adm_object.php?ref_id=".$_GET["ref_id"]."&cmd=gateway"); $this->tpl->setVariable("TPLPATH",$this->tpl->tplPath); // BEGIN TABLE HEADER foreach ($this->data["cols"] as $key) { $this->tpl->setCurrentBlock("table_header"); $this->tpl->setVariable("TEXT",$this->lng->txt($key)); $this->tpl->parseCurrentBlock(); } // END TABLE HEADER // BEGIN TABLE DATA $counter = 0; foreach ($this->data["data"] as $key1 => $value) { // BEGIN TABLE CELL foreach ($value as $key2 => $cell_data) { $this->tpl->setCurrentBlock("table_cell"); // CREATE CHECKBOX if ($key2 == "checkbox") { $this->tpl->setVariable("TEXT_CONTENT",ilUtil::formCheckBox(0,"trash_id[]",$key1)); } // CREATE TEXT STRING elseif ($key2 == "type") { $this->tpl->setVariable("TEXT_CONTENT",ilUtil::getImageTagByType($cell_data,$this->tpl->tplPath)); } elseif ($key2 == "title") { $name_field = explode("#separator#",$cell_data); $this->tpl->setVariable("TEXT_CONTENT", "<b>".$name_field[0]."</b>"); $this->tpl->setCurrentBlock("subtitle"); $this->tpl->setVariable("DESC", $name_field[1]); $this->tpl->parseCurrentBlock(); $this->tpl->setCurrentBlock("table_cell"); } else { $this->tpl->setVariable("TEXT_CONTENT",$cell_data); } $this->tpl->parseCurrentBlock(); } $this->tpl->setCurrentBlock("table_row"); $this->tpl->setVariable("CSS_ROW",ilUtil::switchColor(++$counter,"tblrow1","tblrow2")); $this->tpl->parseCurrentBlock(); // END TABLE CELL } // END TABLE DATA // BEGIN OPERATION_BTN foreach ($this->data["buttons"] as $name => $value) { $this->tpl->setCurrentBlock("operation_btn"); $this->tpl->setVariable("BTN_NAME",$name); $this->tpl->setVariable("BTN_VALUE",$value); $this->tpl->parseCurrentBlock(); } }
ilObjectGUI::undeleteObject | ( | ) |
get object back from trash
public
Definition at line 1176 of file class.ilObjectGUI.php.
References $_GET, $_POST, $id, $log, $rbacsystem, getReturnLocation(), insertSavedNodes(), ilUtil::redirect(), and sendInfo().
{ global $rbacsystem, $log; // AT LEAST ONE OBJECT HAS TO BE CHOSEN. if (!isset($_POST["trash_id"])) { $this->ilias->raiseError($this->lng->txt("no_checkbox"),$this->ilias->error_obj->MESSAGE); } foreach ($_POST["trash_id"] as $id) { $obj_data =& $this->ilias->obj_factory->getInstanceByRefId($id); if (!$rbacsystem->checkAccess('create',$_GET["ref_id"],$obj_data->getType())) { $no_create[] = $id; } } if (count($no_create)) { $this->ilias->raiseError($this->lng->txt("msg_no_perm_paste")." ". implode(',',$no_paste),$this->ilias->error_obj->MESSAGE); } foreach ($_POST["trash_id"] as $id) { // INSERT AND SET PERMISSIONS $this->insertSavedNodes($id,$_GET["ref_id"],-(int) $id); // DELETE SAVED TREE $saved_tree = new ilTree(-(int)$id); $saved_tree->deleteTree($saved_tree->getNodeData($id)); } //$this->object->notify("undelete", $_GET["ref_id"],$_GET["parent_non_rbac_id"],$_GET["ref_id"],$_POST["trash_id"]); sendInfo($this->lng->txt("msg_undeleted"),true); ilUtil::redirect($this->getReturnLocation("undelete","adm_object.php?ref_id=".$_GET["ref_id"])); }
ilObjectGUI::updateObject | ( | ) |
updates object entry in object_data
public
Reimplemented in ilObjQuestionPoolGUI, ilObjChatServerGUI, ilObjCategoryGUI, ilObjExerciseGUI, ilObjFileGUI, ilObjForumGUI, ilObjGroupGUI, ilObjRoleGUI, ilObjRoleTemplateGUI, ilObjStyleSheetGUI, ilObjUserGUI, ilObjCourseGUI, ilObjSurveyGUI, and ilObjSurveyQuestionPoolGUI.
Definition at line 1744 of file class.ilObjectGUI.php.
References $_POST, getReturnLocation(), ilUtil::redirect(), sendInfo(), and ilUtil::stripSlashes().
Referenced by ilObjMediaPoolGUI::update(), and ilObjFileBasedLMGUI::update().
{ $this->object->setTitle(ilUtil::stripSlashes($_POST["Fobject"]["title"])); $this->object->setDescription(ilUtil::stripSlashes($_POST["Fobject"]["desc"])); $this->update = $this->object->update(); sendInfo($this->lng->txt("msg_obj_modified"),true); ilUtil::redirect($this->getReturnLocation("update",$this->ctrl->getLinkTarget($this))); //ilUtil::redirect($this->getReturnLocation("update","adm_object.php?ref_id=".$this->ref_id)); }
ilObjectGUI::viewObject | ( | ) |
list childs of current object
public
Reimplemented in ilObjChatGUI, ilObjAuthSettingsGUI, ilObjExerciseGUI, ilObjFolderGUI, ilObjGroupGUI, ilObjLanguageFolderGUI, ilObjLdapGUI, ilObjMailGUI, ilObjObjectFolderGUI, ilObjRoleFolderGUI, ilObjStyleSettingsGUI, ilObjStyleSheetFolderGUI, ilObjStyleSheetGUI, ilObjSystemFolderGUI, ilObjTypeDefinitionGUI, ilObjUserFolderGUI, ilObjContentObjectGUI, ilObjGlossaryGUI, ilObjSAHSLearningModuleGUI, ilObjCourseGUI, and ilObjLinkResourceGUI.
Definition at line 2388 of file class.ilObjectGUI.php.
References $_GET, $rbacsystem, displayList(), formatDate(), and ilUtil::sortArray().
{ global $rbacsystem; if (!$rbacsystem->checkAccess("visible,read",$this->object->getRefId())) { $this->ilias->raiseError($this->lng->txt("permission_denied"),$this->ilias->error_obj->MESSAGE); } //prepare objectlist $this->objectList = array(); $this->data["data"] = array(); $this->data["ctrl"] = array(); $this->data["cols"] = array("", "type", "title", "last_change"); $childs = $this->tree->getChilds($_GET["ref_id"], $_GET["order"], $_GET["direction"]); foreach ($childs as $key => $val) { // visible if (!$rbacsystem->checkAccess("visible",$val["ref_id"])) { continue; } // hide object types in devmode if ($this->objDefinition->getDevMode($val["type"])) { continue; } //visible data part $this->data["data"][] = array( "type" => $val["type"], "title" => $val["title"]."#separator#".$val["desc"], //"description" => $val["desc"], "last_change" => $val["last_update"], "ref_id" => $val["ref_id"] ); //control information is set below } //foreach $this->maxcount = count($this->data["data"]); // sorting array $this->data["data"] = ilUtil::sortArray($this->data["data"],$_GET["sort_by"],$_GET["sort_order"]); $this->data["data"] = array_slice($this->data["data"],$_GET["offset"],$_GET["limit"]); // now compute control information foreach ($this->data["data"] as $key => $val) { $this->data["ctrl"][$key] = array( "type" => $val["type"], "ref_id" => $val["ref_id"] ); unset($this->data["data"][$key]["ref_id"]); $this->data["data"][$key]["last_change"] = ilFormat::formatDate($this->data["data"][$key]["last_change"]); } $this->displayList(); }
ilObjectGUI::withReferences | ( | ) |
determines wether objects are referenced or not (got ref ids or not)
Definition at line 218 of file class.ilObjectGUI.php.
Referenced by ilObjFolderGUI::saveObject().
{
return $this->call_by_reference;
}
ilObjectGUI::$actions |
Definition at line 92 of file class.ilObjectGUI.php.
Referenced by ilObjRoleGUI::__showAssignedUsersTable(), ilObjGroupGUI::__showMembersTable(), ilObjExerciseGUI::__showMembersTable(), ilObjCourseGUI::__showMembersTable(), ilObjUserGUI::__showRolesTable(), ilObjRoleFolderGUI::__showRolesTable(), ilObjCourseGUI::__showSubscribersTable(), ilObjPaymentSettingsGUI::__showVendorsTable(), ilObjCourseGUI::editMemberObject(), and ilObjCourseGUI::selectArchiveLanguageObject().
ilObjectGUI::$data |
Definition at line 76 of file class.ilObjectGUI.php.
Referenced by ilObjRoleGUI::__formatPath(), ilObjFileBasedLMGUI::addBibItemObject(), ilObjContentObjectGUI::addBibItemObject(), ilObjSystemFolderGUI::changeHeaderTitleObject(), clipboardObject(), ilObjTestGUI::confirmInsertQuestionsForm(), ilObjSurveyGUI::constraintsForm(), ilObjSurveyQuestionPoolGUI::createObject(), ilObjSurveyGUI::createObject(), ilObjiLincCourseGUI::createObject(), ilObjiLincClassroomGUI::createObject(), ilObjGlossaryGUI::createObject(), ilObjContentObjectGUI::createObject(), ilObjUserGUI::createObject(), ilObjRoleTemplateGUI::createObject(), ilObjGroupGUI::createObject(), ilObjFolderGUI::createObject(), ilObjFileGUI::createObject(), createObject(), ilObjCategoryGUI::createObject(), ilObjTestGUI::createObject(), ilObjQuestionPoolGUI::createObject(), ilObjSurveyQuestionPoolGUI::deleteQuestionsObject(), ilObjQuestionPoolGUI::deleteQuestionsObject(), ilObjUserFolderGUI::displayList(), ilObjTypeDefinitionGUI::displayList(), ilObjSystemFolderGUI::displayList(), ilObjObjectFolderGUI::displayList(), ilObjLanguageFolderGUI::displayList(), displayList(), ilObjUserGUI::editObject(), ilObjTypeDefinitionGUI::editObject(), ilObjGroupGUI::editObject(), ilObjCategoryGUI::editObject(), ilObjSurveyGUI::evaluationObject(), ilObjGroupGUI::exportMembersObject(), ilObjSurveyGUI::insertQuestionsForm(), ilObjCourseGUI::listStructureObject(), ilObjSysUserTrackingGUI::outputTrackingDataObject(), ilObjSurveyQuestionPoolGUI::pasteObject(), permObject(), ilObjTestGUI::propertiesObject(), ilObjSurveyGUI::questionBrowser(), ilObjTestGUI::questionBrowser(), ilObjSurveyQuestionPoolGUI::questionsObject(), ilObjSurveyGUI::questionsObject(), ilObjTestGUI::questionsObject(), ilObjQuestionPoolGUI::questionsObject(), ilObjSurveyGUI::removeQuestionsForm(), ilObjTestGUI::removeQuestionsForm(), ilObjSurveyGUI::runObject(), ilObjSystemFolderGUI::saveHeaderTitleObject(), ilObjFileGUI::saveObject(), ilObjCategoryGUI::saveObject(), ilObjTestGUI::savePropertiesObject(), ilObjSurveyGUI::searchQuestionsForm(), ilObjUserFolderGUI::searchUserObject(), ilObjDlBookGUI::showCitation(), ilObjSCORMLearningModuleGUI::showTrackingItem(), ilObjSCORMLearningModuleGUI::showTrackingItemPerUser(), ilObjFileGUI::updateObject(), and ilObjCategoryGUI::updateObject().
ilObjectGUI::$formaction |
Definition at line 87 of file class.ilObjectGUI.php.
Referenced by ilObjTestGUI::outEvaluationForm(), and ilObjTestGUI::outWorkingForm().
ilObjectGUI::$ilias |
Reimplemented in ilPaymentPurchaseGUI.
Definition at line 41 of file class.ilObjectGUI.php.
Referenced by ilObjUserFolderGUI::appliedUsersObject(), ilObjStyleSheetGUI::confirmedDeleteObject(), ilObjStyleSheetFolderGUI::confirmedDeleteObject(), ilObjStyleSettingsGUI::confirmedDeleteObject(), ilObjUserGUI::createObject(), ilObjUserGUI::editObject(), ilObjContentObjectGUI::explorer(), ilObjectGUI(), ilObjPaymentSettingsGUI::ilObjPaymentSettingsGUI(), ilObjContentObjectGUI::linkChecker(), ilObjLinkResourceGUI::linkCheckerObject(), ilObjSysUserTrackingGUI::manageDataObject(), ilObjSysUserTrackingGUI::outputTrackingDataObject(), ilObjUserFolderGUI::saveGlobalUserSettingsObject(), ilObjUserGUI::saveObject(), ilObjUserFolderGUI::settingsObject(), ilObjSysUserTrackingGUI::settingsObject(), ilObjStyleSheetFolderGUI::toggleGlobalDefaultObject(), ilObjStyleSettingsGUI::toggleGlobalDefaultObject(), ilObjStyleSheetFolderGUI::toggleGlobalFixedObject(), ilObjStyleSettingsGUI::toggleGlobalFixedObject(), ilObjSysUserTrackingGUI::trackingDataQueryFormObject(), ilObjUserGUI::updateObject(), ilObjStyleSheetFolderGUI::viewObject(), and ilObjStyleSettingsGUI::viewObject().
ilObjectGUI::$lng |
Reimplemented in ilPaymentPurchaseGUI.
Definition at line 69 of file class.ilObjectGUI.php.
Referenced by ilObjMediaObjectGUI::_getMediaInfoHTML(), ilObjCategoryGUI::_importCategories(), ilObjCategoryGUI::_importCategoriesForm(), ilObjContentObjectGUI::addLocations(), ilObjStyleSheetGUI::cancelObject(), ilObjSysUserTrackingGUI::confirmDeletionDataObject(), ilObjStyleSheetGUI::createObject(), ilObjFolderGUI::createObject(), ilObjStyleSheetGUI::editObject(), ilObjSAHSLearningModuleGUI::getTemplate(), ilObjFileBasedLMGUI::getTemplate(), ilObjAICCLearningModuleGUI::ilObjAICCLearningModuleGUI(), ilObjContentObjectGUI::ilObjContentObjectGUI(), ilObjectGUI(), ilObjFileBasedLMGUI::ilObjFileBasedLMGUI(), ilObjHACPLearningModuleGUI::ilObjHACPLearningModuleGUI(), ilObjMediaObjectGUI::ilObjMediaObjectGUI(), ilObjMediaPoolGUI::ilObjMediaPoolGUI(), ilObjQuestionPoolGUI::ilObjQuestionPoolGUI(), ilObjSAHSLearningModuleGUI::ilObjSAHSLearningModuleGUI(), ilObjSCORMLearningModuleGUI::ilObjSCORMLearningModuleGUI(), ilObjStyleSheetGUI::ilObjStyleSheetGUI(), ilObjSurveyGUI::ilObjSurveyGUI(), ilObjSurveyQuestionPoolGUI::ilObjSurveyQuestionPoolGUI(), ilObjTestGUI::ilObjTestGUI(), ilObjMailGUI::importObject(), ilObjUserFolderGUI::importUserRoleAssignmentObject(), ilObjUserFolderGUI::importUsersObject(), ilObjSysUserTrackingGUI::manageDataObject(), ilObjSysUserTrackingGUI::outputTrackingDataObject(), ilObjMailGUI::performImportObject(), ilObjFolderGUI::saveObject(), setActions(), ilObjStyleSheetGUI::setTabs(), ilObjSysUserTrackingGUI::settingsObject(), ilObjSysUserTrackingGUI::trackingDataQueryFormObject(), and ilObjMailGUI::uploadObject().
ilObjectGUI::$maxcount |
Definition at line 86 of file class.ilObjectGUI.php.
ilObjectGUI::$obj_id |
Definition at line 85 of file class.ilObjectGUI.php.
Referenced by ilObjContentObjectGUI::addLocations(), ilObjContentObjectGUI::addMenuEntry(), ilObjMediaPoolGUI::confirmRemove(), ilObjMediaPoolGUI::copyToClipboard(), ilObjLanguageFolderGUI::installObject(), ilObjMediaPoolGUI::listMedia(), ilObjMediaPoolGUI::remove(), ilObjMediaPoolGUI::setLocator(), ilObjLanguageFolderGUI::setSystemLanguageObject(), ilObjLanguageFolderGUI::setUserLanguageObject(), and ilObjLanguageFolderGUI::uninstallObject().
ilObjectGUI::$objDefinition |
Definition at line 48 of file class.ilObjectGUI.php.
Referenced by ilObjectGUI(), ilObjRoleTemplateGUI::permObject(), ilObjRoleGUI::permObject(), ilObjRoleTemplateGUI::permSaveObject(), ilObjRoleGUI::permSaveObject(), ilObjFileGUI::saveObject(), and saveObject().
ilObjectGUI::$object |
Reimplemented in ilObjLearningModuleGUI, and ilPaymentPurchaseGUI.
Definition at line 83 of file class.ilObjectGUI.php.
Referenced by linkObject().
ilObjectGUI::$ref_id |
Definition at line 84 of file class.ilObjectGUI.php.
Referenced by copyObject(), cutObject(), ilObjQuestionPoolGUI::executeCommand(), linkObject(), pasteObject(), and ilObjSurveyGUI::questionsObject().
ilObjectGUI::$return_location |
Definition at line 88 of file class.ilObjectGUI.php.
Referenced by ilObjGroupGUI::canceledObject(), ilObjGroupGUI::cancelMemberObject(), ilObjCourseGUI::cancelMemberObject(), ilObjUserGUI::cancelObject(), ilObjRoleGUI::cancelObject(), ilObjFileGUI::cancelObject(), cancelObject(), and ilObjUserFolderGUI::importCancelledObject().
ilObjectGUI::$sub_objects |
Definition at line 93 of file class.ilObjectGUI.php.
ilObjectGUI::$tab_target_script |
Definition at line 91 of file class.ilObjectGUI.php.
ilObjectGUI::$target_frame |
Definition at line 89 of file class.ilObjectGUI.php.
ilObjectGUI::$tpl |
Reimplemented in ilPaymentPurchaseGUI.
Definition at line 55 of file class.ilObjectGUI.php.
Referenced by ilObjDlBookGUI::__applyCitationText(), ilObjChatGUI::__formatMessage(), ilObjUserFolderGUI::__showAppliedUsersTable(), ilObjCourseGUI::__showArchivesAdminTable(), ilObjCourseGUI::__showArchivesTable(), ilObjRoleGUI::__showAssignedUsersTable(), __showClipboardTable(), ilObjCourseGUI::__showDeleteMembersTable(), ilObjCourseGUI::__showDeleteSubscriberTable(), ilObjCourseGUI::__showEditMemberTable(), ilObjGroupGUI::__showMembersTable(), ilObjCourseGUI::__showMembersTable(), ilObjUserGUI::__showRolesTable(), ilObjRoleFolderGUI::__showRolesTable(), ilObjCategoryGUI::__showRolesTable(), ilObjRoleGUI::__showSearchGroupTable(), ilObjGroupGUI::__showSearchGroupTable(), ilObjCourseGUI::__showSearchGroupTable(), ilObjRoleGUI::__showSearchRoleTable(), ilObjGroupGUI::__showSearchRoleTable(), ilObjCourseGUI::__showSearchRoleTable(), ilObjPaymentSettingsGUI::__showSearchUserTable(), ilObjRoleGUI::__showSearchUserTable(), ilObjGroupGUI::__showSearchUserTable(), ilObjCourseGUI::__showSearchUserTable(), ilObjPaymentSettingsGUI::__showStatisticTable(), ilObjCourseGUI::__showSubscribersTable(), ilObjCategoryGUI::__showUsersTable(), ilObjPaymentSettingsGUI::__showVendorsTable(), ilObjMediaObjectGUI::_getMediaInfoHTML(), ilObjSysUserTrackingGUI::confirmDeletionDataObject(), ilObjStyleSheetGUI::createObject(), ilObjLinkResourceGUI::editItemsObject(), ilObjMediaPoolGUI::editObject(), ilObjFileBasedLMGUI::editObject(), ilObjectGUI(), ilObjStyleSheetGUI::ilObjStyleSheetGUI(), ilObjLinkResourceGUI::listItemsObject(), ilObjSysUserTrackingGUI::manageDataObject(), ilObjSysUserTrackingGUI::outputTrackingDataObject(), ilObjCourseGUI::printMembersObject(), ilObjSCORMLearningModuleGUI::properties(), ilObjGlossaryGUI::properties(), ilObjFileBasedLMGUI::properties(), ilObjSysUserTrackingGUI::settingsObject(), ilObjSysUserTrackingGUI::trackingDataQueryFormObject(), and ilObjContentObjectGUI::viewObject().
ilObjectGUI::$tree |
Definition at line 62 of file class.ilObjectGUI.php.
Referenced by ilObjLinkResourceGUI::__setLocator(), ilObjRoleGUI::__setLocator(), ilObjContentObjectGUI::addLocations(), ilObjContentObjectGUI::chapters(), ilObjContentObjectGUI::confirmedDelete(), ilObjTestGUI::createQuestionPool(), ilObjLanguageFolderGUI::displayList(), ilObjMediaPoolGUI::editObject(), ilObjFileBasedLMGUI::editObject(), ilPaymentPurchaseGUI::executeCommand(), ilObjMediaPoolGUI::executeCommand(), ilObjGlossaryGUI::exportList(), ilObjContentObjectGUI::exportList(), ilObjSurveyQuestionPoolGUI::exportObject(), ilObjSurveyGUI::exportObject(), ilObjTestGUI::exportObject(), ilObjQuestionPoolGUI::exportObject(), ilObjDlBookGUI::getContextPath(), ilObjectGUI(), ilPaymentPurchaseGUI::ilPaymentPurchaseGUI(), ilObjUserFolderGUI::importUserRoleAssignmentObject(), ilObjUserFolderGUI::importUsersObject(), ilObjRoleGUI::listDesktopItemsObject(), ilObjMediaPoolGUI::listMedia(), ilObjRoleGUI::listUsersGroupObject(), ilObjGroupGUI::listUsersGroupObject(), ilObjCourseGUI::listUsersGroupObject(), ilObjCourseGUI::listUsersRoleObject(), ilObjContentObjectGUI::pages(), ilObjContentObjectGUI::pasteChapter(), ilObjSCORMLearningModuleGUI::properties(), ilObjGlossaryGUI::properties(), ilObjFileBasedLMGUI::properties(), ilObjPaymentSettingsGUI::searchObject(), ilObjRoleGUI::searchObject(), ilObjGroupGUI::searchObject(), ilObjCourseGUI::searchObject(), ilObjRoleGUI::selectDesktopItemObject(), ilObjSAHSLearningModuleGUI::setLocator(), ilObjMediaPoolGUI::setLocator(), ilObjFileBasedLMGUI::setLocator(), ilObjGlossaryGUI::viewExportLog(), ilObjContentObjectGUI::viewExportLog(), ilObjContentObjectGUI::viewObject(), ilObjGroupGUI::viewObject(), and ilObjFolderGUI::viewObject().