public function MediaHelper::getBundleFromInput in Varbase Media 8.6
Same name and namespace in other branches
- 8.7 modules/entity_browser_generic_embed/src/MediaHelper.php \Drupal\entity_browser_generic_embed\MediaHelper::getBundleFromInput()
- 8.5 modules/entity_browser_generic_embed/src/MediaHelper.php \Drupal\entity_browser_generic_embed\MediaHelper::getBundleFromInput()
- 9.0.x modules/entity_browser_generic_embed/src/MediaHelper.php \Drupal\entity_browser_generic_embed\MediaHelper::getBundleFromInput()
Returns the first media bundle that can accept an input value.
Parameters
mixed $value: The input value.
bool $check_access: (optional) Whether to filter the bundles by create access for the current user. Defaults to TRUE.
string[] $bundles: (optional) A set of media bundle IDs which might match the input. If omitted, all available bundles are checked.
Return value
\Drupal\media\MediaTypeInterface A media bundle that can accept the input value.
Throws
\Drupal\entity_browser_generic_embed\Exception\IndeterminateBundleException if no bundle can be matched to the input value.
File
- modules/
entity_browser_generic_embed/ src/ MediaHelper.php, line 88
Class
- MediaHelper
- Provides helper methods for dealing with media entities.
Namespace
Drupal\entity_browser_generic_embedCode
public function getBundleFromInput($value, $check_access = TRUE, array $bundles = []) {
// entity_browser_generic_embed Media overrides the media_bundle storage handler with a special
// one that adds an optional second parameter to loadMultiple().
$media_types = $this->entityTypeManager
->getStorage('media_type')
->loadMultiple($bundles ?: NULL, $check_access);
ksort($media_types);
/** @var \Drupal\media\MediaTypeInterface $media_type */
foreach ($media_types as $media_type) {
$source = $media_type
->getSource();
if ($source instanceof InputMatchInterface && $source
->appliesTo($value, $media_type)) {
return $media_type;
}
}
throw new IndeterminateBundleException($value);
}