function bigmenu_overview_form in Big Menu 6
Same name and namespace in other branches
- 7 bigmenu.admin.inc \bigmenu_overview_form()
Form for editing an entire menu tree at once.
Shows for one menu the menu items accessible to the current user and relevant operations.
Copied from core and modified to reduce recursion
See also
menu_overview_form
3 string references to 'bigmenu_overview_form'
- bigmenu_menu in ./
bigmenu.module - Declare admin links and AJAX callbacks
- bigmenu_menu_alter in ./
bigmenu.module - Take over core menu admin page
- bigmenu_slice_form in ./
bigmenu.admin.inc - Form for editing the immediate children of the given menu item id
File
- ./
bigmenu.admin.inc, line 28 - Administrative page callbacks for bigmenu module.
Code
function bigmenu_overview_form(&$form_state, $menu, $depth = 1) {
global $menu_admin;
$p_depth = 'p' . ($depth + 3);
$sql = "\n SELECT m.load_functions, m.to_arg_functions, m.access_callback, m.access_arguments, m.page_callback, m.page_arguments, m.title, m.title_callback, m.title_arguments, m.type, m.description, ml.*\n FROM {menu_links} ml LEFT JOIN {menu_router} m ON m.path = ml.router_path\n WHERE ml.menu_name = '%s'\n AND %s = 0\n ORDER BY p1 ASC, p2 ASC, p3 ASC, p4 ASC, p5 ASC, p6 ASC, p7 ASC, p8 ASC, p9 ASC";
$result = db_query($sql, $menu['menu_name'], $p_depth);
$tree = menu_tree_data($result);
$node_links = array();
menu_tree_collect_node_links($tree, $node_links);
// We indicate that a menu administrator is running the menu access check.
$menu_admin = TRUE;
menu_tree_check_access($tree, $node_links);
$menu_admin = FALSE;
$form = _bigmenu_overview_tree_form($tree, $depth);
$form['#menu'] = $menu;
if (element_children($form)) {
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Save configuration'),
);
}
else {
$form['empty_menu'] = array(
'#value' => t('There are no menu items yet.'),
);
}
return $form;
}