function _menu_access($item, &$map) {
if ($item->replacements) {
$replacements = unserialize($item->replacements);
foreach ($replacements as $index => $value) {
if (is_array($value)) {
$function = $value[0];
$return = $function(MENU_INCOMING, $value[1], $map[$index]);
if ($return === FALSE) {
return FALSE;
}
$map[$index] = $return;
}
}
}
$callback = $item->access_callback;
if (is_numeric($callback)) {
return $callback;
}
$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') {
return (count($arguments) == 1) ? user_access($arguments[0]) : user_access($arguments[0], $arguments[1]);
}
return call_user_func_array($callback, $arguments);
}
function _menu_access_temp($item, &$map, &$path) {
if ($item->replacements) {
$replacements = unserialize($item->replacements);
$path_map = $map;
foreach ($replacements as $index => $value) {
if (is_array($value)) {
$function = $value[0];
$path_map[$index] = $function(MENU_OUTGOING, $value[1], $map[$index]);
$return = $function(MENU_INCOMING, $value[1], $path_map[$index]);
if ($return === FALSE) {
return FALSE;
}
$map[$index] = $return;
}
}
$path = implode('/', $path_map);
}
$callback = $item->access_callback;
if (is_numeric($callback)) {
return $callback;
}
$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') {
return (count($arguments) == 1) ? user_access($arguments[0]) : user_access($arguments[0], $arguments[1]);
}
return call_user_func_array($callback, $arguments);
}