Stud.IP  5.4
TreeAbstract Class Reference
Inheritance diagram for TreeAbstract:
EvaluationTree StudipRangeTree StudipSemTree

Public Member Functions

 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

static GetInstance ($class_name, $args=null, $invalidate_cache=false)
 

Data Fields

 $root_name
 
 $view
 
 $tree_data = []
 
 $tree_childs = []
 
 $tree_num_childs = []
 
 $index_offset = 0
 

Protected Member Functions

 __construct ()
 

Constructor & Destructor Documentation

◆ __construct()

__construct ( )
protected

constructor

do not use directly, call &GetInstance()

Member Function Documentation

◆ buildIndex()

buildIndex (   $item_id = false)

build an index for sorting purpose

build an index for sorting purpose

Parameters
string$item_id

◆ GetInstance()

static GetInstance (   $class_name,
  $args = null,
  $invalidate_cache = false 
)
static

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")
Parameters
string$class_namethe name of the used tree_class
mixed$argsargumentlist passed to the constructor in the tree_class (if needed)
Returns
mixed always an object, type is one of AbstractTree s childclasses

◆ getItemPath()

getItemPath (   $item_id)

Returns tree path

returns a string with the item and all parents separated with a slash

Parameters
string$item_id
Returns
string

◆ getKids()

getKids (   $item_id)

returns all direct kids

Parameters
string$item_id
Returns
array

◆ getKidsKids()

getKidsKids (   $item_id,
  $in_recursion = false 
)

returns all direct kids and kids of kids and so on...

Parameters
string$item_id
bool$in_recursiononly used in recursion
Returns
array

◆ getMaxPriority()

getMaxPriority (   $parent_id)

Returns the maximum priority value from a parents child

Parameters
string$parent_id
Returns
int

◆ getNumEntries()

getNumEntries (   $item_id,
  $num_entries_from_kids = false 
)

◆ getNumEntriesKids()

getNumEntriesKids (   $item_id,
  $in_recursion = false 
)

◆ getNumKids()

getNumKids (   $item_id)

returns the number of all direct kids

Parameters
string$item_id
bool$in_recursion
Returns
int

◆ getNumKidsKids()

getNumKidsKids (   $item_id,
  $in_recursion = false 
)

returns the number of all kids and kidskids...

Parameters
string$item_id
bool$in_recursion
Returns
int

◆ getParents()

getParents (   $item_id)

Returns tree path as array of item_id s

returns an array containing all parents of given item

Parameters
string$item_id
Returns
array

◆ getShortPath()

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

◆ getValue()

getValue (   $item_id,
  $field 
)

◆ hasKids()

hasKids (   $item_id)

checks if item has one or more kids

Parameters
string$item_id
Returns
boolean

◆ init()

init ( )

initializes the tree

stores all tree items in array $tree_data must be overriden

◆ isChildOf()

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

Parameters
string$ancestor_id
string$item_id
Returns
boolean

◆ isFirstKid()

isFirstKid (   $item_id)

checks if item is the first kid

Parameters
string$item_id
Returns
boolean

◆ isLastKid()

isLastKid (   $item_id)

checks if item is the last kid

Parameters
string$item_id
Returns
boolean

◆ storeItem()

storeItem (   $item_id,
  $parent_id,
  $name,
  $priority 
)

store one item in tree_data array

store one item in tree_data array

Parameters
string$item_id
string$parent_id
string$name
integer$priority

Field Documentation

◆ $index_offset

$index_offset = 0

◆ $root_name

string $root_name

the name of the root element

private

◆ $tree_childs

array $tree_childs = []

array containing the direct childs of all items

assoc. array, key is one from $tree_data, value is numeric array with keys from childs private

◆ $tree_data

array $tree_data = []

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 public

◆ $tree_num_childs

array $tree_num_childs = []

array containing the number of direct childs of all items

assoc. array, key is one from $tree_data private

◆ $view

object DbView $view

object to handle database queries

private


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