ILIAS  Release_4_4_x_branch Revision 61816
 All Data Structures Namespaces Files Functions Variables Groups Pages
ilLMTOCExplorerGUI Class Reference

LM editor explorer GUI class. More...

+ Inheritance diagram for ilLMTOCExplorerGUI:
+ Collaboration diagram for ilLMTOCExplorerGUI:

Public Member Functions

 __construct ($a_parent_obj, $a_parent_cmd, ilLMPresentationGUI $a_lm_pres, $a_lang="-")
 Constructor.
 setHighlightNode ($a_val)
 Set highlighted node.
 getHighlightNode ()
 Get highlighted node.
 isNodeHighlighted ($a_node)
 Is node highlighted?
 getNodeContent ($a_node)
 Get node content.
 getNodeIcon ($a_node)
 Get node icon.
 isNodeClickable ($a_node)
 Is node clickable.
 getNodeIconAlt ($a_node)
 Get node icon alt text.
 getNodeHref ($a_node)
 Get href for node.
 isNodeVisible ($a_node)
 Is node visible?
- Public Member Functions inherited from ilLMExplorerGUI
 __construct ($a_parent_obj, $a_parent_cmd, ilObjContentObject $a_lm)
 Constructor.
 beforeRendering ()
 Before rendering.
- Public Member Functions inherited from ilTreeExplorerGUI
 __construct ($a_expl_id, $a_parent_obj, $a_parent_cmd, $a_tree)
 Constructor.
 getTree ()
 Get tree.
 setOrderField ($a_val, $a_numeric=false)
 Set order field.
 getOrderField ()
 Get order field.
 setTypeWhiteList ($a_val)
 Set type white list.
 getTypeWhiteList ()
 Get type white list.
 setTypeBlackList ($a_val)
 Set type black list.
 getTypeBlackList ()
 Get type black list.
 setPreloadChilds ($a_val)
 Set preload childs.
 getPreloadChilds ()
 Get preload childs.
 getSuccessorNode ($a_node_id, $a_type="")
 Get successor node (currently only(!) based on lft/rgt tree values)
 getChildsOfNode ($a_parent_node_id)
 Get childs of node.
 getNodeId ($a_node)
 Get id for node.
 getRootNode ()
 Get root node.
 setPathOpen ($a_id)
 Set node path to be opened.
 getHTML ()
 Get HTML.
- Public Member Functions inherited from ilExplorerBaseGUI
 __construct ($a_expl_id, $a_parent_obj, $a_parent_cmd)
 Constructor.
 nodeHasVisibleChilds ($a_node)
 Node has childs?
 sortChilds ($a_childs, $a_parent_node_id)
 Sort childs.
 getNodeTarget ($a_node)
 Get node target (frame) attribute.
 getNodeOnClick ($a_node)
 Get node onclick attribute.
 getId ()
 Get id of explorer element.
 setSkipRootNode ($a_val)
 Set skip root node.
 getSkipRootNode ()
 Get skip root node.
 setAjax ($a_val)
 Set ajax.
 getAjax ()
 Get ajax.
 setNodeOpen ($a_id)
 Set node to be opened (additional custom opened node, not standard expand behaviour)
 setSelectMode ($a_postvar, $a_multi=false)
 Set select mode (to deactivate, pass an empty string as postvar)
 setNodeSelected ($a_id)
 Set node to be opened (additional custom opened node, not standard expand behaviour)
 setOfflineMode ($a_val)
 Set offline mode.
 getOfflineMode ()
 Get offline mode.
 handleCommand ()
 Handle explorer internal command.
 getContainerId ()
 Get container id.
 openNode ()
 Open node.
 closeNode ()
 Close node.
 getNodeAsync ()
 Get node asynchronously.
 renderNode ($a_node, $tpl)
 Render node.
 renderChilds ($a_node_id, $tpl)
 Render childs.
 getDomNodeIdForNodeId ($a_node_id)
 Get DOM node id for node id.
 getNodeIdForDomNodeId ($a_dom_node_id)
 Get node id for dom node id.
 listItemStart ($tpl, $a_node)
 List item start.
 listItemEnd ($tpl)
 List item end.
 listStart ($tpl)
 List start.
 listEnd ($tpl)
 List end.

