Classes:
Doctrine
Doctrine_Access
Doctrine_Adapter
Doctrine_Adapter_Db2_Exception
Doctrine_Adapter_Exception
Doctrine_Adapter_Statement
Doctrine_AuditLog
Doctrine_AuditLog_Listener
Doctrine_Collection
Doctrine_Collection_Exception
Doctrine_Collection_Iterator
Doctrine_Collection_Iterator_Expandable
Doctrine_Collection_Iterator_Normal
Doctrine_Collection_Iterator_Offset
Doctrine_Collection_Offset
Doctrine_Column
Doctrine_Compiler
Doctrine_Compiler_Exception
Doctrine_Configurable
Doctrine_Connection
Doctrine_Connection_Common
Doctrine_Connection_Db2
Doctrine_Connection_Exception
Doctrine_Connection_Firebird
Doctrine_Connection_Firebird_Exception
Doctrine_Connection_Informix
Doctrine_Connection_Informix_Exception
Doctrine_Connection_Mock
Doctrine_Connection_Module
Doctrine_Connection_Mssql
Doctrine_Connection_Mssql_Exception
Doctrine_Connection_Mysql
Doctrine_Connection_Mysql_Exception
Doctrine_Connection_Oracle
Doctrine_Connection_Oracle_Exception
Doctrine_Connection_Pgsql
Doctrine_Connection_Pgsql_Exception
Doctrine_Connection_Profiler
Doctrine_Connection_Profiler_Exception
Doctrine_Connection_Sqlite
Doctrine_Connection_Sqlite_Exception
Doctrine_Connection_Statement
Doctrine_Connection_UnitOfWork
Doctrine_DataDict
Doctrine_DataDict_Exception
Doctrine_DataDict_Informix
Doctrine_DataType
Doctrine_Db
Doctrine_Event
Doctrine_EventListener
Doctrine_EventListener_Chain
Doctrine_EventListener_Exception
Doctrine_Exception
Doctrine_Export
Doctrine_Export_Exception
Doctrine_Export_Firebird
Doctrine_Export_Frontbase
Doctrine_Export_Mssql
Doctrine_Export_Mysql
Doctrine_Export_Oracle
Doctrine_Export_Pgsql
Doctrine_Export_Reporter
Doctrine_Export_Schema
Doctrine_Export_Schema_Xml
Doctrine_Export_Schema_Yml
Doctrine_Export_Sqlite
Doctrine_Expression
Doctrine_Expression_Driver
Doctrine_Expression_Exception
Doctrine_Expression_Firebird
Doctrine_Expression_Informix
Doctrine_Expression_Mock
Doctrine_Expression_Mssql
Doctrine_Expression_Mysql
Doctrine_Expression_Oracle
Doctrine_Expression_Pgsql
Doctrine_Expression_Sqlite
Doctrine_File
Doctrine_File_Index
Doctrine_Formatter
Doctrine_Hook
Doctrine_Hook_Equal
Doctrine_Hook_Integer
Doctrine_Hook_Parser
Doctrine_Hook_Parser_Complex
Doctrine_Hook_WordLike
Doctrine_Hydrate
Doctrine_Hydrate_Array
Doctrine_Hydrate_Exception
Doctrine_Hydrate_Record
Doctrine_Import
Doctrine_Import_Builder
Doctrine_Import_Builder_BaseClass
Doctrine_Import_Builder_Exception
Doctrine_Import_Exception
Doctrine_Import_Firebird
Doctrine_Import_Informix
Doctrine_Import_Mssql
Doctrine_Import_Mysql
Doctrine_Import_Oracle
Doctrine_Import_Pgsql
Doctrine_Import_Reader
Doctrine_Import_Reader_Db
Doctrine_Import_Reader_Exception
Doctrine_Import_Reader_Xml_Propel
Doctrine_Import_Schema
Doctrine_Import_Schema_Xml
Doctrine_Import_Schema_Yml
Doctrine_Import_Sqlite
Doctrine_IntegrityMapper
Doctrine_Lib
Doctrine_Locking_Exception
Doctrine_Locking_Manager_Pessimistic
Doctrine_Manager
Doctrine_Manager_Exception
Doctrine_Node
Doctrine_Node_AdjacencyList
Doctrine_Node_AdjacencyList_LevelOrderIterator
Doctrine_Node_AdjacencyList_PostOrderIterator
Doctrine_Node_AdjacencyList_PreOrderIterator
Doctrine_Node_Exception
Doctrine_Node_MaterializedPath
Doctrine_Node_MaterializedPath_LevelOrderIterator
Doctrine_Node_MaterializedPath_PostOrderIterator
Doctrine_Node_MaterializedPath_PreOrderIterator
Doctrine_Node_NestedSet
Doctrine_Node_NestedSet_LevelOrderIterator
Doctrine_Node_NestedSet_PostOrderIterator
Doctrine_Node_NestedSet_PreOrderIterator
Doctrine_Null
Doctrine_Object
Doctrine_Plugin
Doctrine_Query
Doctrine_Query_Abstract
Doctrine_Query_Check
Doctrine_Query_Condition
Doctrine_Query_Exception
Doctrine_Query_Filter
Doctrine_Query_Filter_Chain
Doctrine_Query_From
Doctrine_Query_Groupby
Doctrine_Query_Having
Doctrine_Query_JoinCondition
Doctrine_Query_Limit
Doctrine_Query_Offset
Doctrine_Query_Orderby
Doctrine_Query_Parser
Doctrine_Query_Part
Doctrine_Query_Select
Doctrine_Query_Set
Doctrine_Query_Where
Doctrine_RawSql
Doctrine_RawSql_Exception
Doctrine_Record
Doctrine_Record_Abstract
Doctrine_Record_Exception
Doctrine_Record_Filter
Doctrine_Record_Iterator
Doctrine_Record_Listener
Doctrine_Record_Listener_Chain
Doctrine_Record_State_Exception
Doctrine_Relation
Doctrine_Relation_Association
Doctrine_Relation_Association_Self
Doctrine_Relation_Exception
Doctrine_Relation_ForeignKey
Doctrine_Relation_LocalKey
Doctrine_Relation_Nest
Doctrine_Relation_Parser
Doctrine_Relation_Parser_Exception
Doctrine_Schema
Doctrine_Schema_Column
Doctrine_Schema_Database
Doctrine_Schema_Exception
Doctrine_Schema_Object
Doctrine_Schema_Relation
Doctrine_Schema_Table
Doctrine_Search
Doctrine_Search_Analyzer
Doctrine_Search_Analyzer_Exception
Doctrine_Search_Analyzer_Standard
Doctrine_Search_Exception
Doctrine_Search_Indexer
Doctrine_Search_Indexer_Dir
Doctrine_Search_Indexer_Exception
Doctrine_Search_Listener
Doctrine_Search_Parser
Doctrine_Search_Query
Doctrine_Search_Record
Doctrine_Search_Scorer
Doctrine_Search_Template
Doctrine_Sequence
Doctrine_Sequence_Db2
Doctrine_Sequence_Exception
Doctrine_Sequence_Firebird
Doctrine_Sequence_Informix
Doctrine_Sequence_Mssql
Doctrine_Sequence_Mysql
Doctrine_Sequence_Oracle
Doctrine_Sequence_Pgsql
Doctrine_Sequence_Sqlite
Doctrine_Table
Doctrine_Table_Exception
Doctrine_Table_Repository
Doctrine_Table_Repository_Exception
Doctrine_Template
Doctrine_Template_NestedSet
Doctrine_Template_Searchable
Doctrine_Template_Taggable
Doctrine_Template_Versionable
Doctrine_Tokenizer
Doctrine_Transaction
Doctrine_Transaction_Exception
Doctrine_Transaction_Firebird
Doctrine_Transaction_Informix
Doctrine_Transaction_Mock
Doctrine_Transaction_Mssql
Doctrine_Transaction_Mysql
Doctrine_Transaction_Oracle
Doctrine_Transaction_Pgsql
Doctrine_Transaction_Sqlite
Doctrine_Tree
Doctrine_Tree_AdjacencyList
Doctrine_Tree_Exception
Doctrine_Tree_MaterializedPath
Doctrine_Tree_NestedSet
Doctrine_Util
Doctrine_Validator
Doctrine_Validator_Country
Doctrine_Validator_Creditcard
Doctrine_Validator_Date
Doctrine_Validator_Email
Doctrine_Validator_Enum
Doctrine_Validator_ErrorStack
Doctrine_Validator_Exception
Doctrine_Validator_HtmlColor
Doctrine_Validator_Ip
Doctrine_Validator_Minlength
Doctrine_Validator_Nospace
Doctrine_Validator_Notblank
Doctrine_Validator_Notnull
Doctrine_Validator_Range
Doctrine_Validator_Regexp
Doctrine_Validator_Unique
Doctrine_Validator_Unsigned
Doctrine_Validator_Usstate
Doctrine_View
Doctrine_View_Exception
Doctrine_Cache
Doctrine_Cache
Doctrine_Cache_Apc
Doctrine_Cache_Array
Doctrine_Cache_Db
Doctrine_Cache_Driver
Doctrine_Cache_Exception
Doctrine_Cache_Memcache
Doctrine_Adapter
Doctrine_Adapter_Db2
Doctrine_Adapter_Mock
Doctrine_Adapter_Mysqli
Doctrine_Adapter_Oracle
Doctrine_Adapter_Statement_Mock
Doctrine_DataDict
Doctrine_DataDict_Firebird
Doctrine_DataDict_Mssql
Doctrine_DataDict_Mysql
Doctrine_DataDict_Oracle
Doctrine_DataDict_Pgsql
Doctrine_DataDict_Sqlite

