You are here

function menu_reference_get_all_menu_children in Menu Reference 7

A function to get all menu children (regardless of depth) of a given mlid

Parameters

type $mlid:

type $menu:

Return value

$children a multidimensional array of nodes in menu structure

1 call to menu_reference_get_all_menu_children()
menu_references_filter_handler::query in views/handlers/menu_references_filter_handler.inc
Add this filter to the query.

File

./menu_reference.module, line 266
Primarily Drupal hooks and global API functions for module Menu Reference.

Code

function menu_reference_get_all_menu_children($mlid, $menu = 'main-menu') {
  $tree = menu_tree_all_data($menu);
  $children = array();
  if ($mlid) {
    foreach ($tree as $branch) {
      $check = _menu_reference_find_mlid_in_menu($mlid, $branch);
      if ($check) {
        $branch = $check;
        foreach ($branch['below'] as $twig) {
          $children[] = $twig['link']['mlid'];
          if ($twig['below']) {
            $children = array_merge($children, menu_reference_get_all_menu_children($twig['link']['mlid']));
          }
        }
      }
    }
  }
  return $children;
}