ILIAS  release_4-3 Revision
 All Data Structures Namespaces Files Functions Variables Groups Pages
ilMailExplorer Class Reference

Class Mail Explorer class for explorer view for mailboxes. More...

+ Inheritance diagram for ilMailExplorer:
+ Collaboration diagram for ilMailExplorer:

Public Member Functions

 __construct ($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.
 getImage ($a_name, $a_type="", $a_obj_id="")
 get image path (may be overwritten by derived classes)
- Public Member Functions inherited from ilExplorer
 ilExplorer ($a_target)
 Constructor public.
 setId ($a_val)
 Set id.
 getId ()
 Get id.
 setAsynchExpanding ($a_val)
 Set asynch expanding.
 getAsynchExpanding ()
 Get asynch expanding.
 initItemCounter ($a_number)
 Init item counter.
 setTitle ($a_val)
 Set title.
 setTitleLength ($a_length)
 Set max title length.
 getTitleLength ()
 Get max title length.
 getTitle ()
 Get title.
 setRoot ($a_root_id)
 Set root node.
 getRoot ()
 get root id
 setOrderColumn ($a_column)
 set the order column public
 setOrderDirection ($a_direction)
 set the order direction public
 setTargetGet ($a_target_get)
 set the varname in Get-string public
 setParamsGet ($a_params_get)
 set additional params to be passed in Get-string public
 setExpandTarget ($a_exp_target)
 target script for expand icons
 setFrameUpdater ($a_up_frame, $a_up_script, $a_params="")
 Set Explorer Updater.
 highlightNode ($a_id)
 set highlighted node
 checkPermissions ($a_check)
 check permissions via rbac
 setSessionExpandVariable ($a_var_name="expand")
 set name of expand session variable
 outputIcons ($a_icons)
 output icons
 setClickable ($a_type, $a_clickable)
 (de-)activates links for a certain object type
 isVisible ($a_ref_id, $a_type)
 setTreeLead ($a_val)
 Set tree leading content.
 getTreeLead ()
 Get tree leading content.
 isClickable ($a_type, $a_ref_id=0)
 check if links for certain object type are activated
 setPostSort ($a_sort)
 process post sorting
 setFilterMode ($a_mode=IL_FM_NEGATIVE)
 set filter mode
 getFilterMode ()
 get filter mode
 setUseStandardFrame ($a_val)
 Set use standard frame.
 getUseStandardFrame ()
 Get use standard explorer frame.
 getChildsOfNode ($a_parent_id)
 Get childs of node.
 setOutput ($a_parent_id, $a_depth=1, $a_obj_id=0, $a_highlighted_subtree=false)
 Creates output for explorer view in admin menue recursive method public.
 modifyChilds ($a_parent_id, $a_objects)
 showChilds ($a_parent_id)
 determines wether the childs of an object should be shown or not note: this standard implementation always returns true but it could be overwritten by derived classes (e.g.
 forceExpanded ($a_obj_id)
 force expansion of node
 getMaximumTreeDepth ()
 Get maximum tree depth.
 handleListEndTags (&$a_tpl_tree, $a_cur_depth, $a_item_depth)
 handle list end tags ( and )
 handleListStartTags (&$a_tpl_tree, $a_cur_depth, $a_item_depth)
 handle list start tags (
 formatHeader (&$tpl, $a_obj_id, $a_option)
 Creates output for header (is empty here but can be overwritten in derived classes)
 formatObject (&$tpl, $a_node_id, $a_option, $a_obj_id=0)
 Creates output recursive method private.
 getImageAlt ($a_default_text, $a_type="", $a_obj_id="")
 get image alt text
 getNodeStyleClass ($a_id, $a_type)
 get style class for node
 buildLinkTarget ($a_node_id, $a_type)
 get link target (may be overwritten by derived classes)
 buildOnClick ($a_node_id, $a_type, $a_title)
 get onclick event handling (may be overwritten by derived classes)
 buildTitle ($a_title, $a_id, $a_type)
 standard implementation for title, may be overwritten by derived classes
 buildDescription ($a_desc, $a_id, $a_type)
 standard implementation for description, may be overwritten by derived classes
 buildSelect ($a_node_id, $a_type)
 standard implementation for adding an option select box between image and title
 buildFrameTarget ($a_type, $a_child=0, $a_obj_id=0)
 get frame target (may be overwritten by derived classes)
 createTarget ($a_type, $a_node_id, $a_highlighted_subtree=false, $a_append_anch=true)
 Creates Get Parameter private.
 setFrameTarget ($a_target)
 set target frame or not frame?
 createLines ($a_depth)
 Creates lines for explorer view private.
 is_in_array ($a_start, $a_depth)
 DESCRIPTION MISSING private.
 getIndex ($a_data)
 get index of format_options array from specific ref_id,parent_id private
 addFilter ($a_item)
 adds item to the filter public
 delFilter ($a_item)
 removes item from the filter public
 forceExpandAll ($a_mode, $a_show_minus=true)
 force expandAll.
 setFiltered ($a_bool)
 active/deactivate the filter public
 checkFilter ($a_item)
 check if item is in filter private
 sortNodes ($a_nodes, $a_parent_obj_id)
 sort nodes and put adm object to the end of sorted array private

Data Fields

 $user_id
 $root_id
- Data Fields inherited from ilExplorer
 $id
 $ilias
 $output
 $format_options
 $tree
 $target
 $target_get
 $params_get
 $expanded
 $order_column
 $order_direction = "asc"
 $expand_target
 $rbac_check
 $output_icons
 $expand_variable
 $is_clickable
 $post_sort
 $filtered = false
 $filter_mode
 $expand_all = false
 $root_id = null
 $use_standard_frame = false

Detailed Description

Class Mail Explorer class for explorer view for mailboxes.

Author
Stefan Meyer meyer.nosp@m.@lei.nosp@m.fos.c.nosp@m.om
Version
$Id$

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

Constructor & Destructor Documentation

ilMailExplorer::__construct (   $a_target,
  $a_user_id 
)

Constructor public.

Parameters
stringscriptname
intuser_id

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

{
parent::__construct($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;
}

Member Function Documentation

ilMailExplorer::createTarget (   $a_type,
  $a_child 
)

Creates Get Parameter private.

Parameters
string
integer
Returns
string

Definition at line 237 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 eregi_replace("(mexpand=)(-?[0-9]+)", "\\1".$a_child, $_SERVER["REQUEST_URI"]);
}
ilMailExplorer::formatHeader (   $a_obj_id,
  $a_option 
)

method to create a mail system specific header public

Parameters
integerobj_id
integerarray options
Returns
string

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

Referenced by getOutput().

{
}

+ Here is the caller graph for this function:

ilMailExplorer::getImage (   $a_name,
  $a_type = "",
  $a_obj_id = "" 
)

get image path (may be overwritten by derived classes)

Reimplemented from ilExplorer.

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

References ilUtil\getImagePath().

{
if ($a_type) return ilUtil::getImagePath("icon_".$a_type."_s.png");
else return ilUtil::getImagePath($a_name);
}

+ Here is the call graph for this function:

ilMailExplorer::getOutput ( )

Creates output overwritten method from class Explorer public.

Returns
string

Reimplemented from ilExplorer.

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

References $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->setBodyClass("il_Explorer");
$tpl_tree = new ilTemplate("tpl.tree.html", true, true, "Services/UIComponent/Explorer");
$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::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
stringpipe-separated integer

Reimplemented from ilExplorer.

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

References $_SESSION.

{
// 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
integerparent_node_id where to start from (default=0, 'root')
integerdepth level where to start (default=1)
Returns
string

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

References $lng, $tab, and ilExplorer\getIndex().

{
global $lng;
static $counter = 0;
if ($objects = $this->tree->getChilds($a_parent,"title,m_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["m_type"];
$this->format_options["$counter"]["desc"] = $object["m_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 28 of file class.ilMailExplorer.php.

ilMailExplorer::$user_id

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


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