ILIAS  Release_3_10_x_branch Revision 61812
 All Data Structures Namespaces Files Functions Variables Groups Pages
ilBookmarkExplorer Class Reference
+ Inheritance diagram for ilBookmarkExplorer:
+ Collaboration diagram for ilBookmarkExplorer:

Public Member Functions

 ilBookmarkExplorer ($a_target, $a_user_id)
 Constructor public.
 setEnableSmallMode ($a_enablesmallmode)
 Set Enable Small Mode.
 getEnableSmallMode ()
 Get Enable Small Mode.
 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.
 formatObject (&$tpl, $a_node_id, $a_option, $a_obj_id=0)
 Overwritten method from class.Explorer.php to use Tooltips recursive method Creates output recursive method private.
 formatHeader ($a_obj_id, $a_option)
 overwritten method from base class 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
 buildLinkTarget ($a_node_id, $a_type)
 overwritten method from base class get link target
 buildFrameTarget ($a_type, $a_child=0, $a_obj_id=0)
 overwritten method from base class buid link target
 buildToolTip ($a_node_id, $a_type, $a_desc)
 buid tooltip
 setAllowedTypes ($a_types)
 set the alowed object types private
 setShowDetails ($s_details)
 set details mode public
 buildDescription ($a_desc, $a_id, $a_type)
 overwritten method from base class buid decription
- Public Member Functions inherited from ilExplorer
 ilExplorer ($a_target)
 Constructor public.
 initItemCounter ($a_number)
 Init item counter.
 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
 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)
 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
 setOutput ($a_parent_id, $a_depth=1, $a_obj_id=0)
 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
 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)
 getImage ($a_name, $a_type="", $a_obj_id="")
 get image path (may be overwritten by derived classes)
 getImageAlt ($a_default_text, $a_type="", $a_obj_id="")
 get image alt text
 getNodeStyleClass ($a_id, $a_type)
 get style class for node
 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
 buildSelect ($a_node_id, $a_type)
 standard implementation for adding an option select box between image and title
 createTarget ($a_type, $a_node_id)
 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
 $allowed_types
- Data Fields inherited from ilExplorer
 $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

Detailed Description

Definition at line 35 of file class.ilBookmarkExplorer.php.

Member Function Documentation

ilBookmarkExplorer::buildDescription (   $a_desc,
  $a_id,
  $a_type 
)

overwritten method from base class buid decription

Reimplemented from ilExplorer.

Definition at line 494 of file class.ilBookmarkExplorer.php.

Referenced by formatObject().

{
if ($this->show_details=='y' && !empty($a_desc))
{
return '<br />'.ilUtil::prepareFormOutput($a_desc);
}
else
{
return "";
}
}

+ Here is the caller graph for this function:

ilBookmarkExplorer::buildFrameTarget (   $a_type,
  $a_child = 0,
  $a_obj_id = 0 
)

overwritten method from base class buid link target

Reimplemented from ilExplorer.

Definition at line 444 of file class.ilBookmarkExplorer.php.

Referenced by formatObject().

{
switch ($a_type) {
case 'bm':
// return _blank for Bookmarks;
return '_blank';
break;
default:
return '';
}
}

+ Here is the caller graph for this function:

ilBookmarkExplorer::buildLinkTarget (   $a_node_id,
  $a_type 
)

overwritten method from base class get link target

Reimplemented from ilExplorer.

Definition at line 426 of file class.ilBookmarkExplorer.php.

References ilExplorer\$target.

Referenced by formatObject().

{
switch ($a_type) {
case 'bm':
// return stored Bookmark target;
return htmlentities($this->bm_targets[$a_node_id]);
break;
default:
$target = (strpos($this->target, "?") === false)
? $this->target."?"
: $this->target."&";
return $target.$this->target_get."=".$a_node_id.$this->params_get;
}
}

+ Here is the caller graph for this function:

ilBookmarkExplorer::buildToolTip (   $a_node_id,
  $a_type,
  $a_desc 
)

buid tooltip

Definition at line 459 of file class.ilBookmarkExplorer.php.

Referenced by formatObject().

{
if ($this->show_details!='y' && !empty($a_desc))
{
return $a_desc;
}
else
{
return "";
}
}

+ Here is the caller graph for this function:

ilBookmarkExplorer::formatHeader (   $a_obj_id,
  $a_option 
)

overwritten method from base class public

Parameters
integerobj_id
integerarray options
Returns
string

Definition at line 377 of file class.ilBookmarkExplorer.php.

References ilExplorer\$ilias, $lng, and $tpl.

{
global $lng, $ilias;
$tpl->setCurrentBlock("link");
$tpl->setVariable("TYPE", $a_option["type"]);
$tpl->setVariable("TITLE", $lng->txt("bookmarks_of")." ".$ilias->account->getFullname());
$sep = (is_int(strpos($this->target, "?")))
? "&"
: "?";
$tpl->setVariable("LINK_TARGET", $this->target.$sep.$this->target_get."=1");
$tpl->setVariable("TARGET", " target=\"content\"");
$tpl->parseCurrentBlock();
$tpl->setCurrentBlock("element");
$tpl->parseCurrentBlock();
}
ilBookmarkExplorer::formatObject ( $tpl,
  $a_node_id,
  $a_option,
  $a_obj_id = 0 
)

