ILIAS  release_5-2 Revision v5.2.25-18-g3f80b828510
class.ilLMTree.php
Go to the documentation of this file.
1 <?php
2 
3 /* Copyright (c) 1998-2014 ILIAS open source, Extended GPL, see docs/LICENSE */
4 
12 class ilLMTree extends ilTree
13 {
14  static $instances = array();
15 
21  function __construct($a_tree_id)
22  {
23  parent::__construct($a_tree_id);
24  $this->setTableNames('lm_tree','lm_data');
25  $this->setTreeTablePK("lm_id");
26  $this->useCache(true);
27  }
28 
35  static function getInstance($a_tree_id)
36  {
37  if (isset(self::$instances[$a_tree_id]))
38  {
39  return self::$instances[$a_tree_id];
40  }
41  $tree = new ilLMTree($a_tree_id);
42  self::$instances[$a_tree_id] = $tree;
43 
44  return $tree;
45  }
46 
47 
52  public function isCacheUsed()
53  {
54  return $this->use_cache;
55  }
56 
57 
58  public function getLastActivePage()
59  {
60  global $ilDB;
61 
62  $ilDB->setLimit(1);
63 
64  $sql = "SELECT lm_data.obj_id".
65  " FROM lm_data".
66  " JOIN lm_tree ON (lm_tree.child = lm_data.obj_id)".
67  " JOIN page_object ON (page_object.page_id = lm_data.obj_id AND page_object.parent_type = ".$ilDB->quote("lm", "text").")".
68  " WHERE lm_tree.lm_id = ".$ilDB->quote($this->tree_id, "integer").
69  " AND lm_data.type = ".$ilDB->quote("pg", "text").
70  " AND page_object.active = ".$ilDB->quote(1, "integer").
71  " ORDER BY lm_tree.rgt DESC";
72  $set = $ilDB->query($sql);
73  $row = $ilDB->fetchAssoc($set);
74  return (int)$row["obj_id"];
75  }
76 
77 }
78 
79 ?>
isCacheUsed()
Check if cache is active.
static $instances
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 &#39;obj_id&#39; You may use...
Tree class data representation in hierachical trees using the Nested Set Model with Gaps by Joe Celco...
Create styles array
The data for the language used.
setTreeTablePK($a_column_name)
set column containing primary key in tree table public
global $ilDB
useCache($a_use=true)
Use Cache (usually activated)