Adds action tab to Islandora media view allowing generation of missing derivatives
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

36 lines
1.0 KiB

<?php
/**
* @file
* Primary module hooks for Regenerate Derivatives module.
*/
use Drupal\media\MediaInterface;
/**
* Implements hook_media_update().
*/
function regenerate_derivatives_media_update(MediaInterface $media) {
$media_source_service = \Drupal::service('islandora.media_source_service');
$field_name = 'field_regenerate_derivatives';
$utils = \Drupal::service('islandora.utils');
$source_field = $media_source_service->getSourceFieldName($media->bundle());
if (empty($source_field)) {
return;
}
if ($media->hasField($field_name) && !$media->get($field_name)->isEmpty()) {
$value = $media->get($field_name)->value;
if ($value) {
$node = $utils->getParentNode($media);
if ($node) {
$utils->executeDerivativeReactions(
'\Drupal\islandora\Plugin\ContextReaction\DerivativeReaction',
$node,
$media
);
$utils->executeMediaReactions('\Drupal\islandora\Plugin\ContextReaction\DerivativeFileReaction', $media);
}
}
}
}