? spaces.887272-6.patch Index: spaces.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/spaces/spaces.module,v retrieving revision 1.25.4.33.2.32.2.47 diff -u -p -r1.25.4.33.2.32.2.47 spaces.module --- spaces.module 20 Aug 2010 15:45:21 -0000 1.25.4.33.2.32.2.47 +++ spaces.module 30 Nov 2010 16:57:33 -0000 @@ -977,3 +977,26 @@ function _spaces_json_decode($json) { eval($out . ';'); return $x; } + +/** + * Implementation of hook_field_access(). + */ +function spaces_field_access($op, $field, $account, $node = NULL) { + $map = features_get_component_map('content'); + $key = $field['type_name'] . '-' . $field['field_name']; + $use_feature = NULL; + if (!empty($map[$key])) { + // More than one feature might declare the field. Find the first enabled one. + foreach($map['key'] as $feature) { + if (module_exists($feature)) { + $use_feature = $feature; + break; + } + } + // spaces_access_feature() knows to grant access to features that are not spaces-compatible. + if (isset($use_feature) && !spaces_access_feature('view', $use_feature)) { + return FALSE; + } + } + return TRUE; +}