35 $this->db = $DIC->database();
36 parent::__construct($a_tree_id);
50 if (isset(self::$instances[$a_tree_id])) {
51 return self::$instances[$a_tree_id];
54 self::$instances[$a_tree_id] =
$tree;
66 return $this->use_cache;
76 $sql =
"SELECT lm_data.obj_id" .
78 " JOIN lm_tree ON (lm_tree.child = lm_data.obj_id)" .
79 " JOIN page_object ON (page_object.page_id = lm_data.obj_id AND page_object.parent_type = " .
$ilDB->quote(
"lm",
"text") .
")" .
80 " WHERE lm_tree.lm_id = " .
$ilDB->quote($this->tree_id,
"integer") .
81 " AND lm_data.type = " .
$ilDB->quote(
"pg",
"text") .
82 " AND page_object.active = " .
$ilDB->quote(1,
"integer") .
83 " ORDER BY lm_tree.rgt DESC";
84 $set =
$ilDB->query($sql);
86 return (
int)
$row[
"obj_id"];
94 if (is_null($this->complete_tree)) {
isCacheUsed()
Check if cache is active.
getNodeData($a_node_id, $a_tree_pk=null)
get all information of a node.
static getInstance($a_tree_id)
Get Instance.
__construct($a_tree_id)
Constructor.
setTableNames($a_table_tree, $a_table_obj_data, $a_table_obj_reference="")
set table names The primary key of the table containing your object_data must be 'obj_id' You may use...
Tree class data representation in hierachical trees using the Nested Set Model with Gaps by Joe Celco...
setTreeTablePK($a_column_name)
set column containing primary key in tree table public
getCompleteTree()
Get complete tree.
getSubTree($a_node, $a_with_data=true, $a_type="")
get all nodes in the subtree under specified node
useCache($a_use=true)
Use Cache (usually activated)
readRootId()
read root id from database