diff options
Diffstat (limited to 'views/default/navigation/submenu_group.php')
-rw-r--r-- | views/default/navigation/submenu_group.php | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/views/default/navigation/submenu_group.php b/views/default/navigation/submenu_group.php new file mode 100644 index 000000000..08e417494 --- /dev/null +++ b/views/default/navigation/submenu_group.php @@ -0,0 +1,42 @@ +<?php +/** + * Elgg submenu group. Writes the <ul> for a submenu and passes items one by one + * to navigation/submenu_item + * + * @uses $vars['group_name'] + * @uses $vars['items'] + * @package Elgg + * @subpackage Core + * @author Curverider Ltd + * @link http://elgg.org/ + */ + +$group = (isset($vars['group'])) ? $vars['group'] : 'default'; +$items = (isset($vars['items'])) ? $vars['items'] : array(); +$hidden = (isset($vars['hidden']) && $vars['hidden']) ? 'hidden' : ''; +$child = (isset($vars['child']) && $vars['child']) ? 'child' : ''; + +echo "<ul class='submenu $group $hidden $child'>\n"; + +foreach ($items as $item) { + $item_vars = array('item' => $item, 'group' => $group); + if (isset($item->vars) && is_array($item->vars)) { + $item_vars = array_merge($item->vars, $item_vars); + } + + if (isset($item->children)) { + $child_vars = array( + 'group' => $group, + 'items' => $item->children, + // if this menu item is selected, make sure to display the full tree + // ie, don't hide it. + 'hidden' => !$item->selected, + 'child' => TRUE + ); + $item_vars['children_html'] = elgg_view('navigation/submenu_group', $child_vars); + } + + echo elgg_view('navigation/submenu_item', $item_vars); +} + +echo "</ul>\n";
\ No newline at end of file |