function EmbedCode::getEmbedDescription in Varbase Media 8.6
Same name and namespace in other branches
- 8.7 modules/entity_browser_generic_embed/src/Plugin/EntityBrowser/Widget/EmbedCode.php \Drupal\entity_browser_generic_embed\Plugin\EntityBrowser\Widget\EmbedCode::getEmbedDescription()
- 9.0.x modules/entity_browser_generic_embed/src/Plugin/EntityBrowser/Widget/EmbedCode.php \Drupal\entity_browser_generic_embed\Plugin\EntityBrowser\Widget\EmbedCode::getEmbedDescription()
Get Embed Description
Parameters
FormStateInterface $form_state:
Return value
String
1 call to EmbedCode::getEmbedDescription()
- EmbedCode::getForm in modules/
entity_browser_generic_embed/ src/ Plugin/ EntityBrowser/ Widget/ EmbedCode.php
File
- modules/
entity_browser_generic_embed/ src/ Plugin/ EntityBrowser/ Widget/ EmbedCode.php, line 62
Class
- EmbedCode
- An Entity Browser widget for creating media entities from embed codes.
Namespace
Drupal\entity_browser_generic_embed\Plugin\EntityBrowser\WidgetCode
function getEmbedDescription(FormStateInterface $form_state) {
// Embed Description.
$embedDescription = "<h5>" . $this
->t("You can embed any of the following media by pasting a single complete URL:") . "</h5>";
$embedDescription .= "<ul>";
// Get list of media types.
$mediaTypes = \Drupal::service('entity.manager')
->getStorage('media_type')
->loadMultiple();
// List of media files Sources, which we do not want to show at embed.
$mediaFileSources = [
'Drupal\\media\\Plugin\\media\\Source\\File',
'Drupal\\media\\Plugin\\media\\Source\\Image',
'Drupal\\media\\Plugin\\media\\Source\\AudioFile',
'Drupal\\media\\Plugin\\media\\Source\\VideoFile',
];
// Get list of allowed media type bundles.
$allowedBundles = $this
->getAllowedBundles($form_state);
// If the target have a list of allowd bundles.
if (isset($allowedBundles) && is_array($allowedBundles) && count($allowedBundles) > 0) {
foreach ($mediaTypes as $mediaType) {
$mediaTypeSource = get_class($mediaType
->getSource());
if (isset($mediaTypeSource) && !in_array($mediaTypeSource, $mediaFileSources)) {
if (in_array($mediaType
->id(), $allowedBundles)) {
$embedDescription .= "<li>";
$embedDescription .= $mediaType
->label();
$source_configuration = $mediaType
->getPluginCollections();
if (isset($source_configuration['source_configuration'])) {
$configuration = $source_configuration['source_configuration']
->getConfiguration();
if (isset($configuration['providers']) && is_array($configuration['providers']) && count($configuration['providers']) > 0) {
$embedDescription .= " (" . implode(', ', $configuration['providers']) . ")";
}
}
$embedDescription .= "</li>";
}
}
}
}
else {
foreach ($mediaTypes as $mediaType) {
$mediaTypeSource = get_class($mediaType
->getSource());
if (isset($mediaTypeSource) && !in_array($mediaTypeSource, $mediaFileSources)) {
$embedDescription .= "<li>";
$embedDescription .= $mediaType
->label();
$source_configuration = $mediaType
->getPluginCollections();
if (isset($source_configuration['source_configuration'])) {
$configuration = $source_configuration['source_configuration']
->getConfiguration();
if (isset($configuration['providers']) && is_array($configuration['providers']) && count($configuration['providers']) > 0) {
$embedDescription .= " (" . implode(', ', $configuration['providers']) . ")";
}
}
$embedDescription .= "</li>";
}
}
}
$embedDescription .= "</ul>";
return \Drupal\Core\Field\FieldFilteredMarkup::create($embedDescription);
}