function field_access

Determines whether the user has access to a given field.

Parameters

string $op: The operation to be performed. Possible values:

  • edit
  • view

array $field: The full field structure array for the field on which the operation is to be performed. See field_info_field().

string $entity_type: The type of $entity; e.g., 'node' or 'user'.

$entity: (optional) The entity for the operation.

$account: (optional) The account to check, if not given use currently logged in user.

Return value

TRUE if the operation is allowed; FALSE if the operation is denied.

Related topics

4 calls to field_access()
Field::access in drupal/core/modules/field/lib/Drupal/field/Plugin/views/field/Field.php
Check whether current user has access to this handler.
file_file_download in drupal/core/modules/file/file.module
Implements hook_file_download().
FormatterBase::view in drupal/core/modules/field/lib/Drupal/field/Plugin/Type/Formatter/FormatterBase.php
Implements Drupal\field\Plugin\Type\Formatter\FormatterInterface::view().
WidgetBase::form in drupal/core/modules/field/lib/Drupal/field/Plugin/Type/Widget/WidgetBase.php
Implements Drupal\field\Plugin\Type\Widget\WidgetInterface::form().

File

drupal/core/modules/field/field.module, line 1061
Attach custom data fields to Drupal entities.

Code

function field_access($op, $field, $entity_type, $entity = NULL, $account = NULL) {
  global $user;
  if (!isset($account)) {
    $account = $user;
  }
  foreach (module_implements('field_access') as $module) {
    $function = $module . '_field_access';
    $access = $function($op, $field, $entity_type, $entity, $account);
    if ($access === FALSE) {
      return FALSE;
    }
  }
  return TRUE;
}