From 507fc833ed7bcee8e9c8e4c5f0177a5f8dc63e6a Mon Sep 17 00:00:00 2001 From: GDrupal Date: Thu, 9 May 2013 12:59:10 -0700 Subject: [PATCH 1/2] Captions and default language support. --- includes/media_youtube.formatters.inc | 14 ++++++++++++-- includes/themes/media_youtube.theme.inc | 12 +++++++++++- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/includes/media_youtube.formatters.inc b/includes/media_youtube.formatters.inc index baf8030..f1dbde9 100644 --- a/includes/media_youtube.formatters.inc +++ b/includes/media_youtube.formatters.inc @@ -18,7 +18,7 @@ function media_youtube_file_formatter_info() { 'settings callback' => 'media_youtube_file_formatter_video_settings', ); - foreach (array('width', 'height', 'autohide', 'autoplay', 'color', 'enablejsapi', 'loop', 'modestbranding', 'nocookie', 'origin', 'protocol', 'protocol_specify', 'rel', 'showinfo', 'theme') as $setting) { + foreach (array('width', 'height', 'autohide', 'autoplay', 'color', 'enablejsapi', 'loop', 'modestbranding', 'nocookie', 'origin', 'protocol', 'protocol_specify', 'rel', 'showinfo', 'theme', 'captions') as $setting) { $formatters['media_youtube_video']['default settings'][$setting] = media_youtube_variable_get($setting); } @@ -51,7 +51,7 @@ function media_youtube_file_formatter_video_view($file, $display, $langcode) { // Fake a default for attributes so the ternary doesn't choke. $display['settings']['attributes'] = array(); - foreach (array('width', 'height', 'autohide', 'autoplay', 'color', 'enablejsapi', 'loop', 'modestbranding', 'nocookie', 'origin', 'protocol', 'protocol_specify', 'rel', 'showinfo', 'theme', 'attributes') as $setting) { + foreach (array('width', 'height', 'autohide', 'autoplay', 'color', 'enablejsapi', 'loop', 'modestbranding', 'nocookie', 'origin', 'protocol', 'protocol_specify', 'rel', 'showinfo', 'theme', 'attributes', 'captions') as $setting) { $element['#options'][$setting] = isset($file->override[$setting]) ? $file->override[$setting] : $display['settings'][$setting]; } return $element; @@ -108,6 +108,16 @@ function media_youtube_file_formatter_video_settings($form, &$form_state, $setti ), '#default_value' => $settings['autohide'], ); + $element['captions'] = array( + '#title' => t('Captions displaying options'), + '#type' => 'radios', + '#options' => array( + '0' => t('Turns captions off by default'), + '1' => t('Turns captions on by default'), + '2' => t('Turns captions on and set the caption language for the video by default'), + ), + '#default_value' => $settings['captions'], + ); // Single Options. $element['autoplay'] = array( diff --git a/includes/themes/media_youtube.theme.inc b/includes/themes/media_youtube.theme.inc index 84c97cf..cb99a89 100644 --- a/includes/themes/media_youtube.theme.inc +++ b/includes/themes/media_youtube.theme.inc @@ -74,7 +74,17 @@ function media_youtube_preprocess_media_youtube_video(&$variables) { if ($variables['options']['autohide'] != '2') { $query['autohide'] = $variables['options']['autohide']; } - + if ($variables['options']['captions'] > '0') { + // Add captions parameters to the query. + $query['cc_load_policy'] = '1'; + if ($variables['options']['captions'] > '1') { + global $language; + // We can specify a default language for captions. + if ($language->language != 'und') { + $query['cc_lang_pref'] = $language->language; + } + } + } // Non-query options. if ($variables['options']['nocookie']) { $url_base = 'youtube-nocookie.com'; -- 1.7.0.4 From 4a7661a07f31005c37a7d815a1b7d6a383563a84 Mon Sep 17 00:00:00 2001 From: GDrupal Date: Thu, 9 May 2013 13:13:32 -0700 Subject: [PATCH 2/2] Using LANGUAGE_NONE constant. --- includes/themes/media_youtube.theme.inc | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/includes/themes/media_youtube.theme.inc b/includes/themes/media_youtube.theme.inc index cb99a89..0a6dc5f 100644 --- a/includes/themes/media_youtube.theme.inc +++ b/includes/themes/media_youtube.theme.inc @@ -80,7 +80,7 @@ function media_youtube_preprocess_media_youtube_video(&$variables) { if ($variables['options']['captions'] > '1') { global $language; // We can specify a default language for captions. - if ($language->language != 'und') { + if ($language->language != LANGUAGE_NONE) { $query['cc_lang_pref'] = $language->language; } } -- 1.7.0.4