function _menu_check_access

×

Error message

User warning: The following module is missing from the file system: theme/theme. For information about how to fix this, see the documentation page. in _drupal_trigger_error_with_delayed_logging() (line 1156 of /var/www/html/elmsln_community/api.elmsln.org/includes/bootstrap.inc).
cis7 menu.inc _menu_check_access(&$item, $map)
cle7 menu.inc _menu_check_access(&$item, $map)
elmsmedia7 menu.inc _menu_check_access(&$item, $map)
icor7 menu.inc _menu_check_access(&$item, $map)
meedjum_blog7 menu.inc _menu_check_access(&$item, $map)
mooc7 menu.inc _menu_check_access(&$item, $map)

Checks access to a menu item using the access callback.

Parameters

$item: A menu router or menu link item

$map: An array of path arguments; for example, array('node', '5').

Return value

$item['access'] becomes TRUE if the item is accessible, FALSE otherwise.

Related topics

2 calls to _menu_check_access()
_menu_link_translate in includes/menu.inc
Provides menu link access control, translation, and argument handling.
_menu_translate in includes/menu.inc
Handles dynamic path translation and menu access control.

File

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

Code

function _menu_check_access(&$item, $map) {
  $item['access'] = FALSE;
  // Determine access callback, which will decide whether or not the current
  // user has access to this path.
  $callback = empty($item['access_callback']) ? 0 : trim($item['access_callback']);
  // Check for a TRUE or FALSE value.
  if (is_numeric($callback)) {
    $item['access'] = (bool) $callback;
  }
  else {
    $arguments = menu_unserialize($item['access_arguments'], $map);
    // As call_user_func_array is quite slow and user_access is a very common
    // callback, it is worth making a special case for it.
    if ($callback == 'user_access') {
      $item['access'] = (count($arguments) == 1) ? user_access($arguments[0]) : user_access($arguments[0], $arguments[1]);
    }
    elseif (function_exists($callback)) {
      $item['access'] = call_user_func_array($callback, $arguments);
    }
  }
}