From aaa0a8ddc63408e2d7e237cb15185119a25ac753 Mon Sep 17 00:00:00 2001 From: Adam Vessey Date: Tue, 13 Aug 2013 14:33:12 +0000 Subject: [PATCH 1/2] Fix TOKEN_TIMEOUT constant. --- includes/authtokens.inc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/includes/authtokens.inc b/includes/authtokens.inc index 9d5783a9..36e8689f 100644 --- a/includes/authtokens.inc +++ b/includes/authtokens.inc @@ -10,7 +10,7 @@ // Token lifespan(seconds): after this duration the token expires. // 5 minutes. -define('TOKEN_TIMEOUT', 300); +define('ISLANDORA_AUTHTOKEN_TOKEN_TIMEOUT', 300); /** * Request Islandora to construct an object/datastream authentication token. @@ -92,7 +92,7 @@ function islandora_validate_object_token($pid, $dsid, $token) { ->condition('pid', $pid, '=') ->condition('dsid', $dsid, '=') ->condition('time', $time, '<=') - ->condition('time', $time - TOKEN_TIMEOUT, '>') + ->condition('time', $time - ISLANDORA_AUTHTOKEN_TOKEN_TIMEOUT, '>') ->execute() ->fetchAll(); if ($result) { @@ -131,6 +131,6 @@ function islandora_validate_object_token($pid, $dsid, $token) { function islandora_remove_expired_tokens() { $time = time(); db_delete("islandora_authtokens") - ->condition('time', $time - TOKEN_TIMEOUT, '<') + ->condition('time', $time - ISLANDORA_AUTHTOKEN_TOKEN_TIMEOUT, '<') ->execute(); } From febd3a3feef1117ff5afe115995b61c8f050982f Mon Sep 17 00:00:00 2001 From: Adam Vessey Date: Tue, 13 Aug 2013 15:09:34 +0000 Subject: [PATCH 2/2] Carry through changes. --- includes/object_properties.form.inc | 2 +- includes/utilities.inc | 4 +- islandora.module | 85 +++++++++++++---------- tests/authtokens.test | 2 +- tests/hooked_access.test | 6 +- tests/islandora_hooked_access_test.module | 2 +- tests/islandora_manage_permissions.test | 50 ++++++------- theme/theme.inc | 18 ++--- 8 files changed, 91 insertions(+), 78 deletions(-) diff --git a/includes/object_properties.form.inc b/includes/object_properties.form.inc index 44d016b7..51e48a5f 100644 --- a/includes/object_properties.form.inc +++ b/includes/object_properties.form.inc @@ -60,7 +60,7 @@ function islandora_object_properties_form(array $form, array &$form_state, Abstr ), 'delete' => array( '#type' => 'submit', - '#access' => islandora_object_access(FEDORA_PURGE, $object), + '#access' => islandora_object_access(ISLANDORA_PURGE, $object), '#value' => t('Delete'), '#submit' => array('islandora_object_properties_form_delete'), '#limit_validation_errors' => array(array('pid')), diff --git a/includes/utilities.inc b/includes/utilities.inc index c8d1ae5e..91988918 100644 --- a/includes/utilities.inc +++ b/includes/utilities.inc @@ -391,10 +391,10 @@ function islandora_get_datastreams_requirements_from_models(array $models) { * - "optional": A boolean indicating if the given stream is optional. */ function islandora_get_datastreams_requirements_from_content_model(AbstractObject $object) { - if (empty($object[DS_COMP_STREAM]) || !islandora_datastream_access(FEDORA_VIEW_OBJECTS, $object[DS_COMP_STREAM])) { + if (empty($object[ISLANDORA_DS_COMP_STREAM]) || !islandora_datastream_access(ISLANDORA_VIEW_OBJECTS, $object[ISLANDORA_DS_COMP_STREAM])) { return array(); } - $xml = new SimpleXMLElement($object[DS_COMP_STREAM]->content); + $xml = new SimpleXMLElement($object[ISLANDORA_DS_COMP_STREAM]->content); foreach ($xml->dsTypeModel as $ds) { $dsid = (string) $ds['ID']; $optional = strtolower((string) $ds['optional']); diff --git a/islandora.module b/islandora.module index 7d58c865..6ec9d03a 100644 --- a/islandora.module +++ b/islandora.module @@ -24,15 +24,15 @@ */ // Common datastreams. -define('DS_COMP_STREAM', 'DS-COMPOSITE-MODEL'); +define('ISLANDORA_DS_COMP_STREAM', 'DS-COMPOSITE-MODEL'); // Permissions. -define('FEDORA_VIEW_OBJECTS', 'view fedora repository objects'); -define('FEDORA_METADATA_EDIT', 'edit fedora metadata'); -define('FEDORA_ADD_DS', 'add fedora datastreams'); -define('FEDORA_INGEST', 'ingest fedora objects'); -define('FEDORA_PURGE', 'delete fedora objects and datastreams'); -define('FEDORA_MANAGE_PROPERTIES', 'manage object properties'); +define('ISLANDORA_VIEW_OBJECTS', 'view fedora repository objects'); +define('ISLANDORA_METADATA_EDIT', 'edit fedora metadata'); +define('ISLANDORA_ADD_DS', 'add fedora datastreams'); +define('ISLANDORA_INGEST', 'ingest fedora objects'); +define('ISLANDORA_PURGE', 'delete fedora objects and datastreams'); +define('ISLANDORA_MANAGE_PROPERTIES', 'manage object properties'); define('ISLANDORA_VIEW_DATASTREAM_HISTORY', 'view old datastream versions'); // Hooks. @@ -57,6 +57,19 @@ define('ISLANDORA_INGEST_STEP_HOOK', 'islandora_ingest_steps'); // Autocomplete paths. define('ISLANDORA_CONTENT_MODELS_AUTOCOMPLETE', 'islandora/autocomplete/content-models'); +/** + * @deprecated Constants. + */ +// @codingStandardsIgnoreStart +define('DS_COMP_STREAM', ISLANDORA_DS_COMP_STREAM); +define('FEDORA_VIEW_OBJECTS', ISLANDORA_VIEW_OBJECTS); +define('FEDORA_METADATA_EDIT', ISLANDORA_METADATA_EDIT); +define('FEDORA_ADD_DS', ISLANDORA_ADD_DS); +define('FEDORA_INGEST', ISLANDORA_INGEST); +define('FEDORA_PURGE', ISLANDORA_PURGE); +define('FEDORA_MANAGE_PROPERTIES', ISLANDORA_MANAGE_PROPERTIES); +// @codingStandardsIgnoreEnd + /** * Implements hook_menu(). * @@ -85,7 +98,7 @@ function islandora_menu() { 'title' => 'Solution packs', 'description' => 'Install content models and collections required by installed solution packs.', 'page callback' => 'islandora_solution_packs_admin', - 'access arguments' => array(FEDORA_ADD_DS), + 'access arguments' => array(ISLANDORA_ADD_DS), 'file' => 'includes/solution_packs.inc', 'type' => MENU_NORMAL_ITEM, ); @@ -93,7 +106,7 @@ function islandora_menu() { 'title' => 'Islandora Repository', 'page callback' => 'islandora_view_default_object', 'type' => MENU_NORMAL_ITEM, - 'access arguments' => array(FEDORA_VIEW_OBJECTS), + 'access arguments' => array(ISLANDORA_VIEW_OBJECTS), ); $items['islandora/object/%islandora_object'] = array( 'title callback' => 'islandora_drupal_title', @@ -102,14 +115,14 @@ function islandora_menu() { 'page arguments' => array(2), 'type' => MENU_NORMAL_ITEM, 'access callback' => 'islandora_object_access_callback', - 'access arguments' => array(FEDORA_VIEW_OBJECTS, 2), + 'access arguments' => array(ISLANDORA_VIEW_OBJECTS, 2), ); $items['islandora/object/%islandora_object/print'] = array( 'page callback' => 'islandora_printer_object', 'page arguments' => array(2), 'type' => MENU_NORMAL_ITEM, 'access callback' => 'islandora_object_access_callback', - 'access arguments' => array(FEDORA_VIEW_OBJECTS, 2), + 'access arguments' => array(ISLANDORA_VIEW_OBJECTS, 2), ); $items['islandora/object/%islandora_object/view'] = array( 'title' => 'View', @@ -129,11 +142,11 @@ function islandora_menu() { 'access callback' => 'islandora_object_manage_access_callback', 'access arguments' => array( array( - FEDORA_MANAGE_PROPERTIES, - FEDORA_METADATA_EDIT, - FEDORA_ADD_DS, - FEDORA_PURGE, - FEDORA_INGEST, + ISLANDORA_MANAGE_PROPERTIES, + ISLANDORA_METADATA_EDIT, + ISLANDORA_ADD_DS, + ISLANDORA_PURGE, + ISLANDORA_INGEST, ), 2), ); @@ -151,9 +164,9 @@ function islandora_menu() { 'access callback' => 'islandora_object_manage_access_callback', 'access arguments' => array( array( - FEDORA_METADATA_EDIT, - FEDORA_ADD_DS, - FEDORA_PURGE, + ISLANDORA_METADATA_EDIT, + ISLANDORA_ADD_DS, + ISLANDORA_PURGE, ), 2), 'weight' => -10, ); @@ -165,7 +178,7 @@ function islandora_menu() { 'page arguments' => array('islandora_object_properties_form', 2), 'type' => MENU_LOCAL_TASK, 'access callback' => 'islandora_object_access_callback', - 'access arguments' => array(FEDORA_MANAGE_PROPERTIES, 2), + 'access arguments' => array(ISLANDORA_MANAGE_PROPERTIES, 2), 'weight' => -5, ); $items['islandora/object/%islandora_object/delete'] = array( @@ -175,7 +188,7 @@ function islandora_menu() { 'page arguments' => array('islandora_delete_object_form', 2), 'type' => MENU_CALLBACK, 'access callback' => 'islandora_object_access_callback', - 'access arguments' => array(FEDORA_PURGE, 2), + 'access arguments' => array(ISLANDORA_PURGE, 2), ); $items['islandora/object/%islandora_object/manage/datastreams/add'] = array( 'title' => 'Add a datastream', @@ -184,7 +197,7 @@ function islandora_menu() { 'page arguments' => array('islandora_add_datastream_form', 2), 'type' => MENU_LOCAL_ACTION, 'access callback' => 'islandora_object_access_callback', - 'access arguments' => array(FEDORA_ADD_DS, 2), + 'access arguments' => array(ISLANDORA_ADD_DS, 2), ); $items['islandora/object/%islandora_object/manage/datastreams/add/autocomplete'] = array( 'file' => 'includes/add_datastream.form.inc', @@ -192,7 +205,7 @@ function islandora_menu() { 'page arguments' => array(2), 'type' => MENU_CALLBACK, 'access callback' => 'islandora_object_access_callback', - 'access arguments' => array(FEDORA_ADD_DS, 2), + 'access arguments' => array(ISLANDORA_ADD_DS, 2), ); $items['islandora/object/%islandora_object/datastream/%islandora_datastream'] = array( 'title' => 'View datastream', @@ -201,7 +214,7 @@ function islandora_menu() { 'type' => MENU_CALLBACK, 'file' => 'includes/datastream.inc', 'access callback' => 'islandora_datastream_access', - 'access arguments' => array(FEDORA_VIEW_OBJECTS, 4), + 'access arguments' => array(ISLANDORA_VIEW_OBJECTS, 4), 'load arguments' => array(2), ); // This menu item uses token authentication in islandora_tokened_object. @@ -209,7 +222,7 @@ function islandora_menu() { 'title' => 'View datastream', 'load arguments' => array('%map'), 'access callback' => 'islandora_object_datastream_tokened_access_callback', - 'access arguments' => array(FEDORA_VIEW_OBJECTS, 2, 4), + 'access arguments' => array(ISLANDORA_VIEW_OBJECTS, 2, 4), 'type' => MENU_DEFAULT_LOCAL_TASK, ); $items['islandora/object/%islandora_object/datastream/%islandora_datastream/download'] = array( @@ -219,7 +232,7 @@ function islandora_menu() { 'type' => MENU_CALLBACK, 'file' => 'includes/datastream.inc', 'access callback' => 'islandora_datastream_access', - 'access arguments' => array(FEDORA_VIEW_OBJECTS, 4), + 'access arguments' => array(ISLANDORA_VIEW_OBJECTS, 4), 'load arguments' => array(2), ); $items['islandora/object/%islandora_object/datastream/%islandora_datastream/edit'] = array( @@ -229,7 +242,7 @@ function islandora_menu() { 'type' => MENU_CALLBACK, 'file' => 'includes/datastream.inc', 'access callback' => 'islandora_datastream_access', - 'access arguments' => array(FEDORA_METADATA_EDIT, 4), + 'access arguments' => array(ISLANDORA_METADATA_EDIT, 4), 'load arguments' => array(2), ); $items['islandora/object/%islandora_object/datastream/%islandora_datastream/delete'] = array( @@ -239,7 +252,7 @@ function islandora_menu() { 'file' => 'includes/delete_datastream.form.inc', 'type' => MENU_CALLBACK, 'access callback' => 'islandora_datastream_access', - 'access arguments' => array(FEDORA_PURGE, 4), + 'access arguments' => array(ISLANDORA_PURGE, 4), 'load arguments' => array(2), ); $items['islandora/object/%islandora_object/datastream/%islandora_datastream/version'] = array( @@ -259,7 +272,7 @@ function islandora_menu() { 'file' => 'includes/datastream.version.inc', 'type' => MENU_CALLBACK, 'access callback' => 'islandora_datastream_access', - 'access arguments' => array(FEDORA_PURGE, 4), + 'access arguments' => array(ISLANDORA_PURGE, 4), 'load arguments' => array(2), ); $items['islandora/object/%islandora_object/datastream/%islandora_datastream/version/%/view'] = array( @@ -277,7 +290,7 @@ function islandora_menu() { 'page arguments' => array(2), 'type' => MENU_CALLBACK, 'access callback' => 'islandora_object_access', - 'access arguments' => array(FEDORA_VIEW_OBJECTS, 2), + 'access arguments' => array(ISLANDORA_VIEW_OBJECTS, 2), 'load arguments' => array(2), ); $items[ISLANDORA_CONTENT_MODELS_AUTOCOMPLETE] = array( @@ -390,27 +403,27 @@ function islandora_theme() { */ function islandora_permission() { return array( - FEDORA_VIEW_OBJECTS => array( + ISLANDORA_VIEW_OBJECTS => array( 'title' => t('View repository objects'), 'description' => t('View objects in the repository. Note: Fedora XACML security policies may override this permission.'), ), - FEDORA_ADD_DS => array( + ISLANDORA_ADD_DS => array( 'title' => t('Add datastreams to repository objects'), 'description' => t('Add datastreams to objects in the repository. Note: Fedora XACML security policies may override this position.'), ), - FEDORA_METADATA_EDIT => array( + ISLANDORA_METADATA_EDIT => array( 'title' => t('Edit metadata'), 'description' => t('Edit metadata for objects in the repository.'), ), - FEDORA_INGEST => array( + ISLANDORA_INGEST => array( 'title' => t('Create new repository objects'), 'description' => t('Create new objects in the repository.'), ), - FEDORA_PURGE => array( + ISLANDORA_PURGE => array( 'title' => t('Permanently remove objects from the repository'), 'description' => t('Permanently remove objects from the repository.'), ), - FEDORA_MANAGE_PROPERTIES => array( + ISLANDORA_MANAGE_PROPERTIES => array( 'title' => t('Manage object properties'), 'description' => t('Modify object labels, owner IDs, and states.'), ), diff --git a/tests/authtokens.test b/tests/authtokens.test index ccd3088a..352689e2 100644 --- a/tests/authtokens.test +++ b/tests/authtokens.test @@ -74,7 +74,7 @@ class IslandoraAuthtokensTestCase extends IslandoraWebTestCase { $this->drupalGet("islandora/object/{$newpid}/datastream/JP2/view"); $this->assertResponse(403, 'Page not found as anonymous'); - $account = $this->drupalCreateUser(array(FEDORA_VIEW_OBJECTS)); + $account = $this->drupalCreateUser(array(ISLANDORA_VIEW_OBJECTS)); $this->drupalLogin($account); $this->drupalGet("islandora/object/{$newpid}/datastream/JP2/view"); diff --git a/tests/hooked_access.test b/tests/hooked_access.test index 0039460e..894eee80 100644 --- a/tests/hooked_access.test +++ b/tests/hooked_access.test @@ -37,9 +37,9 @@ class IslandoraHookedAccessTestCase extends IslandoraWebTestCase { $this->objects = array( 'test:testAccessHook', ); - $this->op = FEDORA_VIEW_OBJECTS; - $this->other_op = FEDORA_INGEST; - $this->denied_op = FEDORA_PURGE; + $this->op = ISLANDORA_VIEW_OBJECTS; + $this->other_op = ISLANDORA_INGEST; + $this->denied_op = ISLANDORA_PURGE; $this->purgeTestObjects(); $this->dsid = 'asdf'; $this->createTestObjects(); diff --git a/tests/islandora_hooked_access_test.module b/tests/islandora_hooked_access_test.module index de417738..ea033589 100644 --- a/tests/islandora_hooked_access_test.module +++ b/tests/islandora_hooked_access_test.module @@ -9,7 +9,7 @@ * Implements hook_islandora_object_access(). */ function islandora_hooked_access_test_islandora_object_access($op, $object, $user) { - if ($op == FEDORA_PURGE) { + if ($op == ISLANDORA_PURGE) { return FALSE; } if (isset($_SESSION['islandora_hooked_access_test']) && $_SESSION['islandora_hooked_access_test'] === func_get_args()) { diff --git a/tests/islandora_manage_permissions.test b/tests/islandora_manage_permissions.test index 8fc1549f..e17d1501 100644 --- a/tests/islandora_manage_permissions.test +++ b/tests/islandora_manage_permissions.test @@ -33,16 +33,16 @@ class IslandoraPermissionsTestCase extends IslandoraWebTestCase { * Test manage permissions. */ public function testManagePermissions() { - // Test permission FEDORA_VIEW_OBJECTS. + // Test permission ISLANDORA_VIEW_OBJECTS. // Create a user with permission. - $user = $this->drupalCreateUser(array(FEDORA_VIEW_OBJECTS)); + $user = $this->drupalCreateUser(array(ISLANDORA_VIEW_OBJECTS)); // Log the user in. $this->drupalLogin($user); $this->clickLink(t('Islandora Repository')); $this->assertNoLink('Manage', 'Manage tab is not on current page.'); - // Test permission FEDORA_VIEW_OBJECTS, FEDORA_MANAGE_PROPERTIES. - $user = $this->drupalCreateUser(array(FEDORA_VIEW_OBJECTS, FEDORA_MANAGE_PROPERTIES)); + // Test permission ISLANDORA_VIEW_OBJECTS, ISLANDORA_MANAGE_PROPERTIES. + $user = $this->drupalCreateUser(array(ISLANDORA_VIEW_OBJECTS, ISLANDORA_MANAGE_PROPERTIES)); $this->drupalLogin($user); $this->clickLink(t('Islandora Repository')); $this->assertLink('Manage', 0, 'Manage tab is on current page.'); @@ -51,8 +51,8 @@ class IslandoraPermissionsTestCase extends IslandoraWebTestCase { $this->assertNoLink('Datastreams', 'Datastreams tab is not on current page.'); $this->assertNoLink('Collection', 'Collection tab is not on current page.'); - // Test permission FEDORA_VIEW_OBJECTS, FEDORA_ADD_DS. - $user = $this->drupalCreateUser(array(FEDORA_VIEW_OBJECTS, FEDORA_ADD_DS)); + // Test permission ISLANDORA_VIEW_OBJECTS, ISLANDORA_ADD_DS. + $user = $this->drupalCreateUser(array(ISLANDORA_VIEW_OBJECTS, ISLANDORA_ADD_DS)); $this->drupalLogin($user); $this->clickLink(t('Islandora Repository')); $this->assertLink('Manage', 0, 'Manage tab is on current page.'); @@ -61,8 +61,8 @@ class IslandoraPermissionsTestCase extends IslandoraWebTestCase { $this->assertNoLink('Properties', 'Properties tab is not on current page.'); $this->assertNoLink('Collection', 'Collection tab is not on current page.'); - // Test permission FEDORA_VIEW_OBJECTS, FEDORA_METADATA_EDIT. - $user = $this->drupalCreateUser(array(FEDORA_VIEW_OBJECTS, FEDORA_METADATA_EDIT)); + // Test permission ISLANDORA_VIEW_OBJECTS, ISLANDORA_METADATA_EDIT. + $user = $this->drupalCreateUser(array(ISLANDORA_VIEW_OBJECTS, ISLANDORA_METADATA_EDIT)); $this->drupalLogin($user); $this->clickLink(t('Islandora Repository')); $this->assertLink('Manage', 0, 'Manage tab is on current page.'); @@ -71,8 +71,8 @@ class IslandoraPermissionsTestCase extends IslandoraWebTestCase { $this->assertNoLink('Properties', 'Properties tab is not on current page.'); $this->assertNoLink('Collection', 'Collection tab is not on current page.'); - // Test permission FEDORA_VIEW_OBJECTS, FEDORA_PURGE. - $user = $this->drupalCreateUser(array(FEDORA_VIEW_OBJECTS, FEDORA_PURGE)); + // Test permission ISLANDORA_VIEW_OBJECTS, ISLANDORA_PURGE. + $user = $this->drupalCreateUser(array(ISLANDORA_VIEW_OBJECTS, ISLANDORA_PURGE)); $this->drupalLogin($user); $this->clickLink(t('Islandora Repository')); $this->assertLink('Manage', 0, 'Manage tab is on current page.'); @@ -98,39 +98,39 @@ class IslandoraPermissionsTestCase extends IslandoraWebTestCase { $ret = islandora_user_access($object, array()); $this->assertFalse($ret, 'User access denied when no permissions are provided.'); // Test access with matching permission. - $user = $this->drupalCreateUser(array(FEDORA_VIEW_OBJECTS)); - $ret = islandora_user_access($object, array(FEDORA_VIEW_OBJECTS), array(), TRUE, $user); + $user = $this->drupalCreateUser(array(ISLANDORA_VIEW_OBJECTS)); + $ret = islandora_user_access($object, array(ISLANDORA_VIEW_OBJECTS), array(), TRUE, $user); $this->assertTrue($ret, 'User access granted when permissions match.'); // Test access with matching permission but access any is FALSE. - $user = $this->drupalCreateUser(array(FEDORA_VIEW_OBJECTS)); - $ret = islandora_user_access($object, array(FEDORA_VIEW_OBJECTS, FEDORA_PURGE), array(), FALSE, $user); + $user = $this->drupalCreateUser(array(ISLANDORA_VIEW_OBJECTS)); + $ret = islandora_user_access($object, array(ISLANDORA_VIEW_OBJECTS, ISLANDORA_PURGE), array(), FALSE, $user); $this->assertFalse($ret, 'User access denied for matching permission but with access any set to FALSE.'); // Test access with non-matching permission. - $user = $this->drupalCreateUser(array(FEDORA_PURGE)); - $ret = islandora_user_access($object, array(FEDORA_VIEW_OBJECTS), array(), TRUE, $user); + $user = $this->drupalCreateUser(array(ISLANDORA_PURGE)); + $ret = islandora_user_access($object, array(ISLANDORA_VIEW_OBJECTS), array(), TRUE, $user); $this->assertFalse($ret, 'User access denied when permissions did not match.'); // Test access with both permissions and content model. - $user = $this->drupalCreateUser(array(FEDORA_VIEW_OBJECTS)); + $user = $this->drupalCreateUser(array(ISLANDORA_VIEW_OBJECTS)); $model = $object->models; $model = reset($model); - $ret = islandora_user_access($object, array(FEDORA_VIEW_OBJECTS), array($model), TRUE, $user); + $ret = islandora_user_access($object, array(ISLANDORA_VIEW_OBJECTS), array($model), TRUE, $user); $this->assertTrue($ret, 'User access granted for matching permission and model.'); // Test access with matching permissions and non-matching content model. - $user = $this->drupalCreateUser(array(FEDORA_VIEW_OBJECTS)); - $ret = islandora_user_access($object, array(FEDORA_VIEW_OBJECTS), array('islandora:obviouslyNotACModel'), TRUE, $user); + $user = $this->drupalCreateUser(array(ISLANDORA_VIEW_OBJECTS)); + $ret = islandora_user_access($object, array(ISLANDORA_VIEW_OBJECTS), array('islandora:obviouslyNotACModel'), TRUE, $user); $this->assertFalse($ret, 'User access denied for matching permission and non-matching model.'); // Test access with all matching permissions and one matching model but // access any is FALSE. - $user = $this->drupalCreateUser(array(FEDORA_VIEW_OBJECTS, FEDORA_PURGE)); + $user = $this->drupalCreateUser(array(ISLANDORA_VIEW_OBJECTS, ISLANDORA_PURGE)); $model = $object->models; $model = reset($model); - $ret = islandora_user_access($object, array(FEDORA_VIEW_OBJECTS, FEDORA_PURGE), array($model, 'islandora:obviouslyNotACModel'), FALSE, $user); + $ret = islandora_user_access($object, array(ISLANDORA_VIEW_OBJECTS, ISLANDORA_PURGE), array($model, 'islandora:obviouslyNotACModel'), FALSE, $user); $this->assertFalse($ret, 'User access denied for all matching permissions and one matching model but with access any set to FALSE.'); - $ret = islandora_user_access($object, array(FEDORA_VIEW_OBJECTS, FEDORA_PURGE), array($model), FALSE, $user); + $ret = islandora_user_access($object, array(ISLANDORA_VIEW_OBJECTS, ISLANDORA_PURGE), array($model), FALSE, $user); $this->assertTrue($ret, 'User access granted for all matching permissions and matching models with access any set to FALSE.'); // Test passing in a Datastream. - $user = $this->drupalCreateUser(array(FEDORA_VIEW_OBJECTS, FEDORA_PURGE)); - $ret = islandora_user_access($object['DC'], array(FEDORA_VIEW_OBJECTS), array(), TRUE, $user); + $user = $this->drupalCreateUser(array(ISLANDORA_VIEW_OBJECTS, ISLANDORA_PURGE)); + $ret = islandora_user_access($object['DC'], array(ISLANDORA_VIEW_OBJECTS), array(), TRUE, $user); $this->assertTrue($ret, 'User access granted for matching permissions, with a datastream given instead of an object.'); } } diff --git a/theme/theme.inc b/theme/theme.inc index d988ee77..10e1cd29 100644 --- a/theme/theme.inc +++ b/theme/theme.inc @@ -115,7 +115,7 @@ function islandora_preprocess_islandora_default(&$variables) { $download_path = islandora_datastream_get_url($ds, 'download'); $datastreams[$id]['id'] = $id; $datastreams[$id]['label'] = $label; - $datastreams[$id]['label_link'] = islandora_datastream_access(FEDORA_VIEW_OBJECTS, $ds) ? + $datastreams[$id]['label_link'] = islandora_datastream_access(ISLANDORA_VIEW_OBJECTS, $ds) ? l($label, $download_path) : $label; $datastreams[$id]['download_url'] = $download_path; @@ -130,14 +130,14 @@ function islandora_preprocess_islandora_default(&$variables) { } $variables['datastreams'] = $datastreams; // Objects in fcrepo4 don't always contain a DC datastream. - if (isset($islandora_object['DC']) && islandora_datastream_access(FEDORA_VIEW_OBJECTS, $islandora_object['DC'])) { + if (isset($islandora_object['DC']) && islandora_datastream_access(ISLANDORA_VIEW_OBJECTS, $islandora_object['DC'])) { $dc_object = DublinCore::importFromXMLString($islandora_object['DC']->content); $dc_array = $dc_object->asArray(); } $variables['dc_array'] = isset($dc_array) ? $dc_array : array(); $variables['islandora_dublin_core'] = isset($dc_object) ? $dc_object : NULL; $variables['islandora_object_label'] = $islandora_object->label; - if (isset($islandora_object['TN']) && islandora_datastream_access(FEDORA_VIEW_OBJECTS, $islandora_object['TN'])) { + if (isset($islandora_object['TN']) && islandora_datastream_access(ISLANDORA_VIEW_OBJECTS, $islandora_object['TN'])) { $variables['islandora_thumbnail_url'] = url("islandora/object/{$islandora_object->id}/datastream/TN/view"); } } @@ -219,11 +219,11 @@ function islandora_preprocess_islandora_objects(array &$variables) { $o = islandora_object_load($o); $url = "islandora/object/{$o->id}"; $link_options = array('html' => TRUE, 'attributes' => array('title' => $o->label)); - $img = islandora_datastream_access(FEDORA_VIEW_OBJECTS, $o['TN']) ? + $img = islandora_datastream_access(ISLANDORA_VIEW_OBJECTS, $o['TN']) ? theme('image', array('path' => url("$url/datastream/TN/view"), 'attributes' => array())) : ''; $description = NULL; - if (isset($o['DC']) && islandora_datastream_access(FEDORA_VIEW_OBJECTS, $o['DC'])) { + if (isset($o['DC']) && islandora_datastream_access(ISLANDORA_VIEW_OBJECTS, $o['DC'])) { $dc = DublinCore::importFromXMLString($o['DC']->content); if ($dc) { $dc = $dc->asArray(); @@ -260,7 +260,7 @@ function theme_islandora_datastream_download_link(array $vars) { module_load_include('inc', 'islandora', 'includes/utilities'); $label = t('download'); - return islandora_datastream_access(FEDORA_VIEW_OBJECTS, $datastream) ? + return islandora_datastream_access(ISLANDORA_VIEW_OBJECTS, $datastream) ? l($label, islandora_datastream_get_url($datastream, 'download')) : ''; } @@ -289,7 +289,7 @@ function theme_islandora_datastream_view_link(array $vars) { } if ($vars['version'] === NULL) { - $perm = FEDORA_VIEW_OBJECTS; + $perm = ISLANDORA_VIEW_OBJECTS; } else { $perm = ISLANDORA_VIEW_DATASTREAM_HISTORY; @@ -319,7 +319,7 @@ function theme_islandora_datastream_delete_link(array $vars) { $datastreams = module_invoke_all('islandora_undeletable_datastreams', $datastream->parent->models); - $can_delete = !in_array($datastream->id, $datastreams) && islandora_datastream_access(FEDORA_PURGE, $datastream); + $can_delete = !in_array($datastream->id, $datastreams) && islandora_datastream_access(ISLANDORA_PURGE, $datastream); if ($vars['version'] !== NULL) { if (count($datastream) == 1) { @@ -354,7 +354,7 @@ function theme_islandora_datastream_edit_link(array $vars) { $edit_registry = module_invoke_all('islandora_edit_datastream_registry', $datastream->parent, $datastream); - $can_edit = count($edit_registry) > 0 && islandora_datastream_access(FEDORA_METADATA_EDIT, $datastream); + $can_edit = count($edit_registry) > 0 && islandora_datastream_access(ISLANDORA_METADATA_EDIT, $datastream); return $can_edit ? l(t('edit'), "islandora/object/{$datastream->parent->id}/datastream/{$datastream->id}/edit") :