Projet

Général

Profil

Paste
Télécharger (2,05 ko) Statistiques
| Branche: | Révision:

root / drupal7 / sites / all / modules / media_youtube / tests / media_youtube_test.module @ 5e632cae

1
<?php
2

    
3
/**
4
 * @file
5
 * Alters Media: YouTube video handling to make it suitable for local testing.
6
 */
7

    
8
/**
9
 * Implements hook_menu().
10
 */
11
function media_youtube_test_menu() {
12
  $items['media-youtube-test/oembed'] = array(
13
    'title' => 'Drupal Goto',
14
    'page callback' => 'media_youtube_test_oembed',
15
    'access arguments' => array('access content'),
16
    'type' => MENU_CALLBACK,
17
  );
18

    
19
  return $items;
20
}
21

    
22
/**
23
 * Provides a fake oEmbed endpoint for local testing.
24
 */
25
function media_youtube_test_oembed() {
26
  $query_parameters = drupal_get_query_parameters();
27
  $query = parse_url($query_parameters['url'], PHP_URL_QUERY);
28
  parse_str($query, $params);
29

    
30
  $data = array(
31
    'thumbnail_url' => 'https://i.ytimg.com/vi/' . $params['v'] . '/hqdefault.jpg',
32
    'thumbnail_width' => 480,
33
    'author_name' => 'YouTube Help',
34
    'height' => 270,
35
    'provider_url' => 'https://www.youtube.com/',
36
    'html' => '<iframe width="480" height="270" src="https://www.youtube.com/embed/' . $params['v'] . '?feature=oembed" frameborder="0" allowfullscreen></iframe>',
37
    'thumbnail_height' => 360,
38
    'title' => 'YouTube Content ID',
39
    'provider_name' => 'YouTube',
40
    'type' => 'video',
41
    'width' => 480,
42
    'version' => '1.0',
43
    'author_url' => 'https://www.youtube.com/user/YouTubeHelp',
44
  );
45

    
46
  drupal_json_output($data);
47
}
48

    
49
/**
50
 * Implements hook_media_internet_providers_alter().
51
 */
52
function media_youtube_test_media_internet_providers_alter(&$providers) {
53
  $provider = $providers['MediaInternetYouTubeHandler'];
54
  unset($providers['MediaInternetYouTubeHandler']);
55
  $providers['MediaYouTubeTestHandler'] = $provider;
56
}
57

    
58
/**
59
 * Implements hook_stream_wrappers_alter().
60
 */
61
function media_youtube_test_stream_wrappers_alter(&$wrappers) {
62
  $wrappers['youtube']['class'] = 'MediaYouTubeTestStreamWrapper';
63
}
64

    
65
/**
66
 * Implements hook_media_parse_alter().
67
 */
68
function media_youtube_test_media_parse_alter(&$success, $context) {
69
  if ($context['module'] == 'media_youtube') {
70
    $handler = new MediaYouTubeTestHandler($context['url']);
71
    $success = $handler->parse($context['url']);
72
  }
73
}