You are here

trait FileInputExtensionMatchTrait in Varbase Media 8.5

Same name and namespace in other branches
  1. 8.7 modules/entity_browser_generic_embed/src/FileInputExtensionMatchTrait.php \Drupal\entity_browser_generic_embed\FileInputExtensionMatchTrait
  2. 8.6 modules/entity_browser_generic_embed/src/FileInputExtensionMatchTrait.php \Drupal\entity_browser_generic_embed\FileInputExtensionMatchTrait
  3. 9.0.x modules/entity_browser_generic_embed/src/FileInputExtensionMatchTrait.php \Drupal\entity_browser_generic_embed\FileInputExtensionMatchTrait

Implements InputMatchInterface for media types that use a file field.

Hierarchy

File

modules/entity_browser_generic_embed/src/FileInputExtensionMatchTrait.php, line 11

Namespace

Drupal\entity_browser_generic_embed
View source
trait FileInputExtensionMatchTrait {

  /**
   * Returns the entity type manager.
   *
   * @return \Drupal\Core\Entity\EntityTypeManagerInterface
   *   The entity type manager.
   */
  private function entityTypeManager() {
    return @($this->entityTypeManager ?: \Drupal::entityTypeManager());
  }

  /**
   * Implements InputMatchInterface::appliesTo().
   */
  public function appliesTo($value, MediaTypeInterface $media_type) {
    if (is_numeric($value)) {
      $value = $this
        ->entityTypeManager()
        ->getStorage('file')
        ->load($value);
    }
    if ($value instanceof FileInterface && ($field = $this
      ->getSourceFieldDefinition($media_type))) {
      $extension = pathinfo($value
        ->getFilename(), PATHINFO_EXTENSION);
      $extension = strtolower($extension);
      return in_array($extension, preg_split('/,?\\s+/', $field
        ->getSetting('file_extensions')));
    }
    return FALSE;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
FileInputExtensionMatchTrait::appliesTo public function Implements InputMatchInterface::appliesTo().
FileInputExtensionMatchTrait::entityTypeManager private function Returns the entity type manager.