# Class: Doctrine_Node_NestedSet

Source Location: /Doctrine/Node/NestedSet.php

## Class Doctrine_Node_NestedSet

Class Overview

Implements interfaces: Doctrine_Node_Interface Doctrine_Node_NestedSet Located in /Doctrine/Node/NestedSet.php [line 33]
    Doctrine_Node
       |
       --Doctrine_Node_NestedSet
Author(s): Joe Simms <joe.simms@websites4.com> Roman Borschel <roman@code-factory.org> Information Tags:
Version: | $Revision: 2263 $
Link: | www.phpdoctrine.com
Since: | 1.0
License: | LGPL
| Methods addChild delete getAncestors getChildren getDescendants getFirstChild getLastChild getLeftValue getLevel getNextSibling getNumberChildren getNumberDescendants getParent getPath getPrevSibling getRightValue getRootValue getSiblings hasChildren hasNextSibling hasParent hasPrevSibling insertAsFirstChildOf insertAsLastChildOf insertAsNextSiblingOf insertAsParentOf insertAsPrevSiblingOf insertNode isDescendantOf isDescendantOfOrEqualTo isEqualTo isLeaf isRoot isValidNode makeRoot moveAsFirstChildOf moveAsLastChildOf moveAsNextSiblingOf moveAsPrevSiblingOf setLeftValue setRightValue setRootValue shiftRlRange shiftRlValues updateNode _moveBetweenTrees

