Same name and namespace in other branches
  1. 4.6.x includes/menu.inc \menu_execute_active_handler()
  2. 4.7.x includes/menu.inc \menu_execute_active_handler()
  3. 5.x includes/menu.inc \menu_execute_active_handler()
  4. 7.x includes/menu.inc \menu_execute_active_handler()

Execute the page callback associated with the current path

Related topics

4 calls to menu_execute_active_handler()
drupal_access_denied in includes/common.inc
Generates a 403 error if the request is not allowed.
drupal_not_found in includes/common.inc
Generates a 404 error if the request can not be handled.
index.php in ./index.php
user_page in modules/user/user.pages.inc
Access callback for path /user.

File

includes/menu.inc, line 336
API for the Drupal menu system.

Code

function menu_execute_active_handler($path = NULL) {
  if (_menu_site_is_offline()) {
    return MENU_SITE_OFFLINE;
  }

  // Rebuild if we know it's needed, or if the menu masks are missing which
  // occurs rarely, likely due to a race condition of multiple rebuilds.
  if (variable_get('menu_rebuild_needed', FALSE) || !variable_get('menu_masks', array())) {
    menu_rebuild();
  }
  if ($router_item = menu_get_item($path)) {
    if ($router_item['access']) {
      if ($router_item['file']) {
        require_once $router_item['file'];
      }
      return call_user_func_array($router_item['page_callback'], $router_item['page_arguments']);
    }
    else {
      return MENU_ACCESS_DENIED;
    }
  }
  return MENU_NOT_FOUND;
}