Public Member Functions | Data Fields

ilMailExplorer Class Reference

Inheritance diagram for ilMailExplorer:
Collaboration diagram for ilMailExplorer:

Public Member Functions

 ilMailExplorer ($a_target, $a_user_id)
 Constructor public.
 getOutput ()
 Creates output overwritten method from class Explorer public.
 setOutput ($a_parent, $a_depth=1)
 Overwritten method from class.Explorer.php to avoid checkAccess selects recursive method public.
 formatHeader ($a_obj_id, $a_option)
 method to create a mail system specific header public
 setExpand ($a_node_id)
 set the expand option this value is stored in a SESSION variable to save it different view (lo view, frm view,...) private
 createTarget ($a_type, $a_child)
 Creates Get Parameter private.

Data Fields

 $user_id
 $root_id

Detailed Description

Definition at line 36 of file class.ilMailExplorer.php.


Member Function Documentation

ilMailExplorer::createTarget ( a_type,
a_child 
)

Creates Get Parameter private.

Parameters:
string 
integer 
Returns:
string

Reimplemented from ilExplorer.

Definition at line 259 of file class.ilMailExplorer.php.

        {
                // SET expand parameter:
                //     positive if object is expanded
                //     negative if object is compressed
                $a_child = $a_type == '+' ? $a_child : -(int) $a_child;

                return $_SERVER["PATH_INFO"]."?mexpand=".$a_child;
        }

ilMailExplorer::formatHeader ( a_obj_id,
a_option 
)

method to create a mail system specific header public

Parameters:
integer obj_id
integer array options
Returns:
string

Definition at line 222 of file class.ilMailExplorer.php.

Referenced by getOutput().

        {
        }

Here is the caller graph for this function:

ilMailExplorer::getOutput (  ) 

Creates output overwritten method from class Explorer public.

Returns:
string

Reimplemented from ilExplorer.

Definition at line 73 of file class.ilMailExplorer.php.

References $key, $tpl, ilExplorer::createLines(), formatHeader(), ilExplorer::formatObject(), ilExplorer::handleListEndTags(), and ilExplorer::handleListStartTags().

        {
                global $tpl;
                
                $this->format_options[0]["tab"] = array();
                
                $depth = $this->tree->getMaximumDepth();
                
                for ($i=0;$i<$depth;++$i)
                {
                        $this->createLines($i);
                }
                
                $tpl->addBlockFile("EXPLORER_TOP", "exp_top", "tpl.explorer_top.html");
                
                // set global body class
                $tpl->setVariable("BODY_CLASS", "il_Explorer");
                
                $tpl_tree = new ilTemplate("tpl.tree.html", true, true);
                
                $cur_depth = -1;

                foreach ($this->format_options as $key => $options)
                {
                        if (!$options["visible"])
                        {
                                continue;
                        }

                        // end tags
                        $this->handleListEndTags($tpl_tree, $cur_depth, $options["depth"]);
                        
                        // start tags
                        $this->handleListStartTags($tpl_tree, $cur_depth, $options["depth"]);
                        
                        $cur_depth = $options["depth"];

                        if ($options["visible"] and $key != 0)
                        {
                                $this->formatObject($tpl_tree, $options["child"],$options);
                        }
                        if($key == 0)
                        {
                                $this->formatHeader($tpl_tree, $options["child"],$options);
                        }
                }
                
                $this->handleListEndTags($tpl_tree, $cur_depth, -1);
                
                return $tpl_tree->get();
        }

Here is the call graph for this function:

ilMailExplorer::ilMailExplorer ( a_target,
a_user_id 
)

Constructor public.

Parameters:
string scriptname
int user_id

Definition at line 58 of file class.ilMailExplorer.php.

References ilExplorer::ilExplorer().

        {
                parent::ilExplorer($a_target);
                $this->tree = new ilTree($a_user_id);
                $this->tree->setTableNames('mail_tree','mail_obj_data');
                $this->root_id = $this->tree->readRootId();
                $this->user_id = $a_user_id;
        }

Here is the call graph for this function:

ilMailExplorer::setExpand ( a_node_id  ) 

set the expand option this value is stored in a SESSION variable to save it different view (lo view, frm view,...) private

