diff --git a/plugins/access/entity_field_value.inc b/plugins/access/entity_field_value.inc index 59b01fb..97cfd40 100644 --- a/plugins/access/entity_field_value.inc +++ b/plugins/access/entity_field_value.inc @@ -148,29 +150,29 @@ function ctools_entity_field_value_ctools_access_check($conf, $context, $plugin) foreach ($field['columns'] as $column => $attributes) { $columns[$column] = _field_sql_storage_columnname($field_name, $column); } - foreach ($conf as $potential_field => $values) { - if ($field_name === $potential_field) { - $conf_value_array = _ctools_entity_field_value_ctools_access_get_conf_field_values($values, $langcode); - if (empty($conf_value_array)) { - return FALSE; - } + if (isset($conf[$field_name])) { + // We have settings for this field. + $conf_value_array = _ctools_entity_field_value_ctools_access_get_conf_field_values($conf[$field_name], $langcode); + if (empty($conf_value_array)) { + return FALSE; + } - // Check field value. - foreach ($field_items as $field_value) { - foreach ($field_value as $field_column => $value) { - // Iterate through config values. - foreach ($conf_value_array as $conf_value) { - // - if ($value == $conf_value[$field_column]) { - return TRUE; - } + // Check field value. + foreach ($field_items as $field_value) { + foreach ($field_value as $field_column => $value) { + // Iterate through config values. + foreach ($conf_value_array as $conf_value) { + // Check access only for stored in config column values. + if (isset($conf_value[$field_column]) && $value == $conf_value[$field_column]) { + return TRUE; } } } } } } + return FALSE; }