Public Member Functions

ilObjTypeDefinitionGUI Class Reference

Inheritance diagram for ilObjTypeDefinitionGUI:
Collaboration diagram for ilObjTypeDefinitionGUI:

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

Detailed Description

Definition at line 39 of file class.ilObjTypeDefinitionGUI.php.


Member Function Documentation

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
        }

Here is the call graph for this function:

Here is the caller graph for this function:

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
        }

Here is the call graph for this function:

& ilObjTypeDefinitionGUI::executeCommand (  ) 

execute command

Reimplemented from ilObjectGUI.

Definition at line 421 of file class.ilObjTypeDefinitionGUI.php.

References $cmd.

        {
                $next_class = $this->ctrl->getNextClass($this);
                $cmd = $this->ctrl->getCmd();

                switch($next_class)
                {
                        default:
                                if(!$cmd)
                                {
                                        $cmd = "view";
                                }
                                $cmd .= "Object";
                                $this->$cmd();

                                break;
                }
                return true;
        }

ilObjTypeDefinitionGUI::getTabs ( &$  tabs_gui  ) 

get tabs public

Parameters:
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);
        }

Here is the call graph for this function:

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();
        }

Here is the call graph for this function:

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();   
        }

Here is the call graph for this function:


The documentation for this class was generated from the following file: