PEAR is archived and read-only

This mirror preserves historical PEAR package releases and metadata so existing references remain available.

Home » Structures » Tree

Generic tree management, currently supports databases (via DB, MDB and MDB2) and XML as data sources

This package is unmaintained.

Download latest release 0.3.7 (archived versions might be outdated)

License: PHP License

Description

Provides methods to read and manipulate trees, which are stored in a database (via DB, MDB and MDB2) or an XML file.

The trees can be stored in the DB either as nested trees.
Or as simple trees, which use parentId-like structure.
Currently XML data can only be read from a file and accessed.
The package offers a big number of methods to access and manipulate trees.
For example methods like: getRoot, getChild[ren[Ids]], getParent[s[Ids]], getPath[ById] and many
more.

There are two ways of retreiving the data from the place where they are stored,
one is by reading the entire tree into the memory - the Memory way. The other
is reading the tree nodes as needed (very useful in combination with huge trees
and the nested set model).

The package is designed that way that it is possible to convert/copy tree data
from either structure to another (from XML into DB).

This package has the following drivers:
* DB
* MDB
* MDB2
* Array
* XML
* FileSystem

Maintainers

Dependencies

Required

Optional

Releases

Bugs

IDStatusTypeVersionDateSummary
#252ClosedBug2003-11-14iunfinite recursion with xml -file
#349No FeedbackBug2003-12-03tree inserting parent as quoted string
#900ClosedBug2004-02-26PEAR QA: improvement for get_class()-usage
#913ClosedBug2004-02-26MDB Container + fixes
#1302BogusBug2004-04-27pear.php file is missing
#1569ClosedBug2004-06-07Tree_Memory_DBsimple has no hasChildren function hence remove doesnt work
#1976ClosedBug2004-07-25Missing $this-> with __construct()
#2699DuplicateBug2004-11-05initial little bug
#3166OpenReq2005-01-11Change walk/_walk to use call_user_func_array
#4711BogusReq2005-06-29tree structure don't need an Doubly-linked list
#4803ClosedBug2005-07-12References fix
#6249ClosedBug2005-12-15Documentation Error
#6328ClosedReq2005-12-22add MDB2 and improve MDB usage
#7212DuplicateBug0.2.42006-03-27Fatal Error, Fix given
#8508DuplicateBug1.2.02006-08-18call a class method with no scope
#11365ClosedBug0.3.02007-06-19Tree class doesnt contains raiseError method
#11500ClosedBug0.3.12007-07-02Tree/Memory.php method getElementContent() not working
#11504ClosedBug0.3.12007-07-02MDB2+Tree problem. MDB2 doesn't contains getTextValue method
#11822ClosedBug0.3.22007-08-12package description should include mention of MDB2 compatibility
#11982OpenReq0.3.22007-09-05Root node not present in SQL Query
#11983DuplicateReq0.3.22007-09-05query with no root node
#12780ClosedBug0.3.22007-12-27DB connection instead DSN fails because of get_parent_class
#13080ClosedBug0.3.22008-02-06MDB2simple _setup(): parentId cleared if parentId column is mapped to "parentid"
#13081ClosedBug0.3.22008-02-06Reopen #11504: MDB2+Tree problem. MDB2 doesn't contains getTextValue method
#14069ClosedBug0.3.32008-06-04isChildOf() delegator-method missing in Tree/Memory.php
#14710ClosedBug0.3.32008-09-25trailing spaces in files
#16403BogusBug2009-07-03Notice: Undefined index
#19117ClosedBugSVN2011-12-08upgrade PHPUnit require statements (for PEAR QA Team)
#19119ClosedBugSVN2011-12-09Only variable references should be returned by reference
#19120OpenBug0.3.52011-12-10setOption('columnNameMaps') does not work
#19185AssignedBugSVN2012-01-04Current releases were coming from branches, not trunk.