Parameters:
string pipe-separated integer

Reimplemented from ilExplorer.

Definition at line 232 of file class.ilMailExplorer.php.

References $_SESSION, and $key.

        {
                // IF ISN'T SET CREATE SESSION VARIABLE
                if(!is_array($_SESSION["mexpand"]))
                {
                        $_SESSION["mexpand"] = array();
                }
                // IF $_GET["expand"] is positive => expand this node
                if($a_node_id > 0 && !in_array($a_node_id,$_SESSION["mexpand"]))
                {
                        array_push($_SESSION["mexpand"],$a_node_id);
                }
                // IF $_GET["expand"] is negative => compress this node
                if($a_node_id < 0)
                {
                        $key = array_keys($_SESSION["mexpand"],-(int) $a_node_id);
                        unset($_SESSION["mexpand"][$key[0]]);
                }
                $this->expanded = $_SESSION["mexpand"];
        }

ilMailExplorer::setOutput ( a_parent,
a_depth = 1 
)

Overwritten method from class.Explorer.php to avoid checkAccess selects recursive method public.

Parameters:
integer parent_node_id where to start from (default=0, 'root')
integer depth level where to start (default=1)
Returns:
string

Definition at line 135 of file class.ilMailExplorer.php.

References $counter, $key, $lng, $tab, and ilExplorer::getIndex().

        {
                global $lng;
                static $counter = 0;

                if ($objects =  $this->tree->getChilds($a_parent,"title,type"))
                {
//                      var_dump("<pre>",$objects,"</pre");
                        $tab = ++$a_depth - 2;
                        
                        if($a_depth < 4)
                        {
                                for($i=0;$i<count($objects);++$i)
                                {
                                        $objects[$i]["title"] = $lng->txt("mail_".$objects[$i]["title"]);
                                }
                        }

                        foreach ($objects as $key => $object)
                        {
                                //ask for FILTER
                                if ($object["child"] != $this->root_id)
                                {
                                        //$data = $this->tree->getParentNodeData($object["child"]);
                                        $parent_index = $this->getIndex($object);
                                }
                                $this->format_options["$counter"]["parent"] = $object["parent"];
                                $this->format_options["$counter"]["child"] = $object["child"];
                                $this->format_options["$counter"]["title"] = $object["title"];
                                $this->format_options["$counter"]["type"] = $object["type"];
                                $this->format_options["$counter"]["desc"] = $object["type"];
                                $this->format_options["$counter"]["depth"] = $tab;
                                $this->format_options["$counter"]["container"] = false;
                                $this->format_options["$counter"]["visible"]      = true;

                                // Create prefix array
                                for ($i = 0; $i < $tab; ++$i)
                                {
                                        $this->format_options["$counter"]["tab"][] = 'blank';
                                }
                                
                                // fix explorer (sometimes explorer disappears)
                                if ($parent_index == 0)
                                {
                                        if (!in_array($object["parent"], $this->expanded))
                                        {
                                                $this->expanded[] = $object["parent"];
                                        }
                                }
                                
                                // only if parent is expanded and visible, object is visible
                                if ($object["child"] != $this->root_id  and (!in_array($object["parent"],$this->expanded) 
                                                                                                                  or !$this->format_options["$parent_index"]["visible"]))
                                {
                                        $this->format_options["$counter"]["visible"] = false;
                                }
                                
                                // if object exists parent is container
                                if ($object["child"] != $this->root_id)
                                {
                                        $this->format_options["$parent_index"]["container"] = true;

                                        if (in_array($object["parent"],$this->expanded))
                                        {
                                                $this->format_options["$parent_index"]["tab"][($tab-2)] = 'minus';
                                        }
                                        else
                                        {
                                                $this->format_options["$parent_index"]["tab"][($tab-2)] = 'plus';
                                        }
                                }

                                ++$counter;

                                // Recursive
                                $this->setOutput($object["child"],$a_depth);
                        } //foreach
                } //if
        } //function

Here is the call graph for this function:


Field Documentation

ilMailExplorer::$root_id

Definition at line 50 of file class.ilMailExplorer.php.

ilMailExplorer::$user_id

Definition at line 43 of file class.ilMailExplorer.php.


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