ILIAS
release_6 Revision v6.24-5-g0c8bfefb3b8
|
Tree class data representation in hierachical trees using the Nested Set Model with Gaps by Joe Celco. More...
Public Member Functions | |
__construct ($a_tree_id, $a_root_id=0) | |
Constructor public. More... | |
initTreeImplementation () | |
Init tree implementation. More... | |
getTreeImplementation () | |
Get tree implementation. More... | |
useCache ($a_use=true) | |
Use Cache (usually activated) More... | |
isCacheUsed () | |
Check if cache is active. More... | |
getDepthCache () | |
Get depth cache. More... | |
getParentCache () | |
Get parent cache. More... | |
initLangCode () | |
Store user language. More... | |
getTreeTable () | |
Get tree table name. More... | |
getObjectDataTable () | |
Get object data table. More... | |
getTreePk () | |
Get tree primary key. More... | |
getTableReference () | |
Get reference table if available. More... | |
getGap () | |
Get default gap *. More... | |
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. More... | |
setReferenceTablePK ($a_column_name) | |
set column containing primary key in reference table public More... | |
setObjectTablePK ($a_column_name) | |
set column containing primary key in object table public More... | |
setTreeTablePK ($a_column_name) | |
set column containing primary key in tree table public More... | |
buildJoin () | |
build join depending on table settings private More... | |
getRelation ($a_node_a, $a_node_b) | |
Get relation of two nodes. More... | |
getRelationOfNodes ($a_node_a_arr, $a_node_b_arr) | |
get relation of two nodes by node data More... | |
getChildIds ($a_node) | |
Get node child ids type $ilDB. More... | |
getChilds ($a_node_id, $a_order="", $a_direction="ASC") | |
get child nodes of given node public More... | |
getFilteredChilds ($a_filter, $a_node, $a_order="", $a_direction="ASC") | |
get child nodes of given node (exclude filtered obj_types) public More... | |
getChildsByType ($a_node_id, $a_type) | |
get child nodes of given node by object type public More... | |
getChildsByTypeFilter ($a_node_id, $a_types, $a_order="", $a_direction="ASC") | |
get child nodes of given node by object type public More... | |
insertNodeFromTrash ($a_source_id, $a_target_id, $a_tree_id, $a_pos=IL_LAST_NODE, $a_reset_deleted_date=false) | |
Insert node from trash deletes trash entry. More... | |
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 More... | |
getFilteredSubTree ($a_node_id, $a_filter=array()) | |
get filtered subtree More... | |
getSubTreeIds ($a_ref_id) | |
Get all ids of subnodes. More... | |
getSubTree ($a_node, $a_with_data=true, $a_type="") | |
get all nodes in the subtree under specified node More... | |
getSubTreeTypes ($a_node, $a_filter=0) | |
get types of nodes in the subtree under specified node More... | |
deleteTree ($a_node) | |
delete node and the whole subtree under this node public More... | |
validateParentRelations () | |
Validate parent relations of tree. More... | |
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. More... | |
preloadDepthParent ($a_node_ids) | |
Preload depth/parent. More... | |
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 More... | |
getNodePathForTitlePath ($titlePath, $a_startnode_id=null) | |
Converts a path consisting of object titles into a path consisting of tree nodes. More... | |
getNodePath ($a_endnode_id, $a_startnode_id=0) | |
Returns the node path for the specified object reference. More... | |
checkTree () | |
check consistence of tree all left & right values are checked if they are exists only once public More... | |
checkTreeChilds ($a_no_zero_child=true) | |
check, if all childs of tree nodes exist in object table More... | |
getMaximumDepth () | |
Return the current maximum depth in the tree public. More... | |
getDepth ($a_node_id) | |
return depth of a node in tree private More... | |
getNodeTreeData ($a_node_id) | |
return all columns of tabel tree More... | |
getNodeData ($a_node_id, $a_tree_pk=null) | |
get all information of a node. More... | |
fetchNodeData ($a_row) | |
get data of parent node from tree and object_data private More... | |
isInTree ($a_node_id) | |
get all information of a node. More... | |
getParentNodeData ($a_node_id) | |
get data of parent node from tree and object_data public More... | |
isGrandChild ($a_startnode_id, $a_querynode_id) | |
checks if a node is in the path of an other node public More... | |
addTree ($a_tree_id, $a_node_id=-1) | |
create a new tree to do: ??? More... | |
getNodeDataByType ($a_type) | |
get nodes by type More... | |
removeTree ($a_tree_id) | |
remove an existing tree More... | |
moveToTrash ($a_node_id, $a_set_deleted=false, $a_deleted_by=0) | |
Move node to trash bin. More... | |
isDeleted ($a_node_id) | |
This is a wrapper for isSaved() with a more useful name. More... | |
isSaved ($a_node_id) | |
Use method isDeleted check if node is saved. More... | |
preloadDeleted ($a_node_ids) | |
Preload deleted information. More... | |
getSavedNodeData ($a_parent_id) | |
get data saved/deleted nodes More... | |
getSavedNodeObjIds (array $a_obj_ids) | |
get object id of saved/deleted nodes More... | |
getParentId ($a_node_id) | |
get parent id of given node public More... | |
getLeftValue ($a_node_id) | |
get left value of given node public More... | |
getChildSequenceNumber ($a_node, $type="") | |
get sequence number of node in sibling sequence public More... | |
readRootId () | |
read root id from database More... | |
getRootId () | |
get the root id of tree public More... | |
setRootId ($a_root_id) | |
getTreeId () | |
get tree id public More... | |
setTreeId ($a_tree_id) | |
set tree id public More... | |
fetchSuccessorNode ($a_node_id, $a_type="") | |
get node data of successor node More... | |
fetchPredecessorNode ($a_node_id, $a_type="") | |
get node data of predecessor node More... | |
renumber ($node_id=1, $i=1) | |
Wrapper for renumber. More... | |
__renumber ($node_id=1, $i=1) | |
This method is private. More... | |
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');. More... | |
__isMainTree () | |
Check if operations are done on main tree. More... | |
__checkDelete ($a_node) | |
Check for deleteTree() compares a subtree of a given node by checking lft, rgt against parent relation. More... | |
__getSubTreeByParentRelation ($a_node_id, &$parent_childs) | |
type $ilDB More... | |
__validateSubtrees (&$lft_childs, $parent_childs) | |
moveTree ($a_source_id, $a_target_id, $a_location=self::POS_LAST_NODE) | |
Move Tree Implementation. More... | |
getRbacSubtreeInfo ($a_endnode_id) | |
This method is used for change existing objects and returns all necessary information for this action. More... | |
getSubTreeQuery ($a_node_id, $a_fields=array(), $a_types='', $a_force_join_reference=false) | |
Get tree subtree query. More... | |
getTrashSubTreeQuery ($a_node_id, $a_fields=[], $a_types='', $a_force_join_reference=false) | |
getSubTreeFilteredByObjIds ($a_node_id, array $a_obj_ids, array $a_fields=array()) | |
get all node ids in the subtree under specified node id, filter by object ids More... | |
deleteNode ($a_tree_id, $a_node_id) | |
lookupTrashedObjectTypes () | |
Lookup object types in trash type $ilDB. More... | |
isRepositoryTree () | |
check if current tree instance operates on repository tree table More... | |
Static Public Member Functions | |
static | lookupTreesForNode (int $node_id) |
static | _removeEntry ($a_tree, $a_child, $a_db_table="tree") |
STATIC METHOD Removes a single entry from a tree. More... | |
Data Fields | |
const | TREE_TYPE_MATERIALIZED_PATH = 'mp' |
const | TREE_TYPE_NESTED_SET = 'ns' |
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 | |
Protected Member Functions | |
fetchTranslationFromObjectDataCache ($a_obj_ids) | |
Get translation data from object cache (trigger in object cache on preload) More... | |
Protected Attributes | |
$depth_cache = array() | |
$parent_cache = array() | |
$in_tree_cache = array() | |
Private Attributes | |
$tree_impl = null | |
Tree class data representation in hierachical trees using the Nested Set Model with Gaps by Joe Celco.
Definition at line 24 of file class.ilTree.php.
ilTree::__construct | ( | $a_tree_id, | |
$a_root_id = 0 |
|||
) |
Constructor public.
integer | $a_tree_id | tree_id |
integer | $a_root_id | root_id (optional) |
InvalidArgumentException |
Definition at line 151 of file class.ilTree.php.
References $DIC, $ilDB, ilLogLevel\DEBUG, ilLoggerFactory\getLogger(), and initTreeImplementation().
ilTree::__checkDelete | ( | $a_node | ) |
Check for deleteTree() compares a subtree of a given node by checking lft, rgt against parent relation.
private
array | node data from ilTree::getNodeData() |
ilInvalidTreeStructureException |
Definition at line 2556 of file class.ilTree.php.
References $DIC, $ilDB, $message, $query, $res, __getSubTreeByParentRelation(), __validateSubtrees(), and getTreeImplementation().
Referenced by deleteTree().
ilTree::__getSubTreeByParentRelation | ( | $a_node_id, | |
& | $parent_childs | ||
) |
type $ilDB
type | $a_node_id | |
type | $parent_childs |
ilInvalidTreeStructureException |
Definition at line 2598 of file class.ilTree.php.
References $DIC, $ilDB, $message, $query, and $res.
Referenced by __checkDelete().
ilTree::__isMainTree | ( | ) |
Check if operations are done on main tree.
private
Definition at line 2540 of file class.ilTree.php.
Referenced by addTree(), checkForParentType(), deleteTree(), getChilds(), getDepth(), getNodeData(), getParentId(), getPathFull(), getPathId(), getSubTree(), initTreeImplementation(), insertNode(), insertNodeFromTrash(), isCacheUsed(), isInTree(), isSaved(), moveTree(), preloadDeleted(), preloadDepthParent(), removeTree(), and renumber().
ilTree::__renumber | ( | $node_id = 1 , |
|
$i = 1 |
|||
) |
This method is private.
Always call ilTree->renumber() since it locks the tree table renumber left/right values and close the gaps in numbers (recursive) private
integer | node_id where to start (usually the root node) |
integer | first left value of start node (usually 1) |
Definition at line 2375 of file class.ilTree.php.
References $DIC, $i, $ilDB, $query, $res, ilDBConstants\FETCHMODE_OBJECT, and isRepositoryTree().
Referenced by renumber().
ilTree::__validateSubtrees | ( | & | $lft_childs, |
$parent_childs | |||
) |
$lft_childs | |
$parent_childs |
ilInvalidTreeStructureException |
Definition at line 2644 of file class.ilTree.php.
References $message.
Referenced by __checkDelete().
|
static |
STATIC METHOD Removes a single entry from a tree.
The tree structure is NOT updated!
public
integer | tree id |
integer | child id |
string | db_table name. default is 'tree' (optional) |
InvalidArgumentException |
Definition at line 2508 of file class.ilTree.php.
References $DIC, $ilDB, $message, $query, $res, and ilLoggerFactory\getLogger().
Referenced by ilValidator\purgeObjects(), and ilSystemCheckTrash\removeSelectedFromSystem().
ilTree::addTree | ( | $a_tree_id, | |
$a_node_id = -1 |
|||
) |
create a new tree to do: ???
integer | a_tree_id: obj_id of object where tree belongs to |
integer | a_node_id: root node of tree (optional; default is tree_id itself) |
InvalidArgumentException | public |
Definition at line 1748 of file class.ilTree.php.
References $DIC, $ilDB, $message, $query, $res, and __isMainTree().
Referenced by ilWorkspaceExplorer\__construct(), ilWorkspaceTree\createTreeForUser(), and ilSCORMPackageParser\handlerBeginTag().
ilTree::buildJoin | ( | ) |
build join depending on table settings private
Definition at line 465 of file class.ilTree.php.
Referenced by fetchPredecessorNode(), fetchSuccessorNode(), ilSCORMTree\getChilds(), getChilds(), getChildsByType(), getChildsByTypeFilter(), getChildSequenceNumber(), getNodeData(), getNodeDataByType(), getPathFull(), getSavedNodeData(), getSavedNodeObjIds(), and getSubTreeFilteredByObjIds().
ilTree::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');.
public
integer | ref_id |
string | type |
Definition at line 2453 of file class.ilTree.php.
References $a_type, __isMainTree(), getPathFull(), isCacheUsed(), and isInTree().
ilTree::checkTree | ( | ) |
check consistence of tree all left & right values are checked if they are exists only once public
ilInvalidTreeStructureException |
Definition at line 1292 of file class.ilTree.php.
References $DIC, $ilDB, $message, $query, and $res.
ilTree::checkTreeChilds | ( | $a_no_zero_child = true | ) |
check, if all childs of tree nodes exist in object table
bool | $a_no_zero_child |
ilInvalidTreeStructureException |
Definition at line 1328 of file class.ilTree.php.
References $DIC, $ilDB, $message, $obj_pk, and $query.
ilTree::deleteNode | ( | $a_tree_id, | |
$a_node_id | |||
) |
ilTree::deleteTree | ( | $a_node | ) |
delete node and the whole subtree under this node public
array | node_data of a node |
InvalidArgumentException | |
ilInvalidTreeStructureException |
Definition at line 965 of file class.ilTree.php.
References $DIC, $ilDB, __checkDelete(), __isMainTree(), ilLogLevel\ERROR, getTreeImplementation(), and resetInTreeCache().
Referenced by ilWorkspaceTree\cascadingDelete().
ilTree::fetchNodeData | ( | $a_row | ) |
get data of parent node from tree and object_data private
object | db db result object containing node_data |
Definition at line 1530 of file class.ilTree.php.
References $data, $DIC, $ilBench, $ilDB, $lng, $query, $res, ilContainerReference\_lookupTitle(), ilObject\DESC_LENGTH, isCacheUsed(), and ilUtil\shortenText().
Referenced by fetchPredecessorNode(), fetchSuccessorNode(), ilSCORMTree\getChilds(), getChilds(), getChildsByType(), getChildsByTypeFilter(), getNodeData(), getNodeDataByType(), getParentNodeData(), getPathFull(), getSavedNodeData(), and getSubTree().
ilTree::fetchPredecessorNode | ( | $a_node_id, | |
$a_type = "" |
|||
) |
get node data of predecessor node
public
integer | node id |
InvalidArgumentException |
Definition at line 2280 of file class.ilTree.php.
References $a_type, $DIC, $ilDB, $message, $query, $res, buildJoin(), and fetchNodeData().
ilTree::fetchSuccessorNode | ( | $a_node_id, | |
$a_type = "" |
|||
) |
get node data of successor node
public
integer | node id |
InvalidArgumentException |
Definition at line 2219 of file class.ilTree.php.
References $a_type, $DIC, $ilDB, $message, $query, $res, buildJoin(), and fetchNodeData().
Referenced by ilSCORMPresentationGUI\finishSahs().
|
protected |
Get translation data from object cache (trigger in object cache on preload)
array | $a_obj_ids | object ids |
Definition at line 1618 of file class.ilTree.php.
References $DIC, and isCacheUsed().
Referenced by getChilds().
ilTree::getChildIds | ( | $a_node | ) |
Get node child ids type $ilDB.
type | $a_node |
Definition at line 507 of file class.ilTree.php.
References $DIC, $ilDB, $query, $res, and ilDBConstants\FETCHMODE_OBJECT.
ilTree::getChilds | ( | $a_node_id, | |
$a_order = "" , |
|||
$a_direction = "ASC" |
|||
) |
get child nodes of given node public
integer | node_id |
string | sort order of returned childs, optional (possible values: 'title','desc','last_update' or 'type') |
string | sort direction, optional (possible values: 'DESC' or 'ASC'; defalut is 'ASC') |
InvalidArgumentException |
Definition at line 535 of file class.ilTree.php.
References $DIC, $ilBench, $ilDB, $ilUser, $message, $query, $res, $rows, __isMainTree(), buildJoin(), fetchNodeData(), fetchTranslationFromObjectDataCache(), and isCacheUsed().
Referenced by getFilteredChilds(), ilObjWorkspaceFolderTableGUI\getItems(), ilWorkspaceContentGUI\getItems(), and ilSkillTree\getMaxOrderNr().
ilTree::getChildsByType | ( | $a_node_id, | |
$a_type | |||
) |
get child nodes of given node by object type public
integer | node_id |
string | object type |
InvalidArgumentException |
Definition at line 642 of file class.ilTree.php.
References $a_type, $DIC, $ilDB, $message, $query, $res, buildJoin(), and fetchNodeData().
ilTree::getChildsByTypeFilter | ( | $a_node_id, | |
$a_types, | |||
$a_order = "" , |
|||
$a_direction = "ASC" |
|||
) |
get child nodes of given node by object type public
integer | node_id |
array | array of object type |
InvalidArgumentException |
Definition at line 702 of file class.ilTree.php.
References $DIC, $ilDB, $message, $query, $res, buildJoin(), fetchNodeData(), and ilUtil\quoteArray().
Referenced by ilSkillTree\getMaxOrderNr().
ilTree::getChildSequenceNumber | ( | $a_node, | |
$type = "" |
|||
) |
get sequence number of node in sibling sequence public
array | node |
InvalidArgumentException |
Definition at line 2113 of file class.ilTree.php.
References $DIC, $ilDB, $message, $query, $res, $type, and buildJoin().
ilTree::getDepth | ( | $a_node_id | ) |
return depth of a node in tree private
integer | node_id of parent's node_id |
Definition at line 1424 of file class.ilTree.php.
References $DIC, $ilDB, $query, $res, and __isMainTree().
ilTree::getDepthCache | ( | ) |
Get depth cache.
Definition at line 286 of file class.ilTree.php.
References $depth_cache.
ilTree::getFilteredChilds | ( | $a_filter, | |
$a_node, | |||
$a_order = "" , |
|||
$a_direction = "ASC" |
|||
) |
get child nodes of given node (exclude filtered obj_types) public
array | objects to filter (e.g array('rolf')) |
integer | node_id |
string | sort order of returned childs, optional (possible values: 'title','desc','last_update' or 'type') |
string | sort direction, optional (possible values: 'DESC' or 'ASC'; defalut is 'ASC') |
Definition at line 621 of file class.ilTree.php.
References getChilds().
ilTree::getFilteredSubTree | ( | $a_node_id, | |
$a_filter = array() |
|||
) |
get filtered subtree
get all subtree nodes beginning at a specific node excluding specific object types and their child nodes.
E.g getFilteredSubTreeNodes()
public
Definition at line 855 of file class.ilTree.php.
References getNodeData(), and getSubTree().
ilTree::getGap | ( | ) |
ilTree::getLeftValue | ( | $a_node_id | ) |
ilTree::getMaximumDepth | ( | ) |
Return the current maximum depth in the tree public.
Definition at line 1405 of file class.ilTree.php.
References $DIC, $ilDB, $query, $res, and $table_tree.
ilTree::getNodeData | ( | $a_node_id, | |
$a_tree_pk = null |
|||
) |
get all information of a node.
get data of a specific node from tree and object_data public
integer | node id |
InvalidArgumentException |
Definition at line 1488 of file class.ilTree.php.
References $DIC, $ilDB, $message, $query, $res, $tree_id, $tree_pk, __isMainTree(), buildJoin(), ilLogLevel\ERROR, and fetchNodeData().
Referenced by ilLMChapterImportForm\__construct(), ilWorkspaceTree\cascadingDelete(), ilLMTree\getCompleteTree(), getFilteredSubTree(), ilPortfolioPageTableGUI\getItems(), ilWorkspaceTree\getObjectsFromType(), getSubTreeFilteredByObjIds(), getSubTreeTypes(), ilTestTaxonomyTree\initOrderedTreeIndex(), and ilExSubmissionObjectGUI\setSelectedBlogObject().
ilTree::getNodeDataByType | ( | $a_type | ) |
get nodes by type
integer | a_tree_id: obj_id of object where tree belongs to |
integer | a_type_id: type of object public |
InvalidArgumentException |
Definition at line 1799 of file class.ilTree.php.
References $a_type, $data, $DIC, $ilDB, $query, $res, buildJoin(), ilLogLevel\ERROR, and fetchNodeData().
ilTree::getNodePath | ( | $a_endnode_id, | |
$a_startnode_id = 0 |
|||
) |
Returns the node path for the specified object reference.
Note: this function returns the same result as getNodePathForTitlePath, but takes ref-id's as parameters.
This function differs from getPathFull, in the following aspects:
public
integer | node_id of endnode |
integer | node_id of startnode (optional) |
Definition at line 1247 of file class.ilTree.php.
References $data, $DIC, $i, $ilDB, $query, $res, and getPathId().
Referenced by getNodePathForTitlePath().
ilTree::getNodePathForTitlePath | ( | $titlePath, | |
$a_startnode_id = null |
|||
) |
Converts a path consisting of object titles into a path consisting of tree nodes.
The comparison is non-case sensitive.
Note: this function returns the same result as getNodePath, but takes a title path as parameter.
public
Array | Path array with object titles. e.g. array('ILIAS','English','Course A') |
ref_id | Startnode of the relative path. Specify null, if the title path is an absolute path. Specify a ref id, if the title path is a relative path starting at this ref id. |
Definition at line 1133 of file class.ilTree.php.
References $DIC, $i, $ilDB, $log, $obj_pk, $rows, ilDBConstants\FETCHMODE_ASSOC, getNodePath(), ilStr\strToLower(), and UtfNormal\toNFC().
ilTree::getNodeTreeData | ( | $a_node_id | ) |
return all columns of tabel tree
type | $a_node_id |
InvalidArgumentException |
Definition at line 1457 of file class.ilTree.php.
References $DIC, $ilDB, $query, $res, ilLogLevel\ERROR, and ilDBConstants\FETCHMODE_ASSOC.
Referenced by getRelation(), getSubTreeQuery(), getTrashSubTreeQuery(), and moveToTrash().
ilTree::getObjectDataTable | ( | ) |
Get object data table.
Definition at line 330 of file class.ilTree.php.
References $table_obj_data.
Referenced by getSubTreeFilteredByObjIds().
ilTree::getParentCache | ( | ) |
Get parent cache.
Definition at line 295 of file class.ilTree.php.
References $parent_cache.
ilTree::getParentId | ( | $a_node_id | ) |
get parent id of given node public
integer | node id |
InvalidArgumentException |
Definition at line 2044 of file class.ilTree.php.
References $DIC, $ilDB, $message, $query, $res, and __isMainTree().
Referenced by moveTree(), and ilWorkspaceContentGUI\render().
ilTree::getParentNodeData | ( | $a_node_id | ) |
get data of parent node from tree and object_data public
integer | node id |
InvalidArgumentException |
Definition at line 1690 of file class.ilTree.php.
References $DIC, $ilDB, $ilLog, $query, $res, and fetchNodeData().
ilTree::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.
This function chooses the algorithm to be used.
public
integer | node_id of endnode |
integer | node_id of startnode (optional) |
Definition at line 1013 of file class.ilTree.php.
References $DIC, $i, $ilDB, __isMainTree(), buildJoin(), ilDBConstants\FETCHMODE_ASSOC, fetchNodeData(), and getPathId().
Referenced by checkForParentType(), ilTestTaxonomyTree\getPathNodes(), and ilSkillTree\getSkillTreePath().
ilTree::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
integer | node_id of endnode |
integer | node_id of startnode (optional) |
InvalidArgumentException |
Definition at line 1093 of file class.ilTree.php.
References __isMainTree(), ilLogLevel\ERROR, getTreeImplementation(), and isCacheUsed().
Referenced by getNodePath(), getPathFull(), and ilSkillTree\getTopParentNodeId().
ilTree::getRbacSubtreeInfo | ( | $a_endnode_id | ) |
This method is used for change existing objects and returns all necessary information for this action.
The former use of ilTree::getSubtree needs to much memory.
ref_id | ref_id of source node |
Definition at line 2713 of file class.ilTree.php.
References getTreeImplementation().
ilTree::getRelation | ( | $a_node_a, | |
$a_node_b | |||
) |
Get relation of two nodes.
int | $a_node_a | |
int | $a_node_b |
Definition at line 482 of file class.ilTree.php.
References getNodeTreeData(), and getRelationOfNodes().
Referenced by isGrandChild().
ilTree::getRelationOfNodes | ( | $a_node_a_arr, | |
$a_node_b_arr | |||
) |
get relation of two nodes by node data
array | $a_node_a_arr | |
array | $a_node_b_arr |
Definition at line 496 of file class.ilTree.php.
References getTreeImplementation().
Referenced by getRelation().
ilTree::getRootId | ( | ) |
get the root id of tree public
Definition at line 2182 of file class.ilTree.php.
References $root_id.
Referenced by ilWorkspaceTree\getObjectsFromType(), and ilTestTaxonomyTree\initOrderedTreeIndex().
ilTree::getSavedNodeData | ( | $a_parent_id | ) |
get data saved/deleted nodes
integer | id of parent object of saved object public |
InvalidArgumentException |
Definition at line 1986 of file class.ilTree.php.
References $DIC, $ilDB, $message, $query, $res, buildJoin(), and fetchNodeData().
ilTree::getSavedNodeObjIds | ( | array | $a_obj_ids | ) |
get object id of saved/deleted nodes
array | object ids to check public |
Definition at line 2019 of file class.ilTree.php.
References $DIC, $ilDB, $query, $res, and buildJoin().
ilTree::getSubTree | ( | $a_node, | |
$a_with_data = true , |
|||
$a_type = "" |
|||
) |
get all nodes in the subtree under specified node
public
array | node_data |
boolean | with data: default is true otherwise this function return only a ref_id array |
InvalidArgumentException |
Definition at line 897 of file class.ilTree.php.
References $a_type, $DIC, $ilDB, $query, $res, __isMainTree(), ilLogLevel\ERROR, fetchNodeData(), and getTreeImplementation().
Referenced by ilWorkspaceTree\cascadingDelete(), ilLMTree\getCompleteTree(), getFilteredSubTree(), ilWorkspaceTree\getObjectsFromType(), and ilTestTaxonomyTree\initOrderedTreeIndex().
ilTree::getSubTreeFilteredByObjIds | ( | $a_node_id, | |
array | $a_obj_ids, | ||
array | $a_fields = array() |
||
) |
get all node ids in the subtree under specified node id, filter by object ids
int | $a_node_id | |
array | $a_obj_ids | |
array | $a_fields |
Definition at line 2758 of file class.ilTree.php.
References $DIC, $ilDB, $query, $res, buildJoin(), getNodeData(), getObjectDataTable(), getTableReference(), getTreeImplementation(), and getTreeTable().
ilTree::getSubTreeIds | ( | $a_ref_id | ) |
Get all ids of subnodes.
object | $a_ref_id |
Definition at line 882 of file class.ilTree.php.
References getTreeImplementation().
ilTree::getSubTreeQuery | ( | $a_node_id, | |
$a_fields = array() , |
|||
$a_types = '' , |
|||
$a_force_join_reference = false |
|||
) |
Get tree subtree query.
type | $a_node_id | |
type | $a_types | |
type | $a_force_join_reference |
Definition at line 2726 of file class.ilTree.php.
References getNodeTreeData(), and getTreeImplementation().
ilTree::getSubTreeTypes | ( | $a_node, | |
$a_filter = 0 |
|||
) |
get types of nodes in the subtree under specified node
public
array | node_id |
array | object types to filter e.g array('rolf') |
Definition at line 945 of file class.ilTree.php.
References getNodeData().
ilTree::getTableReference | ( | ) |
Get reference table if available.
Definition at line 347 of file class.ilTree.php.
References $table_obj_reference.
Referenced by getSubTreeFilteredByObjIds().
ilTree::getTrashSubTreeQuery | ( | $a_node_id, | |
$a_fields = [] , |
|||
$a_types = '' , |
|||
$a_force_join_reference = false |
|||
) |
Definition at line 2739 of file class.ilTree.php.
References getNodeTreeData(), and getTreeImplementation().
ilTree::getTreeId | ( | ) |
get tree id public
Definition at line 2196 of file class.ilTree.php.
References $tree_id.
Referenced by ilWorkspaceExplorer\__construct().
ilTree::getTreeImplementation | ( | ) |
Get tree implementation.
Definition at line 260 of file class.ilTree.php.
References $tree_impl.
Referenced by __checkDelete(), deleteTree(), getPathId(), getRbacSubtreeInfo(), getRelationOfNodes(), getSubTree(), getSubTreeFilteredByObjIds(), getSubTreeIds(), getSubTreeQuery(), getTrashSubTreeQuery(), insertNode(), moveToTrash(), moveTree(), and validateParentRelations().
ilTree::getTreePk | ( | ) |
Get tree primary key.
Definition at line 339 of file class.ilTree.php.
References $tree_pk.
ilTree::getTreeTable | ( | ) |
Get tree table name.
Definition at line 321 of file class.ilTree.php.
References $table_tree.
Referenced by getSubTreeFilteredByObjIds().
ilTree::initLangCode | ( | ) |
Store user language.
This function is used by the "main" tree only (during initialisation).
Definition at line 304 of file class.ilTree.php.
References $DIC, Vendor\Package\$e, and $ilUser.
ilTree::initTreeImplementation | ( | ) |
Init tree implementation.
Definition at line 228 of file class.ilTree.php.
References $DIC, and __isMainTree().
Referenced by __construct(), and setTableNames().
ilTree::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
integer | node_id |
integer | parent_id |
integer | IL_LAST_NODE | IL_FIRST_NODE | node id of preceding child |
InvalidArgumentException |
Definition at line 791 of file class.ilTree.php.
References $DIC, $GLOBALS, $ilDB, $message, __isMainTree(), ilObject\_resetDeletedDate(), ilLogLevel\ERROR, getTreeImplementation(), and isInTree().
Referenced by insertNodeFromTrash(), and ilWorkspaceTree\insertObject().
ilTree::insertNodeFromTrash | ( | $a_source_id, | |
$a_target_id, | |||
$a_tree_id, | |||
$a_pos = IL_LAST_NODE , |
|||
$a_reset_deleted_date = false |
|||
) |
Insert node from trash deletes trash entry.
If we have database query exceptions we could wrap insertNode in try/catch and rollback if the insert failed.
type | $a_source_id | |
type | $a_target_id | |
type | $a_tree_id |
InvalidArgumentException |
Definition at line 752 of file class.ilTree.php.
References $DIC, $ilDB, $query, __isMainTree(), ilLoggerFactory\getLogger(), IL_LAST_NODE, ilLogLevel\INFO, insertNode(), and isInTree().
ilTree::isCacheUsed | ( | ) |
Check if cache is active.
Definition at line 277 of file class.ilTree.php.
References __isMainTree().
Referenced by checkForParentType(), fetchNodeData(), fetchTranslationFromObjectDataCache(), getChilds(), getPathId(), isInTree(), isSaved(), preloadDeleted(), and preloadDepthParent().
ilTree::isDeleted | ( | $a_node_id | ) |
This is a wrapper for isSaved() with a more useful name.
int | $a_node_id |
Definition at line 1905 of file class.ilTree.php.
References isSaved().
ilTree::isGrandChild | ( | $a_startnode_id, | |
$a_querynode_id | |||
) |
checks if a node is in the path of an other node public
integer | object id of start node |
integer | object id of query node |
Definition at line 1734 of file class.ilTree.php.
References getRelation().
ilTree::isInTree | ( | $a_node_id | ) |
get all information of a node.
get data of a specific node from tree and object_data public
integer | node id |
Definition at line 1643 of file class.ilTree.php.
References $DIC, $ilDB, $query, $res, __isMainTree(), and isCacheUsed().
Referenced by checkForParentType(), insertNode(), and insertNodeFromTrash().
ilTree::isRepositoryTree | ( | ) |
check if current tree instance operates on repository tree table
Definition at line 2841 of file class.ilTree.php.
Referenced by __renumber().
ilTree::isSaved | ( | $a_node_id | ) |
Use method isDeleted check if node is saved.
Definition at line 1915 of file class.ilTree.php.
References $DIC, $ilDB, $query, $res, __isMainTree(), and isCacheUsed().
Referenced by isDeleted().
ilTree::lookupTrashedObjectTypes | ( | ) |
Lookup object types in trash type $ilDB.
Definition at line 2818 of file class.ilTree.php.
References $DIC, $ilDB, $query, $res, and ilDBConstants\FETCHMODE_OBJECT.
|
static |
int | $node_id |
Definition at line 208 of file class.ilTree.php.
References $DIC, $query, $res, ilDBConstants\FETCHMODE_OBJECT, and ilDBConstants\T_INTEGER.
Referenced by ilRepUtil\removeObjectsFromSystem(), and ilRepUtil\restoreObjects().
ilTree::moveToTrash | ( | $a_node_id, | |
$a_set_deleted = false , |
|||
$a_deleted_by = 0 |
|||
) |
Move node to trash bin.
int | $a_node_id | |
bool | $a_set_deleted | |
int | deleted_by user_id |
InvalidArgumentException |
Definition at line 1862 of file class.ilTree.php.
References $DIC, $ilDB, $query, $res, ilLogLevel\ERROR, ilDBConstants\FETCHMODE_ASSOC, getNodeTreeData(), getTreeImplementation(), and ilObject\setDeletedDates().
ilTree::moveTree | ( | $a_source_id, | |
$a_target_id, | |||
$a_location = self::POS_LAST_NODE |
|||
) |
Move Tree Implementation.
public
int | source ref_id |
int | target ref_id |
int | location IL_LAST_NODE or IL_FIRST_NODE (IL_FIRST_NODE not implemented yet) |
Definition at line 2684 of file class.ilTree.php.
References $GLOBALS, __isMainTree(), getParentId(), and getTreeImplementation().
ilTree::preloadDeleted | ( | $a_node_ids | ) |
Preload deleted information.
array | nodfe ids |
Definition at line 1951 of file class.ilTree.php.
References $DIC, $ilDB, $query, $res, __isMainTree(), and isCacheUsed().
ilTree::preloadDepthParent | ( | $a_node_ids | ) |
Preload depth/parent.
Definition at line 1064 of file class.ilTree.php.
References $DIC, $ilDB, $res, __isMainTree(), and isCacheUsed().
ilTree::readRootId | ( | ) |
read root id from database
root_id | public |
Definition at line 2160 of file class.ilTree.php.
References $DIC, $ilDB, $query, $res, and $root_id.
Referenced by ilWorkspaceTree\__construct(), ilTestTaxonomyTree\__construct(), ilWorkspaceExplorer\__construct(), ilSCORMExplorer\__construct(), ilObjQuestionPoolGUI\buildQuestionBrowserTableGUI(), ilWorkspaceTree\cascadingDelete(), ilWorkspaceAccessHandler\checkAccessOfUser(), ilSAHSPresentationGUI\explorer(), ilSCORMPresentationGUI\explorer(), ilLMTree\getCompleteTree(), ilPortfolioPageTableGUI\getItems(), and ilSkillTree\getMaxOrderNr().
ilTree::removeTree | ( | $a_tree_id | ) |
remove an existing tree
integer | a_tree_id: tree to be removed |
InvalidArgumentException |
Definition at line 1832 of file class.ilTree.php.
References $DIC, $ilDB, $query, __isMainTree(), and ilLogLevel\ERROR.
ilTree::renumber | ( | $node_id = 1 , |
|
$i = 1 |
|||
) |
Wrapper for renumber.
This method locks the table tree (recursive) public
integer | node_id where to start (usually the root node) |
integer | first left value of start node (usually 1) |
Definition at line 2342 of file class.ilTree.php.
References $DIC, $i, $ilDB, __isMainTree(), and __renumber().
ilTree::resetInTreeCache | ( | ) |
Definition at line 363 of file class.ilTree.php.
Referenced by deleteTree().
ilTree::setObjectTablePK | ( | $a_column_name | ) |
set column containing primary key in object table public
string | column name |
InvalidArgumentException |
Definition at line 429 of file class.ilTree.php.
References $message.
Referenced by ilECSCmsTree\__construct(), and ilWorkspaceTree\__construct().
ilTree::setReferenceTablePK | ( | $a_column_name | ) |
set column containing primary key in reference table public
string | column name |
InvalidArgumentException |
Definition at line 410 of file class.ilTree.php.
References $message.
Referenced by ilWorkspaceTree\__construct().
ilTree::setRootId | ( | $a_root_id | ) |
Definition at line 2186 of file class.ilTree.php.
Referenced by ilWorkspaceExplorer\__construct(), and ilWorkspaceTree\createTreeForUser().
ilTree::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.
If no reference table is specified the given tree table is directly joined with the given object_data table. The primary key in object_data table and its foreign key in reference table must have the same name!
string | table name of tree table |
string | table name of object_data table |
string | table name of object_reference table (optional) public |
InvalidArgumentException |
Definition at line 385 of file class.ilTree.php.
References $message, and initTreeImplementation().
Referenced by ilECSCmsTree\__construct(), ilTaxonomyTree\__construct(), ilSkillTree\__construct(), ilSCORM2004Tree\__construct(), ilWorkspaceTree\__construct(), ilLMTree\__construct(), and ilSCORMTree\__construct().
ilTree::setTreeId | ( | $a_tree_id | ) |
ilTree::setTreeTablePK | ( | $a_column_name | ) |
set column containing primary key in tree table public
string | column name |
InvalidArgumentException |
Definition at line 448 of file class.ilTree.php.
References $message.
Referenced by ilSkillTree\__construct(), ilTaxonomyTree\__construct(), ilSCORM2004Tree\__construct(), ilWorkspaceTree\__construct(), ilLMTree\__construct(), and ilSCORMTree\__construct().
ilTree::useCache | ( | $a_use = true | ) |
Use Cache (usually activated)
Definition at line 268 of file class.ilTree.php.
Referenced by ilECSCmsTree\__construct(), and ilLMTree\__construct().
ilTree::validateParentRelations | ( | ) |
Validate parent relations of tree.
Definition at line 998 of file class.ilTree.php.
References getTreeImplementation().
|
protected |
Definition at line 137 of file class.ilTree.php.
Referenced by getDepthCache().
ilTree::$gap |
Definition at line 135 of file class.ilTree.php.
Referenced by getGap().
ilTree::$ilias |
Definition at line 45 of file class.ilTree.php.
|
protected |
Definition at line 139 of file class.ilTree.php.
ilTree::$log |
Definition at line 53 of file class.ilTree.php.
Referenced by getNodePathForTitlePath().
ilTree::$obj_pk |
Definition at line 102 of file class.ilTree.php.
Referenced by checkTreeChilds(), getNodePathForTitlePath(), and ilWorkspaceTree\lookupObjectId().
|
protected |
Definition at line 138 of file class.ilTree.php.
Referenced by getParentCache().
ilTree::$ref_pk |
Definition at line 95 of file class.ilTree.php.
Referenced by ilWorkspaceTree\lookupNodeId().
ilTree::$root_id |
Definition at line 60 of file class.ilTree.php.
Referenced by ilWorkspaceTree\cascadingDelete(), ilWorkspaceTree\createTreeForUser(), getRootId(), and readRootId().
ilTree::$table_obj_data |
Definition at line 81 of file class.ilTree.php.
Referenced by getObjectDataTable().
ilTree::$table_obj_reference |
Definition at line 88 of file class.ilTree.php.
Referenced by getTableReference().
ilTree::$table_tree |
Definition at line 74 of file class.ilTree.php.
Referenced by getMaximumDepth(), and getTreeTable().
ilTree::$tree_id |
Definition at line 67 of file class.ilTree.php.
Referenced by getNodeData(), and getTreeId().
|
private |
Definition at line 141 of file class.ilTree.php.
Referenced by getTreeImplementation().
ilTree::$tree_pk |
Definition at line 109 of file class.ilTree.php.
Referenced by getNodeData(), and getTreePk().
const ilTree::POS_FIRST_NODE = -1 |
Definition at line 30 of file class.ilTree.php.
Referenced by ilNestedSetTree\insertNode().
const ilTree::POS_LAST_NODE = -2 |
Definition at line 29 of file class.ilTree.php.
const ilTree::RELATION_CHILD = 1 |
Definition at line 33 of file class.ilTree.php.
Referenced by ilObjRole\adjustPermissions(), ilSoapUtils\findMappedReferenceForNode(), ilMaterializedPathTree\getRelation(), and ilNestedSetTree\getRelation().
const ilTree::RELATION_EQUALS = 4 |
Definition at line 36 of file class.ilTree.php.
Referenced by ilObjRole\adjustPermissions(), ilMaterializedPathTree\getRelation(), and ilNestedSetTree\getRelation().
const ilTree::RELATION_NONE = 5 |
Definition at line 37 of file class.ilTree.php.
Referenced by ilObjRole\adjustPermissions(), ilMaterializedPathTree\getRelation(), and ilNestedSetTree\getRelation().
const ilTree::RELATION_PARENT = 2 |
Definition at line 34 of file class.ilTree.php.
Referenced by ilObjRole\adjustPermissions(), ilMaterializedPathTree\getRelation(), ilNestedSetTree\getRelation(), and ilAdvancedMDRecord\isFilteredByScope().
const ilTree::RELATION_SIBLING = 3 |
Definition at line 35 of file class.ilTree.php.
Referenced by ilObjRole\adjustPermissions(), ilMaterializedPathTree\getRelation(), and ilNestedSetTree\getRelation().
const ilTree::TREE_TYPE_MATERIALIZED_PATH = 'mp' |
Definition at line 26 of file class.ilTree.php.
const ilTree::TREE_TYPE_NESTED_SET = 'ns' |
Definition at line 27 of file class.ilTree.php.