19 require_once(BASE.
"wcmf/lib/output/class.OutputStrategy.php");
31 var
$_leafOpenTag =
'<table border="0"><tr><td width="10"></td><td><img src="images/treeview_leaf.gif" alt="tree leaf" /><a href="javascript:if (nodeClicked) nodeClicked(\'RPL_NODEOID\')"><span> RPL_NODETYPE</span></a><div>';
33 var
$_nodeOpenTag =
'<table border="0"><tr><td width="10"></td><td><a onclick="javascript:toggle(this)" name="toggleButton"><img src="images/treeview_minus.gif" alt="folder closed" /></a><a href="javascript:if (nodeClicked) nodeClicked(\'RPL_NODEOID\')"><span> RPL_NODETYPE</span></a><div>';
50 $this->_indent = str_repeat(
' ', $indent);
51 $this->_linebreak = $linebreak;
52 $this->_tagsToClose = array();
59 $this->
write(
'<table border="0"><tr><td>'.$this->_linebreak);
68 for ($i=0;$i<sizeOf($this->_tagsToClose);$i++)
70 $closeTag = $this->_tagsToClose[$i];
71 $text .= str_repeat($this->_indent, $closeTag[
"indent"]).$closeTag[
"name"].$this->_linebreak;
73 $text .=
'</tr></td></table>'.$this->_linebreak;
83 $numChildren = $obj->getNumChildren();
85 $curIndent = $obj->getDepth();
86 if ($curIndent < $this->_lastIndent)
89 for ($i=$this->_lastIndent-$curIndent;$i>0;$i--)
91 $closeTag = array_shift($this->_tagsToClose);
92 $text .= str_repeat($this->_indent, $closeTag[
"indent"]).$closeTag[
"name"].$this->_linebreak;
97 $title = $obj->getValue(
'title');
99 $title =
": ".$title.
" ";
102 $replace = $obj->getType().$title;
104 if ($numChildren == 0)
107 $openTag = ereg_replace(
"RPL_NODETYPE",$replace,$openTag);
108 $openTag = ereg_replace(
"RPL_NODEOID",$obj->getOID(),$openTag);
110 $text .= str_repeat($this->_indent, $curIndent).$openTag.$this->_linebreak;
111 $text .= str_repeat($this->_indent, $curIndent).$this->_leafCloseTag.$this->_linebreak;
116 $openTag = ereg_replace(
"RPL_NODETYPE",$replace,$openTag);
117 $openTag = ereg_replace(
"RPL_NODEOID",$obj->getOID(),$openTag);
119 $text .= str_repeat($this->_indent, $curIndent).$openTag.$this->_linebreak;
120 $closeTag = array(
"name" => $this->_nodeCloseTag,
"indent" => $curIndent);
121 array_unshift($this->_tagsToClose, $closeTag);
124 $this->_lastIndent = $curIndent;
139 $this->_output .= $text;
OutputStrategy is used to write an object's content to a destination (called 'document') using a spec...
TreeViewOutputStrategy($indent=2, $linebreak="\n")
This OutputStrategy outputs the object's content in a DHTML Treeview.