Support Joomla!
Main
News
Help
Forum
Extensions
Shop
Developers
Joomla! 1.5 Documentation
Home
API reference wiki
Browse SVN repository
Packages
Select a package...
Unknown
Cache_Lite
com-tecnick-tcpdf
core
Joomla-Framework
OpenID
patError
patTemplate
PEAR
phpGACL
PHPMailer
PHP_Compat
utf8
Yadis
Package: Joomla-Framework
Other documents
Changelog
To do
To do (2)
Element index (all)
Error log
Install
Copyright
License
Developer Network License
The Joomla! Developer Network content is © copyright 2006 by the individual contributors and can be used in accordance with the
Creative Commons License, Attribution- NonCommercial- ShareAlike 2.5
Source code for file /joomla/base/tree.php
Documentation is available at
tree.php
<?php
/**
*
@version
$Id: tree.php 6613 2007-02-13 01:36:19Z chrisdavenport $
*
@package
Joomla.Framework
*
@subpackage
Base
*
@copyright
Copyright (C) 2005 - 2007 Open Source Matters. All rights reserved.
*
@license
GNU/GPL, see LICENSE.php
* Joomla! is free software. This version may have been modified pursuant to the
* GNU General Public License, and as distributed it includes or is derivative
* of works licensed under the GNU General Public License or other free or open
* source software licenses. See COPYRIGHT.php for copyright notices and
* details.
*/
// Check to ensure this file is within the rest of the framework
defined
(
'JPATH_BASE'
)
or
die
(
)
;
/**
* Tree Class.
*
*
@author
Louis Landry <
[email protected]
>
*
@package
Joomla.Framework
*
@subpackage
Base
*
@since
1.5
*/
class
JTree
extends
JObject
{
/**
* Root node
*/
var
$_root
=
null
;
/**
* Current working node
*/
var
$_current
=
null
;
function
__construct
(
)
{
$this
->
_root
=
new
JNode
(
'ROOT'
)
;
$this
->
_current
=
&
$this
->
_root
;
}
function
addChild
(
&
$node
,
$setCurrent
=
false
)
{
$this
->
_current
->
addChild
(
$node
)
;
if
(
$setCurrent
)
{
$this
->
_current
=
&
$node
;
}
}
function
getParent
(
)
{
$this
->
_current
=
&
$this
->
_current
->
getParent
(
)
;
}
function
reset
(
)
{
$this
->
_current
=
&
$this
->
_root
;
}
}
/**
* Tree Node Class.
*
*
@author
Louis Landry <
[email protected]
>
*
@package
Joomla.Framework
*
@subpackage
Base
*
@since
1.5
*/
class
JNode
extends
JObject
{
/**
* Parent node
*/
var
$_parent
=
null
;
/**
* Array of Children
*/
var
$_children
=
array
(
)
;
function
__construct
(
)
{
return
true
;
}
function
addChild
(
&
$node
)
{
$node
->
setParent
(
$this
)
;
$this
->
_children
[
]
=
&
$node
;
}
function
&
getParent
(
)
{
return
$this
->
_parent
;
}
function
setParent
(
&
$node
)
{
$this
->
_parent
=
&
$node
;
}
function
hasChildren
(
)
{
return
count
(
$this
->
_children
)
;
}
function
&
getChildren
(
)
{
return
$this
->
_children
;
}
}
?>
Documentation generated on Mon, 05 Mar 2007 21:29:44 +0000 by
phpDocumentor 1.3.1