Issue #2725415 by catch, Berdir, Wim Leers, xjm, juhaszg, cmanalansan: Text Editor module fails to track usage of images uploaded in text_with_summary fields, allows uploaded images to be deleted
parent
918f6b545b
commit
61c08e07ff
|
@ -471,6 +471,9 @@ function _editor_get_file_uuids_by_field(EntityInterface $entity) {
|
|||
$field_items = $entity->get($formatted_text_field);
|
||||
foreach ($field_items as $field_item) {
|
||||
$text .= $field_item->value;
|
||||
if ($field_item->getFieldDefinition()->getType() == 'text_with_summary') {
|
||||
$text .= $field_item->summary;
|
||||
}
|
||||
}
|
||||
$uuids[$formatted_text_field] = _editor_parse_file_uuids($text);
|
||||
}
|
||||
|
|
|
@ -177,6 +177,28 @@ class EditorFileUsageTest extends EntityKernelTestBase {
|
|||
$this->assertIdentical(array('editor' => array('node' => array(1 => '2'))), $file_usage->listUsage($image_entity), 'The image ' . $image_paths[$key] . ' has 2 usages.');
|
||||
}
|
||||
|
||||
// Populate both the body and summary. Because this will be the same
|
||||
// revision of the same node, it will record only one usage.
|
||||
foreach ($original_values as $key => $original_value) {
|
||||
$node->body[$key]->value = $original_value;
|
||||
$node->body[$key]->summary = $original_value;
|
||||
}
|
||||
$node->save();
|
||||
foreach ($image_entities as $key => $image_entity) {
|
||||
$this->assertIdentical(array('editor' => array('node' => array(1 => '2'))), $file_usage->listUsage($image_entity), 'The image ' . $image_paths[$key] . ' has 2 usages.');
|
||||
}
|
||||
|
||||
// Empty out the body value, but keep the summary. The number of usages
|
||||
// should not change.
|
||||
foreach ($original_values as $key => $original_value) {
|
||||
$node->body[$key]->value = '';
|
||||
$node->body[$key]->summary = $original_value;
|
||||
}
|
||||
$node->save();
|
||||
foreach ($image_entities as $key => $image_entity) {
|
||||
$this->assertIdentical(array('editor' => array('node' => array(1 => '2'))), $file_usage->listUsage($image_entity), 'The image ' . $image_paths[$key] . ' has 2 usages.');
|
||||
}
|
||||
|
||||
// Test editor_entity_delete().
|
||||
$node->delete();
|
||||
foreach ($image_entities as $key => $image_entity) {
|
||||
|
|
Loading…
Reference in New Issue