function advanced_menu_core_overview_page in Advanced Menu 7
Same name and namespace in other branches
- 6.x core/advanced_menu_core.admin.inc \advanced_menu_core_overview_page()
Menu callback which shows an overview page of all the custom menus and their descriptions.
1 string reference to 'advanced_menu_core_overview_page'
- advanced_menu_core_menu_alter in core/
advanced_menu_core.module - Implementation of hook_menu_alter().
File
- core/
advanced_menu_core.admin.inc, line 12 - Administrative page callbacks for advanced_menu_core module.
Code
function advanced_menu_core_overview_page() {
global $user;
$header = array(
t('Title'),
array(
'data' => t('Operations'),
'colspan' => '3',
),
);
if (module_exists('advanced_menu_submenu') && user_access('use sub menus')) {
$header = array(
t('Title'),
array(
'data' => t('Operations'),
'colspan' => '4',
),
);
}
$rows = array();
// User #1 has all privileges as does the 'administer menu' permission
if ($user->uid == 1 || user_access('administer menu')) {
$result = db_select('menu_custom')
->fields('menu_custom')
->orderBy('title', 'ASC')
->execute();
}
else {
if (module_exists('advanced_menu_menu_admin')) {
//Build the SELECT conditions based on the current user roles
$role_ids = array();
foreach ($user->roles as $key => $value) {
$role_ids[] = $key;
}
$menu_select = db_select('menu_custom', 'c')
->fields('c')
->condition('r.rid', $role_ids, 'IN')
->orderBy('c.title', 'ASC');
$menu_select
->join('advanced_menu_menu_admin_roles', 'r', 'r.menu_name = c.menu_name');
$result = $menu_select
->execute();
}
}
foreach ($result as $menu) {
$row = array(
theme('menu_admin_overview', array(
'title' => $menu->title,
'name' => $menu->menu_name,
'description' => $menu->description,
)),
);
$row[] = array(
'data' => l(t('list links'), 'admin/structure/menu/manage/' . $menu->menu_name),
);
$row[] = array(
'data' => l(t('edit menu'), 'admin/structure/menu/manage/' . $menu->menu_name . '/edit'),
);
$row[] = array(
'data' => l(t('add link'), 'admin/structure/menu/manage/' . $menu->menu_name . '/add'),
);
if (module_exists('advanced_menu_submenu') && user_access('use sub menus')) {
$row[] = array(
'data' => l(t('add submenu'), 'admin/structure/menu/manage/' . $menu->menu_name . '/add-submenu'),
);
}
$rows[] = $row;
}
return theme('table', array(
'header' => $header,
'rows' => $rows,
));
}