Overwritten method from class.Explorer.php to use Tooltips recursive method Creates output recursive method private.

Parameters
integer
array
Returns
string

Reimplemented from ilExplorer.

Definition at line 246 of file class.ilBookmarkExplorer.php.

References $lng, ilExplorer\$target, $tpl, buildDescription(), buildFrameTarget(), buildLinkTarget(), ilExplorer\buildOnClick(), ilExplorer\buildTitle(), buildToolTip(), ilExplorer\createTarget(), getEnableSmallMode(), ilExplorer\getImage(), ilExplorer\isClickable(), ilUtil\prepareFormOutput(), and ilUtil\shortenText().

Referenced by getOutput().

{
global $lng;
if (!isset($a_node_id) or !is_array($a_option))
{
$this->ilias->raiseError(get_class($this)."::formatObject(): Missing parameter or wrong datatype! ".
"node_id: ".$a_node_id." options:".var_dump($a_option),$this->ilias->error_obj->WARNING);
}
$pic = false;
foreach ($a_option["tab"] as $picture)
{
//$tpl->touchBlock("checkbox");
//$tpl->parseCurrentBlock();
if ($picture == 'plus')
{
$tpl->setCurrentBlock("exp_desc");
$tpl->setVariable("EXP_DESC", $lng->txt("expand"));
$tpl->parseCurrentBlock();
$target = $this->createTarget('+',$a_node_id);
$tpl->setCurrentBlock("expander");
$tpl->setVariable("LINK_NAME", $a_node_id);
$tpl->setVariable("LINK_TARGET_EXPANDER", $target);
$tpl->setVariable("IMGPATH", $this->getImage("browser/plus.gif"));
$tpl->parseCurrentBlock();
$pic = true;
}
if ($picture == 'minus')
{
$tpl->setCurrentBlock("exp_desc");
$tpl->setVariable("EXP_DESC", $lng->txt("collapse"));
$tpl->parseCurrentBlock();
$target = $this->createTarget('-',$a_node_id);
$tpl->setCurrentBlock("expander");
$tpl->setVariable("LINK_NAME", $a_node_id);
$tpl->setVariable("LINK_TARGET_EXPANDER", $target);
$tpl->setVariable("IMGPATH", $this->getImage("browser/minus.gif"));
$tpl->parseCurrentBlock();
$pic = true;
}
/*
if ($picture == 'blank' or $picture == 'winkel'
or $picture == 'hoch' or $picture == 'quer' or $picture == 'ecke')
{
$picture = "blank";
$tpl->setCurrentBlock("lines");
$tpl->setVariable("IMGPATH_LINES", $this->getImage("browser/".$picture.".gif"));
$tpl->parseCurrentBlock();
}
*/
}
if (!$pic)
{
$tpl->setCurrentBlock("blank");
$tpl->setVariable("BLANK_PATH", $this->getImage("browser/blank.gif"));
$tpl->parseCurrentBlock();
}
if ($this->output_icons)
{
$small = ($this->getEnableSmallMode())
? "_s"
: "";
$small = "_s";
$tpl->setCurrentBlock("icon");
$tpl->setVariable("ICON_IMAGE" , $this->getImage("icon_".$a_option["type"].$small.".gif", $a_option["type"], $a_obj_id));
$tpl->setVariable("TARGET_ID" , "iconid_".$a_node_id);
$this->iconList[] = "iconid_".$a_node_id;
$tpl->setVariable("TXT_ALT_IMG", $lng->txt($a_option["type"]));
$tpl->parseCurrentBlock();
}
if ($this->isClickable($a_option["type"], $a_node_id,$a_obj_id)) // output link
{
$tpl->setCurrentBlock("link");
//$target = (strpos($this->target, "?") === false) ?
// $this->target."?" : $this->target."&";
//$tpl->setVariable("LINK_TARGET", $target.$this->target_get."=".$a_node_id.$this->params_get);
$tpl->setVariable("LINK_TARGET", $this->buildLinkTarget($a_node_id, $a_option["type"]));
if (($onclick = $this->buildOnClick($a_node_id, $a_option["type"], $a_option["title"])) != "")
{
$tpl->setVariable("ONCLICK", "onClick=\"$onclick\"");
}
if (($tooltip = $this->buildToolTip($a_node_id, $a_option["type"],$a_option["description"])) != "")
{
$tpl->setVariable("TOOLTIP", 'title="'.ilUtil::prepareFormOutput($tooltip).'"');
}
$tpl->setVariable("LINK_NAME", $a_node_id);
$this->buildTitle($a_option["title"], $a_node_id, $a_option["type"]),
$this->textwidth, true)));
$tpl->setVariable("DESC",
$this->buildDescription($a_option["description"], $a_node_id, $a_option["type"]));
$frame_target = $this->buildFrameTarget($a_option["type"], $a_node_id, $a_option["obj_id"]);
if ($frame_target != "")
{
$tpl->setVariable("TARGET", " target=\"".$frame_target."\"");
}
$tpl->parseCurrentBlock();
}
else // output text only
{
$tpl->setCurrentBlock("text");
$this->buildTitle($a_option["title"], $a_node_id, $a_option["type"]), $this->textwidth, true)));
$tpl->setVariable("OBJ_DESC",
$this->buildDescription($a_option["description"], $a_node_id, $a_option["type"]));
$tpl->parseCurrentBlock();
}
$tpl->setCurrentBlock("list_item");
if ($this->getEnableSmallMode())
{
$tpl->setVariable("DIVCLASS", ' class="small" ');
}
$tpl->parseCurrentBlock();
$tpl->touchBlock("element");
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilBookmarkExplorer::getEnableSmallMode ( )

