function _eminline_url_parse_full_links in Embedded Media Field 6
Same name and namespace in other branches
- 5 contrib/eminline/eminline.module \_eminline_url_parse_full_links()
 - 6.3 contrib/eminline/eminline.module \_eminline_url_parse_full_links()
 - 6.2 contrib/eminline/eminline.module \_eminline_url_parse_full_links()
 
If one of our allowed providers knows what to do with the url, then let it embed the video.
Parameters
int $format: The format id.
array $match: The matched text from our regex.
Return value
string The replacement text for the url.
1 string reference to '_eminline_url_parse_full_links'
- _eminline_url in contrib/
eminline/ eminline.module  - Match all http(s) URLs and pass to link checker.
 
File
- contrib/
eminline/ eminline.module, line 85  
Code
function _eminline_url_parse_full_links($format, $match) {
  // Get just the URL.
  $match[1] = check_url(decode_entities($match[1]));
  // Get our filter settings.
  $video_default = variable_get('eminline_video_' . $format, _eminline_default_filter_settings('video'));
  $preview_default = variable_get('eminline_preview_' . $format, _eminline_default_filter_settings('preview'));
  $tn_default = variable_get('eminline_tn_' . $format, _eminline_default_filter_settings('tn'));
  // Build a fake field, remember that emfield is well a field.
  $field = array(
    'field_name' => 'eminline',
    'type' => 'emvideo',
    'video_width' => $video_default['video_width'],
    'video_height' => $video_default['video_height'],
    'video_autoplay' => $video_default['video_autoplay'],
    'preview_width' => $preview_default['preview_width'],
    'preview_height' => $preview_default['preview_height'],
    'preview_autoplay' => $preview_default['preview_autoplay'],
    'thumbnail_width' => $tn_default['thumbnail_width'],
    'thumbnail_height' => $tn_default['thumbnail_height'],
    'thumbnail_default_path' => $tn_default['thumbnail_default_path'],
    'providers' => variable_get('eminline_providers_' . $format, array_keys(emfield_system_list('emvideo', NULL, FALSE))),
  );
  // Build our embed item.
  $item = emfield_parse_embed($field, $match[1], 'emvideo');
  // Check to make sure the provider that was found is an allowed provider.
  if ($field['providers'][$item['provider']]) {
    $item['data'] = (array) emfield_include_invoke('emvideo', $item['provider'], 'data', $field, $item);
  }
  else {
    return $match[0];
  }
  // Get how the video should be displayed.
  $display_format = variable_get('eminline_full_node_' . $format, 'video_video');
  // Change the options based on how the video should be displayed.
  if ($display_format == 'video_thumbnail') {
    $options = array(
      'width' => $field['thumbnail_width'],
      'height' => $field['thumbnail_height'],
      'default_path' => $field['thumbnail_default_path'],
    );
  }
  else {
    if ($display_format == 'video_preview') {
      $options = array(
        'width' => $field['preview_width'],
        'height' => $field['preview_height'],
        'autoplay' => $field['preview_autoplay'],
      );
    }
    else {
      $options = array(
        'width' => $field['video_width'],
        'height' => $field['video_height'],
        'autoplay' => $field['video_autoplay'],
      );
    }
  }
  // Theme the video w00t!
  return theme('eminline_url_wrapper', emfield_emfield_field_formatter($field, $item, $display_format, NULL, 'emvideo', $options));
}