diff --git a/islandora_fits.module b/islandora_fits.module index 52aca82f..0b1edcd1 100644 --- a/islandora_fits.module +++ b/islandora_fits.module @@ -5,11 +5,10 @@ * Contains islandora_fits.module. */ -use Drupal\Core\Entity\EntityInterface; +use Drupal\field\Entity\FieldConfig; use Drupal\Core\Routing\RouteMatchInterface; use Drupal\media\MediaInterface; use Drupal\taxonomy\Entity\Term; -use Drupal\node\Entity\Node; use Drupal\file\Entity\File; use Drupal\media\Entity\Media; @@ -45,6 +44,14 @@ function islandora_fits_install() { 'field_external_uri' => ['uri' => 'https://projects.iq.harvard.edu/fits'], ))->save(); } +// Add xml extension if it doesn;t already exist; + $field = FieldConfig::load("media.file.field_media_file"); + $fieldSettings = $field->getSettings(); + $extensions = $fieldSettings['file_extensions']; + if (!strpos($extensions, 'xml')) { + $fieldSettings['file_extensions'] .= ' xml'; + $field->set('settings', $fieldSettings); + } } /** @@ -78,8 +85,7 @@ function islandora_fits_media_presave(MediaInterface $media) { $has_new = $transformer->check_new($data); if ($has_new) { $media->set('field_complete', FALSE); - } - else { + } else { $transformer->populate_media($data, $media); } }