protected function Youtube::attributes in Video Filter 8
Video embed tag attributes.
2 calls to Youtube::attributes()
- Youtube::flash in src/
Plugin/ VideoFilter/ Youtube.php - Flash video (flv)
- Youtube::iframe in src/
Plugin/ VideoFilter/ Youtube.php - HTML5 video (iframe).
File
- src/
Plugin/ VideoFilter/ Youtube.php, line 28
Class
- Youtube
- Provides Youtube codec for Video Filter.
Namespace
Drupal\video_filter\Plugin\VideoFilterCode
protected function attributes($video) {
$attributes = [
'modestbranding' => !empty($video['modestbranding']) ? 'modestbranding=1' : 'modestbranding=0',
'html5' => 'html5=1',
'rel' => !empty($video['related']) ? 'rel=1' : 'rel=0',
'autoplay' => !empty($video['autoplay']) ? 'autoplay=1' : 'autoplay=0',
'wmode' => 'wmode=opaque',
'loop' => !empty($video['loop']) ? 'loop=1' : 'loop=0',
'controls' => !empty($video['controls']) ? 'controls=' . (int) $video['controls'] : (!isset($video['controls']) ? 'controls=1' : 'controls=0'),
'autohide' => !empty($video['autohide']) ? 'autohide=1' : 'autohide=0',
'showinfo' => !empty($video['showinfo']) ? 'showinfo=1' : 'showinfo=0',
'theme' => !empty($video['theme']) ? 'theme=' . $video['theme'] : 'theme=dark',
'color' => !empty($video['color']) ? 'color=' . $video['color'] : 'color=red',
];
// YouTube Playlist.
// Example URL: https://www.youtube.com/watch?v=YQHsXMglC9A&list=PLFgquLnL59alCl_2TQvOiD5Vgm1hCaGSI
if (preg_match_all('/youtube\\.com\\/watch\\?v=(.*)list=([a-z0-9\\-_]+)/i', $video['source'], $matches)) {
if (!empty($matches[2][0])) {
$attributes['list'] = 'list=' . $matches[2][0];
}
}
if (preg_match('/t=((\\d+[m|s])?(\\d+[s]?)?)/', $video['source'], $matches)) {
$attributes['start'] = 'start=' . (preg_replace("/[^0-9]/", "", $matches[2]) * 60 + preg_replace("/[^0-9]/", "", $matches[3]));
}
if (!empty($video['start'])) {
if (preg_match('/((\\d+[m|s])?(\\d+[s]?)?)/', $video['start'], $matches)) {
$attributes['start'] = 'start=' . (preg_replace("/[^0-9]/", "", $matches[2]) * 60 + preg_replace("/[^0-9]/", "", $matches[3]));
}
}
return $attributes;
}