diff options
Diffstat (limited to 'include/menu.php')
-rw-r--r-- | include/menu.php | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/include/menu.php b/include/menu.php index 5c0811437..40ea2b0f4 100644 --- a/include/menu.php +++ b/include/menu.php @@ -24,6 +24,45 @@ function menu_fetch($name,$uid,$observer_xchan) { return null; } +function menu_element($menu) { + + $arr = array(); + $arr['type'] = 'menu'; + $arr['name'] = $menu['menu_name']; + $arr['desc'] = $menu['menu_desc']; + $arr['baseurl'] = z_root(); + if($menu['menu_flags']) { + $arr['flags'] = array(); + if($menu['menu_flags'] & MENU_BOOKMARK) + $arr['flags'][] = 'bookmark'; + if($menu['menu_flags'] & MENU_SYSTEM) + $arr['flags'][] = 'system'; + } + if($menu['items']) { + $arr['items'] = array(); + foreach($menu['items'] as $it) { + $entry = array(); + $entry['link'] = str_replace(z_root(),'[baseurl]',$it['mitem_link']); + $entry['desc'] = $it['mitem_desc']; + $entry['order'] = $it['mitem_order']; + if($it['mitem_flags']) { + $entry['flags'] = array(); + if($it['mitem_flags'] & MENU_ITEM_ZID) + $entry['flags'][] = 'zid'; + if($it['mitem_flags'] & MENU_ITEM_NEWWIN) + $entry['flags'][] = 'new-window'; + if($it['mitem_flags'] & MENU_ITEM_CHATROOM) + $entry['flags'][] = 'chatroom'; + } + $arr['items'][] = $entry; + } + } + + return $arr; +} + + + function menu_render($menu, $class='', $edit = false, $var = '') { if(! $menu) |