Protected Attributes

 $lang
 $highlight_node
- Protected Attributes inherited from ilLMExplorerGUI
 $lp_cache
 $cnt_lmobj
- Protected Attributes inherited from ilTreeExplorerGUI
 $tree = null
 $order_field = ""
 $order_field_numeric = false
 $type_white_list = array()
 $type_black_list = array()
 $childs = array()
 $preloaded = false
 $preload_childs = false
 $root_node_data = null
 $all_childs = array()
- Protected Attributes inherited from ilExplorerBaseGUI
 $skip_root_node = false
 $ajax = false
 $custom_open_nodes = array()
 $selected_nodes = array()
 $select_postvar = ""
 $offline_mode = false

Additional Inherited Members

- Static Public Member Functions inherited from ilExplorerBaseGUI
static getLocalExplorerJsPath ()
 Get local path of explorer js.
static getLocalJsTreeJsPath ()
 Get local path of jsTree js.
static createHTMLExportDirs ($a_target_dir)
 Create html export directories.
- Protected Member Functions inherited from ilLMExplorerGUI
 checkLPIcon ($a_id)
 Check learning progress icon.
- Static Protected Attributes inherited from ilExplorerBaseGUI
static $js_tree_path = "./Services/UIComponent/Explorer2/lib/jstree-v.pre1.0/jquery.jstree.js"
static $js_expl_path = "./Services/UIComponent/Explorer2/js/Explorer2.js"

Detailed Description

LM editor explorer GUI class.

Author
Alex Killing alex..nosp@m.kill.nosp@m.ing@g.nosp@m.mx.d.nosp@m.e
Version
$Id$

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

Constructor & Destructor Documentation

ilLMTOCExplorerGUI::__construct (   $a_parent_obj,
  $a_parent_cmd,
ilLMPresentationGUI  $a_lm_pres,
  $a_lang = "-" 
)

Constructor.

Parameters
object$a_parent_objparent gui object
string$a_parent_cmdparent cmd
ilLMPresentationGUI$a_lm_preslearning module presentation gui object
string$a_langlanguage

Definition at line 27 of file class.ilLMTOCExplorerGUI.php.

References ilTreeExplorerGUI\setTypeWhiteList().

{
$this->lm_pres = $a_lm_pres;
$this->lm = $this->lm_pres->lm;
parent::__construct($a_parent_obj, $a_parent_cmd, $this->lm);
$this->lm_set = new ilSetting("lm");
$this->lang = $a_lang;
if ($this->lm->getTOCMode() != "pages")
{
$this->setTypeWhiteList(array("st", "du"));
}
}

+ Here is the call graph for this function:

Member Function Documentation

ilLMTOCExplorerGUI::getHighlightNode ( )

Get highlighted node.

Returns
int node id

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

References $highlight_node.

Referenced by isNodeHighlighted().

{
}

+ Here is the caller graph for this function:

ilLMTOCExplorerGUI::getNodeContent (   $a_node)

Get node content.

Parameters
array$a_nodenode array
Returns
string node content

Reimplemented from ilLMExplorerGUI.

Definition at line 82 of file class.ilLMTOCExplorerGUI.php.

References $lang, ilStructureObject\_getPresentationTitle(), ilLMPageObject\_getPresentationTitle(), ilTreeExplorerGUI\getNodeId(), and ilTreeExplorerGUI\getRootNode().

{
if ($a_node["child"] == $this->getNodeId($this->getRootNode()))
{
return $this->lm->getTitle();
}
if ($a_node["type"] == "st")
{
$this->lm->isActiveNumbering(), false, $this->lm->getId(), $this->lang);
}
if ($a_node["type"] == "pg")
{
return ilLMPageObject::_getPresentationTitle($a_node["child"],
$this->lm->getPageHeader(), $this->lm->isActiveNumbering(),
$this->lm_set->get("time_scheduled_page_activation"), true, $this->lm->getId(), $this->lang);
}
return $a_node["title"];
}

+ Here is the call graph for this function:

ilLMTOCExplorerGUI::getNodeHref (   $a_node)

