inline_image_saver-1.0.x-dev/inline_image_saver.module
inline_image_saver.module
<?php
/**
* @file
* Primary hooks for inline_image_saver module.
*/
declare(strict_types=1);
use Drupal\Core\Entity\EntityInterface;
use Drupal\Core\Entity\FieldableEntityInterface;
/**
* Implements hook_field_info_alter().
*/
function inline_image_saver_field_info_alter(array &$info): void {
$inline_image_saver = \Drupal::service('inline_image_saver');
if (!$inline_image_saver->getSetting('enable_validation')) {
return;
}
foreach ($info as &$definition) {
if ($inline_image_saver->isFieldTypeProcessable($definition['class'])) {
$definition['constraints']['InlineImageSaver'] = [];
}
}
}
/**
* Implements hook_entity_presave().
*/
function inline_image_saver_entity_presave(EntityInterface $entity): void {
if (!$entity instanceof FieldableEntityInterface) {
return;
}
$inline_image_saver = \Drupal::service('inline_image_saver');
if ($inline_image_saver->isEntityProcessable($entity)) {
$inline_image_saver->processEntity($entity);
}
}
