You are here

function image_field_config_delete in Drupal 8

Same name and namespace in other branches
  1. 9 core/modules/image/image.module \image_field_config_delete()
  2. 10 core/modules/image/image.module \image_field_config_delete()

Implements hook_ENTITY_TYPE_delete() for 'field_config'.

File

core/modules/image/image.module, line 504
Exposes global functionality for creating image styles.

Code

function image_field_config_delete(FieldConfigInterface $field) {
  $field_storage = $field
    ->getFieldStorageDefinition();
  if ($field_storage
    ->getType() != 'image') {

    // Only act on image fields.
    return;
  }

  // The value of a managed_file element can be an array if #extended == TRUE.
  $uuid = $field
    ->getSetting('default_image')['uuid'];

  // Remove the default image when the instance is deleted.
  if ($uuid && ($file = \Drupal::service('entity.repository')
    ->loadEntityByUuid('file', $uuid))) {
    \Drupal::service('file.usage')
      ->delete($file, 'image', 'default_image', $field
      ->uuid());
  }
}