';
if (isset($this->_extra[$node_id][Horde_Tree_Renderer::EXTRA_LEFT])) {
$output .= implode(' ', $this->_extra[$node_id][Horde_Tree_Renderer::EXTRA_LEFT]);
}
$output .= str_repeat(' ', $node['indent'] * 2);
$output .= empty($node['url'])
? $node['label']
: '
' . $node['label'] . '';
if (isset($this->_extra[$node_id][Horde_Tree_Renderer::EXTRA_RIGHT])) {
$output .= implode(' ', $this->_extra[$node_id][Horde_Tree_Renderer::EXTRA_RIGHT]);
}
if (isset($node['children'])) {
$output .= ' [' .
$this->_generateUrlTag($node_id) .
($node['expanded'] ? '-' : '+') .
']';
}
$output .= '
';
if (isset($node['children']) && $node['expanded']) {
foreach ($node['children'] as $val) {
$output .= $this->_buildTree($val);
}
}
return $output;
}
/**
* Generate a link URL.
*
* @param string $node_id The node ID.
*
* @return string The link tag.
*/
protected function _generateUrlTag($node_id)
{
$url = new Horde_Url($_SERVER['PHP_SELF']);
return $url->add(Horde_Tree::TOGGLE . $this->_tree->instance, $node_id)->link();
}
}