comparison core/modules/field/src/ConfigImporterFieldPurger.php @ 14:1fec387a4317

Update Drupal core to 8.5.2 via Composer
author Chris Cannam
date Mon, 23 Apr 2018 09:46:53 +0100
parents 4c8ae668cc8c
children
comparison
equal deleted inserted replaced
13:5fb285c0d0e3 14:1fec387a4317
37 // case when the storage deletion is staged. 37 // case when the storage deletion is staged.
38 if (!$field_storage->isDeleted()) { 38 if (!$field_storage->isDeleted()) {
39 $field_storage->delete(); 39 $field_storage->delete();
40 } 40 }
41 } 41 }
42 field_purge_batch($context['sandbox']['field']['purge_batch_size'], $field_storage->uuid()); 42 field_purge_batch($context['sandbox']['field']['purge_batch_size'], $field_storage->getUniqueStorageIdentifier());
43 $context['sandbox']['field']['current_progress']++; 43 $context['sandbox']['field']['current_progress']++;
44 $fields_to_delete_count = count(static::getFieldStoragesToPurge($context['sandbox']['field']['extensions'], $config_importer->getUnprocessedConfiguration('delete'))); 44 $fields_to_delete_count = count(static::getFieldStoragesToPurge($context['sandbox']['field']['extensions'], $config_importer->getUnprocessedConfiguration('delete')));
45 if ($fields_to_delete_count == 0) { 45 if ($fields_to_delete_count == 0) {
46 $context['finished'] = 1; 46 $context['finished'] = 1;
47 } 47 }
131 $storages_to_delete = FieldStorageConfig::loadMultiple($field_storages); 131 $storages_to_delete = FieldStorageConfig::loadMultiple($field_storages);
132 } 132 }
133 } 133 }
134 134
135 // Gather deleted fields from modules that are being uninstalled. 135 // Gather deleted fields from modules that are being uninstalled.
136 /** @var \Drupal\field\FieldStorageConfigInterface[] $field_storages */ 136 /** @var \Drupal\field\FieldStorageConfigInterface[] $deleted_storage_definitions */
137 $field_storages = entity_load_multiple_by_properties('field_storage_config', ['deleted' => TRUE, 'include_deleted' => TRUE]); 137 $deleted_storage_definitions = \Drupal::service('entity_field.deleted_fields_repository')->getFieldStorageDefinitions();
138 foreach ($field_storages as $field_storage) { 138 foreach ($deleted_storage_definitions as $field_storage_definition) {
139 if (!in_array($field_storage->getTypeProvider(), $providers)) { 139 if ($field_storage_definition instanceof FieldStorageConfigInterface && !in_array($field_storage_definition->getTypeProvider(), $providers)) {
140 $storages_to_delete[$field_storage->id()] = $field_storage; 140 $storages_to_delete[$field_storage_definition->id()] = $field_storage_definition;
141 } 141 }
142 } 142 }
143 return $storages_to_delete; 143 return $storages_to_delete;
144 } 144 }
145 145