/** ¿ÉÕÛµþ´ó¸Ù
* ˈ̞ Tree
* ´æ·ÅλÖà xzn/html/tree.php
*/
/** ½ÚµãÀà
* ÓÃÓÚÔÚÊ÷Öб£´æÏà¹Ø²ÎÊý
*
* @param $id ½ÚµãºÅ
* @param $text ½Úµã±êÌâ
* @param $value ½Úµã²ÎÊý£¬Ò»°ãΪurl
* @param $image ½ÚµãͼƬ
*/
class TreeNode {
var $id;
var $text;
var $value;
var $image;
function TreeNode($id,$text,$value,$image) {
$this->id = $id;
$this->text = $text;
$this->value = $value;
$this->image = $image;
}
}
/** Ê÷Àà
* ÓÃÓÚ±£´æºÍÊä³ö¿ÉÕÛµþ´ó¸Ù
* ¿ÉÕÛµþ´ó¸ÙʹÓÃFrontPage 2000µÄJavaScript½Å±¾
*
* ·½·¨
* set()
* ÉèÖýڵ㣬½Úµã±àºÅ²ÉÓÃ1.2.3.4»ò1-2-3-4µÄÐÎʽ¡£
* ÎÞ²ã´ÎÏÞÖÆ¡£ÊäÈë´ÎÐò²»ÏÞ¡£
* @param $id ½ÚµãºÅ
* @param $text ½Úµã±êÌâ
* @param $value ½Úµã²ÎÊý£¬Ò»°ãΪurl
* @param $image ½ÚµãͼƬ
*
* display()
* ÏòÒ³ÃæÊä³ö¿ÉÕÛµþ´ó¸Ù
*
* ÊôÐÔ
* @public $node Êý×飬ÓÃÓÚ±£´æ½Úµã
* @public $jspath ½Å±¾outline.js´æ·ÅλÖÃ
*/
class Tree {
var $node;
var $jspath;
function set($id,$text,$value="",$image="plus.gif") {
$d = split("[.-]",$id);
$e = "";
for($i=0;$i $e .= "[".$d][$i]."]"; $n = new TreeNode($id,$text,$value,$image); eval("\$p=&\$this->node$e;"); $p[node] = $n; } function display() { echo ''."\n"; echo ''."\n"; echo ''."\n"; echo ' ksort($this->node); reset($this->node); while(list($key,$value) = each($this->node)) { $this->next($value,0); } echo "'."\n";
\n";
}
function next($node,$level) {
if(! is_array($node))
return;
if(isset($node[node])) {
// echo $level.",".$node[node]->id.",".$node[node]->text.",".$node[node]->value.",".$node[node]->image."\n";
echo '
echo '
echo '
if(empty($node[node]->value))
echo $node[node]->text."\n";
else
echo ''.$node[node]->text."\n";
echo '
return;
}
ksort($node);
reset($node);
while(list($key,$value) = each($node)) {
$this->next($value,$level+1);
}
echo "
}
}
?>

