Instagram.php in Video 8
File
src/Plugin/video/Provider/Instagram.php
View source
<?php
namespace Drupal\video\Plugin\video\Provider;
use Drupal\video\ProviderPluginBase;
class Instagram extends ProviderPluginBase {
public function renderEmbedCode($settings) {
$file = $this
->getVideoFile();
$data = $this
->getVideoMetadata();
return [
'#type' => 'html_tag',
'#tag' => 'iframe',
'#attributes' => [
'width' => $settings['width'],
'height' => '100%',
'frameborder' => '0',
'allowfullscreen' => 'allowfullscreen',
'src' => sprintf('//instagram.com/p/%s/embed/?autoplay=%d', $data['id'], $settings['autoplay']),
],
'0' => [
'#type' => 'html_tag',
'#tag' => 'script',
'#attributes' => [
'type' => 'text/javascript',
'src' => '//platform.instagram.com/en_US/embeds.js',
'async',
'defer',
],
'#value' => '',
],
];
}
public function getRemoteThumbnailUrl() {
$data = $this
->getVideoMetadata();
return 'http://instagr.am/p/' . $data['id'] . '/media/?size=l';
}
}
Classes
Name |
Description |
Instagram |
Plugin annotation
@VideoEmbeddableProvider(
id = "instagram",
label = @Translation("Instagram"),
description = @Translation("Instagram Video Provider"),
regular_expressions = {
"@^.*?instagram\.com\/p\/(?<id>(.*?))[\/]?$@i",
},
… |