You are here

function field_encrypt_entity_base_field_info_alter in Field Encryption 3.0.x

Implements hook_entity_base_field_info_alter().

File

./field_encrypt.module, line 226
Contains module hooks for field_encrypt.

Code

function field_encrypt_entity_base_field_info_alter(&$fields, EntityTypeInterface $entity_type) {

  /** @var \Drupal\Core\Field\BaseFieldDefinition[] $fields */

  /** @var \Drupal\field_encrypt\Entity\FieldEncryptEntityType $field_encrypt_settings */
  $field_encrypt_settings = \Drupal::entityTypeManager()
    ->getStorage('field_encrypt_entity_type')
    ->load($entity_type
    ->id());
  if ($field_encrypt_settings) {
    foreach ($field_encrypt_settings
      ->getBaseFields() as $field_name => $encrypted_properties) {
      if (isset($fields[$field_name])) {
        $fields[$field_name]
          ->setSetting('field_encrypt.encrypt', TRUE);
        $fields[$field_name]
          ->setSetting('field_encrypt.properties', $encrypted_properties);
      }
    }
  }
}