* * See the enclosed file COPYING for license information (LGPL). If you * did not receive this file, see http://www.fsf.org/copyleft/lgpl.html. */ function addTree($parent, $parent_id, $indent = 1) { global $datatree, $tree; $nodes = $datatree->getById(DATATREE_FORMAT_FLAT, $parent_id, true, $parent, 1); $expanded = $tree->isExpanded($parent); $url = Horde::url('datatree.php'); foreach ($nodes as $id => $node) { if ($id == $parent_id) { continue; } $tree->addNode($parent . ':' . $id, $parent, $datatree->getShortName($node), $indent, false, array('url' => Util::addParameter($url, 'show', $datatree->getParam('group') . ':' . $id) . '#show')); if ($expanded) { addTree($parent . ':' . $id, $id, $indent + 1); } } } @define('HORDE_BASE', dirname(__FILE__) . '/..'); require_once HORDE_BASE . '/lib/base.php'; require_once 'Horde/Menu.php'; require_once 'Horde/Help.php'; require_once 'Horde/Tree.php'; require_once 'Horde/DataTree.php'; if (!Auth::isAdmin()) { Horde::authenticationFailureRedirect(); } $tree = &Horde_Tree::factory('datatree', 'html'); $tree->setOption('alternate', true); $driver = $conf['datatree']['driver']; $config = Horde::getDriverConfig('datatree', $conf['datatree']['driver']); $datatree = &DataTree::singleton($conf['datatree']['driver']); $roots = $datatree->getGroups(); if (is_a($roots, 'PEAR_Error')) { $notification->push($roots); } else { foreach ($roots as $root) { $tree->addNode($root, null, $root, 0, false); $datatree = &DataTree::singleton($driver, array_merge($config, array('group' => $root))); addTree($root, DATATREE_ROOT); } } if ($show = Util::getFormData('show')) { list($root, $id) = explode(':', $show); $datatree = &DataTree::singleton($driver, array_merge($config, array('group' => $root))); $data = $datatree->getData($id); $attributes = $datatree->getAttributes($id); } $title = _("DataTree Browser"); require HORDE_TEMPLATES . '/common-header.inc'; require HORDE_TEMPLATES . '/admin/common-header.inc'; $notification->notify(); $tree->renderTree(); if ($show) { echo '
'; print_r($data); print_r($attributes); echo '
'; } require HORDE_TEMPLATES . '/common-footer.inc';