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

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc