summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/field/field.module9
1 files changed, 5 insertions, 4 deletions
diff --git a/modules/field/field.module b/modules/field/field.module
index 62dbc68e7..070b4e521 100644
--- a/modules/field/field.module
+++ b/modules/field/field.module
@@ -704,13 +704,14 @@ function field_has_data($field) {
function field_access($op, $field, $obj_type, $object = NULL, $account = NULL) {
global $user;
- if (is_null($account)) {
+ if (!isset($account)) {
$account = $user;
}
- $field_access = module_invoke_all('field_access', $op, $field, $obj_type, $object, $account);
- foreach ($field_access as $value) {
- if ($value === FALSE) {
+ foreach (module_implements('field_access') as $module) {
+ $function = $module . '_field_access';
+ $access = $function($op, $field, $obj_type, $object, $account);
+ if ($access === FALSE) {
return FALSE;
}
}