123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- <?php
- /**
- * @file media_youtube/media_youtube.module
- *
- * Media: YouTube provides a stream wrapper and formatters for videos provided
- * by YouTube, available at http://youtube.com/.
- *
- * @TODO:
- * Tie in YouTube API.
- * Allow editors to search for videos to display on the browser.
- * Allow editors to put in a youtube username to display on the browser.
- * Allow editors to log in w/ their credentials.
- * Allow editors to upload videos to YouTube.
- */
- // A registry of variable_get defaults.
- include_once DRUPAL_ROOT . '/' . drupal_get_path('module', 'media_youtube') . '/includes/media_youtube.variables.inc';
- // Hooks and callbacks for integrating with Styles module for display.
- // @todo Can save a little overhead for people without Styles module by wrapping
- // this inside a module_exists('styles'). However, is that safe to do in
- // global context? If not, is there any down side to doing it in hook_init()?
- include_once DRUPAL_ROOT . '/' . drupal_get_path('module', 'media_youtube') . '/includes/media_youtube.styles.inc';
- // Hooks and callbacks for integrating with File Entity module for display.
- include_once DRUPAL_ROOT . '/' . drupal_get_path('module', 'media_youtube') . '/includes/media_youtube.formatters.inc';
- /**
- * Implements hook_media_internet_providers().
- */
- function media_youtube_media_internet_providers() {
- $path = drupal_get_path('module', 'media_youtube');
- return array(
- 'MediaInternetYouTubeHandler' => array(
- 'title' => 'youtube',
- 'image' => $path . '/images/stream-youtube.png'
- ),
- );
- }
- /**
- * Implements hook_stream_wrappers().
- */
- function media_youtube_stream_wrappers() {
- return array(
- 'youtube' => array(
- 'name' => t('YouTube videos'),
- 'class' => 'MediaYouTubeStreamWrapper',
- 'description' => t('Videos provided by YouTube.'),
- 'type' => STREAM_WRAPPERS_READ_VISIBLE,
- ),
- );
- }
- /**
- * Implements hook_theme().
- */
- function media_youtube_theme($existing, $type, $theme, $path) {
- return array(
- 'media_youtube_preview_style' => array(
- 'variables' => array('style_name' => NULL),
- 'file' => 'media_youtube.theme.inc',
- 'path' => $path . '/includes/themes',
- ),
- 'media_youtube_field_formatter_styles' => array(
- 'variables' => array('element' => NULL, 'style' => NULL),
- 'file' => 'media_youtube.theme.inc',
- 'path' => $path . '/includes/themes',
- ),
- // Note that all the variables after options are now deprecated.
- 'media_youtube_video' => array(
- 'variables' => array('uri' => NULL, 'options' => array(), 'width' => NULL, 'height' => NULL, 'autoplay' => NULL, 'fullscreen' => NULL, 'related' => NULL),
- 'file' => 'media_youtube.theme.inc',
- 'path' => $path . '/includes/themes',
- 'template' => 'media-youtube-video',
- ),
- 'media_youtube_embed' => array(
- 'variables' => array('style_name' => NULL, 'uri' => NULL, 'alt' => NULL, 'title' => NULL),
- 'file' => 'media_youtube.theme.inc',
- 'path' => $path . '/includes/themes',
- ),
- 'media_youtube_styles' => array(
- 'variables' => array('element' => NULL, 'style' => NULL),
- 'file' => 'media_youtube.theme.inc',
- 'path' => $path . '/includes/themes',
- ),
- );
- }
- /**
- * Implements hook_media_parse().
- *
- * @todo This hook should be deprecated. Refactor Media module to not call it
- * any more, since media_internet should be able to automatically route to the
- * appropriate handler.
- */
- function media_youtube_media_parse($embed_code) {
- $handler = new MediaInternetYouTubeHandler($embed_code);
- return $handler->parse($embed_code);
- }
- /**
- * Implements hook_media_format_form_prepare_alter().
- */
- function media_youtube_media_format_form_prepare_alter(&$form, &$form_state, $media) {
- $settings = array('autosubmit' => ($media->type == "video"));
- drupal_add_js(array('media_format_form' => $settings), 'setting');
- }
- /**
- * Implements hook_ctools_plugin_api().
- */
- function media_youtube_ctools_plugin_api($owner, $api) {
- static $api_versions = array(
- 'file_entity' => array(
- 'file_default_displays' => 1,
- ),
- );
- if (isset($api_versions[$owner][$api])) {
- return array('version' => $api_versions[$owner][$api]);
- }
- }
|