You are here

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\VideoFilter

Code

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;
}