Browse Source

Pass the user along as we should.

pull/352/head
Adam Vessey 12 years ago
parent
commit
594adab668
  1. 17
      islandora.module

17
islandora.module

@ -444,13 +444,13 @@ function islandora_user_access($object, array $permissions, $content_models = ar
// Check for access.
$accessible_namespace = islandora_namespace_accessible($object->id);
if ($access_any) {
$has_required_permissions = function ($permissions, $datastream, $object) {
$has_required_permissions = function ($permissions, $datastream, $object, $user) {
foreach ($permissions as $p) {
if ($datastream !== NULL) {
$check = islandora_datastream_access($p, $datastream);
$check = islandora_datastream_access($p, $datastream, $user);
}
else {
$check = islandora_object_access($p, $object);
$check = islandora_object_access($p, $object, $user);
}
if ($check) {
@ -461,13 +461,13 @@ function islandora_user_access($object, array $permissions, $content_models = ar
$has_required_content_models = empty($content_models) ? TRUE : count(array_intersect($object->models, $content_models)) > 0;
}
else {
$has_required_permissions = function ($permissions, $datastream, $object) {
$has_required_permissions = function ($permissions, $datastream, $object, $user) {
foreach ($permissions as $p) {
if ($datastream !== NULL) {
$check = islandora_datastream_access($p, $datastream);
$check = islandora_datastream_access($p, $datastream, $user);
}
else {
$check = islandora_object_access($p, $object);
$check = islandora_object_access($p, $object, $user);
}
if (!$check) {
@ -479,7 +479,7 @@ function islandora_user_access($object, array $permissions, $content_models = ar
}
return $accessible_namespace &&
$has_required_permissions($permissions, $datastream, $object) &&
$has_required_permissions($permissions, $datastream, $object, $account) &&
$has_required_content_models;
}
@ -1188,6 +1188,9 @@ function islandora_object_access($op, $object, $user = NULL) {
if (!isset($cache[$op][$object->id][$user->uid])) {
module_load_include('inc', 'islandora', 'includes/utilities');
if (!($object instanceof AbstractObject)) {
ddebug_backtrace();
}
$results = islandora_invoke_hook_list('islandora_object_access', $object->models, array(
$op,
$object,

Loading…
Cancel
Save