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