X-Git-Url: http://aleph1.co.uk/gitweb/?a=blobdiff_plain;f=web%2Fcore%2Fmodules%2Ffile%2Ffile.install;h=6274efc7c912f52ffe9697085ce4b45e3a8dc8f9;hb=5b8bb166bfa98770daef9de5c127fc2e6ef02340;hp=48d2bb2d81fb649992abe8faa5cf190e2639384e;hpb=9917807b03b64faf00f6a1f29dcb6eafc454efa5;p=yaffs-website diff --git a/web/core/modules/file/file.install b/web/core/modules/file/file.install index 48d2bb2d8..6274efc7c 100644 --- a/web/core/modules/file/file.install +++ b/web/core/modules/file/file.install @@ -5,6 +5,8 @@ * Install, update and uninstall functions for File module. */ +use Drupal\Core\Entity\Entity\EntityViewDisplay; + /** * Implements hook_schema(). */ @@ -128,3 +130,37 @@ function file_update_8300() { return t('Files that have no remaining usages are no longer deleted by default.'); } + +/** + * Add 'use_description_as_link_text' setting to file field formatters. + */ +function file_update_8001() { + $displays = EntityViewDisplay::loadMultiple(); + foreach ($displays as $display) { + /** @var \Drupal\Core\Entity\Entity\EntityViewDisplay $display */ + $fields_settings = $display->get('content'); + $changed = FALSE; + foreach ($fields_settings as $field_name => $settings) { + if (!empty($settings['type'])) { + switch ($settings['type']) { + // The file_table formatter never displayed available descriptions + // before, so we disable this option to ensure backward compatibility. + case 'file_table': + $fields_settings[$field_name]['settings']['use_description_as_link_text'] = FALSE; + $changed = TRUE; + break; + + // The file_default formatter always displayed available descriptions + // before, so we enable this option to ensure backward compatibility. + case 'file_default': + $fields_settings[$field_name]['settings']['use_description_as_link_text'] = TRUE; + $changed = TRUE; + break; + } + } + } + if ($changed === TRUE) { + $display->set('content', $fields_settings)->save(); + } + } +}