menu_link_children_relative_depth($item)
drupal/includes/menu.inc, line 2157
Find the depth of an item's children relative to its depth.
For example, if the item has a depth of 2, and the maximum of any child in the menu link tree is 5, the relative depth is 3.
$item An array representing a menu link item.
The relative depth, or zero.
| Name | Description |
|---|---|
| Menu system | Define the navigation menus, and route page requests to code based on URLs. |
function menu_link_children_relative_depth($item) {
$i = 1;
$match = '';
$args[] = $item['menu_name'];
$p = 'p1';
while ($i <= MENU_MAX_DEPTH && $item[$p]) {
$match .= " AND $p = %d";
$args[] = $item[$p];
$p = 'p' . ++$i;
}
$max_depth = db_result(db_query_range("SELECT depth FROM {menu_links} WHERE menu_name = '%s'" . $match . " ORDER BY depth DESC", $args, 0, 1));
return ($max_depth > $item['depth']) ? $max_depth - $item['depth'] : 0;
}