function advanced_menu_core_overview_page in Advanced Menu 6.x
Same name and namespace in other branches
- 7 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 callbaks for advanced_menu_core module.
Code
function advanced_menu_core_overview_page() {
global $user;
// User #1 has all privileges as does the 'administer menu' permission
if ($user->uid == 1 || user_access('administer menu')) {
$result = db_query("SELECT * FROM {menu_custom} ORDER BY title");
}
else {
if (module_exists('advanced_menu_menu_admin')) {
//Build the SELECT conditions based on the current user roles
$select_condition = ' AND (';
foreach ($user->roles as $key => $value) {
if ($select_condition != ' AND (') {
$select_condition .= ' OR ';
}
$select_condition .= 'roles.rid = ' . $key;
}
if ($select_condition != ' AND (') {
$result = db_query("SELECT * FROM {menu_custom} RIGHT JOIN {advanced_menu_menu_admin_roles} roles ON (menu_custom.menu_name = roles.menu_name " . $select_condition . ")) ORDER BY title");
}
}
}
$content = array();
while ($menu = db_fetch_array($result)) {
$menu['href'] = 'admin/build/menu-customize/' . $menu['menu_name'];
$menu['localized_options'] = array();
$content[] = $menu;
}
return theme('admin_block_content', $content);
}