Get Enable Small Mode.

Returns
boolean Enable Small Mode

Definition at line 90 of file class.ilBookmarkExplorer.php.

Referenced by formatObject().

{
return $this->enablesmallmode;
}

+ Here is the caller graph for this function:

ilBookmarkExplorer::getOutput ( )

Creates output overwritten method from class Explorer public.

Returns
string

Reimplemented from ilExplorer.

Definition at line 101 of file class.ilBookmarkExplorer.php.

References $ilBench, $tpl, ilExplorer\createLines(), formatObject(), ilExplorer\handleListEndTags(), and ilExplorer\handleListStartTags().

{
global $ilBench, $tpl;
$this->format_options[0]["tab"] = array();
$depth = $this->tree->getMaximumDepth();
for ($i=0;$i<$depth;++$i)
{
$this->createLines($i);
}
$tpl_tree = new ilTemplate("tpl.tree_tooltip.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,$options['obj_id']);
}
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:

ilBookmarkExplorer::ilBookmarkExplorer (   $a_target,
  $a_user_id 
)

Constructor public.

Parameters
stringscriptname
intuser_id

Definition at line 64 of file class.ilBookmarkExplorer.php.

References ilExplorer\ilExplorer().

{
parent::ilExplorer($a_target);
$this->tree = new ilTree($a_user_id);
$this->tree->setTableNames('bookmark_tree','bookmark_data');
$this->root_id = $this->tree->readRootId();
$this->user_id = $a_user_id;
$this->allowed_types= array ('bmf','dum');
$this->enablesmallmode = false;
}

+ Here is the call graph for this function:

ilBookmarkExplorer::setAllowedTypes (   $a_types)

set the alowed object types private

Parameters
arrayarraye of object types

Definition at line 476 of file class.ilBookmarkExplorer.php.

Referenced by ilBookmarkAdministrationGUI\explorer(), and ilBookmarkBlockGUI\getPDBookmarkListHTMLTree().

{
$this->allowed_types = $a_types;
}

+ Here is the caller graph for this function:

ilBookmarkExplorer::setEnableSmallMode (   $a_enablesmallmode)

Set Enable Small Mode.

Parameters
boolean$a_enablesmallmodeEnable Small Mode

Definition at line 80 of file class.ilBookmarkExplorer.php.

{
$this->enablesmallmode = $a_enablesmallmode;
}
ilBookmarkExplorer::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 402 of file class.ilBookmarkExplorer.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"];
}
ilBookmarkExplorer::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 157 of file class.ilBookmarkExplorer.php.

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

{
global $lng;
static $counter = 0;
if ($objects = $this->tree->getChilds($a_parent,"type DESC,title"))
{
// 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"]);
//$objects[$i]["title"] = "TEEST";
}
}
foreach ($objects as $key => $object)
{
if (!in_array($object["type"],$this->allowed_types))
{
continue;
}
//ask for FILTER
if ($object["child"] != $this->root_id)
{
//$data = $this->tree->getParentNodeData($object["child"]);
$parent_index = $this->getIndex($object);
}
// Store targets for Bookmarks
if ($object["type"]=='bm') {
$this->bm_targets[$object["child"]]=$object["target"];
};
$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"]["description"] = $object["description"];
$this->format_options["$counter"]["type"] = $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';
}
// 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:

ilBookmarkExplorer::setShowDetails (   $s_details)

set details mode public

Parameters
stringy or n

Definition at line 485 of file class.ilBookmarkExplorer.php.

{
$this->show_details = $s_details;
}

Field Documentation

ilBookmarkExplorer::$allowed_types

Definition at line 56 of file class.ilBookmarkExplorer.php.

ilBookmarkExplorer::$root_id

Definition at line 49 of file class.ilBookmarkExplorer.php.

ilBookmarkExplorer::$user_id

Definition at line 42 of file class.ilBookmarkExplorer.php.


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