You are here

function brightcove_media_file_formatter_playlist_view in Brightcove Video Connect 7.7

Same name and namespace in other branches
  1. 7.4 brightcove_media/brightcove_media.module \brightcove_media_file_formatter_playlist_view()
  2. 7.6 brightcove_media/brightcove_media.module \brightcove_media_file_formatter_playlist_view()

The brightcove_media_playlist_file_formatter view callback.

1 string reference to 'brightcove_media_file_formatter_playlist_view'
brightcove_media_file_formatter_info in brightcove_media/brightcove_media.module
Implements hook_file_formatter_info().

File

brightcove_media/brightcove_media.module, line 271
This module provide the hook implementations for the integration with Media module.

Code

function brightcove_media_file_formatter_playlist_view($file, $display, $langcode) {
  $scheme = file_uri_scheme($file->uri);

  // WYSIWYG does not yet support video inside a running editor instance.
  if ($scheme === BRIGHTCOVE_EMBED_TYPE_PLAYLIST && empty($file->override['wysiwyg'])) {
    $wrapper = _brightcove_media_get_wrapper($file->uri);
    $element = [
      '#theme' => 'brightcove_field_embed_iframe',
      '#iframe_url' => $wrapper ? $wrapper
        ->interpolateUrl() : 'about:blank',
      '#attached' => [
        'js' => [
          brightcove_get_experiences_js_url() => [
            'type' => 'external',
          ],
        ],
      ],
    ];

    // add player override
    if (isset($display['settings']['player']) && $display['settings']['player']) {
      $element['#player'] = $display['settings']['player'];
    }
    foreach ([
      'width',
      'height',
    ] as $setting) {
      if (isset($display['settings'][$setting]) && $display['settings'][$setting]) {
        $element['#' . $setting] = $display['settings'][$setting];
      }
    }
    return $element;
  }
  return NULL;
}