Get href for node.

Parameters
mixed$a_nodenode object/array
Returns
string href attribute

Reimplemented from ilExplorerBaseGUI.

Definition at line 262 of file class.ilLMTOCExplorerGUI.php.

References ilPageObject\_lookupActive(), ilLMObject\getExportId(), ilExplorerBaseGUI\getOfflineMode(), and ilTreeExplorerGUI\getTree().

{
if (!$this->getOfflineMode())
{
return $this->lm_pres->getLink($this->lm->getRefId(), "", $a_node["child"]);
//return parent::buildLinkTarget($a_node_id, $a_type);
}
else
{
if ($a_node["type"] != "pg")
{
// get next activated page
$found = false;
while (!$found)
{
$a_node = $this->getTree()->fetchSuccessorNode($a_node["child"], "pg");
include_once("./Modules/LearningModule/classes/class.ilLMPage.php");
$active = ilLMPage::_lookupActive($a_node["child"], $this->lm->getType(),
$this->lm_set->get("time_scheduled_page_activation"));
if ($a_node["child"] > 0 && !$active)
{
$found = false;
}
else
{
$found = true;
}
}
}
include_once("./Modules/LearningModule/classes/class.ilLMPageObject.php");
if ($nid = ilLMPageObject::getExportId($this->lm->getId(), $a_node["child"]))
{
return "lm_pg_".$nid.".html";
}
return "lm_pg_".$a_node["child"].".html";
}
}

+ Here is the call graph for this function:

ilLMTOCExplorerGUI::getNodeIcon (   $a_node)

Get node icon.

Parameters
array$a_nodenode array
Returns
string icon path

Reimplemented from ilExplorerBaseGUI.

Definition at line 112 of file class.ilLMTOCExplorerGUI.php.

References ilPageObject\_isScheduledActivation(), ilPageObject\_lookupActive(), ilLMExplorerGUI\checkLPIcon(), ilUtil\getImagePath(), and ilExplorerBaseGUI\getOfflineMode().

{
// overwrite chapter icons with lp info?
if(!$this->getOfflineMode() && $a_node["type"] == "st")
{
$icon = $this->checkLPIcon($a_node["child"]);
if ($icon != "")
{
return $icon;
}
}
include_once("./Modules/LearningModule/classes/class.ilLMObject.php");
if ($a_node["type"] == "du")
{
$a_node["type"] = "lm";
}
$a_name = "icon_".$a_node["type"]."_s.png";
if ($a_node["type"] == "pg")
{
include_once("./Modules/LearningModule/classes/class.ilLMPage.php");
$lm_set = new ilSetting("lm");
$active = ilLMPage::_lookupActive($a_node["child"], $this->lm->getType(),
$lm_set->get("time_scheduled_page_activation"));
// is page scheduled?
$img_sc = ($lm_set->get("time_scheduled_page_activation") &&
ilLMPage::_isScheduledActivation($a_node["child"], $this->lm->getType()) && !$active
&& !$this->getOfflineMode())
? "_sc"
: "";
$a_name = "icon_pg".$img_sc."_s.png";
if (!$active && !$this->getOfflineMode())
{
$a_name = "icon_pg_d".$img_sc."_s.png";
}
}
return ilUtil::getImagePath($a_name, false, "output", $this->getOfflineMode());
}

+ Here is the call graph for this function:

ilLMTOCExplorerGUI::getNodeIconAlt (   $a_node)

Get node icon alt text.

Parameters
array$a_nodenode array
Returns
string alt text

Reimplemented from ilTreeExplorerGUI.

Definition at line 252 of file class.ilLMTOCExplorerGUI.php.

{
}
ilLMTOCExplorerGUI::isNodeClickable (   $a_node)

Is node clickable.

Parameters
array$a_nodenode array
Returns
bool clickable?

Reimplemented from ilExplorerBaseGUI.

Definition at line 162 of file class.ilLMTOCExplorerGUI.php.

References $ilUser, $path, ilLMObject\_isPagePublic(), ilPageObject\_lookupActive(), ilPaymentObject\_requiresPurchaseToAccess(), ilExplorerBaseGUI\getOfflineMode(), ilTreeExplorerGUI\getSuccessorNode(), and ilTreeExplorerGUI\getTree().

