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

Organisation Unit Tree. More...

+ Inheritance diagram for ilOrgUnitTree:
+ Collaboration diagram for ilOrgUnitTree:

Public Member Functions

 __construct ()
 getRecursiveOrgUnitTree ($root_node=self::ROOT_UNIT_ID)
- Public Member Functions inherited from ilTree
 ilTree ($a_tree_id, $a_root_id=0)
 Constructor public.
 initTreeImplementation ()
 Init tree implementation.
 getTreeImplementation ()
 Get tree implementation.
 useCache ($a_use=true)
 Use Cache (usually activated)
 isCacheUsed ()
 Check if cache is active.
 getDepthCache ()
 Get depth cache.
 getParentCache ()
 Get parent cache.
 initLangCode ()
 Store user language.
 getTreeTable ()
 Get tree table name.
 getObjectDataTable ()
 Get object data table.
 getTreePk ()
 Get tree primary key.
 getTableReference ()
 Get reference table if available.
 getGap ()
 Get default gap *.
 resetInTreeCache ()
 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 a reference table.
 setReferenceTablePK ($a_column_name)
 set column containing primary key in reference table public
 setObjectTablePK ($a_column_name)
 set column containing primary key in object table public
 setTreeTablePK ($a_column_name)
 set column containing primary key in tree table public
 buildJoin ()
 build join depending on table settings private
 getRelation ($a_node_a, $a_node_b)
 Get relation of two nodes.
 getRelationOfNodes ($a_node_a_arr, $a_node_b_arr)
 get relation of two nodes by node data
 getChilds ($a_node_id, $a_order="", $a_direction="ASC")
 get child nodes of given node public
 getFilteredChilds ($a_filter, $a_node, $a_order="", $a_direction="ASC")
 get child nodes of given node (exclude filtered obj_types) public
 getChildsByType ($a_node_id, $a_type)
 get child nodes of given node by object type public
 getChildsByTypeFilter ($a_node_id, $a_types, $a_order="", $a_direction="ASC")
 get child nodes of given node by object type public
 insertNode ($a_node_id, $a_parent_id, $a_pos=IL_LAST_NODE, $a_reset_deletion_date=false)
 insert new node with node_id under parent node with parent_id public
 getFilteredSubTree ($a_node_id, $a_filter=array())
 get filtered subtree
 getSubTreeIds ($a_ref_id)
 Get all ids of subnodes.
 getSubTree ($a_node, $a_with_data=true, $a_type="")
 get all nodes in the subtree under specified node
 getSubTreeTypes ($a_node, $a_filter=0)
 get types of nodes in the subtree under specified node
 deleteTree ($a_node)
 delete node and the whole subtree under this node public
 getPathFull ($a_endnode_id, $a_startnode_id=0)
 get path from a given startnode to a given endnode if startnode is not given the rootnode is startnode.
 preloadDepthParent ($a_node_ids)
 Preload depth/parent.
 getPathId ($a_endnode_id, $a_startnode_id=0)
 get path from a given startnode to a given endnode if startnode is not given the rootnode is startnode public
 getNodePathForTitlePath ($titlePath, $a_startnode_id=null)
 Converts a path consisting of object titles into a path consisting of tree nodes.
 getNodePath ($a_endnode_id, $a_startnode_id=0)
 Returns the node path for the specified object reference.
 checkTree ()
 check consistence of tree all left & right values are checked if they are exists only once public
 checkTreeChilds ($a_no_zero_child=true)
 check, if all childs of tree nodes exist in object table
 getMaximumDepth ()
 Return the current maximum depth in the tree public.
 getDepth ($a_node_id)
 return depth of a node in tree private
 getNodeTreeData ($a_node_id)
 return all columns of tabel tree
 getNodeData ($a_node_id, $a_tree_pk=null)
 get all information of a node.
 fetchNodeData ($a_row)
 get data of parent node from tree and object_data private
 isInTree ($a_node_id)
 get all information of a node.
 getParentNodeData ($a_node_id)
 get data of parent node from tree and object_data public
 isGrandChild ($a_startnode_id, $a_querynode_id)
 checks if a node is in the path of an other node public
 addTree ($a_tree_id, $a_node_id=-1)
 create a new tree to do: ???
 getNodeDataByType ($a_type)
 get nodes by type
 removeTree ($a_tree_id)
 remove an existing tree
 moveToTrash ($a_node_id, $a_set_deleted=false)
 Wrapper for saveSubTree.
 saveSubTree ($a_node_id, $a_set_deleted=false)
 Use the wrapper moveToTrash save subtree: delete a subtree (defined by node_id) to a new tree with $this->tree_id -node_id.
 isDeleted ($a_node_id)
 This is a wrapper for isSaved() with a more useful name.
 isSaved ($a_node_id)
 Use method isDeleted check if node is saved.
 preloadDeleted ($a_node_ids)
 Preload deleted information.
 getSavedNodeData ($a_parent_id)
 get data saved/deleted nodes
 getSavedNodeObjIds (array $a_obj_ids)
 get object id of saved/deleted nodes
 getParentId ($a_node_id)
 get parent id of given node public
 getLeftValue ($a_node_id)
 get left value of given node public
 getChildSequenceNumber ($a_node, $type="")
 get sequence number of node in sibling sequence public
 readRootId ()
 read root id from database
 getRootId ()
 get the root id of tree public
 setRootId ($a_root_id)
 getTreeId ()
 get tree id public
 setTreeId ($a_tree_id)
 set tree id public
 fetchSuccessorNode ($a_node_id, $a_type="")
 get node data of successor node
 fetchPredecessorNode ($a_node_id, $a_type="")
 get node data of predecessor node
 renumber ($node_id=1, $i=1)
 Wrapper for renumber.
 __renumber ($node_id=1, $i=1)
 This method is private.
 checkForParentType ($a_ref_id, $a_type, $a_exclude_source_check=false)
 Check for parent type e.g check if a folder (ref_id 3) is in a parent course obj => checkForParentType(3,'crs');.
 _removeEntry ($a_tree, $a_child, $a_db_table="tree")
 STATIC METHOD Removes a single entry from a tree.
 __isMainTree ()
 Check if operations are done on main tree.
 __checkDelete ($a_node)
 Check for deleteTree() compares a subtree of a given node by checking lft, rgt against parent relation.
 __getSubTreeByParentRelation ($a_node_id, &$parent_childs)
 type $ilDB
 __validateSubtrees (&$lft_childs, $parent_childs)
 moveTree ($a_source_id, $a_target_id, $a_location=self::POS_LAST_NODE)
 Move Tree Implementation.
 getRbacSubtreeInfo ($a_endnode_id)
 This method is used for change existing objects and returns all necessary information for this action.
 getSubTreeQuery ($a_node_id, $a_fields=array(), $a_types= '', $a_force_join_reference=false)
 Get tree subtree query.

