You are here

function _admin_select_check_access in Administration Menu select 6

Same name and namespace in other branches
  1. 7 admin_select.module \_admin_select_check_access()

Check to see if the current user has access to an admin item.

1 string reference to '_admin_select_check_access'
admin_select_get_admin_select_info in ./admin_select.module

File

./admin_select.module, line 178
Core functionality for Administration Menu select module.

Code

function _admin_select_check_access(&$item) {

  // Determine access callback, which will decide whether or not the current
  // user has access to this path.
  $item += array(
    'access callback' => 'user_access',
  );
  $callback = empty($item['access callback']) ? FALSE : trim($item['access callback']);

  // Check for a TRUE or FALSE value.
  if (is_bool($callback)) {
    $item['access'] = $callback;
  }
  else {
    $arguments = isset($item['access arguments']) ? $item['access arguments'] : array();

    // 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);
    }
  }
  return $item;
}