| 
    Stud.IP
    jlu_3.3 Revision
    
   | 
  


Public Member Functions | |
| TreeAbstract () | |
| init () | |
| storeItem ($item_id, $parent_id, $name, $priority) | |
| buildIndex ($item_id=false) | |
| getKids ($item_id) | |
| getNumKids ($item_id) | |
| getKidsKids ($item_id, $in_recursion=false) | |
| getNumKidsKids ($item_id, $in_recursion=false) | |
| isLastKid ($item_id) | |
| isFirstKid ($item_id) | |
| isChildOf ($ancestor_id, $item_id) | |
| hasKids ($item_id) | |
| getItemPath ($item_id) | |
| getParents ($item_id) | |
| getShortPath ($item_id, $length=null, $delimeter=">", $offset=0) | |
| getMaxPriority ($parent_id) | |
| getNumEntries ($item_id, $num_entries_from_kids=false) | |
| getNumEntriesKids ($item_id, $in_recursion=false) | |
| getValue ($item_id, $field) | |
Static Public Member Functions | |
| GetInstance ($class_name, $args=null, $invalidate_cache=false) | |
Data Fields | |
| $root_name | |
| $view | |
| $tree_data = array() | |
| $tree_childs = array() | |
| $tree_num_childs = array() | |
| $index_offset = 0 | |
| buildIndex | ( | $item_id = false | ) | 
build an index for sorting purpose
build an index for sorting purpose
@access public
| string | $item_id | 


static method used to ensure that only one instance exists
use this method if you need a reference to the tree object 
 usage: 
$my_tree = StudipRangeTree::GetInstance("name_of_tree_class")
@access public
| string | $class_name | the name of the used tree_class | 
| mixed | $args | argumentlist passed to the constructor in the tree_class (if needed) | 

| getItemPath | ( | $item_id | ) | 
Returns tree path
returns a string with the item and all parents separated with a slash @access public
| string | $item_id | 
| getKids | ( | $item_id | ) | 
returns all direct kids
@access public
| string | $item_id | 

| getKidsKids | ( | $item_id, | |
$in_recursion = false  | 
        |||
| ) | 
returns all direct kids and kids of kids and so on...
@access public
| string | $item_id | |
| bool | $in_recursion | only used in recursion | 


| getMaxPriority | ( | $parent_id | ) | 
Returns the maximum priority value from a parents child
@access public
| string | $parent_id | 


| getNumEntries | ( | $item_id, | |
$num_entries_from_kids = false  | 
        |||
| ) | 
| getNumEntriesKids | ( | $item_id, | |
$in_recursion = false  | 
        |||
| ) | 


| getNumKids | ( | $item_id | ) | 
returns the number of all direct kids
@access public
| string | $item_id | |
| bool | $in_recursion | 

| getNumKidsKids | ( | $item_id, | |
$in_recursion = false  | 
        |||
| ) | 
returns the number of all kids and kidskids...
@access public
| string | $item_id | |
| bool | $in_recursion | 


| getParents | ( | $item_id | ) | 
Returns tree path as array of item_id s
returns an array containing all parents of given item @access public
| string | $item_id | 

| getShortPath | ( | $item_id, | |
$length = null,  | 
        |||
$delimeter = ">",  | 
        |||
$offset = 0  | 
        |||
| ) | 

| getValue | ( | $item_id, | |
| $field | |||
| ) | 

| hasKids | ( | $item_id | ) | 
checks if item has one or more kids
@access public
| string | $item_id | 


| init | ( | ) | 
initializes the tree
stores all tree items in array $tree_data must be overriden @access public
Reimplemented in StudipDocumentTree, StudipLitList, StudipRangeTree, StudipSemTree, and EvaluationTree.

| isChildOf | ( | $ancestor_id, | |
| $item_id | |||
| ) | 
checks if given item is a kid or kidkid...of given ancestor
checks if given item is a kid or kidkid...of given ancestor @access public
| string | $ancestor_id | |
| string | $item_id | 

| isFirstKid | ( | $item_id | ) | 
checks if item is the first kid
@access public
| string | $item_id | 

| isLastKid | ( | $item_id | ) | 
checks if item is the last kid
@access public
| string | $item_id | 

| storeItem | ( | $item_id, | |
| $parent_id, | |||
| $name, | |||
| $priority | |||
| ) | 
store one item in tree_data array
store one item in tree_data array @access public
| string | $item_id | |
| string | $parent_id | |
| string | $name | |
| integer | $priority | 

| TreeAbstract | ( | ) | 
constructor
do not use directly, call &GetInstance() @access private

| $index_offset = 0 | 
| string $root_name | 
the name of the root element
@access private
| array $tree_childs = array() | 
array containing the direct childs of all items
assoc. array, key is one from $tree_data, value is numeric array with keys from childs @access private
| array $tree_data = array() | 
array containing all tree items
associative array, key is an unique identifier (eg primary key from DB table) value is another assoc. array containing the other fieldname/fieldvalue pairs these fieldnames must be used : parent_id, name, priority @access public
| array $tree_num_childs = array() | 
array containing the number of direct childs of all items
assoc. array, key is one from $tree_data @access private
| object DbView $view | 
object to handle database queries
@access private