Specifications
the first level articles, which have no parent. After the tree has been constructed, we simply
call its display function to actually display the list of articles.
Using the treenode Class
The code for the treenode class is shown in Listing 29.5. (You might find it useful at this
stage to look over Chapter 6, “Object Oriented PHP,” to remind yourself how classes work.)
LISTING 29.5 treenode Class from treenode_class.php—The Backbone of the Application
<?
// functions for loading, contructing and
// displaying the tree are in this file
class treenode
{
// each node in the tree has member variables containing
// all the data for a post except the body of the message
var $m_postid;
var $m_title;
var $m_poster;
var $m_posted;
var $m_children;
var $m_childlist;
var $m_depth;
function treenode($postid, $title, $poster, $posted, $children,
$expand, $depth, $expanded, $sublist)
{
// the constructor sets up the member variables, but more
// importantly recursively creates lower parts of the tree
$this->m_postid = $postid;
$this->m_title = $title;
$this->m_poster = $poster;
$this->m_posted = $posted;
$this->m_children =$children;
$this->m_childlist = array();
$this->m_depth = $depth;
// we only care what is below this node if it
// has children and is marked to be expanded
// sublists are always expanded
if(($sublist||$expand) && $children)
{
$conn = db_connect();
Building Web Forums
C
HAPTER 29
29
BUILDING WEB
FORUMS
725
35 7842 CH29 3/6/01 3:34 PM Page 725