You are here

function theme_dhtml_menu_item in DHTML Menu 5

Same name and namespace in other branches
  1. 6 dhtml_menu.inc \theme_dhtml_menu_item()
  2. 6.2 dhtml_menu.theme.inc \theme_dhtml_menu_item()

Format each menu item

1 theme call to theme_dhtml_menu_item()
dhtml_menu_tree in ./dhtml_menu.module
Convert menus into DHTML menus

File

./dhtml_menu.module, line 176
DHTML menus

Code

function theme_dhtml_menu_item($mid, $children = '', $leaf = true) {
  static $expanded = null;
  $active = $display = '';
  if (!is_array($expanded)) {
    $expanded = explode(',', $_COOKIE['dhtml_menu']);
  }
  if ($mid == menu_get_active_nontask_item()) {
    $active = ' active';
  }
  if ($leaf) {
    return "  <li class=\"leaf{$active}\">" . menu_item_link($mid) . "</li>\n";
  }
  else {
    $menu = menu_get_menu();
    $type = isset($menu['visible'][$mid]['type']) ? $menu['visible'][$mid]['type'] : null;
    if (menu_in_active_trail($mid) || $type & MENU_EXPANDED || in_array("sub{$mid}", $expanded)) {
      $state = 'expanded';
    }
    else {
      $state = 'collapsed';
      $display = 'style="display: none;"';
    }
    $output = "<li class=\"menutitle {$state}\" id=\"menu-sub{$mid}\" >";
    $output .= menu_item_link($mid);
    $output .= "<div class=\"submenu\" id=\"sub{$mid}\" {$display}>\n";
    $output .= "{$children}\n</div>\n";
    $output .= "</li>\n";
    return $output;
  }
}