function admin_landing_page_access in Admin 7.2
Same name and namespace in other branches
- 6.2 admin.module \admin_landing_page_access()
- 6 admin.module \admin_landing_page_access()
Menu access callback for admin landing pages.
For a given landing page, grant access if the current user has access to any of its child menu items.
1 string reference to 'admin_landing_page_access'
- admin_menu_alter in ./
admin.module - Implements hook_menu_alter().
File
- ./
admin.module, line 156
Code
function admin_landing_page_access($path) {
static $paths;
if (!isset($paths[$path])) {
$paths[$path] = FALSE;
// Retrieve menu item but without menu_get_item()
$item = db_select('menu_links')
->fields('menu_links')
->condition('module', 'system')
->condition('router_path', $path)
->execute()
->fetchAssoc();
if ($item) {
$query = db_select('menu_links', 'ml');
$query
->leftJoin('menu_router', 'm', 'm.path = ml.router_path');
$query
->fields('ml');
$query
->fields('m', array_diff(drupal_schema_fields_sql('menu_router'), array(
'weight',
)));
$query
->condition('ml.plid', $item['mlid']);
$result = $query
->execute();
while ($item = $result
->fetchAssoc()) {
_menu_link_translate($item);
if ($item['access']) {
$paths[$path] = TRUE;
break;
}
}
}
}
return $paths[$path];
}