[ Top ]
Inherited Properties, Constants, and Methods

Inherited Properties | Inherited Methods | Inherited Constants
--- | --- | ---
Inherited From Doctrine_Node Doctrine_Node::$iteratorOptions Doctrine_Node::$iteratorType Doctrine_Node::$options Doctrine_Node::$record Doctrine_Node::$_tree | Inherited From Doctrine_Node Doctrine_Node::__construct() contructor, creates node with reference to record and any options Doctrine_Node::factory() factory method to return node instance based upon chosen implementation Doctrine_Node::getIterator() get iterator Doctrine_Node::getRecord() getter for record attribute Doctrine_Node::setIteratorOptions() sets node's iterator options Doctrine_Node::setIteratorType() sets node's iterator type Doctrine_Node::setRecord() setter for record attribute Doctrine_Node::traverse() convenience function for getIterator |

[ Top ]
Method Summary

void | addChild() | adds node as last child of record
void | delete() | deletes node and it's descendants
mixed | getAncestors() | gets ancestors for node
mixed | getChildren() | gets children for node (direct descendants only)
mixed | getDescendants() | gets descendants for node (direct descendants only)
object Doctrine_Record | getFirstChild() | gets record of first child or empty record
object Doctrine_Record | getLastChild() | gets record of last child or empty record
int | getLeftValue() | gets record's left value
int | getLevel() | gets level (depth) of node in the tree
object Doctrine_Record | getNextSibling() | gets record of next sibling or empty record
int | getNumberChildren() | gets number of children (direct descendants)
int | getNumberDescendants() | gets number of descendants (children and their children)
object Doctrine_Record | getParent() | gets record of parent or empty record
string | getPath() | gets path to node from root, uses record::toString() method to get node names
object Doctrine_Record | getPrevSibling() | gets record of prev sibling or empty record
int | getRightValue() | gets record's right value
void | getRootValue() | get records root id value
array | getSiblings() | gets siblings for node
bool | hasChildren() | test if node has children
bool | hasNextSibling() | test if node has next sibling
bool | hasParent() | test if node has parent
bool | hasPrevSibling() | test if node has previous sibling
bool | insertAsFirstChildOf() | inserts node as first child of dest record
bool | insertAsLastChildOf() | inserts node as last child of dest record
bool | insertAsNextSiblingOf() | inserts node as next sibling of dest record
bool | insertAsParentOf() | inserts node as parent of dest record
bool | insertAsPrevSiblingOf() | inserts node as previous sibling of dest record
void | insertNode() | sets node's left and right values and save's it
bool | isDescendantOf() | determines if node is child of subject node
bool | isDescendantOfOrEqualTo() | determines if node is child of or sibling to subject node
bool | isEqualTo() | determines if node is equal to subject node
bool | isLeaf() | determines if node is leaf
bool | isRoot() | determines if node is root
bool | isValidNode() | determines if node is valid
void | makeRoot() | Makes this node a root node. Only used in multiple-root trees.
void | moveAsFirstChildOf() | moves node as first child of dest record
void | moveAsLastChildOf() | moves node as last child of dest record
void | moveAsNextSiblingOf() | moves node as next sibling of dest record
void | moveAsPrevSiblingOf() | moves node as prev sibling of dest record
void | setLeftValue() | sets record's left value
void | setRightValue() | sets record's right value
void | setRootValue() | sets records root id value
void | shiftRlRange() | adds '$delta' to all Left and Right values that are >= '$first' and <= '$last'.
void | shiftRlValues() | adds '$delta' to all Left and Right values that are >= '$first'. '$delta' can also be negative.
void | updateNode() | move node's and its children to location $destLeft and updates rest of tree
void | _moveBetweenTrees() | Accomplishes moving of nodes between different trees.

