Public Member Functions | |
ilObjTypeDefinitionGUI ($a_data, $a_id, $a_call_by_reference) | |
Constructor. | |
viewObject () | |
list operations of object type public | |
displayList () | |
display object list | |
saveObject () | |
save (de-)activation of operations on object | |
editObject () | |
display edit form | |
& | executeCommand () |
execute command | |
getTabs (&$tabs_gui) | |
get tabs public |
Definition at line 39 of file class.ilObjTypeDefinitionGUI.php.
ilObjTypeDefinitionGUI::displayList | ( | ) |
display object list
public
Reimplemented from ilObjectGUI.
Definition at line 118 of file class.ilObjTypeDefinitionGUI.php.
References $_GET, ilObjectGUI::$data, $key, $tbl, ilUtil::getImageTagByType(), 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->lng->txt("obj_".$this->object->getType())." '".$this->object->getTitle()."'","icon_".$this->object->getType()."_b.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,"obj_id" => $this->id); $tbl->setHeaderVars($this->data["cols"],$header_params); // control $tbl->setOrderColumn($_GET["sort_by"]); $tbl->setOrderDirection($_GET["sort_order"]); $tbl->setLimit(0); $tbl->setOffset(0); $tbl->setMaxCount($this->maxcount); // footer $tbl->setFooter("tblfooter",$this->lng->txt("previous"),$this->lng->txt("next")); //$tbl->disable("footer"); // render table $tbl->render(); if (is_array($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"); $this->tpl->setCurrentBlock("table_cell"); $this->tpl->setVariable("CELLSTYLE", "tblrow1"); $this->tpl->parseCurrentBlock(); foreach ($data as $key => $val) { // color for status if ($key == "status") { if ($val == "enabled") { $color = "green"; } else { $color = "red"; } $val = "<font color=\"".$color."\">".$this->lng->txt($val)."</font>"; } $this->tpl->setCurrentBlock("text"); if ($key == "type") { $val = ilUtil::getImageTagByType($val,$this->tpl->tplPath); } $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 }
ilObjTypeDefinitionGUI::editObject | ( | ) |
display edit form
public
Reimplemented from ilObjectGUI.
Definition at line 266 of file class.ilObjTypeDefinitionGUI.php.
References $_GET, ilObjectGUI::$data, $key, $ops, $rbacreview, $rbacsystem, $tbl, formSelect(), ilUtil::getImagePath(), ilUtil::getImageTagByType(), getOperationList(), ilUtil::sortArray(), and ilUtil::switchColor().
{ global $rbacsystem, $rbacreview; if (!$rbacsystem->checkAccess("edit_permission",$_GET["ref_id"])) { $this->ilias->raiseError($this->lng->txt("permission_denied"),$this->ilias->error_obj->MESSAGE); } //prepare objectlist $this->data = array(); $this->data["data"] = array(); $this->data["ctrl"] = array(); $this->data["cols"] = array("type", "operation", "description", "status"); $ops_valid = $rbacreview->getOperationsOnType($this->obj_id); if ($ops_arr = getOperationList('', $a_order, $a_direction)) { $options = array("e" => "enabled","d" => "disabled"); foreach ($ops_arr as $key => $ops) { // BEGIN ROW if (in_array($ops["ops_id"],$ops_valid)) { $ops_status = 'e'; } else { $ops_status = 'd'; } $obj = $ops["ops_id"]; $ops_options = ilUtil::formSelect($ops_status,"id[$obj]",$options); //visible data part $this->data["data"][] = array( "type" => "perm", "operation" => $ops["operation"], "description" => $ops["desc"], "status" => $ops_status, "status_html" => $ops_options, "obj_id" => $val["ops_id"] ); } } //if typedata $this->maxcount = count($this->data["data"]); // sorting array $this->data["data"] = ilUtil::sortArray($this->data["data"],$_GET["sort_by"],$_GET["sort_order"]); // now compute control information foreach ($this->data["data"] as $key => $val) { $this->data["ctrl"][$key] = array( "obj_id" => $val["obj_id"], "type" => $val["type"] ); unset($this->data["data"][$key]["obj_id"]); $this->data["data"][$key]["status"] = $this->data["data"][$key]["status_html"]; unset($this->data["data"][$key]["status_html"]); } // build table 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=save"); // create table $tbl = new ilTableGUI(); // title & header columns $tbl->setTitle($this->lng->txt("edit_operations")." ".strtolower($this->lng->txt("of"))." '".$this->object->getTitle()."'","icon_".$this->object->getType()."_b.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,"obj_id" => $this->id,"cmd" => "edit"); $tbl->setHeaderVars($this->data["cols"],$header_params); // control $tbl->setOrderColumn($_GET["sort_by"]); $tbl->setOrderDirection($_GET["sort_order"]); $tbl->setLimit(0); $tbl->setOffset(0); $tbl->setMaxCount($this->maxcount); // SHOW VALID ACTIONS $this->tpl->setVariable("IMG_ARROW", ilUtil::getImagePath("arrow_downright.gif")); $this->tpl->setVariable("COLUMN_COUNTS",count($this->data["cols"])); // footer $tbl->setFooter("tblfooter",$this->lng->txt("previous"),$this->lng->txt("next")); //$tbl->disable("footer"); // render table $tbl->render(); if (is_array($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"); $this->tpl->setCurrentBlock("table_cell"); $this->tpl->setVariable("CELLSTYLE", "tblrow1"); $this->tpl->parseCurrentBlock(); foreach ($data as $key => $val) { $this->tpl->setCurrentBlock("text"); if ($key == "type") { $val = ilUtil::getImageTagByType($val,$this->tpl->tplPath); } $this->tpl->setVariable("TEXT_CONTENT", $val); $this->tpl->parseCurrentBlock(); $this->tpl->setCurrentBlock("table_cell"); $this->tpl->parseCurrentBlock(); } //foreach $this->tpl->setVariable("BTN_VALUE", $this->lng->txt("save")); $this->tpl->setCurrentBlock("tbl_content"); $this->tpl->setVariable("CSS_ROW", $css_row); $this->tpl->parseCurrentBlock(); } //for } //if is_array }
& ilObjTypeDefinitionGUI::executeCommand | ( | ) |
execute command
Reimplemented from ilObjectGUI.
Definition at line 421 of file class.ilObjTypeDefinitionGUI.php.
References $cmd.
ilObjTypeDefinitionGUI::getTabs | ( | &$ | tabs_gui | ) |
get tabs public
object | tabs gui object |
Reimplemented from ilObjectGUI.
Definition at line 446 of file class.ilObjTypeDefinitionGUI.php.
References $rbacsystem.
{ global $rbacsystem; if ($rbacsystem->checkAccess('edit_permission',$this->object->getRefId())) { $tabs_gui->addTarget("settings", $this->ctrl->getLinkTarget($this, "view"), array("view",""), "", ""); $tabs_gui->addTarget("edit_operations", $this->ctrl->getLinkTarget($this, "edit"), "edit", "", ""); } }
ilObjTypeDefinitionGUI::ilObjTypeDefinitionGUI | ( | $ | a_data, | |
$ | a_id, | |||
$ | a_call_by_reference | |||
) |
Constructor.
public
Definition at line 46 of file class.ilObjTypeDefinitionGUI.php.
References ilObjectGUI::ilObjectGUI().
{ $this->type = "typ"; $this->ilObjectGUI($a_data,$a_id,$a_call_by_reference); }
ilObjTypeDefinitionGUI::saveObject | ( | ) |
save (de-)activation of operations on object
public
Reimplemented from ilObjectGUI.
Definition at line 222 of file class.ilObjTypeDefinitionGUI.php.
References $_GET, $_POST, $ops_id, $rbacadmin, $rbacreview, $rbacsystem, exit, and sendInfo().
{ global $rbacsystem, $rbacadmin, $rbacreview; if (!$rbacsystem->checkAccess('edit_permission', $_GET["ref_id"])) { $this->ilias->raiseError($this->lng->txt("permission_denied"),$this->ilias->error_obj->WARNING); } $ops_valid = $rbacreview->getOperationsOnType($_GET["obj_id"]); foreach ($_POST["id"] as $ops_id => $status) { if ($status == 'enabled') { if (!in_array($ops_id,$ops_valid)) { $rbacadmin->assignOperationToObject($_GET["obj_id"],$ops_id); } } if ($status == 'disabled') { if (in_array($ops_id,$ops_valid)) { $rbacadmin->deassignOperationFromObject($_GET["obj_id"],$ops_id); } } } $this->update = $this->object->update(); sendInfo($this->lng->txt("saved_successfully"),true); header("Location: adm_object.php?ref_id=".$_GET["ref_id"]."&obj_id=".$_GET["obj_id"]); exit(); }
ilObjTypeDefinitionGUI::viewObject | ( | ) |
list operations of object type public
Reimplemented from ilObjectGUI.
Definition at line 56 of file class.ilObjTypeDefinitionGUI.php.
References $_GET, $key, $list, $rbacadmin, $rbacreview, displayList(), getOperationList(), and ilUtil::sortArray().
{ global $rbacadmin, $rbacreview; //prepare objectlist $this->data = array(); $this->data["data"] = array(); $this->data["ctrl"] = array(); $this->data["cols"] = array("type", "operation", "description", "status"); $ops_valid = $rbacreview->getOperationsOnType($_GET["obj_id"]); if ($list = getOperationList("",$_GET["order"], $_GET["direction"])) { foreach ($list as $key => $val) { if (in_array($val["ops_id"],$ops_valid)) { $ops_status = 'enabled'; } else { $ops_status = 'disabled'; } //visible data part $this->data["data"][] = array( "type" => "perm", "operation" => $val["operation"], "description" => $val["desc"], "status" => $ops_status, "obj_id" => $val["ops_id"] ); } } //if typedata $this->maxcount = count($this->data["data"]); // sorting array $this->data["data"] = ilUtil::sortArray($this->data["data"],$_GET["sort_by"],$_GET["sort_order"]); // now compute control information foreach ($this->data["data"] as $key => $val) { $this->data["ctrl"][$key] = array( "obj_id" => $val["obj_id"], "type" => $val["type"] ); unset($this->data["data"][$key]["obj_id"]); } $this->displayList(); }