{
global $ilUser;
$orig_node_id = $a_node["child"];
if ($a_node["type"] == "st")
{
if (!$this->getOfflineMode())
{
if ($this->lm->getTOCMode() != "pages")
{
$a_node = $this->getTree()->fetchSuccessorNode($a_node["child"], "pg");
}
else
{
// faster, but needs pages to be in explorer
$a_node = $this->getSuccessorNode($a_node["child"], "pg");
}
if ($a_node["child"] == 0)
{
return false;
}
}
else
{
// get next activated page
$found = false;
while (!$found)
{
if ($this->lm->getTOCMode() != "pages")
{
$a_node = $this->getTree()->fetchSuccessorNode($a_node["child"], "pg");
}
else
{
$a_node = $this->getSuccessorNode($a_node["child"], "pg");
}
include_once("./Modules/LearningModule/classes/class.ilLMPage.php");
$active = ilLMPage::_lookupActive($a_node["child"], $this->lm->getType(),
$this->lm_set->get("time_scheduled_page_activation"));
if ($a_node["child"] > 0 && !$active)
{
$found = false;
}
else
{
$found = true;
}
}
if ($a_node["child"] <= 0)
{
return false;
}
else
{
$path = $this->getTree()->getPathId($a_node["child"]);
if (!in_array($orig_node_id, $path))
{
return false;
}
}
}
}
if ($a_node["type"] == "pg")
{
// check public area mode
include_once("./Modules/LearningModule/classes/class.ilLMObject.php");
include_once 'Services/Payment/classes/class.ilPaymentObject.php';
if (($ilUser->getId() == ANONYMOUS_USER_ID ||
ilPaymentObject::_requiresPurchaseToAccess((int)$this->lm->getRefId())) &&
!ilLMObject::_isPagePublic($a_node["child"], true))
{
return false;
}
}
return true;
}

+ Here is the call graph for this function:

ilLMTOCExplorerGUI::isNodeHighlighted (   $a_node)

Is node highlighted?

Parameters
mixed$a_nodenode object/array
Returns
boolean node visible true/false

Reimplemented from ilLMExplorerGUI.

Definition at line 67 of file class.ilLMTOCExplorerGUI.php.

References getHighlightNode().

{
if ($a_node["child"] == $this->getHighlightNode())
{
return true;
}
return false;
}

+ Here is the call graph for this function:

ilLMTOCExplorerGUI::isNodeVisible (   $a_node)

Is node visible?

Parameters
mixed$a_nodenode object/array
Returns
boolean node visible true/false

Reimplemented from ilExplorerBaseGUI.

Definition at line 308 of file class.ilLMTOCExplorerGUI.php.

References ilPageObject\_lookupActivationData(), ilPageObject\_lookupActive(), and ilUtil\now().

{
include_once("./Services/COPage/classes/class.ilPageObject.php");
if ($a_node["type"] != "pg")
{
return true;
}
$active = ilPageObject::_lookupActive($a_node["child"], "lm",
$this->lm_set->get("time_scheduled_page_activation"));
if(!$active)
{
$act_data = ilPageObject::_lookupActivationData((int) $a_node["child"], "lm");
if ($act_data["show_activation_info"] &&
(ilUtil::now() < $act_data["activation_start"]))
{
return true;
}
else
{
return false;
}
}
else
{
return true;
}
}

+ Here is the call graph for this function:

ilLMTOCExplorerGUI::setHighlightNode (   $a_val)

Set highlighted node.

Parameters
int$a_valnode id

Definition at line 46 of file class.ilLMTOCExplorerGUI.php.

{
$this->highlight_node = $a_val;
}

Field Documentation

ilLMTOCExplorerGUI::$highlight_node
protected

Definition at line 17 of file class.ilLMTOCExplorerGUI.php.

Referenced by getHighlightNode().

ilLMTOCExplorerGUI::$lang
protected

Definition at line 16 of file class.ilLMTOCExplorerGUI.php.

Referenced by getNodeContent().


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