Browse Source

Merge branch '7.x' of github.com:Islandora/islandora into 7.x

pull/402/head
qadan 12 years ago
parent
commit
033a820667
  1. 7
      islandora.module
  2. 3
      tests/islandora_hooked_access_test.module

7
islandora.module

@ -1439,7 +1439,7 @@ function islandora_islandora_object_access($op, $object, $user) {
/** /**
* Hookable access callback for datastreams. * Hookable access callback for datastreams.
* *
* Requires the equivalent permissions on the object. * Positive permissions on object access suggests on the datastream.
*/ */
function islandora_datastream_access($op, $datastream, $user = NULL) { function islandora_datastream_access($op, $datastream, $user = NULL) {
$cache = &drupal_static(__FUNCTION__); $cache = &drupal_static(__FUNCTION__);
@ -1468,10 +1468,9 @@ function islandora_datastream_access($op, $datastream, $user = NULL) {
$user, $user,
)); ));
// Neither the object nor the datastream check returned FALSE, and one in // The datastream check returned FALSE, and one in the object or datastream
// the object or datastream checks returned TRUE. // checks returned TRUE.
$cache[$op][$datastream->parent->id][$datastream->id][$user->uid] = ( $cache[$op][$datastream->parent->id][$datastream->id][$user->uid] = (
!in_array(FALSE, $object_results, TRUE) &&
!in_array(FALSE, $datastream_results, TRUE) && !in_array(FALSE, $datastream_results, TRUE) &&
(in_array(TRUE, $object_results, TRUE) || in_array(TRUE, $datastream_results, TRUE)) (in_array(TRUE, $object_results, TRUE) || in_array(TRUE, $datastream_results, TRUE))
); );

3
tests/islandora_hooked_access_test.module

@ -23,6 +23,9 @@ function islandora_hooked_access_test_islandora_object_access($op, $object, $use
* Implements hook_islandora_datastream_access(). * Implements hook_islandora_datastream_access().
*/ */
function islandora_hooked_access_test_islandora_datastream_access($op, $datastream, $user) { function islandora_hooked_access_test_islandora_datastream_access($op, $datastream, $user) {
if ($op == FEDORA_PURGE) {
return FALSE;
}
if (isset($_SESSION['islandora_hooked_access_test']) && $_SESSION['islandora_hooked_access_test'] === func_get_args()) { if (isset($_SESSION['islandora_hooked_access_test']) && $_SESSION['islandora_hooked_access_test'] === func_get_args()) {
return TRUE; return TRUE;
} }

Loading…
Cancel
Save