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
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); |
|
} |
|
} |
|
} |
|
|
|
}
|
|
|