function admin_menu_add_item in Administration menu 5.3
Same name and namespace in other branches
- 5.2 admin_menu.module \admin_menu_add_item()
Add a custom menu item.
Parameters
$_admin_menu: An array containing the complete administration menu structure, passed by reference.
$pid: The parent menu item id.
$item: An menu item array for the menu system. May contain the key 'weight' to adjust the item's weight.
$mid: (Optional) The menu item id to use. Should be specified for already existing menu items that are copied/relocated elsewhere.
Return value
The id of the new menu item.
3 calls to admin_menu_add_item()
- admin_menu_adjust_items in ./
admin_menu.inc - Add some hard-coded features for better user experience.
- admin_menu_admin_menu in ./
admin_menu.module - Implementation of hook_admin_menu().
- admin_menu_copy_items in ./
admin_menu.inc - Recursively copy menu items from a source parent menu item to a target item.
File
- ./
admin_menu.module, line 549 - Render an administrative menu as a dropdown menu at the top of the window.
Code
function admin_menu_add_item(&$_admin_menu, $pid, $item, $mid = NULL) {
static $custom_mid;
if (empty($item['path'])) {
return FALSE;
}
$item['pid'] = $pid;
$item['children'] = array();
if (!isset($custom_mid)) {
$custom_mid = max(array_keys($_admin_menu)) + 10000;
}
if (!isset($mid)) {
$mid = $custom_mid++;
}
else {
// Ensure we have an integer.
$mid = (int) $mid;
}
$_admin_menu[$mid] = $item;
$_admin_menu[$pid]['children'][] = $mid;
$_admin_menu['index'][$item['path']] = $mid;
admin_menu_item_url($_admin_menu, $mid);
// Sort items.
usort($_admin_menu[$pid]['children'], '_admin_menu_sort');
return $mid;
}