You are here

function youtube_colorbox_youtube_thumbnail_link_uri_alter in YouTube Field 7

Implements hook_youtube_thumbnail_link_uri_alter().

File

modules/youtube_colorbox/youtube_colorbox.module, line 148
Provides Colorbox support to YouTube Field display settings.

Code

function youtube_colorbox_youtube_thumbnail_link_uri_alter(&$uri, &$settings, $item) {
  if ($settings['image_link'] != YOUTUBE_COLORBOX_LINK_TYPE) {
    return;
  }

  // Always open in an iframe for proper origin access.
  $settings[YOUTUBE_COLORBOX_LINK_TYPE]['parameters']['iframe'] = TRUE;

  // Field display settings.
  $parameters = $settings[YOUTUBE_COLORBOX_LINK_TYPE]['parameters'];

  // Invert parameters that should be 0 when their options are selected.
  $invert_parameters = array(
    'controls',
  );
  foreach ($invert_parameters as $parameter) {
    if (isset($parameters[$parameter])) {
      $parameters[$parameter] = $parameters[$parameter] ? 0 : 1;
    }
  }

  // Global YouTube module configuration.
  $domain = variable_get('youtube_privacy', FALSE) ? 'youtube-nocookie.com' : 'youtube.com';
  $player_class = variable_get('youtube_player_class', 'youtube-field-player');
  if (!variable_get('youtube_suggest', TRUE)) {
    $parameters['rel'] = '0';
  }
  if (variable_get('youtube_modestbranding', FALSE)) {
    $parameters['modestbranding'] = '1';
  }
  if (variable_get('youtube_theme', FALSE)) {
    $parameters['theme'] = 'light';
  }
  if (variable_get('youtube_color', FALSE)) {
    $parameters['color'] = 'white';
  }
  if (variable_get('youtube_enablejsapi', FALSE)) {
    global $base_url;
    $parameters['enablejsapi'] = '1';
    $parameters['origin'] = $base_url;
  }
  if (variable_get('youtube_wmode', TRUE)) {
    $parameters['wmode'] = 'opaque';
  }
  $uri = array(
    'path' => 'https://www.' . $domain . '/embed/' . $item['video_id'],
    'options' => array(
      'attributes' => array(
        'class' => array(
          'colorbox-load',
          $player_class,
        ),
        'id' => drupal_html_id($player_class),
      ),
      'html' => TRUE,
      'external' => TRUE,
      'query' => $parameters,
    ),
  );
  if (!empty($settings[YOUTUBE_COLORBOX_LINK_TYPE]['gallery'])) {
    $uri['options']['attributes']['rel'] = 'youtube-gallery';
  }
}