FileInputExtensionMatchTrait.php in Varbase Media 8.5
Namespace
Drupal\entity_browser_generic_embedFile
modules/entity_browser_generic_embed/src/FileInputExtensionMatchTrait.phpView source
<?php
namespace Drupal\entity_browser_generic_embed;
use Drupal\file\FileInterface;
use Drupal\media\MediaTypeInterface;
/**
* Implements InputMatchInterface for media types that use a file field.
*/
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;
}
}
Traits
Name | Description |
---|---|
FileInputExtensionMatchTrait | Implements InputMatchInterface for media types that use a file field. |