[ Top ]
Properties
Methods
addChild [line 682]

`void addChild( Doctrine_Record $record )`

adds node as last child of record

Parameters:

Doctrine_Record | $record: |

API Tags:

Access: | public

Implementation of:

Doctrine_Node_Interface::addChild()
  adds node as last child of record

[ Top ]
delete [line 764]

`void delete( )`

deletes node and it's descendants

API Tags:

Access: | public

Information Tags:

Todo: | Delete more efficiently. Wrap in transaction if needed.

Implementation of:

Doctrine_Node_Interface::delete()
  deletes node and it's descendants

[ Top ]
getAncestors [line 276]

`mixed getAncestors( [ $depth = null], integer $deth )`

gets ancestors for node

Parameters:

integer | $deth: | The depth 'upstairs'.
| $depth: |

API Tags:

Return: | The ancestors of the node or FALSE if the node has no ancestors (this basically means it's a root node).
Access: | public

Implementation of:

Doctrine_Node_Interface::getAncestors()
  gets ancestors for node

[ Top ]
getChildren [line 204]

`mixed getChildren( )`

gets children for node (direct descendants only)

API Tags:

Return: | The children of the node or FALSE if the node has no children.
Access: | public

Implementation of:

Doctrine_Node_Interface::getChildren()
  gets children for node (direct descendants only)

[ Top ]
getDescendants [line 216]

`mixed getDescendants( [ $depth = null], [ $includeNode = false] )`

gets descendants for node (direct descendants only)

Parameters:

| $depth: |
| $includeNode: |

API Tags:

Return: | The descendants of the node or FALSE if the node has no descendants.
Access: | public

Information Tags:

Todo: | Currently all descendants are fetched, no matter the depth. Maybe there is a better solution with less overhead.

Implementation of:

Doctrine_Node_Interface::getDescendants()
  gets descendants for node (direct descendants only)

[ Top ]
getFirstChild [line 152]

`object Doctrine_Record getFirstChild( )`

gets record of first child or empty record

API Tags:

Access: | public

Implementation of:

Doctrine_Node_Interface::getFirstChild()
  gets record of first child or empty record

[ Top ]
getLastChild [line 178]

`object Doctrine_Record getLastChild( )`

gets record of last child or empty record

API Tags:

Access: | public

Implementation of:

Doctrine_Node_Interface::getLastChild()
  gets record of last child or empty record

[ Top ]
getLeftValue [line 913]

`int getLeftValue( )`

gets record's left value

API Tags:

Access: | public

[ Top ]
getLevel [line 953]

`int getLevel( )`

gets level (depth) of node in the tree

API Tags:

Access: | public

Implementation of:

Doctrine_Node_Interface::getLevel()
  gets level (depth) of node in the tree

[ Top ]
getNextSibling [line 106]

`object Doctrine_Record getNextSibling( )`

gets record of next sibling or empty record

API Tags:

Access: | public

Implementation of:

Doctrine_Node_Interface::getNextSibling()
  gets record of next sibling or empty record

[ Top ]
getNumberChildren [line 319]

`int getNumberChildren( )`

gets number of children (direct descendants)

API Tags:

Access: | public

Implementation of:

Doctrine_Node_Interface::getNumberChildren()
  gets number of children (direct descendants)

[ Top ]
getNumberDescendants [line 329]

`int getNumberDescendants( )`

gets number of descendants (children and their children)

API Tags:

Access: | public

Implementation of:

Doctrine_Node_Interface::getNumberDescendants()
  gets number of descendants (children and their children)

[ Top ]
getParent [line 247]

`object Doctrine_Record getParent( )`

gets record of parent or empty record

API Tags:

Access: | public

Implementation of:

Doctrine_Node_Interface::getParent()
  gets record of parent or empty record

[ Top ]
getPath [line 300]

`string getPath( [string $seperator = ' > '], [ $includeRecord = false], bool $includeNode )`

gets path to node from root, uses record::toString() method to get node names

Parameters:

string | $seperator: | path seperator
bool | $includeNode: | whether or not to include node at end of path
| $includeRecord: |

API Tags:

Return: | string representation of path
Access: | public

Implementation of:

Doctrine_Node_Interface::getPath()
  gets path to node from root, uses record::toString() method to get node names

[ Top ]
getPrevSibling [line 80]

`object Doctrine_Record getPrevSibling( )`

gets record of prev sibling or empty record

API Tags:

Access: | public

Implementation of:

Doctrine_Node_Interface::getPrevSibling()
  gets record of prev sibling or empty record

[ Top ]
getRightValue [line 933]

`int getRightValue( )`

gets record's right value

API Tags:

Access: | public

[ Top ]
getRootValue [line 974]

`void getRootValue( )`

get records root id value

API Tags:

Access: | public

[ Top ]
getSiblings [line 132]

`array getSiblings( [ $includeNode = false] )`

gets siblings for node

Parameters:

| $includeNode: |

API Tags:

Return: | array of sibling Doctrine_Record objects
Access: | public

Implementation of:

Doctrine_Node_Interface::getSiblings()
  gets siblings for node

[ Top ]
hasChildren [line 60]

`bool hasChildren( )`

test if node has children

API Tags:

Access: | public

Implementation of:

Doctrine_Node_Interface::hasChildren()
  test if node has children

[ Top ]
hasNextSibling [line 50]

`bool hasNextSibling( )`

test if node has next sibling

API Tags:

Access: | public

Implementation of:

Doctrine_Node_Interface::hasNextSibling()
  test if node has next sibling

[ Top ]
hasParent [line 70]

`bool hasParent( )`

test if node has parent

API Tags:

Access: | public

Implementation of:

Doctrine_Node_Interface::hasParent()
  test if node has parent

[ Top ]
hasPrevSibling [line 40]

`bool hasPrevSibling( )`

test if node has previous sibling

API Tags:

Access: | public

Implementation of:

Doctrine_Node_Interface::hasPrevSibling()
  test if node has previous sibling

[ Top ]
insertAsFirstChildOf [line 421]

`bool insertAsFirstChildOf( Doctrine_Record $dest )`

inserts node as first child of dest record

Parameters:

Doctrine_Record | $dest: |

API Tags:

Access: | public

Information Tags:

Todo: | Wrap in transaction

Implementation of:

Doctrine_Node_Interface::insertAsFirstChildOf()
  inserts node as first child of dest record

[ Top ]
insertAsLastChildOf [line 447]

`bool insertAsLastChildOf( Doctrine_Record $dest )`

inserts node as last child of dest record

Parameters:

Doctrine_Record | $dest: |

API Tags:

Access: | public

Information Tags:

Todo: | Wrap in transaction

Implementation of:

Doctrine_Node_Interface::insertAsLastChildOf()
  inserts node as first child of dest record

[ Top ]
insertAsNextSiblingOf [line 395]

`bool insertAsNextSiblingOf( Doctrine_Record $dest )`

inserts node as next sibling of dest record

Parameters:

Doctrine_Record | $dest: |

API Tags:

Access: | public

Information Tags:

Todo: | Wrap in transaction

Implementation of:

Doctrine_Node_Interface::insertAsNextSiblingOf()
  inserts node as next sibling of dest record

[ Top ]
insertAsParentOf [line 340]

`bool insertAsParentOf( Doctrine_Record $dest )`

inserts node as parent of dest record

Parameters:

Doctrine_Record | $dest: |

API Tags:

Access: | public

Information Tags:

Todo: | Wrap in transaction

Implementation of:

Doctrine_Node_Interface::insertAsParentOf()
  inserts node as parent of dest record

[ Top ]
insertAsPrevSiblingOf [line 369]

`bool insertAsPrevSiblingOf( Doctrine_Record $dest )`

inserts node as previous sibling of dest record

Parameters:

Doctrine_Record | $dest: |

API Tags:

Access: | public

Information Tags:

Todo: | Wrap in transaction

Implementation of:

Doctrine_Node_Interface::insertAsPrevSiblingOf()
  inserts node as previous sibling of dest record

[ Top ]
insertNode [line 794]

`void insertNode( [int $destLeft = 0], [int $destRight = 0], [ $destRoot = 1] )`

sets node's left and right values and save's it

Parameters:

int | $destLeft: | node left value
int | $destRight: | node right value
| $destRoot: |

API Tags:

Access: | private

[ Top ]
isDescendantOf [line 725]

`bool isDescendantOf( Doctrine_Record $subj )`

determines if node is child of subject node

Parameters:

Doctrine_Record | $subj: |

API Tags:

Access: | public

Implementation of:

Doctrine_Node_Interface::isDescendantOf()
  determines if node is child of subject node

[ Top ]
isDescendantOfOrEqualTo [line 737]

`bool isDescendantOfOrEqualTo( Doctrine_Record $subj )`

determines if node is child of or sibling to subject node

Parameters:

Doctrine_Record | $subj: |

API Tags:

Access: | public

Implementation of:

Doctrine_Node_Interface::isDescendantOfOrEqualTo()
  determines if node is child of or sibling to subject node

[ Top ]
isEqualTo [line 712]

`bool isEqualTo( Doctrine_Record $subj )`

determines if node is equal to subject node

Parameters:

Doctrine_Record | $subj: |

API Tags:

Access: | public

Implementation of:

Doctrine_Node_Interface::isEqualTo()
  determines if node is equal to subject node

[ Top ]
isLeaf [line 692]

`bool isLeaf( )`

determines if node is leaf

API Tags:

Access: | public

Implementation of:

Doctrine_Node_Interface::isLeaf()
  determines if node is leaf

[ Top ]
isRoot [line 702]

`bool isRoot( )`

determines if node is root

API Tags:

Access: | public

Implementation of:

Doctrine_Node_Interface::isRoot()
  determines if node is root

[ Top ]
isValidNode [line 749]

`bool isValidNode( [ $record = null] )`

determines if node is valid

Parameters:

| $record: |

API Tags:

Access: | public

Implementation of:

Doctrine_Node_Interface::isValidNode()
  determines if node is valid

[ Top ]
makeRoot [line 627]

`void makeRoot( $newRootId )`

Makes this node a root node. Only used in multiple-root trees.

Parameters:

| $newRootId: |

API Tags:

Access: | public

Information Tags:

Todo: | Exception handling/wrapping

[ Top ]
moveAsFirstChildOf [line 592]

`void moveAsFirstChildOf( Doctrine_Record $dest )`

moves node as first child of dest record

Parameters:

Doctrine_Record | $dest: |

API Tags:

Access: | public

Implementation of:

Doctrine_Node_Interface::moveAsFirstChildOf()
  moves node as first child of dest record

[ Top ]
moveAsLastChildOf [line 609]

`void moveAsLastChildOf( Doctrine_Record $dest )`

moves node as last child of dest record

Parameters:

Doctrine_Record | $dest: |

API Tags:

Access: | public

Implementation of:

Doctrine_Node_Interface::moveAsLastChildOf()
  moves node as last child of dest record

[ Top ]
moveAsNextSiblingOf [line 575]

`void moveAsNextSiblingOf( Doctrine_Record $dest )`

moves node as next sibling of dest record

Parameters:

Doctrine_Record | $dest: |

API Tags:

Access: | public

Implementation of:

Doctrine_Node_Interface::moveAsNextSiblingOf()
  moves node as next sibling of dest record

[ Top ]
moveAsPrevSiblingOf [line 558]

`void moveAsPrevSiblingOf( Doctrine_Record $dest )`

moves node as prev sibling of dest record

Parameters:

Doctrine_Record | $dest: |

API Tags:

Access: | public

Implementation of:

Doctrine_Node_Interface::moveAsPrevSiblingOf()
  moves node as prev sibling of dest record

[ Top ]
setLeftValue [line 923]

`void setLeftValue( int $lft )`

sets record's left value

Parameters:

int | $lft: |

API Tags:

Access: | public

[ Top ]
setRightValue [line 943]

`void setRightValue( int $rgt )`

sets record's right value

Parameters:

int | $rgt: |

API Tags:

Access: | public

[ Top ]
setRootValue [line 987]

`void setRootValue( int $value )`

sets records root id value

Parameters:

int | $value: |

API Tags:

Access: | public

[ Top ]
shiftRlRange [line 883]

`void shiftRlRange( int $first, int $last, int $delta, [ $rootId = 1] )`

adds '$delta' to all Left and Right values that are >= '$first' and <= '$last'.

'$delta' can also be negative.

Parameters:

int | $first: | First node to be shifted (L value)
int | $last: | Last node to be shifted (L value)
int | $delta: | Value to be shifted by, can be negative
| $rootId: |

API Tags:

Access: | private

[ Top ]
shiftRlValues [line 850]

`void shiftRlValues( int $first, int $delta, [ $rootId = 1] )`

adds '$delta' to all Left and Right values that are >= '$first'. '$delta' can also be negative.

Parameters:

int | $first: | First node to be shifted
int | $delta: | Value to be shifted by, can be negative
| $rootId: |

API Tags:

Access: | private

[ Top ]
updateNode [line 808]

`void updateNode( int $destLeft, $levelDiff )`

move node's and its children to location $destLeft and updates rest of tree

Parameters:

int | $destLeft: | destination left value
| $levelDiff: |

API Tags:

Access: | private

Information Tags:

Todo: | Wrap in transaction

[ Top ]
_moveBetweenTrees [line 476]

`void _moveBetweenTrees( Doctrine_Record $dest, unknown_type $newLeftValue, unknown_type $moveType )`

Accomplishes moving of nodes between different trees.

Used by the move* methods if the root values of the two nodes are different.

Parameters:

Doctrine_Record | $dest: |
unknown_type | $newLeftValue: |
unknown_type | $moveType: |

API Tags:

Access: | private

Information Tags:

Todo: | Better exception handling/wrapping

[ Top ]