Data Fields

const TREE_ID = 1
const ROOT_UNIT_ID = 1
- Data Fields inherited from ilTree
const POS_LAST_NODE = -2
const POS_FIRST_NODE = -1
const RELATION_CHILD = 1
const RELATION_PARENT = 2
const RELATION_SIBLING = 3
const RELATION_EQUALS = 4
const RELATION_NONE = 5
 $ilias
 $log
 $root_id
 $tree_id
 $table_tree
 $table_obj_data
 $table_obj_reference
 $ref_pk
 $obj_pk
 $tree_pk
 $gap

Private Attributes

 $recursive_sub_tree = array()

Additional Inherited Members

- Protected Member Functions inherited from ilTree
 fetchTranslationFromObjectDataCache ($a_obj_ids)
 Get translation data from object cache (trigger in object cache on preload)
- Protected Attributes inherited from ilTree
 $depth_cache = array()
 $parent_cache = array()
 $in_tree_cache = array()

Detailed Description

Organisation Unit Tree.

Author
Bjoern Heyser bheys.nosp@m.er@d.nosp@m.ataba.nosp@m.y.de
Version
$Id$

Definition at line 15 of file class.ilOrgUnitTree.php.

Constructor & Destructor Documentation

ilOrgUnitTree::__construct ( )

Definition at line 23 of file class.ilOrgUnitTree.php.

References TREE_ID.

{
parent::__construct( self::ROOT_UNIT_ID );
$this->tree_id = self::TREE_ID;
$this->table_tree = 'org_unit_tree';
$this->table_obj_data = 'org_unit_data';
$this->table_obj_reference = '';
$this->tree_pk = 'tree';
$this->obj_pk = 'ou_id';
$this->ref_pk = '';
$this->gap = 0;
}

Member Function Documentation

ilOrgUnitTree::getRecursiveOrgUnitTree (   $root_node = self::ROOT_UNIT_ID)

Definition at line 40 of file class.ilOrgUnitTree.php.

References ilOrgUnit\getInstance(), ilTree\getNodeData(), and ilTree\getSubTree().

{
$root_node_data = $this->getNodeData($root_node);
$nodes = $this->getSubTree($root_node_data);
$root_unit = null;
$index = array();
foreach($nodes as &$node)
{
$index[$node['child']] = $unit = ilOrgUnit::getInstance($node['child']);
if($node['parent'])
{
$unit->setParent($index[$node['parent']]);
$index[$node['parent']]->addChild($unit);
}
else $root_unit = $unit;
}
$root_unit->sortChilds();
return $root_unit;
}

+ Here is the call graph for this function:

Field Documentation

ilOrgUnitTree::$recursive_sub_tree = array()
private

Definition at line 21 of file class.ilOrgUnitTree.php.

const ilOrgUnitTree::ROOT_UNIT_ID = 1

Definition at line 19 of file class.ilOrgUnitTree.php.

Referenced by ilOrgUnitTreeExplorerGUI\renderUnit().

const ilOrgUnitTree::TREE_ID = 1

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

Referenced by __construct().


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