You are here

function theme_views_rss_formatter_enclosure_image in Views RSS 6

Formatter for 'image' and 'filefield' CCK fields containing images added to RSS <enclosure> element. Besides default image size also provides option to use imagecache'd images.

1 string reference to 'theme_views_rss_formatter_enclosure_image'
views_rss_theme in ./views_rss.module
Implementation of hook_theme().

File

views/views_rss_views_fields.theme.inc, line 134

Code

function theme_views_rss_formatter_enclosure_image($element) {

  // Inside a view $element may contain NULL data. In that case, just return.
  if (empty($element['#item']['fid'])) {
    return;
  }

  // Generate simple array of imagecache presets.
  $presets = array();
  foreach (imagecache_presets() as $preset) {
    $presets[] = $preset['presetname'];
  }

  // Get full image URL based on provided imagecache preset.
  $preset_name = str_replace('views_rss_enclosure_image', '', $element['#formatter']);
  if ($preset_name && in_array($preset_name, array_keys($presets))) {
    $path = imagecache_create_url($preset_name, $element['#item']['filepath']);
  }
  else {
    $path = $element['#item']['filepath'];
  }

  // Return formatted XML element.
  return strtr('<enclosure url="!url" length="!length" type="!type" />', array(
    '!url' => url($path, array(
      'absolute' => TRUE,
    )),
    '!length' => $element['#item']['filesize'],
    '!type' => $element['#item']['filemime'],
  ));
}