ILIAS  release_5-3 Revision v5.3.23-19-g915713cf615
class.ilECSCmsTree.php
Go to the documentation of this file.
1 <?php
2 /* Copyright (c) 1998-2009 ILIAS open source, Extended GPL, see docs/LICENSE */
3 
4 include_once './Services/Tree/classes/class.ilTree.php';
5 
12 class ilECSCmsTree extends ilTree
13 {
14  public function __construct($a_tree_id)
15  {
16  parent::__construct($a_tree_id, self::lookupRootId($a_tree_id));
17 
18  $this->setObjectTablePK('obj_id');
19  $this->setTableNames('ecs_cms_tree', 'ecs_cms_data');
20  $this->useCache(false);
21  }
22 
23  public function insertRootNode($tree, $a_child)
24  {
25  global $ilDB;
26 
27  $query = 'INSERT INTO ecs_cms_tree ' .
28  '(tree,child,parent,lft,rgt,depth) ' .
29  'VALUES ( ' .
30  $ilDB->quote($tree, 'integer') . ', ' .
31  $ilDB->quote($a_child, 'integer') . ', ' .
32  $ilDB->quote(0, 'integer') . ', ' .
33  $ilDB->quote(1, 'integer') . ', ' .
34  $ilDB->quote(100, 'integer') . ', ' .
35  $ilDB->quote(1, 'integer') . ' )';
36 
37  $ilDB->manipulate($query);
38 
39 
40  return true;
41  }
42 
46  public static function deleteByTreeId($a_tree_id)
47  {
48  global $ilDB;
49 
50  $GLOBALS['DIC']->logger()->wsrv()->debug('Deleting cms tree: ' . $a_tree_id);
51  $query = 'DELETE FROM ecs_cms_tree ' .
52  'WHERE tree = ' . $ilDB->quote($a_tree_id, 'integer');
53  $ilDB->manipulate($query);
54  return true;
55  }
56 
61  public function treeExists($a_tree_id)
62  {
63  global $ilDB;
64 
65  $query = 'SELECT COUNT(*) num FROM ecs_cms_tree WHERE tree = ' . $ilDB->quote($a_tree_id, 'integer');
66  $res = $ilDB->query($query);
67  while ($row = $res->fetchRow(ilDBConstants::FETCHMODE_OBJECT)) {
68  return $row->num > 0 ? true : false;
69  }
70  return false;
71  }
72 
73 
77  public static function lookupRootId($a_tree_id)
78  {
79  global $ilDB;
80 
81  $query = 'SELECT child FROM ecs_cms_tree WHERE tree = ' . $ilDB->quote($a_tree_id, 'integer');
82  $res = $ilDB->query($query);
83  while ($row = $res->fetchRow(ilDBConstants::FETCHMODE_OBJECT)) {
84  return $row->child;
85  }
86  return 0;
87  }
88 }
insertRootNode($tree, $a_child)
static lookupRootId($a_tree_id)
lookup root id
$GLOBALS['loaded']
Global hash that tracks already loaded includes.
setObjectTablePK($a_column_name)
set column containing primary key in object table public
foreach($_POST as $key=> $value) $res
$query
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...
__construct($a_tree_id)
treeExists($a_tree_id)
Check if tree exists.
global $ilDB
static deleteByTreeId($a_tree_id)
Delete tree by tree_id.
useCache($a_use=true)
Use Cache (usually activated)